2. Availabilities

This endpoint returns the availabilities of a single product for a given date range, including the prices per person category.

Use the slot_type returned by the List of Products API to know whether the availabilities will be day-granularity or time-slot granularity.

GET https://api.e-guma.ch/v1/ticketing/products/{product-id}/availabilities.json?apikey={api-key}&from={from}&to={to}

Parameters

api-key required

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

product-id required

ID of the product. You can get the ID from the

List of Products API

.

from required

First day of the range (inclusive), in YYYY-MM-DD format.

Dates in the past are clamped to today. If the product has a calendar start date, dates before that are clamped as well.

to required

Last day of the range (inclusive), in YYYY-MM-DD format. Must be greater than or equal to from.

If the product has a calendar end date, dates after that are clamped.

Return

company_name

Name of the merchant (company) the API key belongs to.

product_name

Name of the product in the default language of the merchant.

availabilities

List of availabilities in the requested range. See availability object below for details.

The list is empty when the product is not currently published, when all dates in the range are blocked, or when the range lies outside the calendar validity of the product. Slots whose cut-off time has already passed are not returned.

Availability object

slot_type

Either day or time.

  • day: starts_at only carries a date (the time portion is always 00:00:00).

  • time: starts_at is a specific calendar slot with a meaningful time component.

starts_at

Start date and time of the availability in ISO 8601 format (without time zone).

Use this value as the starts_at field in the Reserve Tickets API and Book Tickets API.

closing_at

Moment after which this slot can no longer be booked (cut-off time), in ISO 8601 format.

Slots whose closing_at is already in the past are filtered out of the response.

availability_count

Number of tickets that are still available for this slot.

Can be null, which means there is no capacity cap on our side (unlimited availability).

prices

List of prices per person category available for this slot. See category price object below for details.

Category price object

category_id

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

currency

Currency of the price as ISO 4217 code (e.g. CHF, EUR).

price_in_cents

Unit price of one ticket for this category, in cents.

min_quantity

Minimum quantity that must be booked for this category when the category is used in an order. null if there is no minimum.

max_quantity

Maximum quantity that may be booked for this category. null if there is no maximum.

allow_zero_quantity

If true, the category can either be skipped (quantity 0) or booked with a quantity between min_quantity and max_quantity. If false, and min_quantity is set, the quantity must be between min_quantity and max_quantity.

null when min_quantity is null or 0 (the flag is not applicable; 0 is already implicitly allowed).

Example (day-granularity product)

GET https://api.e-guma.ch/v1/ticketing/products/64ad1bb1973b861c040c99bc/availabilities.json?apikey=510e32c594d84816a4af9df1&from=2026-03-19&to=2026-03-21
{
  "company_name": "Demo",
  "product_name": "Museum admission",
  "availabilities": [
    {
      "slot_type": "day",
      "starts_at": "2026-03-19T00:00:00.0000000",
      "closing_at": null,
      "availability_count": null,
      "prices": [
        {
          "category_id": "64ad1bb1973b861c040c99c1",
          "currency": "CHF",
          "price_in_cents": 2500,
          "min_quantity": 1,
          "max_quantity": 10,
          "allow_zero_quantity": false
        },
        {
          "category_id": "64ad1bb1973b861c040c99c2",
          "currency": "CHF",
          "price_in_cents": 1000,
          "min_quantity": null,
          "max_quantity": 10,
          "allow_zero_quantity": null
        }
      ]
    },
    {
      "slot_type": "day",
      "starts_at": "2026-03-20T00:00:00.0000000",
      "closing_at": null,
      "availability_count": null,
      "prices": [
        {
          "category_id": "64ad1bb1973b861c040c99c1",
          "currency": "CHF",
          "price_in_cents": 2500,
          "min_quantity": 1,
          "max_quantity": 10,
          "allow_zero_quantity": false
        },
        {
          "category_id": "64ad1bb1973b861c040c99c2",
          "currency": "CHF",
          "price_in_cents": 1000,
          "min_quantity": null,
          "max_quantity": 10,
          "allow_zero_quantity": null
        }
      ]
    }
  ]
}

Example (time-slot product)

GET https://api.e-guma.ch/v1/ticketing/products/64ad1bb1973b861c040c99bd/availabilities.json?apikey=510e32c594d84816a4af9df1&from=2026-03-19&to=2026-03-19
{
  "company_name": "Demo",
  "product_name": "Guided tour",
  "availabilities": [
    {
      "slot_type": "time",
      "starts_at": "2026-03-19T10:00:00.0000000",
      "closing_at": "2026-03-19T09:30:00.0000000",
      "availability_count": 12,
      "prices": [
        {
          "category_id": "64ad1bb1973b861c040c99c1",
          "currency": "CHF",
          "price_in_cents": 3500,
          "min_quantity": 1,
          "max_quantity": 20,
          "allow_zero_quantity": false
        }
      ]
    },
    {
      "slot_type": "time",
      "starts_at": "2026-03-19T14:00:00.0000000",
      "closing_at": "2026-03-19T13:30:00.0000000",
      "availability_count": 20,
      "prices": [
        {
          "category_id": "64ad1bb1973b861c040c99c1",
          "currency": "CHF",
          "price_in_cents": 3500,
          "min_quantity": 1,
          "max_quantity": 20,
          "allow_zero_quantity": false
        }
      ]
    }
  ]
}