CMS Tool API

CMS Tool API schema

Public API version 1.4.10.

Appointment Bookings

Bookings are for appointments, seats, hire items, etc. Not for events.

Endpoint URL

https://api.cms-tool.net/api/booking

/api/booking

Read and update bookings.

GET

List records, or retrieve one by appending its ID to the path.

Query parameters

NameTypeExampleNotes
idint123Filter results by id.
pidint123Filter results by pid.
resourceidint123Filter results by resourceid.
bookingStartAfterdate2026-09-24T14:30:00+12:00Filter results by booking start after.
bookingStartBeforedate2026-09-24T14:30:00+12:00Filter results by booking start before.
bookingFinishAfterdate2026-09-24T14:30:00+12:00Filter results by booking finish after.
bookingFinishBeforedate2026-09-24T14:30:00+12:00Filter results by booking finish before.
offsetint123Skip this many matching records before returning results.
pageSizeint123Limit the number of records returned.

POST

Create or update a record from a JSON object.

Request content type: application/json

Request body fields

NameTypeExampleNotes
idint123Set the id value.
pidint123Set the pid value.
resourceidint123Set the resourceid value.
mbr_idint123Set the mbr id value.
booking_timedate2026-09-24T14:30:00+12:00Set the booking time value.
booking_finishdate2026-09-24T14:30:00+12:00Set the booking finish value.
durationnumber19.95Set the duration value.

Data definitions

FieldTypeDescriptionFormatExample
bookingtypetextType of booking.
booking_synced_uptimestampTimestamp to confirm if/when this booking was synced up from a third party calendar (eg exported to google calendar)2025-12-31 23:59:59
resourceidintID of the resource for this calendar event belongs. Every booking needs to be for a specific resource
booking_reminder_senttimestampLast reminder Sent (via email)2025-12-31 23:59:59
bi_idintReference to basket/order item line ID
mbr_idintCustomer ID of the person who made the booking, or whome the booking is for
booking_timetimestampBooking start time including date2025-12-31 23:59:59
pidintOnly if this booking is for a specific product
booking_statustextStatus of the booking.
booking_freqintervalIf a repeat frequence is used, then this bookin represents a series of bookings, eg booking_start + booking_freq01:00:00
bookingidserialUnique booking for this ID (Serial)123456
durationintervalThe duration of the booking. Some bookings have a frequence, which means that the duration is not the start - finish time01:00:00
booking_lastmodifiedtimestampConsidered when syncing between calendar platforms2025-12-31 23:59:59
b_idintReference to basket/order ID
booking_finishtimestampBooking Finish, and/or end of repetition2025-12-31 23:59:59
booking_detailtextDetails of the boooking, eg what the booking is for
booking_synced_downtimestampTimestamp to confirm if/when this booking was synced down from a third party calendar (eg imported from google calendar)2025-12-31 23:59:59
pageintPage on which this order was placed, eg the shopping page or the bookings page123456
caldav_event_idtextIf entry has been synced with a calendar, this this is the GUID for that calendar item

Usage instructions and examples

Accepted date format is yyy-MM-dd HH:mm:ss. If the time is not provided, then it will default to midnight time.

Adding a new booking:

Bookings must have a resource_id, booking_time, booking_finish, and duration.

Sample object

{

   "resourceid": 12345,

   "booking_time": "2022-01-19 19:34:00.0",

   "duration": "01:00:00",

   "booking_finish": "2022-01-19 20:34:00.0"

} 

Machine-readable documentation

This documentation is also available as JSON or Markdown at the same URL. Request JSON with Accept: application/json or Markdown with Accept: text/markdown.