Reference
Manifest
Departures and passengers for a day, from every channel.
GET /api/v1/manifest
Departures and passengers for one day.
Every departure the key's operators (or the one in partner_id) run on a day, with passengers from every channel, their check-in state and their partner. Operators sharing one booking system account show each booking once. Read from your booking system's mirror, which refreshes every two hours for near-term departures.
Scope: manifest:read.
Query parameters:
date(string, YYYY-MM-DD): Departure day (YYYY-MM-DD), local time.partner_id(string, optional): Only this operator: one of the key's operators (see GET /api/v1/me). Any other id answers 404. Omit for every operator on the key.
Response fields (200):
date(string, YYYY-MM-DD)timezone(string): IANA timezone, e.g. Europe/Oslo.synced_at(string, ISO 8601 date-time, nullable): When the booking-system mirror last refreshed this day.totals(object)departures(integer)bookings(integer)passengers(integer)checked_in(integer)no_show(integer)
departures(array)- each item:
start_time(string, nullable): Local wall-clock time (HH:MM) intimezone.timezone(string): IANA timezone, e.g. Europe/Oslo.product_title(string, nullable)rate_title(string, nullable)passengers(integer)checked_in(integer)no_show(integer)bookings(array)- each item:
id(string): Manifest row id (stable for this booking line).reference(string, nullable)confirmation_code(string, nullable)status(string)partner(object): The operator a row belongs to: one of the key's operators (the tour's operator for a booking).channel(object)participants(integer)pax_breakdown(array, nullable)guest(object)pickup(object, nullable)payment_status(string, nullable)check_in(object)
- each item:
- each item:
cancelled(array)- each item:
id(string): Manifest row id (stable for this booking line).reference(string, nullable)confirmation_code(string, nullable)status(string)partner(object): The operator a row belongs to: one of the key's operators (the tour's operator for a booking).id(string)name(string)
channel(object)class(string, nullable)source(string, nullable)title(string, nullable)
participants(integer)pax_breakdown(array, nullable)- each item:
title(string)quantity(integer)
- each item:
guest(object)name(string, nullable)email(string, nullable, optional): Only with the guests.contact:read scope.phone(string, nullable, optional): Only with the guests.contact:read scope.
pickup(object, nullable)place(string, nullable)time(string, nullable)
payment_status(string, nullable)check_in(object)status(one ofchecked_in,no_show, nullable)present(integer, nullable)
- each item:
Example: One departure
curl "https://www.panion.travel/api/v1/manifest?date=2026-11-14" \
-H "Authorization: Bearer $PANION_API_KEY"{
"date": "2026-11-14",
"timezone": "Europe/Oslo",
"synced_at": "2026-11-14T10:00:00Z",
"totals": {
"departures": 1,
"bookings": 1,
"passengers": 2,
"checked_in": 0,
"no_show": 0
},
"departures": [
{
"start_time": "19:00",
"timezone": "Europe/Oslo",
"product_title": "Northern Lights Chase",
"rate_title": "Standard",
"passengers": 2,
"checked_in": 0,
"no_show": 0,
"bookings": [
{
"id": "5c4b3a29-1807-4f6e-9d5c-4b3a29180716",
"reference": "ARC-123456",
"confirmation_code": "PNN-7K2Q9X",
"status": "CONFIRMED",
"partner": {
"id": "2b7e1516-28ae-4d2a-9f15-88094f3c4f3c",
"name": "Arctic Tours"
},
"channel": {
"class": "panion",
"source": "Panion",
"title": "Panion"
},
"participants": 2,
"pax_breakdown": [
{
"title": "Adult",
"quantity": 2
}
],
"guest": {
"name": "Ingrid Hansen"
},
"pickup": {
"place": "Radisson Blu Hotel",
"time": "18:45"
},
"payment_status": "PAID",
"check_in": {
"status": null,
"present": null
}
}
]
}
],
"cancelled": []
}Responses:
- 200: OK
- 400: Invalid request
- 401: Missing, invalid, expired or revoked key
- 403: The key lacks the scope
- 429: Rate limited (300 requests per minute per key)