CMS Tool API schema
Public API version 1.4.10.
Resource Calendar for Bookings
Bookings need to be made against a calendar. A resource might be a staff member, a room, a seat, or a hire item.
Endpoint URL
https://api.cms-tool.net/api/bookingresource
/api/bookingresource
Read and update bookable resources.
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. |
resourcename | text | example | Filter results by resourcename. |
resourceemail | text | customer@example.com | Filter results by resourceemail. |
resourcetype | text | example | Filter results by resourcetype. |
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. |
resourcename | text | example | Set the resourcename value. |
resourceemail | text | customer@example.com | Set the resourceemail value. |
resourcetags | text | example | Set the resourcetags value. |
pid | int | 123 | Set the pid value. |
Data definitions
| Field | Type | Description | Format | Example |
|---|---|---|---|---|
sat_start | time | Finish time for this resource if different to the business global timetable | 23:59:59 | |
resourcetags | text | Tags to help associate staff that match service offerings.. eg which staff has which skills. | ||
resource_uid | int | Staff User ID associated with this calendar. Not all calenders have a user ID | ||
min_booking_notice | interval | Minimum booking notice (prior to booking) if different to global settings | 01:00:00 | |
wed_start | time | Start time for this resource if different to the business global timetable | 23:59:59 | |
min_booking_duration | interval | Minimum booking duration if different to global settings | 01:00:00 | |
calsynclast | timestamp | Timestamp of last sync | 2025-12-31 23:59:59 | |
pid | int | For hire items, each unique item had it's own calendar, and this ID links them to the product for hire | ||
mon_finish | time | Finish time for this resource if different to the business global timetable | 23:59:59 | |
max_booking_notice | interval | Max booking notice (prior to booking) if different to global settings | 01:00:00 | |
wed_finish | time | Finish time for this resource if different to the business global timetable | 23:59:59 | |
tue_start | time | Start time for this resource if different to the business global timetable | 23:59:59 | |
sun_start | time | Start time for this resource if different to the business global timetable | 23:59:59 | |
max_booking_duration | interval | Max booking duration if different to global settings | 01:00:00 | |
sun_finish | time | Finish time for this resource if different to the business global timetable | 23:59:59 | |
availablefrom | date | Bookings available from, eg when this resource becomes available, starts, back from holiday etc. | 2025-12-31 | |
fri_start | time | Start time for this resource if different to the business global timetable | 23:59:59 | |
sat_finish | time | Finish time for this resource if different to the business global timetable | 23:59:59 | |
resourceid | serial | Unique ID for each calendar, system generated integer ID | 123456 | |
fri_finish | time | Finish time for this resource if different to the business global timetable | 23:59:59 | |
thu_finish | time | Finish time for this resource if different to the business global timetable | 23:59:59 | |
calsync_calendar_id | text | The GUID of the external calendar to sync with | ||
resourcetype | text | Limited to: HireItem, Accommodation, Person, Seat | ||
tue_finish | time | Finish time for this resource if different to the business global timetable | 23:59:59 | |
availableuntil | date | Bookings not allowed after this date, employee termination date? | 2025-12-31 | |
mon_start | time | Start time for this resource if different to the business global timetable | 23:59:59 | |
calsync_api | text | Currently only supports value: GOOGLE_CALENDAR | ||
staff_booking_spacing | interval | the preferred interval between bookings for a rest/tidy/clean etc. | 01:00:00 | |
thu_start | time | Start time for this resource if different to the business global timetable | 23:59:59 | |
resourceemail | text | Email to send bookings to | ||
resourcename | text | Name of calendar, eg staff name, or room number | ||
calsync_last_output | text | Last output from the sync process for debug purposes |
Usage instructions and examples
Add a new resource
You do not need to provide the id if you want to add a new resource. The rest of the information will be used to create the new resource.
Example
{
"calendar_increment": "01:00:00",
"min_booking_duration": "00:05:00",
"max_booking_duration": "01:00:00",
"resourcename": "Test"
}
Update a resouce
Please provide the id of the resource you wish to update. Only provide the information you wish to update.
{
"id": 123,
"resourcename": "Test",
"max_booking_duration": "01:00:00"
}
Sample object
{
"sat_start": "09:00:00",
"calendar_increment": "00:30:00",
"min_booking_notice": "00:30:00",
"wed_start": "09:00:00",
"min_booking_duration": "02:00:00",
"pid": 0,
"mon_finish": "17:00:00",
"max_booking_notice": "11 mons",
"wed_finish": "17:00:00",
"tue_start": "09:00:00",
"sun_start": "09:00:00",
"max_booking_duration": "02:00:00",
"sun_finish": "17:00:00",
"id": 2368,
"fri_start": "09:00:00",
"sat_finish": "17:00:00",
"resourceid": 2368,
"fri_finish": "17:00:00",
"thu_finish": "17:00:00",
"resourcetype": "Person",
"tue_finish": "17:00:00",
"mon_start": "09:00:00",
"thu_start": "09:00:00",
"resourcename": "Test Name",
"cid": 1111
}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.