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}.
{
"@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
}| Field | How to use it |
|---|---|
universe | High-level product category, such as show. Use it to group product bases, choose a storefront section, or adapt labels in your UI. |
| Field | How to use it |
|---|---|
recurring | When true, let the customer choose a date instead of presenting the product base as a single fixed event. |
useSession | When true, the customer must choose a session time slot for the product before booking. Present the available time slots in the booking flow. |
maxAmountPerOrder | When 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. |
beneficiaryInfoMayBeRequired | When 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). |
instantDocumentDelivery | When 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.
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:
| Field | Type |
|---|---|
firstname | string |
lastname | string |
email | string |
title | string |
phone | string |
dateOfBirth | ISO 8601 string (e.g. "1990-01-15") |
placeOfBirth | string |
nationality | string |
- Load product bases and store these fields with your catalog data.
- Use
recurringanduseSessionto prepare the customer's date and time slot selection flow. - Use
maxAmountPerOrderto configure the quantity selector before reservation. - Create the reservation and order as described in Book a ticket.
- After order creation, check whether tickets require beneficiaries before trying to download documents.
- Use
instantDocumentDeliveryand documentdownloadableAtvalues 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.