3. Reserve Tickets

This endpoint places a short-lived hold on a specific availability so you can safely collect customer details before calling the Book Tickets API. A reservation is held for 60 minutes. After that it expires automatically and no further action is required.

You are not required to create a reservation before booking. However, for checkout flows where some time passes between picking tickets and paying, using a reservation avoids the risk of overselling.

POST https://api.e-guma.ch/v1/ticketing/reservation.json?apikey={api-key}

Parameters

api-key required

API key of a user that is approved for third-party integrations.

POST Data

product_id required

ID of the product. You can get the ID from the List of Products API.

starts_at required

Start date and time of the availability being reserved, in ISO 8601 format. Use the starts_at returned by the List of Availabilities API.

For day slots, pass only the date (or the date with a 00:00:00 time component). For time slots, pass the exact slot date and time.

items required

List of ticket items to reserve. At least one item is required. Each category_id must appear at most once — combine multiple tickets for the same person category into a single item with the summed quantity. See item object below for details.

Item object

category_id required

ID of the person category. Matches a category returned by the List of Products API.

quantity required

Number of tickets to reserve for this category. Must be greater than 0.

Return

reservation_idID of the reservation. Pass this value as reservation_id when calling the Book Tickets API.
expires_atMoment at which the reservation will automatically expire, in ISO 8601 format. You must complete the booking before this time.

Example

POST https://api.e-guma.ch/v1/ticketing/reservation.json?apikey=510e32c594d84816a4af9df1
{
  "product_id": "64ad1bb1973b861c040c99bd",
  "starts_at": "2026-03-19T10:00:00",
  "items": [
    {
      "category_id": "64ad1bb1973b861c040c99c1",
      "quantity": 2
    }
  ]
}
{
  "reservation_id": "69784d61a43bb308fdbf0a14",
  "expires_at": "2026-03-19T09:00:00.0000000"
}