Skip to content

POST /tms/bookings/(?P\d+)/packing-list/email

TMS > tms.booking

What it does

#^/tms/bookings/(?P<id>\d+)/packing-list/email$# accepts POST and is declared in app/systems/TMS/booking/api_routes.php:1722 as a regex pattern.

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

Call chain:

  1. → tmsBookingApiSendPackingListEmail() — app/systems/TMS/booking/api_routes.php:1000
  2. ↳ tmsBookingApiNormalizePackingListEmailTarget() — app/systems/TMS/booking/api_routes.php:658

Who calls it

No literal caller path was found in frontend/, public/ or new-system/. The endpoint may be called through a constructed path, a helper wrapper, or only by an external client. Treat the route table and owner function as the authority.

Input

Where Key
path id
body EMAILTO
body EMAIL_TO
body INREF
body IN_REF
body OUTREF
body OUT_REF
body WEIGHT
body WEIGHTTYPE
body WEIGHT_TYPE

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

Output

The response is produced by a shared helper, so the key set is not visible at the route. Read the owner function to confirm the shape before writing a client.

Data

No table reference is visible in the owner function body.

Access

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

Validation and failure messages

  • emailTo must be BOTH, CUSTOMER, or INSPECTOR.

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.