POST /tms/bookings/(?P\d+)/assign-out-refs¶
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:
- →
tmsBookingApiAssignOutRefs()—app/systems/TMS/booking/api_routes.php:121 - ↳
tmsBookingOutRefMutationIntent()—app/systems/TMS/booking/api_routes.php:68 - ↳
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.