Place2Book Developers
api@place2book.com

Ticket arrivals

A ticket arrival is a single scan of a ticket at the entrance. The Place2Book scanner app creates them, and you can create them from your own access control system. A ticket can have several arrivals, for example re-entry tickets.

The ticket arrival object

Field Type Description
ticket_arrival_id integer Unique identifier of the scan.
ticket_id integer The ticket that was scanned.
arrived_at datetime When the ticket was scanned.
arrived_at_scanner string Name of the scanner or entrance, if known.
ticket object The full ticket. Only included when creating an arrival.
{
  "ticket_arrival_id": 12459931,
  "ticket_id": 124665,
  "arrived_at": "2026-12-05T18:42:10Z",
  "arrived_at_scanner": "Indgang A"
}

List ticket arrivals

Returns every scan for one or more events.

GET/event_makers/:event_maker_id/events/:event_id/ticket_arrivals

:event_id can be a comma-separated list of event ids, for example /events/12345678,12345679/ticket_arrivals.

Response200 OK
[
  {
    "ticket_arrival_id": 12459931,
    "ticket_id": 124665,
    "arrived_at": "2026-12-05T18:42:10Z",
    "arrived_at_scanner": "Indgang A"
  }
]
Possible errors404 Not Found

Create a ticket arrival

Registers a scan of the ticket with the given barcode.

POST/event_makers/:event_maker_id/events/:event_id/ticket_arrivals
POST/event_makers/:event_maker_id/ticket_arrivals

Use the first form when you know the event. If one entrance serves several events, use the second form and send event_id with a comma-separated list of events. The barcode is looked up among those events.

Parameters

Parameter Type Description
ticket_arrival.barcode string required Barcode of the scanned ticket.
ticket_arrival.arrived_at datetime required When the ticket was scanned, in ISO 8601 format.
ticket_arrival.arrived_at_scanner string required Name of the scanner or entrance.
event_id string Comma-separated event ids. Only for the second form, and required there.
Request body
{
  "event_id": "12345678,12345679",
  "ticket_arrival": {
    "barcode": "ABCD1234",
    "arrived_at": "2026-12-05T18:42:10Z",
    "arrived_at_scanner": "Indgang A"
  }
}

The response is the new arrival with the full ticket:

Response200 OK
{
  "ticket_arrival_id": 12459931,
  "ticket_id": 124665,
  "arrived_at": "2026-12-05T18:42:10Z",
  "arrived_at_scanner": "Indgang A",
  "ticket": {
    "ticket_id": 124665,
    "price_id": 23456789,
    "total_amount_paid": 15000,
    "arrived_at": "2026-12-05T18:42:10Z",
    "seating": "Række 3, sæde 5",
    "custom_fields": [
      {
        "custom_field_name": "Allergier",
        "value": "Skaldyr"
      }
    ],
    "barcode": "ABCD1234",
    "additional_sales": [
      {
        "additional_sale_id": 342946,
        "additional_id": 345678,
        "additional_name": "Ølbillet",
        "debit_total_for_customer": 4500
      }
    ]
  }
}

Errors

Status Message
404 Not Found No ticket found with barcode: … if the barcode doesn’t match a ticket for the event(s).
400 Bad Request Missing arrived_at parameter.
400 Bad Request Missing arrived_at_scanner parameter.
400 Bad Request Invalid arrived_at format. Should be in ISO8601 format.