Skip to main content

bookingkit API (v3)

Download OpenAPI specification:Download

Current version of bookingkit API used by customers and partners to integrate with bookingkit software.

Vendor

Vendor is a bookingkit customer, a provider of tours, attractions & activities to the end customers.

List vendors

Returns a list of vendors you have access to.

query Parameters
order
string
Value: "name"
Example: order=-name

Use -/+ in front of the attribute to specify the soriting direction (descending / ascending). If no modifier is provided, default sorting direction is ascending. Multiple comma separated values may be provided.

Example: \vendors?order=name will sort results by name ascending.

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

match
string
Example: match=name

Searches for the provided value within the following proterties:

  • name
delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a vendor

Retrieve a single vendor by providing the identifier.

path Parameters
id
required
string
Example: 3e3edd05ce4362e2d6a8200c37b1b79c

Unique identifier of a vendor

Responses

Response samples

Content type
application/json
{
  • "id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "name": "Sample Vendor",
  • "service_email": "example@example.com",
  • "service_phone": "+49 123 123 1234",
  • "terms": "<h1>Terms & Conditions of Sample Vendor</h1><p>Lorem ipsum dolor sit amet.</p>",
  • "bill_country": "DE",
  • "country_of_residence": "DE",
  • "activation_date": "2025-01-24T14:35:41Z",
  • "currency": "EUR",
  • "legal_company_name": "Sample Vendor GmbH",
  • "legal_representative_first_name": "John",
  • "legal_representative_last_name": "Smith"
}

Event

Also known as experience. Events are tours, activities and attractions offered by a vendor. Events are the main inventory items of bookingkit. Event object contain event contents, price configuration and booking restrictions.

List events of a vendor

Returns a list of events belonging to a single vendor.

path Parameters
vendor_id
required
string

Unique identifier of a vendor

query Parameters
order
string
Enum: "title" "duration" "max_participants" "vendor_name" "price" "category_id" "first_date"
Example: order=-duration,title

Use -/+ in front of the attribute to specify the soriting direction (descending / ascending). If no modifier is provided, default sorting direction is ascending. Multiple comma separated values may be provided.

Example: \events?order=-duration,title will sort results by duration descending, title ascending.

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

match
string

Searches the string within therse proterties:

  • title
  • description
  • vendors' names
category
integer

Filter by category id, get a complete list of categories from the categories resource

categories
string

Filter by list of category ids, get a complete list of categories from the categories resource.

accept_vendors
string

Comma separated list of accepted vendor ids.

exclude_vendors
string

Comma separated list of rejected vendor ids.

preferred_categories
string

Comma separated list of preferred categories. Events with these categories are placed at the top of the list.

type
string
Default: "BOOKING"
Enum: "BOOKING" "REQUEST" "ALL"

Filter by event type.

available_from
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return events with at least one date later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC).

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...
Example: geolocation=52.069896815019,12.665231159637,52.970116384981,14.144676840363

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

with_private_prices
boolean
Default: false

Return private and public prices. Private prices are not shown to end customers. Private prices can be used by vendors when creating bookings in the admin app.

only_root_events
boolean
Default: false

Return root events only. If events have pricelists defined, these are treated as separate pricelists events of the parent event. If this parameter is set to true, only the root event will be retunred, pricelists will be skipped.

only_main_duration
boolean
Default: false

Return main duration event only. If events have durations defined, these are treated as separate duration events of the parent event. If this parameter is set to true, only the root event will be retunred, other durations will be skipped.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create event of a vendor

Create a new "event" item

path Parameters
vendor_id
required
string

Unique identifier of a vendor

Request Body schema: application/json
active
integer
Enum: "0" "1"

Whether an event is active or inactive. Events can be deactivated by a vendor. Inactive events won't be returned.

root_event_id
string

If an event is a child pricelist event then root_event_id is a parent id of that pricelist event. Parent event of a priclist event can be a duration event. Parent events (main events and duration events) will have root_event_id set to an empty string.

title
required
string <= 255 characters

Event title, descriptive.

description
required
string <html>

Description of the event in HTML format.

type
string
Enum: "BOOKING" "REQUEST"

Event type (bookings or requests). Requests have to be accepted by the vendors to become a booking.

duration
required
integer

Duration of the event in minutes.

pre_time
integer

Whether and how much time earlier the participants and team need before the event, in minutes. Set to 0 if no extra time is required.

max_participants
required
integer

Maximum number of participants in a single appointment of an event. This can be overriden for each individual apointment.

timezone
string

Timezone identifier of an event location.

location
required
string

Event location address.

location_place_id
string

Google Place ID of the event location.

location_lng
required
number

Event location longitude.

location_lat
required
number

Event location latitude.

meeting_location
required
string

Meeting location address, MAY differ from event location.

meeting_location_lng
required
number

Meeting location longitude.

meeting_location_lat
required
number

Meeting location latitude.

meeting_location_place_id
string

Google Place ID of the meeting location.

vendor_id
required
string

Unique identifier of the vendor that this events belongs to.

bring
string

What participants need to bring.

advice
string

Advice note to participants.

hint
string

Short general hint displayed during the booking process

participant_hint
string

Short question for participants displayed during the booking process

vendor_name
string

Vendor company name, doesn't have to be a full legal name

youtubeVideoId
string

ID of Youtube video, not the whole video URL

voucher_checkout_url
string

Checkout URL to buy a voucher through the bookingkit system.

images
required
Array of strings non-empty unique

BASE64 encoded image files

highlights
Array of strings <= 10 items unique

List of main selling points for the event

required
Array of objects

Full ordered category tree. Top level category first.

required
Array of objects unique

Prices for this event.

Array of objects

Optional tags for the event describing the scope of the event. Tags are used only for certain event categories (eg. for cooking classes).

first_date
string <date-time> ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Starting time of the next event. Format: YYYY-MM-DDThh:mm:ssZ, UTC. It's returned only if "available_from" query parameter is set.

min_participants
integer

Minimum number of participants per booking. Set to 0 if no minimum is required.

latest_booking_time
integer

How much time (in minutes) the event has to be booked before it starts. Negative value is used for "opening hours" events to indicate that the event can be booked after it has started.

commission
integer [ 0 .. 100 ]

Percentage of the order value received as commission by the reseller. Greater than 0 only for resellers API clients.

Responses

Request samples

Content type
application/json
{
  • "active": "1",
  • "root_event_id": "45d5133ed696a041f9697233f18942a2",
  • "title": "Berlin Tour",
  • "description": "<p>Tour around Berlin</p>",
  • "type": "BOOKING",
  • "duration": 60,
  • "pre_time": 30,
  • "max_participants": 200,
  • "timezone": "Europe/Berlin",
  • "location": "Sonnenallee 223, 12059 Berlin",
  • "location_place_id": "ChIJVX06QuNRqEcR0coerEj89jo",
  • "location_lng": "12.7135121",
  • "location_lat": "41.9214534",
  • "meeting_location": "Pariser Platz, 10117 Berlin",
  • "meeting_location_lng": "13.3785865",
  • "meeting_location_lat": "52.5163766",
  • "meeting_location_place_id": "EiRQYXJpc2VyIFBsYXR6LCAxMDExNyBCZXJsaW4sIEdlcm1hbnkiLiosChQKEgk_NdX1xlGoRxEIInH3zI6rAhIUChIJAVkDPzdOqEcRcDteW0YgIQQ",
  • "vendor_id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "bring": "Driving licence",
  • "advice": "Children up to 15 years must be accompanied by at least one adult.",
  • "hint": "Liability and comprehensive insurance is included.",
  • "participant_hint": "Please inform us of any special dietary requirements or food allergies.",
  • "vendor_name": "string",
  • "youtubeVideoId": "lcTsn3_IILM",
  • "images": [
    ],
  • "highlights": [
    ],
  • "categories": [
    ],
  • "prices": [
    ],
  • "tags": [
    ],
  • "first_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "min_participants": 10,
  • "latest_booking_time": 60,
  • "commission": 0
}

Response samples

Content type
application/json
{
  • "id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "active": "1",
  • "root_event_id": "45d5133ed696a041f9697233f18942a2",
  • "title": "Berlin Tour",
  • "description": "<p>Tour around Berlin</p>",
  • "type": "BOOKING",
  • "duration": 60,
  • "pre_time": 30,
  • "max_participants": 200,
  • "timezone": "Europe/Berlin",
  • "location": "Sonnenallee 223, 12059 Berlin",
  • "location_place_id": "ChIJVX06QuNRqEcR0coerEj89jo",
  • "location_lng": "12.7135121",
  • "location_lat": "41.9214534",
  • "meeting_location": "Pariser Platz, 10117 Berlin",
  • "meeting_location_lng": "13.3785865",
  • "meeting_location_lat": "52.5163766",
  • "meeting_location_place_id": "EiRQYXJpc2VyIFBsYXR6LCAxMDExNyBCZXJsaW4sIEdlcm1hbnkiLiosChQKEgk_NdX1xlGoRxEIInH3zI6rAhIUChIJAVkDPzdOqEcRcDteW0YgIQQ",
  • "vendor_id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "bring": "Driving licence",
  • "advice": "Children up to 15 years must be accompanied by at least one adult.",
  • "hint": "Liability and comprehensive insurance is included.",
  • "participant_hint": "Please inform us of any special dietary requirements or food allergies.",
  • "vendor_name": "string",
  • "youtubeVideoId": "lcTsn3_IILM",
  • "highlights": [
    ],
  • "categories": [
    ],
  • "prices": [
    ]
}

List events and dates of a vendor

Retrieve a list of events and their associated dates for a specific vendor. This endpoint returns a simplified view with basic identifiers for both events and dates. Use filtering parameters to narrow down results by date ranges, availability, or specific events.

path Parameters
id
required
string

Vendor identifier

query Parameters
order
string
Enum: "date" "available_slots" "event_id"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \eventDates?order=date,-available_slots will sort results by date ASC, available_slots DESC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

available
boolean
Default: true

Only return dates with at least one free slot.

start_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

accept_vendors
string

Comma separated list of accepted vendor ids

exclude_vendors
string

Comma separated list of rejected vendor ids

accept_events
string

Comma separated list of accepted event ids

exclude_events
string

Comma separated list of rejected event ids

category
integer

Filter by category id, get a complete list of categories from the categories resource

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

ignore_latest_booking_time
boolean

Ignore latest booking time

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List events

Returns a list of events of all events you have access to.

query Parameters
order
string
Enum: "title" "duration" "max_participants" "vendor_name" "price" "category_id" "first_date"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \events?order=-duration,title will sort results by duration DESC, title ASC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

match
string

Searches the string within therse proterties:

  • title
  • description
  • vendors' names
category
integer

Filter by category id, get a complete list of categories from the categories resource

categories
string

Filter by list of category ids, get a complete list of categories from the categories resource.

accept_vendors
string

Comma separated list of accepted vendor ids.

exclude_vendors
string

Comma separated list of rejected vendor ids.

preferred_categories
string

Comma separated list of preferred categories. Events with these categories are placed at the top of the list.

type
string
Default: "BOOKING"
Enum: "BOOKING" "REQUEST" "ALL"

Filter by event type.

available_from
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return events with at least one date later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC).

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...
Example: geolocation=52.069896815019,12.665231159637,52.970116384981,14.144676840363

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

with_private_prices
boolean
Default: false

Return private and public prices. Private prices are not shown to end customers. Private prices can be used by vendors when creating bookings in the admin app.

only_root_events
boolean
Default: false

Return root events only. If events have pricelists defined, these are treated as separate pricelists events of the parent event. If this parameter is set to true, only the root event will be retunred, pricelists will be skipped.

only_main_duration
boolean
Default: false

Return main duration event only. If events have durations defined, these are treated as separate duration events of the parent event. If this parameter is set to true, only the root event will be retunred, other durations will be skipped.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an event

Create a new "event" item

Request Body schema: application/json
active
integer
Enum: "0" "1"

Whether an event is active or inactive. Events can be deactivated by a vendor. Inactive events won't be returned.

root_event_id
string

If an event is a child pricelist event then root_event_id is a parent id of that pricelist event. Parent event of a priclist event can be a duration event. Parent events (main events and duration events) will have root_event_id set to an empty string.

title
required
string <= 255 characters

Event title, descriptive.

description
required
string <html>

Description of the event in HTML format.

type
string
Enum: "BOOKING" "REQUEST"

Event type (bookings or requests). Requests have to be accepted by the vendors to become a booking.

duration
required
integer

Duration of the event in minutes.

pre_time
integer

Whether and how much time earlier the participants and team need before the event, in minutes. Set to 0 if no extra time is required.

max_participants
required
integer

Maximum number of participants in a single appointment of an event. This can be overriden for each individual apointment.

timezone
string

Timezone identifier of an event location.

location
required
string

Event location address.

location_place_id
string

Google Place ID of the event location.

location_lng
required
number

Event location longitude.

location_lat
required
number

Event location latitude.

meeting_location
required
string

Meeting location address, MAY differ from event location.

meeting_location_lng
required
number

Meeting location longitude.

meeting_location_lat
required
number

Meeting location latitude.

meeting_location_place_id
string

Google Place ID of the meeting location.

vendor_id
required
string

Unique identifier of the vendor that this events belongs to.

bring
string

What participants need to bring.

advice
string

Advice note to participants.

hint
string

Short general hint displayed during the booking process

participant_hint
string

Short question for participants displayed during the booking process

vendor_name
string

Vendor company name, doesn't have to be a full legal name

youtubeVideoId
string

ID of Youtube video, not the whole video URL

voucher_checkout_url
string

Checkout URL to buy a voucher through the bookingkit system.

images
required
Array of strings non-empty unique

BASE64 encoded image files

highlights
Array of strings <= 10 items unique

List of main selling points for the event

required
Array of objects

Full ordered category tree. Top level category first.

required
Array of objects unique

Prices for this event.

Array of objects

Optional tags for the event describing the scope of the event. Tags are used only for certain event categories (eg. for cooking classes).

first_date
string <date-time> ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Starting time of the next event. Format: YYYY-MM-DDThh:mm:ssZ, UTC. It's returned only if "available_from" query parameter is set.

min_participants
integer

Minimum number of participants per booking. Set to 0 if no minimum is required.

latest_booking_time
integer

How much time (in minutes) the event has to be booked before it starts. Negative value is used for "opening hours" events to indicate that the event can be booked after it has started.

commission
integer [ 0 .. 100 ]

Percentage of the order value received as commission by the reseller. Greater than 0 only for resellers API clients.

Responses

Request samples

Content type
application/json
{
  • "active": "1",
  • "root_event_id": "45d5133ed696a041f9697233f18942a2",
  • "title": "Berlin Tour",
  • "description": "<p>Tour around Berlin</p>",
  • "type": "BOOKING",
  • "duration": 60,
  • "pre_time": 30,
  • "max_participants": 200,
  • "timezone": "Europe/Berlin",
  • "location": "Sonnenallee 223, 12059 Berlin",
  • "location_place_id": "ChIJVX06QuNRqEcR0coerEj89jo",
  • "location_lng": "12.7135121",
  • "location_lat": "41.9214534",
  • "meeting_location": "Pariser Platz, 10117 Berlin",
  • "meeting_location_lng": "13.3785865",
  • "meeting_location_lat": "52.5163766",
  • "meeting_location_place_id": "EiRQYXJpc2VyIFBsYXR6LCAxMDExNyBCZXJsaW4sIEdlcm1hbnkiLiosChQKEgk_NdX1xlGoRxEIInH3zI6rAhIUChIJAVkDPzdOqEcRcDteW0YgIQQ",
  • "vendor_id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "bring": "Driving licence",
  • "advice": "Children up to 15 years must be accompanied by at least one adult.",
  • "hint": "Liability and comprehensive insurance is included.",
  • "participant_hint": "Please inform us of any special dietary requirements or food allergies.",
  • "vendor_name": "string",
  • "youtubeVideoId": "lcTsn3_IILM",
  • "images": [
    ],
  • "highlights": [
    ],
  • "categories": [
    ],
  • "prices": [
    ],
  • "tags": [
    ],
  • "first_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "min_participants": 10,
  • "latest_booking_time": 60,
  • "commission": 0
}

Response samples

Content type
application/json
{
  • "id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "active": "1",
  • "root_event_id": "45d5133ed696a041f9697233f18942a2",
  • "title": "Berlin Tour",
  • "description": "<p>Tour around Berlin</p>",
  • "type": "BOOKING",
  • "duration": 60,
  • "pre_time": 30,
  • "max_participants": 200,
  • "timezone": "Europe/Berlin",
  • "location": "Sonnenallee 223, 12059 Berlin",
  • "location_place_id": "ChIJVX06QuNRqEcR0coerEj89jo",
  • "location_lng": "12.7135121",
  • "location_lat": "41.9214534",
  • "meeting_location": "Pariser Platz, 10117 Berlin",
  • "meeting_location_lng": "13.3785865",
  • "meeting_location_lat": "52.5163766",
  • "meeting_location_place_id": "EiRQYXJpc2VyIFBsYXR6LCAxMDExNyBCZXJsaW4sIEdlcm1hbnkiLiosChQKEgk_NdX1xlGoRxEIInH3zI6rAhIUChIJAVkDPzdOqEcRcDteW0YgIQQ",
  • "vendor_id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "bring": "Driving licence",
  • "advice": "Children up to 15 years must be accompanied by at least one adult.",
  • "hint": "Liability and comprehensive insurance is included.",
  • "participant_hint": "Please inform us of any special dietary requirements or food allergies.",
  • "vendor_name": "string",
  • "youtubeVideoId": "lcTsn3_IILM",
  • "highlights": [
    ],
  • "categories": [
    ],
  • "prices": [
    ]
}

Update an event

Update an existing "event" item

path Parameters
id
required
string
Request Body schema: application/json
active
integer
Enum: "0" "1"

Whether an event is active or inactive. Events can be deactivated by a vendor. Inactive events won't be returned.

root_event_id
string

If an event is a child pricelist event then root_event_id is a parent id of that pricelist event. Parent event of a priclist event can be a duration event. Parent events (main events and duration events) will have root_event_id set to an empty string.

title
required
string <= 255 characters

Event title, descriptive.

description
required
string <html>

Description of the event in HTML format.

type
string
Enum: "BOOKING" "REQUEST"

Event type (bookings or requests). Requests have to be accepted by the vendors to become a booking.

duration
required
integer

Duration of the event in minutes.

pre_time
integer

Whether and how much time earlier the participants and team need before the event, in minutes. Set to 0 if no extra time is required.

max_participants
required
integer

Maximum number of participants in a single appointment of an event. This can be overriden for each individual apointment.

timezone
string

Timezone identifier of an event location.

location
required
string

Event location address.

location_place_id
string

Google Place ID of the event location.

location_lng
required
number

Event location longitude.

location_lat
required
number

Event location latitude.

meeting_location
required
string

Meeting location address, MAY differ from event location.

meeting_location_lng
required
number

Meeting location longitude.

meeting_location_lat
required
number

Meeting location latitude.

meeting_location_place_id
string

Google Place ID of the meeting location.

vendor_id
required
string

Unique identifier of the vendor that this events belongs to.

bring
string

What participants need to bring.

advice
string

Advice note to participants.

hint
string

Short general hint displayed during the booking process

participant_hint
string

Short question for participants displayed during the booking process

vendor_name
string

Vendor company name, doesn't have to be a full legal name

youtubeVideoId
string

ID of Youtube video, not the whole video URL

voucher_checkout_url
string

Checkout URL to buy a voucher through the bookingkit system.

images
required
Array of strings non-empty unique

BASE64 encoded image files

highlights
Array of strings <= 10 items unique

List of main selling points for the event

required
Array of objects

Full ordered category tree. Top level category first.

required
Array of objects unique

Prices for this event.

Array of objects

Optional tags for the event describing the scope of the event. Tags are used only for certain event categories (eg. for cooking classes).

first_date
string <date-time> ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Starting time of the next event. Format: YYYY-MM-DDThh:mm:ssZ, UTC. It's returned only if "available_from" query parameter is set.

min_participants
integer

Minimum number of participants per booking. Set to 0 if no minimum is required.

latest_booking_time
integer

How much time (in minutes) the event has to be booked before it starts. Negative value is used for "opening hours" events to indicate that the event can be booked after it has started.

commission
integer [ 0 .. 100 ]

Percentage of the order value received as commission by the reseller. Greater than 0 only for resellers API clients.

Responses

Request samples

Content type
application/json
{
  • "active": "1",
  • "root_event_id": "45d5133ed696a041f9697233f18942a2",
  • "title": "Berlin Tour",
  • "description": "<p>Tour around Berlin</p>",
  • "type": "BOOKING",
  • "duration": 60,
  • "pre_time": 30,
  • "max_participants": 200,
  • "timezone": "Europe/Berlin",
  • "location": "Sonnenallee 223, 12059 Berlin",
  • "location_place_id": "ChIJVX06QuNRqEcR0coerEj89jo",
  • "location_lng": "12.7135121",
  • "location_lat": "41.9214534",
  • "meeting_location": "Pariser Platz, 10117 Berlin",
  • "meeting_location_lng": "13.3785865",
  • "meeting_location_lat": "52.5163766",
  • "meeting_location_place_id": "EiRQYXJpc2VyIFBsYXR6LCAxMDExNyBCZXJsaW4sIEdlcm1hbnkiLiosChQKEgk_NdX1xlGoRxEIInH3zI6rAhIUChIJAVkDPzdOqEcRcDteW0YgIQQ",
  • "vendor_id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "bring": "Driving licence",
  • "advice": "Children up to 15 years must be accompanied by at least one adult.",
  • "hint": "Liability and comprehensive insurance is included.",
  • "participant_hint": "Please inform us of any special dietary requirements or food allergies.",
  • "vendor_name": "string",
  • "youtubeVideoId": "lcTsn3_IILM",
  • "images": [
    ],
  • "highlights": [
    ],
  • "categories": [
    ],
  • "prices": [
    ],
  • "tags": [
    ],
  • "first_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "min_participants": 10,
  • "latest_booking_time": 60,
  • "commission": 0
}

Response samples

Content type
application/json
{
  • "id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "active": "1",
  • "root_event_id": "45d5133ed696a041f9697233f18942a2",
  • "title": "Berlin Tour",
  • "description": "<p>Tour around Berlin</p>",
  • "type": "BOOKING",
  • "duration": 60,
  • "pre_time": 30,
  • "max_participants": 200,
  • "timezone": "Europe/Berlin",
  • "location": "Sonnenallee 223, 12059 Berlin",
  • "location_place_id": "ChIJVX06QuNRqEcR0coerEj89jo",
  • "location_lng": "12.7135121",
  • "location_lat": "41.9214534",
  • "meeting_location": "Pariser Platz, 10117 Berlin",
  • "meeting_location_lng": "13.3785865",
  • "meeting_location_lat": "52.5163766",
  • "meeting_location_place_id": "EiRQYXJpc2VyIFBsYXR6LCAxMDExNyBCZXJsaW4sIEdlcm1hbnkiLiosChQKEgk_NdX1xlGoRxEIInH3zI6rAhIUChIJAVkDPzdOqEcRcDteW0YgIQQ",
  • "vendor_id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "bring": "Driving licence",
  • "advice": "Children up to 15 years must be accompanied by at least one adult.",
  • "hint": "Liability and comprehensive insurance is included.",
  • "participant_hint": "Please inform us of any special dietary requirements or food allergies.",
  • "vendor_name": "string",
  • "youtubeVideoId": "lcTsn3_IILM",
  • "highlights": [
    ],
  • "categories": [
    ],
  • "prices": [
    ]
}

Retrieve an event

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "active": "1",
  • "root_event_id": "45d5133ed696a041f9697233f18942a2",
  • "title": "Berlin Tour",
  • "description": "<p>Tour around Berlin</p>",
  • "type": "BOOKING",
  • "duration": 60,
  • "pre_time": 30,
  • "max_participants": 200,
  • "timezone": "Europe/Berlin",
  • "location": "Sonnenallee 223, 12059 Berlin",
  • "location_place_id": "ChIJVX06QuNRqEcR0coerEj89jo",
  • "location_lng": "12.7135121",
  • "location_lat": "41.9214534",
  • "meeting_location": "Pariser Platz, 10117 Berlin",
  • "meeting_location_lng": "13.3785865",
  • "meeting_location_lat": "52.5163766",
  • "meeting_location_place_id": "EiRQYXJpc2VyIFBsYXR6LCAxMDExNyBCZXJsaW4sIEdlcm1hbnkiLiosChQKEgk_NdX1xlGoRxEIInH3zI6rAhIUChIJAVkDPzdOqEcRcDteW0YgIQQ",
  • "vendor_id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "bring": "Driving licence",
  • "advice": "Children up to 15 years must be accompanied by at least one adult.",
  • "hint": "Liability and comprehensive insurance is included.",
  • "participant_hint": "Please inform us of any special dietary requirements or food allergies.",
  • "vendor_name": "string",
  • "youtubeVideoId": "lcTsn3_IILM",
  • "highlights": [
    ],
  • "categories": [
    ],
  • "prices": [
    ]
}

List merged events

Retrieve a list of "merged events". Merged events contain price information of all associated pricelists. If event has multiple durations then individual event durations are listed as top level event items.

query Parameters
order
string
Enum: "title" "duration" "max_participants" "vendor_name" "price" "category_id" "first_date"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \merged_events?order=-duration,title will sort results by duration DESC, title ASC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

match
string

Searches the string within therse proterties:

  • title
  • description
  • vendors' names
category
integer

Filter by category id, get a complete list of categories from the categories resource

categories
string

Filter by list of category ids, get a complete list of categories from the categories resource.

accept_vendors
string

Comma separated list of accepted vendor ids.

exclude_vendors
string

Comma separated list of rejected vendor ids.

preferred_categories
string

Comma separated list of preferred categories. Events with these categories are placed at the top of the list.

type
string
Default: "BOOKING"
Enum: "BOOKING" "REQUEST" "ALL"

Filter by event type.

available_from
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return events with at least one date later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC).

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...
Example: geolocation=52.069896815019,12.665231159637,52.970116384981,14.144676840363

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

with_private_prices
boolean
Default: false

Return private and public prices. Private prices are not shown to end customers. Private prices can be used by vendors when creating bookings in the admin app.

only_root_events
boolean
Default: false

Return root events only. If events have pricelists defined, these are treated as separate pricelists events of the parent event. If this parameter is set to true, only the root event will be retunred, pricelists will be skipped.

only_main_duration
boolean
Default: false

Return main duration event only. If events have durations defined, these are treated as separate duration events of the parent event. If this parameter is set to true, only the root event will be retunred, other durations will be skipped.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a merged event

Retrieve a merged event. If parent event or event duration is requested, the merged event object contains price information of all associated pricelists.

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "active": "1",
  • "title": "Berlin Tour",
  • "description": "<p>Tour around Berlin</p>",
  • "type": "BOOKING",
  • "duration": 60,
  • "pre_time": 30,
  • "max_participants": 200,
  • "timezone": "Europe/Berlin",
  • "location": "Sonnenallee 223, 12059 Berlin",
  • "location_place_id": "ChIJVX06QuNRqEcR0coerEj89jo",
  • "location_lng": "12.7135121",
  • "location_lat": "41.9214534",
  • "meeting_location": "Pariser Platz, 10117 Berlin",
  • "meeting_location_lng": "13.3785865",
  • "meeting_location_lat": "52.5163766",
  • "meeting_location_place_id": "EiRQYXJpc2VyIFBsYXR6LCAxMDExNyBCZXJsaW4sIEdlcm1hbnkiLiosChQKEgk_NdX1xlGoRxEIInH3zI6rAhIUChIJAVkDPzdOqEcRcDteW0YgIQQ",
  • "vendor_id": "3e3edd05ce4362e2d6a8200c37b1b79c",
  • "bring": "Driving licence",
  • "advice": "Children up to 15 years must be accompanied by at least one adult.",
  • "hint": "Liability and comprehensive insurance is included.",
  • "participant_hint": "Please inform us of any special dietary requirements or food allergies.",
  • "vendor_name": "string",
  • "youtubeVideoId": "lcTsn3_IILM",
  • "highlights": [
    ],
  • "categories": [
    ],
  • "price_groups": [
    ],
  • "tags": [
    ],
  • "first_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "min_participants": 10,
  • "latest_booking_time": 60,
  • "commission": 0
}

List events and dates

Retrieve a list of events and their associated dates across all vendors. This endpoint returns a simplified view with basic identifiers for both events and dates. Use filtering parameters to narrow down results by date ranges, availability, specific vendors, or events.

query Parameters
order
string
Enum: "date" "available_slots" "event_id"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \eventDates?order=date,-available_slots will sort results by date ASC, available_slots DESC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

available
boolean
Default: true

Only return dates with at least one free slot.

start_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

accept_vendors
string

Comma separated list of accepted vendor ids

exclude_vendors
string

Comma separated list of rejected vendor ids

accept_events
string

Comma separated list of accepted event ids

exclude_events
string

Comma separated list of rejected event ids

category
integer

Filter by category id, get a complete list of categories from the categories resource

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

ignore_latest_booking_time
boolean

Ignore latest booking time

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Date

Also known as appointment. Date is a single particular instance (a calendar slot) of an event.

List dates of a vendor

Get a list of dates in array form since api console does not yet support schema relations view date schema for details

path Parameters
id
required
string

Vendor identifier

query Parameters
order
string
Enum: "title" "duration" "max_participants" "vendor_name" "price" "category_id" "first_date"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \dates?order=-duration,title will sort results by duration DESC, title ASC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

match
string

Searches the string within therse proterties:

  • title
  • description
  • vendors' names
category
integer

Filter by category id, get a complete list of categories from the categories resource

categories
string

Filter by list of category ids, get a complete list of categories from the categories resource.

accept_vendors
string

Comma separated list of accepted vendor ids.

exclude_vendors
string

Comma separated list of rejected vendor ids.

preferred_categories
string

Comma separated list of preferred categories. Events with these categories are placed at the top of the list.

type
string
Default: "BOOKING"
Enum: "BOOKING" "REQUEST" "ALL"

Filter by event type.

available_from
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return events with at least one date later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC).

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...
Example: geolocation=52.069896815019,12.665231159637,52.970116384981,14.144676840363

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

with_private_prices
boolean
Default: false

Return private and public prices. Private prices are not shown to end customers. Private prices can be used by vendors when creating bookings in the admin app.

only_root_events
boolean
Default: false

Return root events only. If events have pricelists defined, these are treated as separate pricelists events of the parent event. If this parameter is set to true, only the root event will be retunred, pricelists will be skipped.

only_main_duration
boolean
Default: false

Return main duration event only. If events have durations defined, these are treated as separate duration events of the parent event. If this parameter is set to true, only the root event will be retunred, other durations will be skipped.

Responses

Response samples

Content type
application/json
[]

Create date for a vendor

Create a new date for a specific vendor. This endpoint allows you to add a new available date with specified time and capacity.

path Parameters
id
required
string

Vendor identifier

Request Body schema: application/json

Date creation data

event_id
required
string

Unique identifier of the event

date
required
string <date-time>

Starting time of the event

available_slots
required
integer >= 0

Number of available seats/persons

total_slots
required
integer >= 0

Total number of seats/persons

Responses

Request samples

Content type
application/json
{
  • "event_id": "b589292a6b11eadff27b903f0f639065",
  • "date": "2025-08-06T11:34:00Z",
  • "available_slots": 10,
  • "total_slots": 10
}

Response samples

Content type
application/json
{}

List events and dates of a vendor

Retrieve a list of events and their associated dates for a specific vendor. This endpoint returns a simplified view with basic identifiers for both events and dates. Use filtering parameters to narrow down results by date ranges, availability, or specific events.

path Parameters
id
required
string

Vendor identifier

query Parameters
order
string
Enum: "date" "available_slots" "event_id"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \eventDates?order=date,-available_slots will sort results by date ASC, available_slots DESC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

available
boolean
Default: true

Only return dates with at least one free slot.

start_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

accept_vendors
string

Comma separated list of accepted vendor ids

exclude_vendors
string

Comma separated list of rejected vendor ids

accept_events
string

Comma separated list of accepted event ids

exclude_events
string

Comma separated list of rejected event ids

category
integer

Filter by category id, get a complete list of categories from the categories resource

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

ignore_latest_booking_time
boolean

Ignore latest booking time

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List dates for an event

Retrieve a list of dates for a specific event. This endpoint returns all available dates for the specified event, including their availability information and booking URLs.

path Parameters
id
required
string

Event identifier

query Parameters
order
string
Enum: "date" "available_slots" "event_id"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \dates?order=date,-available_slots will sort results by date ASC, available_slots DESC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

available
boolean
Default: true

Only return dates with at least one free slot.

start_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

accept_vendors
string

Comma separated list of accepted vendor ids

exclude_vendors
string

Comma separated list of rejected vendor ids

accept_events
string

Comma separated list of accepted event ids

exclude_events
string

Comma separated list of rejected event ids

category
integer

Filter by category id, get a complete list of categories from the categories resource

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

ignore_latest_booking_time
boolean

Ignore latest booking time

Responses

Response samples

Content type
application/json
[]

Create date for an event

Create a new date for a specific event. This endpoint allows you to add a new available date with specified time and capacity.

path Parameters
id
required
string

Event identifier

Request Body schema: application/json

Date creation data

event_id
required
string

Unique identifier of the event

date
required
string <date-time>

Starting time of the event

available_slots
required
integer >= 0

Number of available seats/persons

total_slots
required
integer >= 0

Total number of seats/persons

Responses

Request samples

Content type
application/json
{
  • "event_id": "b589292a6b11eadff27b903f0f639065",
  • "date": "2025-08-06T11:34:00Z",
  • "available_slots": 10,
  • "total_slots": 10
}

Response samples

Content type
application/json
{}

List dates

Get a list of dates in array form default sorted by date, since api console does not yet support schema relations view date schema for details

query Parameters
order
string
Enum: "date" "available_slots" "event_id"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \dates?order=date,-available_slots will sort results by date ASC, available_slots DESC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

available
boolean
Default: true

Only return dates with at least one free slot.

start_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

accept_vendors
string

Comma separated list of accepted vendor ids

exclude_vendors
string

Comma separated list of rejected vendor ids

accept_events
string

Comma separated list of accepted event ids

exclude_events
string

Comma separated list of rejected event ids

category
integer

Filter by category id, get a complete list of categories from the categories resource

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

ignore_latest_booking_time
boolean

Ignore latest booking time

Responses

Response samples

Content type
application/json
[]

Create a date

Create a new date. This endpoint allows you to add a new available date with specified time and capacity.

Request Body schema: application/json

Date creation data

event_id
required
string

Unique identifier of the event

date
required
string <date-time>

Starting time of the event

available_slots
required
integer >= 0

Number of available seats/persons

total_slots
required
integer >= 0

Total number of seats/persons

Responses

Request samples

Content type
application/json
{
  • "event_id": "b589292a6b11eadff27b903f0f639065",
  • "date": "2025-08-06T11:34:00Z",
  • "available_slots": 10,
  • "total_slots": 10
}

Response samples

Content type
application/json
{}

Retrieve a date

Retrieve a specific date by its identifier. This endpoint returns detailed information about a single date including its availability and booking URL.

path Parameters
id
required
string

Date identifier

Responses

Response samples

Content type
application/json
{}

Update a date

Update an existing date item. Note: This endpoint requires the vendor to have activated the Extended Availability Management module.

path Parameters
id
required
string

Date identifier

Request Body schema: application/json

Date update data

event_id
string

Unique identifier of the event

date
string <date-time>

Starting time of the event

total_slots
integer >= 0

Total number of seats/persons

Responses

Request samples

Content type
application/json
{
  • "event_id": "b589292a6b11eadff27b903f0f639065",
  • "date": "2025-08-06T11:36:00Z",
  • "total_slots": 9
}

Response samples

Content type
application/json
{}

List merged dates

Get a list of merged_dates in array form default sorted by date, since api console does not yet support schema relations view merged_date schema for details

query Parameters
order
string
Enum: "date" "available_slots" "event_id"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \merged_dates?order=date,-available_slots will sort results by date ASC, available_slots DESC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

available
boolean
Default: true

Only return dates with at least one free slot.

start_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

accept_vendors
string

Comma separated list of accepted vendor ids

exclude_vendors
string

Comma separated list of rejected vendor ids

accept_events
string

Comma separated list of accepted event ids

exclude_events
string

Comma separated list of rejected event ids

category
integer

Filter by category id, get a complete list of categories from the categories resource

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

ignore_latest_booking_time
boolean

Ignore latest booking time

Responses

Response samples

Content type
application/json
[]

Retrieve a merged date

Retrieve a specific merged date by its identifier. This endpoint returns detailed information about a single merged date including its availability and booking URL.

path Parameters
id
required
string

Merged date identifier

Responses

Response samples

Content type
application/json
{}

Create multiple dates

Create multiple dates in a single request. This endpoint allows you to create multiple dates for events in one batch operation.

Request Body schema: application/json

Array of date creation objects

Array
event_id
required
string

Unique identifier of the event

date
required
string <date-time>

Starting time of the event

available_slots
required
integer >= 0

Number of available seats/persons

total_slots
required
integer >= 0

Total number of seats/persons

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "processed_items": 2
}

Update multiple dates

Update multiple dates in a single request. This endpoint allows you to update multiple dates for events in one batch operation. Note: This endpoint requires the vendor to have activated the Extended Availability Management module.

Request Body schema: application/json

Array of date update objects

Array
date_id
required
string

Unique identifier of the date to update

event_id
string

Unique identifier of the event

date
string <date-time>

Starting time of the event

total_slots
integer

Total number of seats/persons

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "processed_items": 2
}

List events and dates

Retrieve a list of events and their associated dates across all vendors. This endpoint returns a simplified view with basic identifiers for both events and dates. Use filtering parameters to narrow down results by date ranges, availability, specific vendors, or events.

query Parameters
order
string
Enum: "date" "available_slots" "event_id"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \eventDates?order=date,-available_slots will sort results by date ASC, available_slots DESC

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

available
boolean
Default: true

Only return dates with at least one free slot.

start_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return dates earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

accept_vendors
string

Comma separated list of accepted vendor ids

exclude_vendors
string

Comma separated list of rejected vendor ids

accept_events
string

Comma separated list of accepted event ids

exclude_events
string

Comma separated list of rejected event ids

category
integer

Filter by category id, get a complete list of categories from the categories resource

geolocation
string^([0-9\.]+),([0-9\.]+),([0-9\.]+),([0-9\.]+)$...

Comma separated coordinates. Must be exactly 4 coordinates that describe a rectangle. Must respect following order {minLat,minLng,maxLat,maxLng}.

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

ignore_latest_booking_time
boolean

Ignore latest booking time

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Product

Additional inventory items offered by vendors. For instance audio guides or merchandise. Ordered products are associated with an order as a whole, not with a particular ticket.

List products

Get a list of products in form of an array. Products that are not set as "Offer product at checkout" are not returned

query Parameters
order
string
Enum: "name" "price"
Example: order=-name,price

Use -/+ in front of the attribute to specify the soriting direction (descending / ascending). If no modifier is provided, default sorting direction is ascending. Multiple comma separated values may be provided.

Example: \products?order=-name,price will sort results by name descending, price ascending.

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

available
integer
Default: 0
Enum: 0 1
Example: available=1

Set 1 to get products with at least one in stock or 0 to get all products, even out of stock. By default you receive all.

requires_shipping
integer
Default: 0
Enum: 0 1
Example: requires_shipping=1

Set 1 to get products that requires shipping address or 0 for all products. By default you receive all.

accept_vendors
string
Example: accept_vendors=52a33ab06f459cfca2a9949ea97d1e73,52a33ab06f459cfca2a9949ea97d1e74

Comma separated list of vendor identifiers to return their products. If not provided, all vendors are accepted.

exclude_vendors
string
Example: exclude_vendors=52a33ab06f459cfca2a9949ea97d1e73,52a33ab06f459cfca2a9949ea97d1e74

Comma separated list of vendor identifiers to exclude their products.

min_price
number
Example: min_price=10

Minimum price of products to return.

max_price
number
Example: max_price=100

Maximum price of products to return.

with_private_products
boolean
Default: false
Example: with_private_products=true

Whether to include also the private products. Private products are not set as "offered at checkout" and are sold through the admin app.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new product

Create a new "product" item. Note: This endpoint is only available when authenticated as a vendor API.

Request Body schema: application/json
vendor_id
required
string

Identifier of a vendor

name
required
string

Product name

description
required
string

Product description

total
required
integer

Total product quantity in stock. Empty string returned if the stock is unlimited.

available
required
integer

Product quantity available for purchase.

price
required
number

Product price value

currency
required
string

Product price currency code (ISO 4217)

shipping_address
required
integer

Whether the product requires collecting a shipping address. 0 - no shipping required, 1 - shipping required.

required
Array of objects

Which events this product is offered with when booking or selling a voucher. If the product is always offered, this array is empty.

Responses

Request samples

Content type
application/json
{
  • "vendor_id": "52a33ab06f459cfca2a9949ea97d1e73",
  • "name": "T-shirt",
  • "description": "T-shirt branded with our famous logo.",
  • "total": 100,
  • "available": 50,
  • "price": 19.99,
  • "currency": "EUR",
  • "shipping_address": 0,
  • "dependencies": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "04b67018b311d9de2784e2a359218720",
  • "vendor_id": "52a33ab06f459cfca2a9949ea97d1e73",
  • "name": "T-shirt",
  • "description": "T-shirt branded with our famous logo.",
  • "total": 100,
  • "available": 50,
  • "price": 19.99,
  • "currency": "EUR",
  • "shipping_address": 0,
  • "dependencies": [
    ]
}

Retrieve a product

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "04b67018b311d9de2784e2a359218720",
  • "vendor_id": "52a33ab06f459cfca2a9949ea97d1e73",
  • "name": "T-shirt",
  • "description": "T-shirt branded with our famous logo.",
  • "total": 100,
  • "available": 50,
  • "price": 19.99,
  • "currency": "EUR",
  • "shipping_address": 0,
  • "dependencies": [
    ]
}

Update a product

Update an existing "product" item. Note: This endpoint is only available when authenticated as a vendor API.

path Parameters
id
required
string
Request Body schema: application/json
vendor_id
string

Identifier of a vendor

name
string

Product name

description
string

Product description

total
integer

Total product quantity in stock.

available
integer

Product quantity available for purchase.

price
required
number

Product price value

currency
string

Product price currency code (ISO 4217)

shipping_address
integer

Whether the product requires collecting a shipping address. 0 - no shipping required, 1 - shipping required.

Array of objects

Which events this product is offered with when booking or selling a voucher. If the product is always offered, this array is empty.

Responses

Request samples

Content type
application/json
{
  • "vendor_id": "52a33ab06f459cfca2a9949ea97d1e73",
  • "name": "T-shirt",
  • "description": "T-shirt branded with our famous logo.",
  • "total": 100,
  • "available": 50,
  • "price": 19.99,
  • "currency": "EUR",
  • "shipping_address": 0,
  • "dependencies": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "04b67018b311d9de2784e2a359218720",
  • "vendor_id": "52a33ab06f459cfca2a9949ea97d1e73",
  • "name": "T-shirt",
  • "description": "T-shirt branded with our famous logo.",
  • "total": 100,
  • "available": 50,
  • "price": 19.99,
  • "currency": "EUR",
  • "shipping_address": 0,
  • "dependencies": [
    ]
}

Delete a product

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "message": "The parameter \"limit\" must be of type \"integer\"",
  • "code": "40023",
  • "user_message": "Bad Request Parameters"
}

Order

Order is a stated intention of end customer to engage in a commercial transaction for specific products or services offered by a vendor. One order can contain multiple items of different types, eg. tickets, products, vouchers.

List orders of a vendor

Get a list of orders in array form since api console does not yet support schema relations view order schema for details

path Parameters
id
required
string
query Parameters
order
string
Enum: "name" "date" "vendor_id"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \orders?order=vendor,-date will sort results by vendor ASC, date desc

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

match
string

Searches the string within therse proterties:

  • name
  • email
start_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Returns orders placed later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Returns orders placed earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

start_event_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Returns orders with at least one ticket refering to a date later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_event_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Returns orders with at least one ticket refering to a date earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

status
string
Default: "ACCEPTED"
Enum: "ACCEPTED" "CANCELED" "PENDING" "DECLINED" "OPEN" "ALL"

Returns orders of specified status

accept_external_reference
string

Comma separated list of accepted external reference codes Can be used to load by external reference

accept_code
string

Comma separated list of accepted order codes can be used to load by code

accept_dates
string

Comma separated list of accepted date ids

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create order of a vendor

Create a new "order" item

path Parameters
id
required
string
Request Body schema: application/json
id
string

Unique identifier

code
string

Unique code, communicated to the end user

external_reference
string

Third party systems that generated this order my write their own identifier here

vendor_id
string

Unique identifier of the vendor

date
required
string <date-time>

Date when the order was generated, may not be changed

payment_date
string <date-time>

If filled order is marked as payed

expire_date
string <date-time>

If set the Order will automatically cancel at the given time, minimum value is current date time, maximum value is the first service date, if available

status
required
string
Enum: "ACCEPTED" "CANCELED" "PENDING" "OPEN" "RESERVED"

Status of the order

lang
required
string = 2 characters

Language code ISO_639-1

currency
required
string = 3 characters

Price currency

email
required
string <email>

Billing email of the end customer

name
required
string >= 2 characters

Billing name of the end customer

company
string

Billing company Name of the end customer

vat_number
string

VAT identification number

phone
string

Billing phone of the end customer

street
string

Billing street name of the end customer's address

streetnr
string

Billing house number of the end customer's address

zip
string

Billing zip code of the end customer's address

city
string

Billing city of the end customer

country
string

ISO 3166-1 alpha-2 country code

internal_notes
string

Internal comments

comment
string

Order comments

Array of objects

Additional order information from customized input

Array of objects

Reseller or other type of API client that the order was created by. This is available only for particular API clients.

cancellation_date
string <date-time>

Date at which the order was cancelled

total_invoice
number

Total value of this order for invoice purpose

additional_discount
number

Additional discount value

Array of objects

Applied discount coupons

Array of objects

Vouchers used to pay for this order

shipping_country
string

ISO 3166-1 alpha-2 country code

shipping_city
string

Shipping city of the end customer

shipping_zip
string

Shipping zip of the end customer's address

shipping_street
string

Shipping street of the end customer's address

shipping_streetnr
string

Shipping house number of the end customer's address

shipping_name
string

Shipping full name of the end customer

sale_params
string

Additional sales information

external_order_url
string

Additional order details URL from an external system

affiliate_id
string

Affiliate link ID if the order was created through an affiliate link

email_newsletter_opt_in
string

Consent to receive e-mail newsletter given with this order. Possible values: '1' or empty.

Array of objects
Array of objects
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "id": "6d2add0cf76d779953f3ffec48fe3406",
  • "code": "VWR-3KD9A5",
  • "external_reference": "EXT-REF-12345",
  • "vendor_id": "8d20ce5d47ab2c9b7a3040157a4e6e9c",
  • "date": "2025-08-05T07:31:02Z",
  • "payment_date": "2025-08-05T07:31:42Z",
  • "expire_date": "2025-08-06T07:31:42Z",
  • "status": "ACCEPTED",
  • "lang": "en",
  • "currency": "EUR",
  • "email": "customer@example.com",
  • "name": "John Doe",
  • "company": "Acme Corporation",
  • "vat_number": "DE123456789",
  • "phone": "+49 30 12345678",
  • "street": "Main Street",
  • "streetnr": "42",
  • "zip": "10115",
  • "city": "Berlin",
  • "country": "DE",
  • "internal_notes": "Customer requested special arrangements",
  • "comment": "Please deliver to reception desk",
  • "additional_information": [
    ],
  • "booking_channel": [
    ],
  • "cancellation_date": "2025-08-10T14:30:00Z",
  • "total_invoice": "139.80",
  • "additional_discount": "0.00",
  • "redeemed_coupons": [
    ],
  • "redeemed_vouchers": {
    },
  • "shipping_country": "DE",
  • "shipping_city": "Berlin",
  • "shipping_zip": "10115",
  • "shipping_street": "Main Street",
  • "shipping_streetnr": "42",
  • "shipping_name": "John Doe",
  • "sale_params": "campaign=summer2023&source=website",
  • "affiliate_id": "AFF123456",
  • "email_newsletter_opt_in": "1",
  • "tickets": [
    ],
  • "voucherOrders": {
    },
  • "products": [
    ],
  • "flexTickets": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "6d2add0cf76d779953f3ffec48fe3406",
  • "code": "VWR-3KD9A5",
  • "external_reference": "EXT-REF-12345",
  • "vendor_id": "8d20ce5d47ab2c9b7a3040157a4e6e9c",
  • "date": "2025-08-05T07:31:02Z",
  • "payment_date": "2025-08-05T07:31:42Z",
  • "expire_date": "2025-08-06T07:31:42Z",
  • "status": "ACCEPTED",
  • "lang": "en",
  • "currency": "EUR",
  • "email": "customer@example.com",
  • "name": "John Doe",
  • "company": "Acme Corporation",
  • "vat_number": "DE123456789",
  • "phone": "+49 30 12345678",
  • "street": "Main Street",
  • "streetnr": "42",
  • "zip": "10115",
  • "city": "Berlin",
  • "country": "DE",
  • "internal_notes": "Customer requested special arrangements",
  • "comment": "Please deliver to reception desk",
  • "additional_information": [
    ],
  • "booking_channel": [
    ],
  • "cancellation_date": "2025-08-10T14:30:00Z",
  • "total_invoice": "139.80",
  • "additional_discount": "0.00",
  • "redeemed_coupons": [
    ],
  • "redeemed_vouchers": {
    },
  • "shipping_country": "DE",
  • "shipping_city": "Berlin",
  • "shipping_zip": "10115",
  • "shipping_street": "Main Street",
  • "shipping_streetnr": "42",
  • "shipping_name": "John Doe",
  • "sale_params": "campaign=summer2023&source=website",
  • "affiliate_id": "AFF123456",
  • "email_newsletter_opt_in": "1",
  • "tickets": [
    ],
  • "voucherOrders": {
    },
  • "products": [
    ],
  • "flexTickets": [
    ]
}

List orders

query Parameters
order
string
Enum: "name" "date" "vendor_id"

Use -/+ in front of the attribute to specify the soriting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: \orders?order=vendor,-date will sort results by vendor ASC, date desc

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

match
string

Searches the string within therse proterties:

  • name
  • email
start_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Returns orders placed later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Returns orders placed earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

start_event_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Returns orders with at least one ticket refering to a date later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

end_event_date
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Returns orders with at least one ticket refering to a date earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

status
string
Default: "ACCEPTED"
Enum: "ACCEPTED" "CANCELED" "PENDING" "DECLINED" "OPEN" "ALL"

Returns orders of specified status

accept_external_reference
string

Comma separated list of accepted external reference codes Can be used to load by external reference

accept_code
string

Comma separated list of accepted order codes can be used to load by code

accept_dates
string

Comma separated list of accepted date ids

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...
Example: delta_since=2025-01-24T14:35:41Z

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC).

Responses

Create an order

Create a new "order" item

Request Body schema: application/json
id
string

Unique identifier

code
string

Unique code, communicated to the end user

external_reference
string

Third party systems that generated this order my write their own identifier here

vendor_id
string

Unique identifier of the vendor

date
required
string <date-time>

Date when the order was generated, may not be changed

payment_date
string <date-time>

If filled order is marked as payed

expire_date
string <date-time>

If set the Order will automatically cancel at the given time, minimum value is current date time, maximum value is the first service date, if available

status
required
string
Enum: "ACCEPTED" "CANCELED" "PENDING" "OPEN" "RESERVED"

Status of the order

lang
required
string = 2 characters

Language code ISO_639-1

currency
required
string = 3 characters

Price currency

email
required
string <email>

Billing email of the end customer

name
required
string >= 2 characters

Billing name of the end customer

company
string

Billing company Name of the end customer

vat_number
string

VAT identification number

phone
string

Billing phone of the end customer

street
string

Billing street name of the end customer's address

streetnr
string

Billing house number of the end customer's address

zip
string

Billing zip code of the end customer's address

city
string

Billing city of the end customer

country
string

ISO 3166-1 alpha-2 country code

internal_notes
string

Internal comments

comment
string

Order comments

Array of objects

Additional order information from customized input

Array of objects

Reseller or other type of API client that the order was created by. This is available only for particular API clients.

cancellation_date
string <date-time>

Date at which the order was cancelled

total_invoice
number

Total value of this order for invoice purpose

additional_discount
number

Additional discount value

Array of objects

Applied discount coupons

Array of objects

Vouchers used to pay for this order

shipping_country
string

ISO 3166-1 alpha-2 country code

shipping_city
string

Shipping city of the end customer

shipping_zip
string

Shipping zip of the end customer's address

shipping_street
string

Shipping street of the end customer's address

shipping_streetnr
string

Shipping house number of the end customer's address

shipping_name
string

Shipping full name of the end customer

sale_params
string

Additional sales information

external_order_url
string

Additional order details URL from an external system

affiliate_id
string

Affiliate link ID if the order was created through an affiliate link

email_newsletter_opt_in
string

Consent to receive e-mail newsletter given with this order. Possible values: '1' or empty.

Array of objects
Array of objects
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "id": "6d2add0cf76d779953f3ffec48fe3406",
  • "code": "VWR-3KD9A5",
  • "external_reference": "EXT-REF-12345",
  • "vendor_id": "8d20ce5d47ab2c9b7a3040157a4e6e9c",
  • "date": "2025-08-05T07:31:02Z",
  • "payment_date": "2025-08-05T07:31:42Z",
  • "expire_date": "2025-08-06T07:31:42Z",
  • "status": "ACCEPTED",
  • "lang": "en",
  • "currency": "EUR",
  • "email": "customer@example.com",
  • "name": "John Doe",
  • "company": "Acme Corporation",
  • "vat_number": "DE123456789",
  • "phone": "+49 30 12345678",
  • "street": "Main Street",
  • "streetnr": "42",
  • "zip": "10115",
  • "city": "Berlin",
  • "country": "DE",
  • "internal_notes": "Customer requested special arrangements",
  • "comment": "Please deliver to reception desk",
  • "additional_information": [
    ],
  • "booking_channel": [
    ],
  • "cancellation_date": "2025-08-10T14:30:00Z",
  • "total_invoice": "139.80",
  • "additional_discount": "0.00",
  • "redeemed_coupons": [
    ],
  • "redeemed_vouchers": {
    },
  • "shipping_country": "DE",
  • "shipping_city": "Berlin",
  • "shipping_zip": "10115",
  • "shipping_street": "Main Street",
  • "shipping_streetnr": "42",
  • "shipping_name": "John Doe",
  • "sale_params": "campaign=summer2023&source=website",
  • "affiliate_id": "AFF123456",
  • "email_newsletter_opt_in": "1",
  • "tickets": [
    ],
  • "voucherOrders": {
    },
  • "products": [
    ],
  • "flexTickets": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "6d2add0cf76d779953f3ffec48fe3406",
  • "code": "VWR-3KD9A5",
  • "external_reference": "EXT-REF-12345",
  • "vendor_id": "8d20ce5d47ab2c9b7a3040157a4e6e9c",
  • "date": "2025-08-05T07:31:02Z",
  • "payment_date": "2025-08-05T07:31:42Z",
  • "expire_date": "2025-08-06T07:31:42Z",
  • "status": "ACCEPTED",
  • "lang": "en",
  • "currency": "EUR",
  • "email": "customer@example.com",
  • "name": "John Doe",
  • "company": "Acme Corporation",
  • "vat_number": "DE123456789",
  • "phone": "+49 30 12345678",
  • "street": "Main Street",
  • "streetnr": "42",
  • "zip": "10115",
  • "city": "Berlin",
  • "country": "DE",
  • "internal_notes": "Customer requested special arrangements",
  • "comment": "Please deliver to reception desk",
  • "additional_information": [
    ],
  • "booking_channel": [
    ],
  • "cancellation_date": "2025-08-10T14:30:00Z",
  • "total_invoice": "139.80",
  • "additional_discount": "0.00",
  • "redeemed_coupons": [
    ],
  • "redeemed_vouchers": {
    },
  • "shipping_country": "DE",
  • "shipping_city": "Berlin",
  • "shipping_zip": "10115",
  • "shipping_street": "Main Street",
  • "shipping_streetnr": "42",
  • "shipping_name": "John Doe",
  • "sale_params": "campaign=summer2023&source=website",
  • "affiliate_id": "AFF123456",
  • "email_newsletter_opt_in": "1",
  • "tickets": [
    ],
  • "voucherOrders": {
    },
  • "products": [
    ],
  • "flexTickets": [
    ]
}

Update an order

Update an existing "order" item

path Parameters
id
required
string
Request Body schema: application/json
external_reference
string

Third party systems that generated this order my write their own identifier here

expire_date
string <date-time>

If set the Order will automatically cancel at the given time, minimum value is current date time, maximum value is the first service date, if available. Required for order status 'RESERVED'

status
string
Enum: "ACCEPTED" "CANCELED" "PENDING" "DECLINED" "OPEN" "RESERVED"

Status of the order

lang
string = 2 characters

Language code ISO_639-1

email
string <email>

Billing email for end customer

name
string >= 2 characters

Billing name

company
string

Billing company

vat_number
string

VAT identification number

phone
string

Billing phone

street
string

Billing street name

streetnr
string

Billing house number

zip
string

Billing zip code

city
string

Billing city

country
string

ISO 3166-1 alpha-2 country code

internal_notes
string

Internal comments

comment
string

Order comments

cancellation_date
string <date-time>

Date at which the order was cancelled

additional_discount
string

Additional discount value

shipping_country
string

ISO 3166-1 alpha-2 country code

shipping_city
string

Shipping city

shipping_zip
string

Shipping zip

shipping_street
string

Shipping street

shipping_streetnr
string

Shipping house number

shipping_name
string

Shipping name

sale_params
string

Additional sales informations

external_order_url
string

Additional order details URL from an external system.

Array of objects
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "external_reference": "EXT-127701",
  • "expire_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "status": "ACCEPTED",
  • "lang": "de",
  • "email": "customer@example.com",
  • "name": "John Doe",
  • "company": "Acme Corporation",
  • "vat_number": "DE123456789",
  • "phone": "+49123456789",
  • "street": "Main Street",
  • "streetnr": "42",
  • "zip": "10115",
  • "city": "Berlin",
  • "country": "DE",
  • "internal_notes": "Customer called to confirm booking details",
  • "comment": "Please deliver to reception desk",
  • "cancellation_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "additional_discount": "5.00",
  • "shipping_country": "DE",
  • "shipping_city": "Berlin",
  • "shipping_zip": "10115",
  • "shipping_street": "Main Street",
  • "shipping_streetnr": "42",
  • "shipping_name": "John Doe",
  • "sale_params": "source=partner_website&campaign=summer_sale",
  • "tickets": [
    ],
  • "voucherOrders": [
    ],
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "6d2add0cf76d779953f3ffec48fe3406",
  • "code": "VWR-3KD9A5",
  • "external_reference": "EXT-REF-12345",
  • "vendor_id": "8d20ce5d47ab2c9b7a3040157a4e6e9c",
  • "date": "2025-08-05T07:31:02Z",
  • "payment_date": "2025-08-05T07:31:42Z",
  • "expire_date": "2025-08-06T07:31:42Z",
  • "status": "ACCEPTED",
  • "lang": "en",
  • "currency": "EUR",
  • "email": "customer@example.com",
  • "name": "John Doe",
  • "company": "Acme Corporation",
  • "vat_number": "DE123456789",
  • "phone": "+49 30 12345678",
  • "street": "Main Street",
  • "streetnr": "42",
  • "zip": "10115",
  • "city": "Berlin",
  • "country": "DE",
  • "internal_notes": "Customer requested special arrangements",
  • "comment": "Please deliver to reception desk",
  • "additional_information": [
    ],
  • "booking_channel": [
    ],
  • "cancellation_date": "2025-08-10T14:30:00Z",
  • "total_invoice": "139.80",
  • "additional_discount": "0.00",
  • "redeemed_coupons": [
    ],
  • "redeemed_vouchers": {
    },
  • "shipping_country": "DE",
  • "shipping_city": "Berlin",
  • "shipping_zip": "10115",
  • "shipping_street": "Main Street",
  • "shipping_streetnr": "42",
  • "shipping_name": "John Doe",
  • "sale_params": "campaign=summer2023&source=website",
  • "affiliate_id": "AFF123456",
  • "email_newsletter_opt_in": "1",
  • "tickets": [
    ],
  • "voucherOrders": {
    },
  • "products": [
    ],
  • "flexTickets": [
    ]
}

Retrieve an order

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "6d2add0cf76d779953f3ffec48fe3406",
  • "code": "VWR-3KD9A5",
  • "external_reference": "EXT-REF-12345",
  • "vendor_id": "8d20ce5d47ab2c9b7a3040157a4e6e9c",
  • "date": "2025-08-05T07:31:02Z",
  • "payment_date": "2025-08-05T07:31:42Z",
  • "expire_date": "2025-08-06T07:31:42Z",
  • "status": "ACCEPTED",
  • "lang": "en",
  • "currency": "EUR",
  • "email": "customer@example.com",
  • "name": "John Doe",
  • "company": "Acme Corporation",
  • "vat_number": "DE123456789",
  • "phone": "+49 30 12345678",
  • "street": "Main Street",
  • "streetnr": "42",
  • "zip": "10115",
  • "city": "Berlin",
  • "country": "DE",
  • "internal_notes": "Customer requested special arrangements",
  • "comment": "Please deliver to reception desk",
  • "additional_information": [
    ],
  • "booking_channel": [
    ],
  • "cancellation_date": "2025-08-10T14:30:00Z",
  • "total_invoice": "139.80",
  • "additional_discount": "0.00",
  • "redeemed_coupons": [
    ],
  • "redeemed_vouchers": {
    },
  • "shipping_country": "DE",
  • "shipping_city": "Berlin",
  • "shipping_zip": "10115",
  • "shipping_street": "Main Street",
  • "shipping_streetnr": "42",
  • "shipping_name": "John Doe",
  • "sale_params": "campaign=summer2023&source=website",
  • "affiliate_id": "AFF123456",
  • "email_newsletter_opt_in": "1",
  • "tickets": [
    ],
  • "voucherOrders": {
    },
  • "products": [
    ],
  • "flexTickets": [
    ]
}

Price

Prices define the cost structure for events, with different pricing categories for various participant types (adults, children, seniors, etc.). Each price includes the monetary value, currency, VAT information, and entry unit types that determine which participants can use this price. Prices can be public (visible to customers) or private (internal use only).

List prices of a merged date

Retrieve a list of all prices for a specific merged date (event date). This endpoint returns both public and private prices (if requested) with their associated categories, values, and entry unit types. Prices are returned in the vendor's currency and can be filtered by visibility.

path Parameters
id
required
string

Merged date identifier

query Parameters
with_private_prices
boolean
Default: false

Return private and public prices.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Payment

Payment represents a particular payment transaction related to an order. Payments can be either incoming payments (positive values) or refunds (negative values). They support various payment methods including third-party payments, cash, mobile app payments, and voucher redemptions. Each payment can be linked to specific orders and vouchers through the related_items field.

List payments of an order

Retrieve a list of all payment transactions for a specific order. This endpoint returns both incoming payments and refunds associated with the order. Each payment includes details about the payment method, amount, date, and any related vouchers or orders.

path Parameters
id
required
string

Order identifier

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create payment for an order

Create a new payment transaction for an order. This endpoint allows you to record incoming payments or refunds. Note that related_items (orders and vouchers) cannot be posted when creating payments - they are automatically managed by the system.

path Parameters
id
required
string

Order identifier

Request Body schema: application/json
payment_method
required
string
Enum: "ThirdParty" "Cash" "MobileApp"

The method of payment used for this transaction

value
required
number

Payment amount in the vendor's currency. Positive values for payments, negative values for refunds

type
required
string
Enum: "payment" "refund"

Type of payment transaction

payment_date
string <date-time>

Date and time when the payment was processed (UTC). If not provided, current time will be used.

Responses

Request samples

Content type
application/json
{
  • "payment_method": "ThirdParty",
  • "value": 1,
  • "type": "payment",
  • "payment_date": "2024-08-06T07:36:35Z"
}

Response samples

Content type
application/json
{
  • "code": "ThirdParty",
  • "name": "Marketing Partner",
  • "value": 1,
  • "type": "payment",
  • "payment_date": "2024-08-06T07:36:35Z"
}

Ticket

Also known as a booking. Ticket always relates to a single event and a single date. Ticket object can contain multiple participants and their individual entry tickets.

List tickets of an order

Retrieve a list of all tickets associated with a specific order. This endpoint returns all tickets that belong to the order, including their status, participant information, and booking details. Tickets represent individual bookings for events and can contain multiple participants.

path Parameters
id
required
string

Order identifier

query Parameters
accept_code
required
string

Comma separated list of accepted ticket codes can be used to load by code

exclude_code
required
string

Comma separated list of excluded ticket codes can be used to load by code

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve ticket of an order

Retrieve detailed information about a specific ticket within an order. This endpoint returns complete ticket details including participant information, booking status, and any associated metadata.

path Parameters
id
required
string

Order identifier

ticket_id
required
string

Ticket identifier

Responses

Response samples

Content type
application/json
{
  • "id": "t1aa3a67eb1f3aa2a8f712ba8bb6649d",
  • "event_date_id": "d1aa3a67eb1f3aa2a8f712ba8bb6649d",
  • "date_id": "d1aa3a67eb1f3aa2a8f712ba8bb6649d",
  • "event_id": "e1aa3a67eb1f3aa2a8f712ba8bb6649d",
  • "code": "C6YH4Q",
  • "status": "ACCEPTED",
  • "comment": "Customer requested vegetarian meal",
  • "cancellation_date": "2024-08-06T07:36:35Z",
  • "vat": "0.00",
  • "order": "8270e627a721c271205f103985f14d97",
  • "participants": [
    ]
}

List participants of a ticket

Retrieve a list of all participants associated with a specific ticket. This endpoint returns individual participant details including their personal information, booking status, and any special requirements or notes.

path Parameters
id
required
string

Order identifier

ticket_id
required
string

Ticket identifier

query Parameters
accept_code
required
string

Comma separated list of accepted ticket codes can be used to load by code

exclude_code
required
string

Comma separated list of excluded ticket codes can be used to load by code

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Participant

Participant is an individual that can enter the venue with an individual entry ticket. There can be multiple participants within one booking. Participant object holds information on the ticket price (snapshot of the value when the order was made).

Retrieve a participant of a ticket

Retrieve detailed information about a specific participant within a ticket. This endpoint returns individual participant details including personal information, booking status, and any special requirements.

path Parameters
id
required
string

Order identifier

ticket_id
required
string

Ticket identifier

participant_ticket_id
required
string

Participant identifier

Responses

Response samples

Content type
application/json
{
  • "id": "a4f8dce00bef7c934b995c743f5b983a",
  • "status": "ACCEPTED",
  • "name": "John Doe",
  • "email": "john.doe@example.com",
  • "phone": "+49 123 456 789",
  • "comment": "Vegetarian meal required",
  • "price_id": 559,
  • "price_value": "35.00",
  • "price_title": "kids",
  • "vat": "0.00",
  • "cancellation_date": "2024-08-06T07:36:35Z",
  • "code": "67T-8X5YKK-FGG",
  • "checked_in": "",
  • "entry_units": [
    ],
  • "ticket_id": "08f99ce88195d7b582e5921548c2b579",
  • "order": "0f20cad840e30ebbe5b261a8c7ea8488",
  • "redeemed_flexTicket": [
    ]
}

List participants

Retrieve a list of all participants across all tickets. This endpoint returns participant information including personal details, booking status, and any special requirements. Use filtering parameters to narrow down results.

query Parameters
accept_code
required
string

Comma separated list of accepted ticket codes can be used to load by code

exclude_code
required
string

Comma separated list of excluded ticket codes can be used to load by code

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Open Date Ticket

A special ticket type which has no set date or time. It includes seasonal and undated tickets. Open Date Tickets can be redeemed for normal single entry tickets, also at the entry to the venue. Note: This endpoint is only available when authenticated as a vendor API.

Retrieve an open date ticket

path Parameters
code
required
string

Ticket Code

Responses

Response samples

Content type
application/json
{
  • "id": "2005cef0597aac12c83162c9a48104f8",
  • "code": "SCQ99-KABA4-YZBZG",
  • "status": "ACCEPTED",
  • "customer_name": "John Smith",
  • "customer_email": "john.smith@example.com",
  • "customer_phone": "+49 30 1234567",
  • "customer_language": "en",
  • "price_value": "49.99",
  • "price_title": "Premium Experience Package",
  • "currency": "EUR",
  • "event_id": "8f9f810d91b7323a7a433d303b80cc77"
}

Redeem an open date ticket

path Parameters
id
required
string
Request Body schema: application/json
appointment_id
string (Appointment ID)

The unique identifier of the appointment

redemption_strategy
string (Redemption Strategy)
Enum: "current_appointment_without_overbooking" "selected_appointment"

The strategy to redeem the open date ticket

Responses

Request samples

Content type
application/json
{
  • "appointment_id": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
  • "redemption_strategy": "selected_appointment"
}

Response samples

Content type
application/json
{
  • "message": "The parameter \"limit\" must be of type \"integer\"",
  • "code": "40023",
  • "user_message": "Bad Request Parameters"
}

Check Open Date Ticket redemption

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "message": "The parameter \"limit\" must be of type \"integer\"",
  • "code": "40023",
  • "user_message": "Bad Request Parameters"
}

Flex Offer

Flex Offer is an inventory item that can be purchased. It's a multiple or single entry ticket to be redeemed to individual tickets at a later date by End Customers or directly used to enter the venue. Flex offers have multiple types. Purchased flex offers are listed as Flex Tickets, Open Date Tickets and Season Passes and are order items.

List flex offers

Returns a list of flex offers you have access to.

query Parameters
vendor_id
string

Filter by vendor identifier(s). Accepts a single id or a comma separated list of ids. Only applicable for marketplace tokens.

event_id
string

Filter by event identifier(s). Accepts a single id or a comma separated list of ids.

active
integer
Enum: 0 1

Filter by active state (1 = active, 0 = inactive).

order
string
Enum: "title" "active" "start_date" "end_date" "created_at" "vendor_id" "event_id"

Use -/+ in front of the attribute to specify the sorting direction (DESC / ASC) if no modifier is provided default is + multiple values MAY be provided comma separated example: flex_offers?order=-created_at,title will sort results by created_at DESC, title ASC

available_from
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return flex offers with start_date later or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

available_until
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Return flex offers with end_date earlier or equal to this date (YYYY-MM-DDThh:mm:ssZ, UTC)

delta_since
string^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...

Only return items changed since this date (YYYY-MM-DDThh:mm:ssZ, UTC)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a flex offer

Retrieve a single flex offer by providing the identifier.

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "2005cef0597aac12c83162c9a48104f8",
  • "active": 1,
  • "title": "10 Ticket offer! ",
  • "vendor_id": "8f9f810d91b7323a7a433d303b80cc77",
  • "event_id": "1c7e41d738337f96ff5f4596bf2b4d88",
  • "start_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "end_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "redemption_start_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "redemption_end_date": "format: YYYY-MM-DDThh:mm:ssZ, UTC",
  • "stock": 10,
  • "redemptions": 1,
  • "unlimited_redemptions": 0,
  • "type": "FLEX_OFFER",
  • "flex_offer_prices": [
    ]
}

Category

Category of an event. Categories are hierarchical. Events have the lowest level categories assigned to them. Categories are used to group events together, eg. all events in the 'Excursions and experiences' category.

List categories

Get all events categories

query Parameters
order
string
Example: order=-title

Use -/+ in front of the attribute to specify the soriting direction (descending / ascending). If no modifier is provided, default sorting direction is ascending.

limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

match
string

Searches the string within therse proterties:

  • title

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a category

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "title": "Workshops & Courses"
}

User

User is a person granted access to bookingkit applications. Users are employees or representatives of vendors. Note: This endpoint is only available when authenticated as a vendor API.

List users

Get a list of all users

query Parameters
limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a user

Retrieve a specific user by ID

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "c1aa3a67eb1f3aa2a8f712ba8bb6649d",
  • "name": "Bat man",
  • "email": "batman@bookingkit.de",
  • "language": "de"
}

Coupon

Promotional coupons are discount codes created by vendors to offer special pricing to customers. Coupons can provide percentage discounts, fixed amount reductions, or other promotional benefits. When applied during booking, they reduce the final ticket price. Coupons are managed by vendors and can have usage limits, expiration dates, and specific terms and conditions. Note: This endpoint is only available when authenticated as a vendor API client.

List coupons

Retrieve a list of all promotional coupons available for the authenticated vendor. This endpoint returns all coupons that can be used by customers during the booking process. Use the filtering parameters to paginate through large collections of coupons.

query Parameters
limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a coupon

Retrieve detailed information about a specific promotional coupon by its unique identifier. This endpoint returns the complete coupon details including its title, code, and other properties.

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "ident": "c1aa3a67eb1f3aa2a8f712ba8bb6649d",
  • "title": "Summer Sale 20% Off",
  • "code": "SUMMER20"
}

Voucher

Vouchers are gift cards or prepaid credits that customers can purchase and redeem later for tickets or products. They act as a form of payment and can be used as gifts, promotional items, or flexible booking options. Vouchers have a specific monetary value and can be redeemed against any available event or service offered by the vendor. Note: This endpoint is only available when authenticated as a vendor API client.

List vouchers

Retrieve a list of all vouchers available for the authenticated vendor. This endpoint returns all vouchers that can be purchased by customers or used as payment methods. Vouchers can be used as gift cards, promotional credits, or flexible payment options. Use the filtering parameters to paginate through large collections of vouchers.

query Parameters
limit
integer
Default: 100000
Example: limit=1000

The limit query parameter specifies the number of resources that a single page contains.

offset
integer
Default: 0

The offset query parameter is used to exclude from a response the first N items of a collection.

accept
string

Comma separated list of accepted item identifiers.

exclude
string

Comma separated list of item IDs to be excluded.

fields
string
Default: "all"

Comma separated list of item properties that should be returned.

with_count
boolean
Default: false
Example: with_count=true

If set, the request will return an X-Total_Count header with the number of the filtered collection items, ignoring offset and limit. The header data can be used to handle pagination.

USE ONLY IF NECESSARY this obviously makes every request a lot slower. We stringly advise leaving this option to false.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a voucher

Retrieve detailed information about a specific voucher by its unique identifier. This endpoint returns the complete voucher details including its title, code, and other properties.

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "ident": "v1aa3a67eb1f3aa2a8f712ba8bb6649e",
  • "title": "Gift Card €50",
  • "code": "GIFT50EUR"
}
Last updated: February 23, 2026 at 08:18 AM UTC