Implement the booking server: API v0 (legacy)

  • This page outlines the implementation of a booking server using API v0, which enables the Actions Center to create appointments, bookings, or reservations.

  • The API interface, based on gRPC, requires the implementation of three core methods: CreateLease, CreateBooking, and UpdateBooking.

  • The implementation involves utilizing resource types like Lease and Booking, which are defined within the provided specifications, to manage slots and reservations.

  • API v0 is intended for existing integrations only and new integrations should refer to the instructions for the latest version.

  • You can download the service definition in proto format and implement the provided methods, which should return a gRPC status code.

Setting up a Booking server on your end will allow the Actions Center to create appointments / bookings / reservations with you on behalf of the user.

Implement an API interface based on gRPC

API v0 is not to be used for new integrations.

Download the service definition in proto format below to get started with the API implementation.

Download the service definition

Please familiarize yourself with the following resource types that will be utilized in this implementation:

  • Lease: temporary hold on a slot in the schedule, required before making a booking
  • Booking: final reservation of a slot in the schedule

Additionally, the following API methods have to be implemented on your end for the gRPC server:

The following provides a complete BookingService definition using the 3 methods above:

// Manages slot leases and bookings for an inventory of appointments
service BookingService {
// Creates a new lease
rpc CreateLease(CreateLeaseRequest) returns (CreateLeaseResponse) {}

// Creates a booking for which a lease exists
rpc CreateBooking(CreateBookingRequest) returns (CreateBookingResponse) {}

// Updates an existing booking
rpc UpdateBooking(UpdateBookingRequest) returns (UpdateBookingResponse) {}
}

The methods should return on of the gRPC status codes.

Have questions?

Be sure to check out our FAQs.

Other versions

For documentation for other versions of the API, see the following pages: