---
title: "Book a Flight"
method: POST
path: "/pms/api/external/request/flights/book/"
tags: ["Flights"]
---

# Book a Flight

`POST /pms/api/external/request/flights/book/`

Book a selected flight with full passenger details. Returns a PayVessel reference and a booking ID. Issue the ticket after collecting payment from your customer.

## Headers

- `api-key` string, required
- `api-secret` string, required
- `Content-Type` 'application/json', required

## Request body

- FlightBookRequest
  - `flightKey` string, required
  - `contactEmail` string, email, required
  - `contactPhone` string, required
  - `passengers` FlightPassenger[], required
    - `firstName` string, required
    - `lastName` string, required
    - `title` 'Mr' | 'Mrs' | 'Ms' | 'Dr' | 'Prof', required
    - `dateOfBirth` string, date, required
    - `gender` 'Male' | 'Female', required
    - `passengerType` 'Adult' | 'Child' | 'Infant', required
    - `nationality` string, required — ISO 3-letter country code (e.g. NGA)
    - `passportNumber` string — Required for international flights
    - `passportExpiryDate` string, date
    - `email` string, email
    - `phoneNumber` string

## Response `201`

Flight booked successfully

- FlightBookResponse
  - `status` boolean
  - `message` string
  - `data` object
    - `reference` string — PayVessel booking reference
    - `booking` object

## Other responses

- `401` — Unauthorized
- `403` — Forbidden — flight booking access not enabled for this business
- `422` — Validation error
- `502` — Flight service temporarily unavailable

---

[API](https://skmtc.net/payvessel/apis/payvessel-value-added-services-api.md) · [All operations](https://skmtc.net/payvessel/apis/payvessel-value-added-services-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/payvessel/payvessel-value-added-services-api/revisions/31040a9358ef/schema)
