Connect a system, not a mailbox.
Tour operators and platforms connect to DMC Connect directly. Instead of asking every few minutes, they are told when something changes.
POST /dmc-hook
X-DMC-Event: booking.confirmed
X-DMC-Event-Id: evt_5f0c6a2e9b1d4c8e8a7f3b2d1c0e9f8a
X-DMC-Signature: t=1810116902,v1=6a1f…c93e
{ "id": "evt_5f0c…", "type": "booking.confirmed",
"api_version": "v1", "data": { … } }APIs in and out.Nobody retypes anything.
Your partner’s system, on a test account first.
POST /dmc-hook
X-DMC-Event: booking.confirmed
X-DMC-Event-Id: evt_5f0c6a2e9b1d4c8e8a7f3b2d1c0e9f8a
X-DMC-Signature: t=1810116902,v1=6a1f…c93e
{
"id": "evt_3a9d1c7e5b2f4a68b0c4e7d19f2a6c31",
"type": "availability.changed",
"api_version": "v1",
"created_at": "2027-05-12T09:12:44.820Z",
"data": {
"hotel_id": "1752",
"hotel_name": "Erlia Bay Suites",
"from": "2027-06-14",
"to": "2027-06-20",
"room_type": null,
"reasons": ["stop_sale"]
}
}Source Strategy
Drawn from the real screen. Names invented, figures changed.
In: partners search and book.
Eighteen documented operations, and a test account first.
Out: every change, signed.
Bookings, availability, prices and hotels, as events within seconds.
Suppliers beside your contracts.
Live rates to compare, and to book when you allow it.
Drawn from the real screen. Names invented, figures changed.
What a partner is told
- booking.*
- Created, confirmed, amended, cancelled or a status change. Five event types.
- availability.changed
- A stop or open sale, an allotment or release change, or a booking that took or returned rooms.
- prices.changed
- A special offer added, changed or withdrawn, or contract prices changed.
- hotel.changed
- The hotel’s details, rooms or guest limits changed.
{
"id": "evt_0b8e2d7c41a94f3e9c5d6a1b2f3e4d5c",
"type": "prices.changed",
"api_version": "v1",
"created_at": "2027-05-12T09:41:07.502Z",
"data": {
"hotel_id": "1752",
"hotel_name": "Erlia Bay Suites",
"from": "2027-07-01",
"to": "2027-07-31",
"room_type": null,
"reasons": ["special_offer"]
}
}Illustration: the fields follow the partner API guide.
The details your developers will ask about
Signed
Every event carries an HMAC-SHA256 signature over its exact body and a timestamp, with a secret the partner can rotate.
Delivered
Events are stored before they are sent. A failed delivery is retried after 1, 5 and 15 minutes, then 1, 3, 6 and 12 hours: eight attempts over about 22 hours.
Live rates
A live supplier rate is offered as an encrypted token, tied to the partner’s account and valid for 30 minutes.
- No double bookings
- A contracted-rate booking sent again with the same idempotency key returns the first booking.
- Keys per agency
- Each partner has its own key. The agency is always taken from the key, never from what the request says. Keys are shown once and can be revoked at once.
- Limits
- 600 requests a minute per address, and 12 an hour for the two bulk calls, which answer “not modified” when nothing has changed.
- What partners never see
- Your net cost, your margin and the commission behind a price.
What a partner can call
18 operations in all.
GET /ping
Confirms the key, the network path and the account’s mode.
GET /hotels
The hotels the partner can sell.
GET /hotels/content
Descriptions, location, facilities, rooms and guest limits.
- GET /availability
- Every hotel, room and night in one call.
- POST /search
- A priced quote for a stay and a party, with offers applied.
- POST /bookings
- Book a contracted or a live rate.
- POST /bookings/:id/amend
- Change a booking. It is re-priced and only the difference counts.
- POST /bookings/:id/cancel
- Cancel a booking.
- GET /bookings/:id/voucher
- The voucher for a confirmed booking, without prices.
- /webhooks
- Register an address, send a test event, rotate the secret, read the delivery log, retry.
Documentation and test accounts
An online guide, an OpenAPI 3.0.3 specification with an interactive console, and a 38-page integration guide. A new partner starts on a test account limited to chosen hotels: it searches, books and receives events as a live partner would, and its bookings are marked as tests.