Skip to content

Product base fields

TicketingProductBase resources expose fields that help you prepare the booking flow. Use them to decide which controls, limits, and post-order steps your integration should support.

You usually read these fields when you load product bases from GET /v1/ticketing/product_bases/{id}.

Example

{
  "@id": "/v1/ticketing/product_bases/0199570c-3380-7e12-9dcd-7cbe238e71f0",
  "@type": "TicketingProductBase",
  "id": "0199570c-3380-7e12-9dcd-7cbe238e71f0",
  "name": "Ligue 1 - OL / FC Lorient",
  "universe": "show",
  "useSession": true,
  "recurring": false,
  "beneficiaryInfoMayBeRequired": true,
  "instantDocumentDelivery": false,
  "maxAmountPerOrder": 6
}

Catalog classification

FieldHow to use it
universeHigh-level product category, such as show. Use it to group product bases, choose a storefront section, or adapt labels in your UI.

Booking flow fields

FieldHow to use it
recurringWhen true, let the customer choose a date instead of presenting the product base as a single fixed event.
useSessionWhen true, the customer must choose a session time slot for the product before booking. Present the available time slots in the booking flow.
maxAmountPerOrderWhen the value is not null, cap the quantity selector to this number before calling the reservation endpoint. When it is null, Korus Ticket does not expose a product-base-specific order limit.
beneficiaryInfoMayBeRequiredWhen true, prepare a post-order beneficiary step. The exact required fields are only known after order creation in order.items[].tickets[].requiredBeneficiaryFields. If your integration cannot handle post-order processing, collect all possible beneficiary fields before placing the order (see Possible beneficiary fields below).
instantDocumentDeliveryWhen false, do not promise immediate ticket download. After order creation, list the order documents and use each document's downloadableAt value to decide when it can be downloaded.

For example, a sport event will usually have useSession: true and recurring: false: the customer chooses a time slot for one specific event date.

Possible beneficiary fields

The following fields may be required on any ticket. The exact subset is returned in order.items[].tickets[].requiredBeneficiaryFields after order creation. If you need to collect beneficiary data upfront, present all of them:

FieldType
firstnamestring
lastnamestring
emailstring
titlestring
phonestring
dateOfBirthISO 8601 string (e.g. "1990-01-15")
placeOfBirthstring
nationalitystring
  1. Load product bases and store these fields with your catalog data.
  2. Use recurring and useSession to prepare the customer's date and time slot selection flow.
  3. Use maxAmountPerOrder to configure the quantity selector before reservation.
  4. Create the reservation and order as described in Book a ticket.
  5. After order creation, check whether tickets require beneficiaries before trying to download documents.
  6. Use instantDocumentDelivery and document downloadableAt values to decide whether to show a download button or a pending state.

For beneficiary details, see Beneficiary requirements. For document download, see Download order documents.