Cart
The shopping cart is a resource identified by a cart_id. Typical flow:
- Create a cart — you get a
cart_id. - Add items (
event_id+discount_id+ quantity). - Get items to display the current cart.
- Delete individual items if the user removes them.
- Pass the
cart_idtoPOST /order/createto check out.
Save the cart_id to the user's session so you can retrieve it on subsequent page loads.
Create cart
POST /v1/:client_name/cart/
Creates an empty shopping cart. The Location response header links to the new resource.
Path parameters
| Name | Type | Description |
|---|---|---|
client_name | string | Your short client name |
Response
201 Created
{ "cart_id": "4DSMDACyPo8wLr8vFnTVUR6HzWC5tWGi" }
Put seat(s) in the cart
POST /v1/:client_name/cart/:cart_id
Adds tickets to the cart. The response contains the full cart contents so you don't need to re-query.
Path parameters
| Name | Type | Description |
|---|---|---|
client_name | string | Your short client name |
cart_id | string | ID of the cart to add to |
Request body
| Field | Type | Description |
|---|---|---|
event_id | integer | The sub_event ID |
numberoftickets | integer | Number of tickets to add |
discount_id | string | ID of the ticket type (from Ticket types) |
Response
200 OK — cart contents (array of items, with a final totalprice element):
[
{
"seat_id": "azL0bNZdD1",
"seat_row_nr": "0",
"seat_nr": "0",
"pmp_name": null,
"event_id": 95,
"event_name": "VoordeMensen Demo Event",
"location_name": "Bellevue Grote Zaal",
"event_date": "01-04-2026",
"event_time": "20:30",
"numberoftickets": 1,
"seat_price": "24.50",
"category_name": "standard",
"discount_id": "2ePdA8q3BN",
"discount_name": "Standard"
},
{ "totalprice": "24.50" }
]
Get items in cart
GET /v1/:client_name/cart/:cart_id
Returns the current contents of the cart.
Path parameters
| Name | Type | Description |
|---|---|---|
client_name | string | Your short client name |
cart_id | string | ID of the cart |
Response
200 OK — same format as the POST response above. Empty cart returns [{"cart": 0}].
Response fields (per item)
| Field | Type | Description |
|---|---|---|
seat_id | string | Unique ID for this cart item — needed to delete it |
seat_row_nr | string | Seat row (non-zero only for reserved-seating events) |
seat_nr | string | Seat number |
pmp_name | string | null | Place-map part name (if applicable) |
event_id | integer | Sub-event ID |
event_name | string | Event name |
location_name | string | Hall / venue |
event_date | string | DD-MM-YYYY |
event_time | string | HH:MM |
numberoftickets | integer | Always 1 for reserved seating; can be higher for open seating |
seat_price | string (decimal) | Final price for this line |
category_name | string | Category (rank) name |
discount_id | string | Discount used |
discount_name | string | Human-readable discount name |
Recommendation extension
If the Recommendation Extension is activated for your client, each cart item may include an additional recommand array with suggested other events the user might want to visit before or after this one (including 🚲 cycle-distance between venues). This feature is opt-in per client — ask support to enable.
Delete seat from cart
DELETE /v1/:client_name/cart/:cart_id/:seat_id
Removes one item from the cart.
Path parameters
| Name | Type | Description |
|---|---|---|
client_name | string | Your short client name |
cart_id | string | ID of the cart |
seat_id | string | ID of the item to remove (from the cart response) |
Response
200 OK — empty body.
See also: Events · Ticket types · Order