LUNA CONTRACTING
LIVE
Everything you load, sellable through one API.
One API for eight families of directly contracted product. Browse, price, quote, hold, confirm and cancel using the published reference, with clear test-key limits and a documented booking flow.
Request to result
POST /v1/bookings/quote
REQUEST
POST /v1/bookings/quote
Rate reference from search
boarding: cardiff, party: { adult: 2, child: 1 } }
RESULT · price locked for 30 minutes
Cardiff to Southampton · example journey
2 adults, 1 child · 18 seats left
£91.00
Feeds
return coach 18 Oct
Iona · P426
Rate reference
re-quote it weeks later
does not expire
Quote
Hold
Confirm
Cancel
One booking flow for all eight.
Quote locks the price
For 30 minutes, and reserves nothing, so it never blocks a room or a seat.
Hold re-prices from live data
Refused if the total has moved by a penny, so a stale price can never be booked. Holds last 30 minutes and release themselves.
Bulk priced search
One call returns options, prices, extras and full product detail for every family, with a partial flag when something was dropped.
Two idempotency layers
A dropped connection or a retried request returns the booking you already made, never a second one.
Rate references that do not expire
Cache one, put it in a basket or an email, and re-quote it weeks later. The price resolves live at quote time.
Sell prices only
Cost, margin, markup and commission never leave the engine.
One key per client account
It reaches every engine that account has loaded and picks up new ones automatically.
Booking state by polling
There are no webhooks or callbacks. Your integration asks, and gets a consistent answer.
Test it honestly.
Build and verify your whole read and pricing integration with a read-only test key that cannot touch real inventory, then swap in a live key. A test key is refused at the first booking call, by design. There is no separate test environment to keep in sync.
Read-only test key for search, quote and product detail
Swap in a live key when you are ready to hold and confirm
Three key states: active, disabled, revoked. Both off states fail closed
API keys
Seaside Travel
sk_test_7f3a… · read-only
Search, quote and detail work. The first hold is refused.
sk_live_c91d… · active
Full booking flow. Only the SHA-256 hash is stored.
sk_live_20b4… · revoked
Permanent. Fails closed.
The raw key is shown once at creation and cannot be recovered afterwards, by anyone.
Published and public. No login wall.
A developer landing page, a hosted interactive reference, a full OpenAPI 3.1 spec you can generate a typed client from, and a written guide with a worked example from search to confirmed booking.
No SDK is shipped in any language. Generate a typed client from the spec instead.
Developer landing page at contracts.travelify.io/connect
Hosted interactive reference and OpenAPI 3.1 spec
A written guide with a worked example
contracts.travelify.io
developer pages
A practical handover for your developer
The Contracting API serves a client’s directly contracted product. The public reference covers accommodation, car hire, transfers, attractions, flights, tours, coaches and trains. It is a separate integration scope from the wider Travelgenix booking API.
Start with the current reference
Read the developer guide, written reference and OpenAPI specification together. On 20 October 2026, the published specification identified itself as version 1.31.0 using OpenAPI 3.1.0. Use the live specification for request fields and response formats because an older copied example may miss a change.
Plan two kinds of testing
A read-only test key can browse, search, price and quote the product it is authorised to access. It cannot create or change a booking. The documentation says there is one API host and one dataset, rather than a separate sandbox.
For a complete booking test, the written reference says to ask Travelgenix for a live key on an agreed demo account. Agree that setup first, then test the hold, confirmation and cancellation flow there. A normal live key can affect real inventory.
Make retries and status checks deliberate
The reference documents an Idempotency-Key header for booking writes. Reusing the same key with the same body returns the original result; reusing it with a different body returns an error. Keep the booking reference and check the resulting state before your interface tells the traveller that an action succeeded.
The Contracting API documents polling for booking state and says there are no webhooks. Travelgenix’s separate platform webhook guide does not change that Contracting API behaviour.
Handle changes according to their scope
The v1 reference allows specified contact, note and traveller-detail amendments. It describes date, occupancy, room or vehicle changes as a fresh pricing and availability decision, handled through cancellation and rebooking in v1. Review the relevant product’s conditions and the supported action before building an amendment promise into your interface.
Keep the integration maintainable
Keep API keys on your server, as the authentication guide requires. Record the specification version you built against and review the published change notes before updating. Confirm the product scope, test account, error handling and person responsible for a failed booking with your implementation team.
These are recommended handover checks based on the published API contract. The page does not imply that a live booking was made as part of this documentation review.
Sources and review
Reviewed 20 October 2026. Product descriptions on this page are based on the linked official documentation. Examples and recommended checks are labelled in the text.
Questions people ask
Do we need a developer to use Luna Contracting?
No. Everything is loaded in the browser. The API is there for when your own website or systems want in.
Is there a separate test environment?
No. You test with a read-only key that cannot touch real inventory, then swap in a live key for holds and confirmations.
Is there an SDK?
No. The OpenAPI 3.1 spec is public, so generate a typed client in your language from it.
Do you push booking updates to us?
No webhooks or callbacks. Your integration polls for booking state and gets a consistent answer, with idempotent retries.
Sell it through your own systems.
Luna Contracting is live for Travelgenix customers. Contact your account manager to switch it on, or book a demo if you are new to Travelgenix.
More about Luna Contracting