GBooking API for Online Appointment Scheduling
GBooking API is a standard json-rpc2 API supporting multiple transactions for managing business, clients, providing stats, booking time, and many more. It checks user acl roles for each request using the following parameters: "cred": {"user": "...", "token": "..."}
.
The present documentation offers examples of requests for a test environment. You can run them for development purposes.
Example of request:
- jsonrpc — protocol version (2.0)
- id — numeric value identifying the request at the server
- method — name of requested method
- params — array of parameters for requested method
- cred — set of data for identification and authorization
Example of successful response:
Example of error response:
By access level, all the requests are classified into several basic roles:
- guest — public request without specifying access parameters
- client — request providing and managing the data of a specific client
- admin — request with access to the data pertaining to a business or a set of businesses
For each request, there is a description including its access role. There can be multiple access roles. In such a case, the request can return different results.
For online booking, public methods* with the guest role are used.
* except for the method of showcase booking. The easiest way to get authorized in this case is to obtain a long live token in the showcase's back office.
Glossary
Below are the basic concepts of the GBooking API for Online Appointment Scheduling:
A Business contains complete data about a business:
- list of employees
- list of services
- settings of GBooking Widget's display
- settings of GBooking BackOffice display
- business information (name, address, phone number, working schedule)
- list of other branches in the network
Business Branch or Branch stand for one branch, subsidiary, shop, salon, etc.
Business Showcase or Showcase provides access to the data of a random group of branch businesses
Branch Network means a set of branches united into one. The GBooking Widget allows the user to switch between branches or to obtain data for all the branches. In the BackOffice, an administrator with sufficient access rights can switch between branches. The client data is shared throughout the branch network.
An Employee contains information about the employee:
- full name
- list of services provided by them
- per-service performance speed
- branch
- phone number and email
- additional textual information, including profession and further information about the employee
Service, Taxonomy — service or class of services that can be signed up for. Contains name, description, duration (optional for every employee), price, and discounts.
Timetable slot — a period available for making appointments
Appointment — an element of the timetable containing the following information: client, employee, starting date, total duration, list of services, whether the client has paid, and so on.
Reserve, Reserve appointment — provisionary appointment that reserves the required time for a short period
Client contains data about a client of one business or a branch network
For detailed information about the data schema, please refer to repository: https://github.com/GbookingLTD/corev2-schemata/tree/master/docs.
Data schemata in the json-schema format are contained here: https://github.com/GbookingLTD/corev2-schemata/tree/master/schemas.
Error codes:
- full list of errors
- authorization errors
- errors from external systems
- There are lists of possible errors for every method to be used.
As of 02.10.2018, the request-response format has been described for the following methods:
- Getting Business Data (business.get_profile_by_id)
- Adding a Client (client.add_client)