API documentation
Flight search, booking and integration reference.
Access status
A protected flight-search connection is prepared for Niugini FLIGHTS Tickets and NIUTikets at POST /api/public/travel-search. Activation requires paired private connection keys and changes in each other app. Cross-app searches have not yet been verified. Bookings, payments and customer accounts remain separate; no public booking API is offered.
Search capabilities
| Operation | Inputs / result |
|---|---|
| Airport search | Airport or city term → airport codes and names |
| Aviasales search | Origin, destination, dates, passenger counts, cabin → search session and polled offers |
| Flight fare calendar | Route, month, cabin → cached one-way price estimates in USD |
| Duffel search | Route, dates, passengers, cabin → airline offers with expiry and total fare |
| Partner redirect | Search session and selected partner offer → partner booking website |
On-site booking workflow
- Select a Duffel offer and re-check current availability and price.
- Submit passenger names, dates of birth, contact details and payment method.
- Save an awaiting-payment request. This does not guarantee a seat or issue a ticket.
- Verify payment manually through an authorized administrator, or verify the PayPal capture on the server.
- Re-check the airline offer and submit the airline order. Confirmed booking references appear only after successful ticketing.
Customer and administrator access
Signed-in customers can list their own bookings. Payment review requires an administrator role verified on the server. Guest booking links must remain private. Provider tokens and payment secrets are never supplied to browser clients or other apps.
Not yet connected
Amadeus search and booking, hotel price calendars and external administration synchronization are not active. Hotels and cars currently open partner search websites.
Connecting another travel app
The search-only connection supports airport lookup, Duffel search, partner search initiation and partner result polling. Requests require a private per-app bearer key and an X-Travel-App identifier, sent from the other app's server—not its browser. Each website keeps its own colors, layout and customer operations. Amadeus remains unconnected.
Discuss an integration