Skip to content

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

Authentication

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.

Rate Limits

  • 200 requests per minute per IP address - 5 requests per second per IP address
Download OpenAPI description
Languages
Servers
Mock server
https://developer.alteg.io/_mock/en/public/openapi/
Production server
https://api.alteg.io/api/v1/

Authentication

User authentication and verification endpoints for online booking

Operations

Online Booking

Endpoints for booking form, services, staff, availability, and appointment management

Operations

Get Dates Available for Booking

Request

The dates available for booking object has the following fields:

FieldTypeDescription
working_daysarray of working days grouped by monthWorking days of a team member/organization
working_datesarray of datesAn array of dates when the team member/organization works
booking_daysarray of days when there are free sessionsArray of days that are available for booking for the specified services
booking_datesarray of datesAn 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
Security
BearerPartner
Path
location_idnumberrequired

location ID

Query
service_ids[]string

Service ID. Filter by the list of service identifiers

staff_idnumber

team member ID. Filter by team member ID Default: 0

datestring

date in iso8601 format. Filter by month of booking.

Example: date=2026-09-01
date_fromstring

date in iso8601 format. Start of dates to search. Must be used together with the "date_to" param and overrides the "date" param.

Example: date_from=2026-09-01
date_tostring

date in iso8601 format. End of dates to search. Must be used together with the "date_from" param and overrides the "date" param.

Example: date_to=2026-09-30
Headers
Acceptstringrequired

e.g. application/vnd.api.v2+json

Example: application/vnd.api.v2+json
Content-Typestringrequired

application/json

Authorizationstringrequired

Bearer partner_token

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'

Responses

OK

Bodyapplication/json
successboolean

Execution success status (true)

Example: true
dataobject

Data (object)

Example: {"booking_days":{"1":[10],"12":[6,20,24,27]},"booking_dates":["2026-12-06","2026-12-20","2026-12-24","2026-12-27","2026-01-10"],"working_days":{"1":[10],"12":[4,6,8,13,15,20,22,24,27,29]},"working_dates":["2026-12-04","2026-12-06","2026-12-08","2026-12-13","2026-12-15"]}
metaArray of objects

Metadata (empty array)

Example: []
Response
application/json
{ "success": true, "data": { "booking_days": {}, "booking_dates": [], "working_days": {}, "working_dates": [] }, "meta": [] }

Get a List of Time Slots Available for Booking

Request

The sessions available for booking object has the following fields:

FieldTypeDescription
timestringSession time (17:30 for example)
session_lengthnumberSession duration in seconds
datetimedatetimeDate 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
Security
BearerPartner
Path
location_idnumberrequired

location ID

datestringrequired

date in iso8601 format. Filter by booking date (eg '2026-09-30')

team_member_idnumberrequired

team member ID. Filter by team member ID Default: 0

Query
service_ids[]string

Service ID. Filter by the list of service identifiers

Headers
Acceptstringrequired

e.g. application/vnd.api.v2+json

Example: application/vnd.api.v2+json
Content-Typestringrequired

application/json

Authorizationstringrequired

Bearer partner_token

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'

Responses

OK

Bodyapplication/json
successboolean

Execution success status (true)

Example: true
dataArray of objects

Array of objects with data

Example: [{"time":"12:00","seance_length":3600,"datetime":"2026-09-21T23:00:00.000-05:00"},{"time":"13:00","seance_length":3600,"datetime":"2026-09-21T23:00:00.000-05:00"},{"time":"14:00","seance_length":3600,"datetime":"2026-09-21T23:00:00.000-05:00"},{"time":"15:00","seance_length":3600,"datetime":"2026-09-21T23:00:00.000-05:00"},{"time":"16:00","seance_length":3600,"datetime":"2026-09-21T23:00:00.000-05:00"}]
metaArray of objects

Metadata (empty array)

Example: []
Response
application/json
{ "success": true, "data": [ {}, {}, {}, {}, {} ], "meta": [] }

Validate Booking Parameters

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:

FieldTypeMandatoryDescription
appointmentsArray of objectsYESBooking options (services, team members...)

The appointments array consists of objects that have the following fields:

FieldTypeMandatoryDescription
idnumberYesAppointment ID for post-save feedback (see response to request).
servicesarray of numbersNOArray of IDs of the services the client wants to sign up for
staff_idnumberYESID of the team member the client wants to book with (0 if any team member is selected)
datetimedatetimeYESSession 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:

  1. Selected time slot is already taken. Returned with HTTP status code 422 and error code 433.

  2. 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.

  3. 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.

  4. 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.

Security
BearerPartner
Path
location_idnumberrequired

location ID

Headers
Acceptstringrequired

e.g. application/vnd.api.v2+json

Example: application/vnd.api.v2+json
Content-Typestringrequired

application/json

Authorizationstringrequired

Bearer partner_token

Bodyapplication/jsonrequired
appointmentsArray of objectsrequired

appointment options (services, team members...)

Example: [{"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"}]
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"
      }
    ]
  }'

Responses

Created

Bodyapplication/json
successboolean

Execution success status (true)

Example: true
datanull

Always null for this response

metaobject

metadata

Example: {"message":"Created"}
Response
application/json
{ "success": true, "meta": { "message": "Created" } }

Client Personal Cabinet

Client account management and booking history

Operations