POST /tms/bookings¶
What it does¶
/tms/bookings accepts POST and is declared in app/systems/TMS/booking/api_routes.php:1619 as a path.
The route handler delegates to tmsBookingWriteWithOutRefs(). That function is the owner of
this behaviour; the route entry is only dispatch.
Call chain:
- →
tmsBookingWriteWithOutRefs()—app/systems/TMS/booking/api_routes.php:57 - ↳
tmsBookingOutRefMutationIntent()—app/systems/TMS/booking/api_routes.php:68 - ↳
tmsOutRefMutationIntent()—app/systems/TMS/delivery/out_ref_helper.php:8
Who calls it¶
Called from:
app/platform/api_catalog.phpfrontend/pages/system/TMS/booking/mk-booking-list.phpnew-system/apps/web/src/adapters/newSystemRouteAllowlist.tsnew-system/apps/web/tests/modernization-route.test.tspublic/assets/js/modules/shared/booking-editor.jspublic/assets/js/modules/shared/mk-booking-editor.js
A caller is the strongest available evidence of the intended use.
Input¶
| Where | Key |
|---|---|
body |
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.
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¶
- 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.