Skip to content

POST /tms/empty-plan/booking-inquiry-email

TMS > tms.booking

What it does

/tms/empty-plan/booking-inquiry-email accepts POST and is declared in app/systems/TMS/booking/api_routes.php:1835 as a path.

The route handler delegates to tmsBookingApiSendEmptyPlanBookingInquiryEmail(). That function is the owner of this behaviour; the route entry is only dispatch.

Call chain:

  1. → tmsBookingApiSendEmptyPlanBookingInquiryEmail() — app/systems/TMS/booking/api_routes.php:1415
  2. ↳ tmsBookingApiRequireDateYmd() — app/systems/TMS/booking/api_routes.php:1141

Who calls it

Called from:

  • app/platform/api_catalog.php
  • frontend/pages/system/TMS/booking/empty-schedule.php

A caller is the strongest available evidence of the intended use.

Input

Where Key
body DATASOURCE
body DATA_SOURCE
body DATEFROM
body DATETO
body DATE_FROM
body DATE_TO
body MODE
body ROWS

Request bodies must not use TYPE, ACTION or USERNAME as contract fields.

Output

Key
BILLING_COMPANY_ID
BOOKING_NEEDED
CURRENT_BOOKING_NUMBERS
CUSTOMER_COMPANY_NAME
INITIAL_COMMODITY_NAME
LOADS_PLANNED
ROWS
SHIPPER_COMPANY_NAME

Success is { "data": …, "requestId": "…" }. Failure is { "error": { "code", "message" }, "requestId": "…" }.

SQL executed

SELECT GROUP_CONCAT(DISTINCT CE.EMAIL_ADDRESS, ',') AS EMAIL_ADDRESS

Data

Tables reached from the owner function:

  • T_COMPANY_EMAIL
  • T_MASTER

Access

  • module-gated on tms.booking, so tenant module access applies

Validation and failure messages

  • dateFrom must be on or before dateTo.

These strings come from the owner function and are the messages a client can receive. They are also the cheapest way to tell a rejected request from a broken one.