Skip to content

POST /tms/bookings

TMS > tms.booking

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:

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

Who calls it

Called from:

  • app/platform/api_catalog.php
  • frontend/pages/system/TMS/booking/mk-booking-list.php
  • new-system/apps/web/src/adapters/newSystemRouteAllowlist.ts
  • new-system/apps/web/tests/modernization-route.test.ts
  • public/assets/js/modules/shared/booking-editor.js
  • public/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.