Working with Bookings
You can retrieve your booking data for customers and dates through the TicketSource API. This guide will go through the necessary call to retrieve this information which can be used for analysis or syncing with external CRM systems.
If you haven't already, you should go through our getting started guide for instructions on obtaining credentials and how to authenticate with the API.
Bookings
You can retrieve a list of all Bookings for a particular Date resource by querying the /dates/dat-xxxxxxxxxx1/bookings endpoint.
Sample Request:
$curl = curl_init('https://api.ticketsource.io/dates/dat-xxxxxxxxxx1/bookings');
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer '.'skl-xxxxxxxxxx'
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($curl);
$bookings = json_decode($response);
Sample Response:
{
"data": [
{
"id": "bkg-xxxxxxxxxx1",
"type": "booking",
"attributes": {
"ref": "ABC123",
"lines": [
{
"line_type": "TICKETS",
"payment_method": "STRIPE",
"is_refund": false,
"amount": {
"gross": 1,
"fee": 0.38,
"fee_vat": 0.08,
"discounts": {
"automatic": 0,
"code": {
"description": "",
"amount": 0
}
},
"net": 0.54
},
"created_at": "2019-02-12T10:58:34+00:00",
"updated_at": null
},
{
"line_type": "TICKETS",
"payment_method": "STRIPE",
"is_refund": true,
"amount": {
"gross": -1,
"fee": -0.38,
"fee_vat": -0.08,
"discounts": {
"automatic": 0,
"code": {
"description": null,
"amount": 0
}
},
"net": -0.54
},
"created_at": "2019-02-12T10:58:34+00:00",
"updated_at": null
}
],
"consent": {
"third_party": "Visiting Theatre Ltd",
"email": true,
"post": true,
"sms": false
},
"user_booked_by": "",
"created_at": "2019-02-12T10:58:34+00:00",
"updated_at": "2019-02-12T10:58:34+00:00"
},
"links": {
"self": "https://api.ticketsource.io/bookings/bkg-xxxxxxxxxxxxxxx1",
"seats": "https://api.ticketsource.io/bookings/bkg-xxxxxxxxxxxxxxx1/seats",
"customer": "https://api.ticketsource.io/customers/cst-xxxxxxxxxxxxxxx1",
"date": "https://api.ticketsource.io/dates/dat-xxxxxxxxxxxxxxx1"
}
},
{
...
}
],
"links": {
"first": "https://api.ticketsource.io/dates/dat-xxxxxxxxxx1/bookings?page=1",
"last": null,
"prev": null,
"next": "https://api.ticketsource.io/dates/dat-xxxxxxxxxx1/bookings?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://api.ticketsource.io/dates/dat-xxxxxxxxxx1/bookings",
"per_page": 10,
"to": 10
}
}
Filtering bookings
You can filter bookings on the following properties:
Property | Operators | Notes |
---|---|---|
created_at |
|
value must be a date (2019-01-01), value2 must also be provided if using between. |
updated_at |
|
value must be a date (2019-01-01), value2 must also be provided if using between. |
Seats/Places
You can retrieve a list of all Seats for a particular Booking resource by querying the /bookings/bkg-xxxxxxxxxx1/seats endpoint.
Sample Request:
$curl = curl_init('https://api.ticketsource.io/bookings/bkg-xxxxxxxxxx1/seats');
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer '.'skl-xxxxxxxxxx'
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($curl);
$bookings = json_decode($response);
Sample Response:
{
"data": [
{
"id": "sea-xxxxxxxxxxxxxxx1",
"type": "seat",
"attributes": {
"is_booked": true,
"is_cancelled": false,
"reference": {
"row": "A",
"seat": 26
},
"price_category": "Adult",
"attendee": {
"title": "",
"first_name": "A",
"last_name": "Person",
"company": {
"name": "Examplecorp",
"title": "CEO"
},
"telephone": "",
"email": "a.person@example.com"
},
"created_at": "2019-02-12T10:58:34+00:00",
"updated_at": null
},
"links": {
"self": "https://api.ticketsource.io/venues/sea-xxxxxxxxxxxxxxx1",
"booking": "https://api.ticketsource.io/bookings/bkg-xxxxxxxxxxxxxxx1"
}
},
{
"id": "sea-xxxxxxxxxxxxxxx2",
"type": "seat",
"attributes": {
"is_booked": true,
"is_cancelled": false,
"reference": {
"row": "A",
"seat": 27
},
"price_category": "Adult",
"attendee": {
"title": "",
"first_name": "A",
"last_name": "Nother",
"company": {
"name": "Examplecorp",
"title": "CTO"
},
"telephone": "",
"email": "a.nother@example.com"
},
"created_at": "2019-02-12T10:58:34+00:00",
"updated_at": null
},
"links": {
"self": "https://api.ticketsource.io/venues/sea-xxxxxxxxxxxxxxx2",
"booking": "https://api.ticketsource.io/bookings/bkg-xxxxxxxxxxxxxxx1"
}
},
{
...
}
],
"links": {
"first": "https://api.ticketsource.io/bookings/bkg-xxxxxxxxxx1/seats?page=1",
"last": null,
"prev": null,
"next": "https://api.ticketsource.io/bookings/bkg-xxxxxxxxxx1/seats?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://api.ticketsource.io/bookings/bkg-xxxxxxxxxx1/seats",
"per_page": 10,
"to": 10
}
}