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
| Name | Type | Example | Notes |
|---|---|---|---|
id | int | 123 | Filter results by id. |
pid | int | 123 | Filter results by pid. |
resourceid | int | 123 | Filter results by resourceid. |
bookingStartAfter | date | 2026-09-24T14:30:00+12:00 | Filter results by booking start after. |
bookingStartBefore | date | 2026-09-24T14:30:00+12:00 | Filter results by booking start before. |
bookingFinishAfter | date | 2026-09-24T14:30:00+12:00 | Filter results by booking finish after. |
bookingFinishBefore | date | 2026-09-24T14:30:00+12:00 | Filter results by booking finish before. |
offset | int | 123 | Skip this many matching records before returning results. |
pageSize | int | 123 | Limit the number of records returned. |
POST
Create or update a record from a JSON object.
Request content type: application/json
Request body fields
| Name | Type | Example | Notes |
|---|---|---|---|
id | int | 123 | Set the id value. |
pid | int | 123 | Set the pid value. |
resourceid | int | 123 | Set the resourceid value. |
mbr_id | int | 123 | Set the mbr id value. |
booking_time | date | 2026-09-24T14:30:00+12:00 | Set the booking time value. |
booking_finish | date | 2026-09-24T14:30:00+12:00 | Set the booking finish value. |
duration | number | 19.95 | Set the duration value. |
Data definitions
| Field | Type | Description | Format | Example |
|---|---|---|---|---|
bookingtype | text | Type of booking. | ||
booking_synced_up | timestamp | Timestamp 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 | |
resourceid | int | ID of the resource for this calendar event belongs. Every booking needs to be for a specific resource | ||
booking_reminder_sent | timestamp | Last reminder Sent (via email) | 2025-12-31 23:59:59 | |
bi_id | int | Reference to basket/order item line ID | ||
mbr_id | int | Customer ID of the person who made the booking, or whome the booking is for | ||
booking_time | timestamp | Booking start time including date | 2025-12-31 23:59:59 | |
pid | int | Only if this booking is for a specific product | ||
booking_status | text | Status of the booking. | ||
booking_freq | interval | If a repeat frequence is used, then this bookin represents a series of bookings, eg booking_start + booking_freq | 01:00:00 | |
bookingid | serial | Unique booking for this ID (Serial) | 123456 | |
duration | interval | The duration of the booking. Some bookings have a frequence, which means that the duration is not the start - finish time | 01:00:00 | |
booking_lastmodified | timestamp | Considered when syncing between calendar platforms | 2025-12-31 23:59:59 | |
b_id | int | Reference to basket/order ID | ||
booking_finish | timestamp | Booking Finish, and/or end of repetition | 2025-12-31 23:59:59 | |
booking_detail | text | Details of the boooking, eg what the booking is for | ||
booking_synced_down | timestamp | Timestamp 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 | |
page | int | Page on which this order was placed, eg the shopping page or the bookings page | 123456 | |
caldav_event_id | text | If 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.