Skip to main content

eBooking API - Apigee (2.5.3)

Download OpenAPI specification:Download

eBooking API documentation

Authentication & Authorization

You will need to be identified before calling any ebooking endpoints.

In order to be recognized and authorized to access our eBooking API, we put in place 2 mechanisms:

  • Authentication mechanism is done with an API key dedicated to you.
    Remember that the API key provided should be shared with care.
    The API key must be inserted in the header of the request in the appropriate field
  • Authorization mechanism is done by a well-known authorization flow for REST Web API: “Client credentials” OAuth2.0 flow.

timeslots

Time slots for a dedicated centre

Get available slots for a dedicated centre

This endpoint allows to get available slots for a specific centre.

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
centreCode
required
string (CentreCodeParameterIn) <= 30 characters
Example: A333

The code of the centre you want to get available slots

Request Body schema: application/json
dateFrom
string <date>

Date from which the time slots will be searched. dateFrom property is optional. If dateFrom property is not set: dateFrom will be equal to the current date. Required format: YYYY-MM-DD

dateTo
string <date>

Date until which slots will be searched. dateTo property is optional. If dateTo property is not set, a maximum of 21 days of available time slots will be sent in the response. We recommend that you limit the search interval as much as possible for good performance (7 days might be a good compromise) Required format: YYYY-MM-DD The dateTo must be greater than the dateFrom, otherwise an error will occur.

required
Array of objects [ 1 .. 50 ] items
object

The vehicle

Responses

Request samples

Content type
application/json
Example

Use dateTo and dateFrom fields to define a search interval for timeslots.

{
  • "dateFrom": "2022-03-15",
  • "dateTo": "2022-03-22",
  • "services": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "searchLimit": {
    },
  • "servicesDuration": 60,
  • "timeSlots": [
    ]
}

appointments

Appointments management

Book an appointment in a garage

This endpoint allows to book an appointment in a garage

Authorizations:
(OAuth2ApiKeyAuth)
Request Body schema: application/json
centreCode
required
string <= 30 characters

Code of the centre in which you want to book an appointment

timeSlot
required
string <= 16 characters ^([0-9]{4})-(?:[0-9]{2})-([0-9]{2})T([01][0-9...

Booking date: one of the time slots offered in the timeslots end point. Required format: YYYY-MM-DDThh:mm

Example of accepted values: 2021-06-18T10:00 2021-06-18T10:00

externalCode
string <= 30 characters

External identifier belonging to the consumer and linked to the reservation (can ease tracking)

comments
string <= 2000 characters

Comments entered when making an appointment

required
Array of objects [ 1 .. 50 ] items
required
object

The driver informations

required
object

The vehicle

object

The tyre dimensions

Responses

Request samples

Content type
application/json
{
  • "centreCode": "A333",
  • "timeSlot": "2021-03-18T10:00",
  • "externalCode": "my-external-code_AB123",
  • "comments": "Front tyre and rear tyre must be reversed",
  • "services": [
    ],
  • "driver": {
    },
  • "vehicle": {
    },
  • "tyreDimensions": {
    }
}

Response samples

Content type
application/json
{
  • "appointmentCode": "2021061413121681887",
  • "updatableUntil": "2021-05-31",
  • "cancelableUntil": "2021-05-31"
}

Update the time slot of an existing appointment.

This endpoint allows to move the appointment date in the calendar of a garage

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
appointmentCode
required
integer <int64> (AppointmentCodeParameterIn) [ 0 .. 999999999 ]
Example: 123456

The code you received with the booking appointment endpoint.

@See /appointments

Request Body schema: application/json
timeSlot
required
string <= 16 characters ^([0-9]{4})-(?:[0-9]{2})-([0-9]{2})T([01][0-9...

Booking date: one of the time slots offered in the timeslots end point. Required format: YYYY-MM-DDThh:mm

Example of accepted values: 2021-06-18T10:00 2021-06-18T10:00

Responses

Request samples

Content type
application/json
{
  • "timeSlot": "2021-03-18T10:00"
}

Response samples

Content type
application/json
{
  • "status": "CONFIRMED",
  • "description": "Booking confirmed",
  • "timeSlot": "2021-05-31T08:30"
}

Delete an existing appointment.

This endpoint allows to delete an existing appointment in the calendar of a garage

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
appointmentCode
required
integer <int64> (AppointmentCodeParameterIn) [ 0 .. 999999999 ]
Example: 123456

The code you received with the booking appointment endpoint.

@See /appointments

Responses

Response samples

Content type
application/json
Example
{
  • "errors": [
    ]
}

Get the status of an appointment.

This endpoint allows to retrieve the status of an appointment

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
appointmentCode
required
integer <int64> (AppointmentCodeParameterIn) [ 0 .. 999999999 ]
Example: 123456

The code you received with the booking appointment endpoint.

@See /appointments

Responses

Response samples

Content type
application/json
Example
{
  • "status": "CONFIRMED",
  • "description": "Booking confirmed",
  • "timeSlot": "2021-05-31T08:30:00",
  • "updatableUntil": "2021-05-30T08:30:00",
  • "cancelableUntil": "2021-05-30T08:30:00"
}

services

Services management

Get the first availability for a defined service for 10 centers max simultaneously

This endpoint allows to get the first availability for a defined service with a defined quantity for 10 centers max simultaneously

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
serviceCode
required
string <string> (ServiceCodeParameterIn) <= 30 characters
Example: 1000151984

The code of the service you want to get first availability

query Parameters
centres
required
Array of strings (CentreCodeListQueryParameter) [ 1 .. 10 ] items [ items <= 30 characters ]
Example: centres=A333,A332

List of centers delimited by , that need to be considered for filter

quantity
required
integer <int64> (QuantityQueryParameter) [ 1 .. 10 ]
Example: quantity=2

Quantity of service that need to be considered for filter

licencePlate
string <string> (LicencePlateQueryParameter) <= 20 characters
Example: licencePlate=AA123BB

Licence plate of the vehicle

dateFrom
string <date> (DateFromQueryParameter)
Example: dateFrom=2023-05-18

Date from which we compute the firstAvailabilities

Responses

Response samples

Content type
application/json
Example
{
  • "serviceAvailability": [
    ],
  • "errors": [ ]
}

Get the list of services available

This endpoint allows to get the list of services available in an instance

Authorizations:
(OAuth2ApiKeyAuth)

Responses

Response samples

Content type
application/json
{
  • "services": [
    ]
}

centres

Centres management

Get the list of centres available

This endpoint allows to get the list of centres available in an instance

Authorizations:
(OAuth2ApiKeyAuth)

Responses

Response samples

Content type
application/json
{
  • "centres": [
    ]
}

vehicles

Vehicles management

Get the list of tyre location

This endpoint allows to get all of the tyre location

Authorizations:
(OAuth2ApiKeyAuth)
query Parameters
centreCode
string <string> (CentreCodeQueryParameter) <= 30 characters
Example: centreCode=A0006

Center code

pageNumber
required
integer <int32> (PageNumberQueryParameter) <= 1000
Example: pageNumber=2

The page number

pageSize
required
integer <int32> (PageSizeQueryParameter) [ 1 .. 1000 ]
Example: pageSize=2

The page size

Responses

Response samples

Content type
application/json
{
  • "pagination": {
    },
  • "tyresLocations": [
    ]
}

Get the list of tyre location for a licence plate

This endpoint allows to get the tyre location regarding a licence plate

Authorizations:
(OAuth2ApiKeyAuth)
path Parameters
licencePlate
required
string <string> (LicencePlateParameterIn) <= 20 characters
Example: AA123BB

Registration number of the vehicle

Responses

Response samples

Content type
application/json
{
  • "licencePlate": "AA123BB",
  • "centreCode": "A006"
}