User authentication and verification endpoints for online booking
- Get a List of Time Slots Available for Booking
Online Booking (1.0.0)
Public API for client-facing online booking integration. This API enables third-party developers to embed online booking functionality into external platforms such as business catalogs, branded apps, and partner services. Base URL: https://api.alteg.io/api
All requests require partner authorization via Bearer token in the HTTP header: Authorization: Bearer <partner_token> To obtain a partner token, register in the Altegio Marketplace.
Request
The dates available for booking object has the following fields:
| Field | Type | Description |
|---|---|---|
| working_days | array of working days grouped by month | Working days of a team member/organization |
| working_dates | array of dates | An array of dates when the team member/organization works |
| booking_days | array of days when there are free sessions | Array of days that are available for booking for the specified services |
| booking_dates | array of dates | An array of dates when there are free sessions for the service to the selected team member/organization |
working days and booking_days have the same format: month:[array of days in this month]
For example, this booking_days: "9": [ "4", "5"] "10": [ "14", "25"] Means that on September 4 and 5, and on October 14 and 25 there are free sessions for booking
The following filters are available:
- service_ids: Array of service IDs. If you need dates when you can book the specified services
- staff_id: team member ID. If you need dates when you can book the specified team member
- date: Date within a month, if you need dates for a specific month
- Mock serverhttps://developer.alteg.io/_mock/en/public/openapi/book_dates/{location_id}
- Production serverhttps://api.alteg.io/api/v1/book_dates/{location_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.alteg.io/_mock/en/public/openapi/book_dates/{location_id}?service_ids%5B%5D=string&staff_id=0&date=2026-09-01&date_from=2026-09-01&date_to=2026-09-30' \
-H 'Accept: application/vnd.api.v2+json' \
-H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}_HERE>' \
-H 'Content-Type: string'OK
Data (object)
{ "success": true, "data": { "booking_days": { … }, "booking_dates": [ … ], "working_days": { … }, "working_dates": [ … ] }, "meta": [] }
Request
The sessions available for booking object has the following fields:
| Field | Type | Description |
|---|---|---|
| time | string | Session time (17:30 for example) |
| session_length | number | Session duration in seconds |
| datetime | datetime | Date and time of the session in ISO8601 format (must be passed when creating the appointment) |
The following filters are available:
- service_ids: Array of service IDs. If you need sessions, when can you book these services
- Mock serverhttps://developer.alteg.io/_mock/en/public/openapi/book_times/{location_id}/{team_member_id}/{date}
- Production serverhttps://api.alteg.io/api/v1/book_times/{location_id}/{team_member_id}/{date}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.alteg.io/_mock/en/public/openapi/book_times/{location_id}/{team_member_id}/{date}?service_ids%5B%5D=string' \
-H 'Accept: application/vnd.api.v2+json' \
-H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}_HERE>' \
-H 'Content-Type: string'OK
Array of objects with data
{ "success": true, "data": [ { … }, { … }, { … }, { … }, { … } ], "meta": [] }
Request
After generating the appointment parameters, you can validate them to ensure the appointment can be successfully created.
The JSON object containing the Online Booking parameters includes the following fields:
| Field | Type | Mandatory | Description |
|---|---|---|---|
| appointments | Array of objects | YES | Booking options (services, team members...) |
The appointments array consists of objects that have the following fields:
| Field | Type | Mandatory | Description |
|---|---|---|---|
| id | number | Yes | Appointment ID for post-save feedback (see response to request). |
| services | array of numbers | NO | Array of IDs of the services the client wants to sign up for |
| staff_id | number | YES | ID of the team member the client wants to book with (0 if any team member is selected) |
| datetime | datetime | YES | Session date and time in ISO8601 format (passed for each session in the book_times resource) |
In response to the parameter check request, an empty response with the code 201 will be returned if the booking parameters are in order and bookings can be created:
If the response is JSON with an HTTP code other than 201, then the booking parameters are out of order, and bookings cannot be created.
The server may return the following errors during appointment creation:
Selected time slot is already taken. Returned with HTTP status code 422 and error code 433.
No team members available for booking. Occurs if a default team member was selected but none are available. Returned with HTTP status code 422 and error code 436.
Booking time conflict within the same request. One of the selected booking times overlaps with another booking created in the same request. Returned with HTTP status code 422 and error code 437, including the conflicting booking’s id in the appointments array.
Service not available for booking The selected service is no longer available (e.g. removed by the location). Returned with HTTP status code 422 and error code 438.
- Mock serverhttps://developer.alteg.io/_mock/en/public/openapi/book_check/{location_id}
- Production serverhttps://api.alteg.io/api/v1/book_check/{location_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://developer.alteg.io/_mock/en/public/openapi/book_check/{location_id}' \
-H 'Accept: application/vnd.api.v2+json' \
-H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"appointments": [
{
"id": 1,
"services": [
331
],
"staff_id": 6544,
"datetime": "2026-09-21T23:00:00.000-05:00"
},
{
"id": 2,
"services": [
99055
],
"staff_id": 6544,
"datetime": "2026-09-21T23:00:00.000-05:00"
}
]
}'{ "success": true, "meta": { "message": "Created" } }