Skip to content

POST /tms/bookings/(?P\d+)/assign-out-refs

TMS > tms.booking

What it does

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

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

Call chain:

  1. → tmsBookingApiAssignOutRefs() — app/systems/TMS/booking/api_routes.php:121
  2. ↳ tmsBookingOutRefMutationIntent() — app/systems/TMS/booking/api_routes.php:68
  3. ↳ tmsOutRefMutationIntent() — app/systems/TMS/delivery/out_ref_helper.php:8

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 OUT_REFS

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.

SQL executed

SELECT ID FROM T_BOOKING WHERE CLIENT_ID = ? AND ID = ? AND DELETED_AT IS NULL LIMIT 1

Data

Tables reached from the owner function:

  • T_BOOKING

Access

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

Validation and failure messages

  • Booking not found.
  • OUT REF# mutation intent is invalid.
  • OUT REF# changes require explicit mutation intent.
  • OUT REF# values are required for replacement.

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.