Skip to main content
GET
/
v2
/
offers
Search bookable offers
curl --request GET \
  --url https://staging.api.prexsell.com/v2/offers \
  --header 'x-api-key: <api-key>'
{
  "data": {
    "offers": [
      {
        "id": "eyJhbGciOiJIUzI1NiJ9...",
        "source": "PrexSell",
        "seatsLeft": 12,
        "arrivalDate": "2026-06-15T08:00:00.000Z",
        "expiresAt": "2026-06-14T00:20:00.000Z",
        "prices": [
          {
            "id": "price-1",
            "amount": 1450,
            "currency": "UAH"
          }
        ],
        "slices": [
          {
            "id": "seg-123",
            "duration": 480,
            "departureDate": "2026-06-15T00:00:00.000Z",
            "arrivalDate": "2026-06-15T08:00:00.000Z",
            "bus": {
              "id": "bus-1",
              "seatsQty": 50,
              "registrationNumber": "AA1234BB",
              "brand": "Mercedes-Benz",
              "model": "Tourismo",
              "images": [
                {
                  "id": "img-1",
                  "name": "Bus exterior",
                  "url": "https://example.com/bus.jpg"
                }
              ]
            },
            "carriage": {
              "id": "carriage-1",
              "name": "Автопарк №1",
              "phones": [
                "+380501234567"
              ]
            },
            "route": {
              "id": "route-1",
              "name": "Київ — Варшава",
              "slug": "kyiv-warsaw",
              "description": "Щоденний нічний рейс",
              "company": {
                "id": "company-1",
                "name": "PrexSell Lines",
                "slug": "prexsell-lines",
                "email": "ops@prexsell-lines.com",
                "website": "https://prexsell-lines.com",
                "rules": "Пасажир має прибути за 20 хвилин до відправлення.",
                "logoUrl": "https://example.com/logo.png",
                "ceo": "Олена Коваль",
                "socials": [
                  "https://facebook.com/prexsell.lines"
                ],
                "partnerCompany": null
              },
              "permissions": [
                {
                  "id": "perm-1",
                  "role": "Agent",
                  "accesses": [
                    "book",
                    "cancel"
                  ],
                  "type": "Partner"
                }
              ],
              "services": [
                {
                  "id": "svc-1",
                  "name": "Wi-Fi"
                },
                {
                  "id": "svc-2",
                  "name": "Кондиціонер"
                }
              ]
            },
            "stops": [
              {
                "id": "stop-1",
                "cityStopId": "cs-1",
                "departureTime": "06:30",
                "arrivalTime": null,
                "platform": "3",
                "place": "Центральний автовокзал",
                "latitude": 50.4501,
                "longitude": 30.5234,
                "city": {
                  "id": "city-kyiv",
                  "name": "Київ",
                  "slug": "kyiv",
                  "country": "UA",
                  "timeZone": "Europe/Kyiv"
                }
              },
              {
                "id": "stop-2",
                "cityStopId": "cs-2",
                "departureTime": null,
                "arrivalTime": "08:00",
                "platform": "5",
                "place": "Dworzec Zachodni",
                "latitude": 52.2297,
                "longitude": 21.0122,
                "city": {
                  "id": "city-warsaw",
                  "name": "Варшава",
                  "slug": "warsaw",
                  "country": "PL",
                  "timeZone": "Europe/Warsaw"
                }
              }
            ]
          }
        ],
        "refundRules": [
          {
            "id": "rule-1",
            "hours": 24,
            "amount": 800
          },
          {
            "id": "rule-2",
            "hours": 6,
            "amount": 400
          }
        ],
        "discounts": [
          {
            "id": "disc-1",
            "name": "Студентська знижка",
            "description": "Знижка 10% для студентів з дійсним квитком",
            "rule": "Percent",
            "startDate": "2026-06-01T00:00:00.000Z",
            "endDate": "2026-12-31T23:59:59.000Z",
            "amount": 100
          }
        ]
      }
    ],
    "source": "PrexSell"
  }
}

Authorizations

x-api-key
string
header
required

Partner API key, sent in the x-api-key request header. Required for bookable offer search and all booking operations. To obtain a key, register as a PREXSELL partner in the backoffice (backoffice.prexsell.com, or staging.backoffice.prexsell.com for staging) and contact support if you need help.

Query Parameters

departureCitySlug
string

URL-friendly slug of the departure city.

Minimum string length: 1
Example:

"kyiv"

arrivalCitySlug
string

URL-friendly slug of the arrival city.

Minimum string length: 1
Example:

"warsaw"

departureCityId
string

Database ID of the departure city. Use slug addressing where possible; id addressing is kept pending Moesif usage analysis (ADR-0033 §7).

Minimum string length: 1
Example:

"city-abc123"

arrivalCityId
string

Database ID of the arrival city. Use slug addressing where possible; id addressing is kept pending Moesif usage analysis (ADR-0033 §7).

Minimum string length: 1
Example:

"city-def456"

departureDate
string<date>
required

Departure date in ISO 8601 format (YYYY-MM-DD). Garbage values yield 400.

Example:

"2026-06-15"

passengers
integer
required

Number of passengers (renamed from legacy passengersQty). Minimum 1.

Required range: x >= 1
Example:

2

Response

Offer search results.

data
object
required

Offer search results.