Ticketed events
Public booking API · https://api.conciar.com/public/v1
Special events sold with tickets, paid in full when booked (held 30 minutes).
INFO
API 參考文件以英文撰寫。
List events
Ticketed events that are on sale or not on sale yet.
速率限制: 120/min per restaurant and IP
路徑參數
organization_guidstring必填The restaurant's guid or its handle (any case, a leading @ is ignored; former handles still resolve).
查詢參數
langstringen, nl, de, fr or es. Falls back to Accept-Language, then the restaurant's language, then en.
狀態碼
404NOT_FOUND — unknown restaurant, or not a restaurant.
注意事項
- seating is tables or seats; state is not_ticketed, not_started, open or ended; sale_opens is a date text or null; start_time and end_time are null (and start_iso a date) for all-day events.
curl "https://api.conciar.com/public/v1/restaurants/bistro-example/events" \
-H "Accept: application/json"{
"status": true,
"events": [
{
"id": 7,
"name": "Example wine dinner",
"description": "Five courses with matching wines.",
"url": "https://r.conciar.com/bistro-example/events/7-example-wine-dinner?lang=en",
"slug": "example-wine-dinner",
"when": "Friday 30 October 2026 · 19:00–23:00",
"start_date": "2026-10-30",
"end_date": "2026-10-30",
"start_time": "19:00",
"end_time": "23:00",
"start_iso": "2026-10-30T19:00",
"seating": "tables",
"unit": {
"amount": "65.00",
"minor": 6500,
"currency": "EUR"
},
"unit_label": "€65.00",
"vat_rate": 9,
"max_per_booking": 8,
"state": "open",
"remaining": 24,
"sold_out": false,
"sale_opens": null
}
]
}Get an event
速率限制: 120/min per restaurant and IP
路徑參數
organization_guidstring必填The restaurant's guid or its handle (any case, a leading @ is ignored; former handles still resolve).
eventinteger必填Event id.
查詢參數
langstringen, nl, de, fr or es. Falls back to Accept-Language, then the restaurant's language, then en.
狀態碼
404NOT_FOUND — unknown restaurant, or no published ticketed event with this id.
注意事項
- Ended events are still returned; on_sale is true only while the sale is open and tickets remain.
curl "https://api.conciar.com/public/v1/restaurants/bistro-example/events/7" \
-H "Accept: application/json"{
"status": true,
"event": {
"id": 7,
"name": "Example wine dinner",
"description": "Five courses with matching wines.",
"url": "https://r.conciar.com/bistro-example/events/7-example-wine-dinner?lang=en",
"slug": "example-wine-dinner",
"when": "Friday 30 October 2026 · 19:00–23:00",
"start_date": "2026-10-30",
"end_date": "2026-10-30",
"start_time": "19:00",
"end_time": "23:00",
"start_iso": "2026-10-30T19:00",
"seating": "tables",
"unit": {
"amount": "65.00",
"minor": 6500,
"currency": "EUR"
},
"unit_label": "€65.00",
"vat_rate": 9,
"max_per_booking": 8,
"state": "open",
"remaining": 24,
"sold_out": false,
"sale_opens": null
},
"on_sale": true,
"max_tickets": 8,
"hold_minutes": 30,
"t": {
"…": "…"
}
}Event dates
速率限制: 120/min per restaurant and IP
路徑參數
organization_guidstring必填The restaurant's guid or its handle (any case, a leading @ is ignored; former handles still resolve).
eventinteger必填Event id.
查詢參數
party_sizeinteger必填1–20.
狀態碼
404NOT_FOUND.422INVALID.
注意事項
- status is open or full.
curl "https://api.conciar.com/public/v1/restaurants/bistro-example/events/7/dates?party_size=2" \
-H "Accept: application/json"{
"status": true,
"dates": [
{
"date": "2026-10-30",
"status": "open"
}
]
}Event times and price
速率限制: 120/min per restaurant and IP
路徑參數
organization_guidstring必填The restaurant's guid or its handle (any case, a leading @ is ignored; former handles still resolve).
eventinteger必填Event id.
查詢參數
party_sizeinteger必填1–20.
datestring必填Y-m-d.
狀態碼
404NOT_FOUND.422INVALID.
注意事項
- times is [] when fewer tickets remain than party_size.
curl "https://api.conciar.com/public/v1/restaurants/bistro-example/events/7/times?party_size=2&date=2026-10-30" \
-H "Accept: application/json"{
"status": true,
"date": "2026-10-30",
"times": [
"19:00"
],
"total": {
"amount": "130.00",
"minor": 13000,
"currency": "EUR"
},
"tax": {
"amount": "10.73",
"minor": 1073,
"currency": "EUR"
},
"vat_rate": 9
}Buy tickets
Books the tickets and returns the payment page; the booking is held for 30 minutes until paid. After paying, the guest lands on your return_url (through an API redirect), or without one on the reservation page.
速率限制: 10/min per restaurant and IP
路徑參數
organization_guidstring必填The restaurant's guid or its handle (any case, a leading @ is ignored; former handles still resolve).
eventinteger必填Event id.
請求內容
request_idstring必填Your idempotency id, 8–64 letters, digits or dashes (a UUID works). Sending the same id again returns the first result with replayed: true.
party_sizeinteger必填Number of guests: 1 up to booking.max_party (table bookings) or 1–20 (tickets).
datestring必填Y-m-d.
timestring必填H:i, one of the times returned by the times endpoint.
first_namestring必填Max 80 characters.
last_namestring必填Max 80 characters.
emailstring必填An email address, max 190 characters.
phone_country_idinteger必填A country id from GET /countries.
phonestring必填6–25 characters: digits, spaces and + ( ) . -
notestringMax 500 characters.
marketing_opt_inbooleanThe guest agrees to receive marketing.
sourcestringbooking_page (default) or widget.
langstringen, nl, de, fr or es — the language of the emails.
return_urlstringhttp(s) URL, max 2000. Where the guest lands after paying; without it they land on the reservation page in the Conciar guest app.
狀態碼
200Replay of an earlier request_id (replayed: true).404NOT_FOUND.409TICKETS_UNAVAILABLE, SALE_CLOSED or SOLD_OUT (with message).422INVALID, TOO_MANY (more than the event allows per booking) or SLOT_TAKEN.502PAYMENT_FAILED.503BUSY.
curl -X POST "https://api.conciar.com/public/v1/restaurants/bistro-example/events/7/tickets" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"request_id": "0b7d4c1e-0000-4000-8000-000000000000",
"party_size": 2,
"date": "2026-10-30",
"time": "19:00",
"first_name": "Alex",
"last_name": "Example",
"email": "alex@example.com",
"phone_country_id": 150,
"phone": "+31 6 00000000"
}'{
"status": true,
"replayed": false,
"payment_url": "https://payment-provider.example/checkout/…",
"hold_minutes": 30,
"manage_url": "https://r.conciar.com/bistro-example/reservation/0000000000000000000000000000000000000000",
"token": "0000000000000000000000000000000000000000",
"tickets": {
"reference": "EXAMPLE-T-0001",
"quantity": 2,
"date": "2026-10-30",
"time": "19:00",
"status": "pending"
}
}A booking's tickets
速率限制: 120/min per restaurant and IP
路徑參數
organization_guidstring必填The restaurant's guid or its handle (any case, a leading @ is ignored; former handles still resolve).
tokenstring必填The 40-character confirmation token from manage_url (letters and digits).
狀態碼
404NOT_FOUND.
注意事項
- tickets.status is pending, paid, cancelled or refunded; payment_url is set only while pending. The token does not expire here.
curl "https://api.conciar.com/public/v1/restaurants/bistro-example/reservations/0000000000000000000000000000000000000000/tickets" \
-H "Accept: application/json"{
"status": true,
"tickets": {
"reference": "EXAMPLE-T-0001",
"quantity": 2,
"event": "Example wine dinner",
"total": "€ 130,00",
"status": "paid"
},
"payment_url": null
}