Booking test failures you can read, for the engineer who gets paged
Here's what a failed booking test tells you: what ran, on which versions, what came back. The samples on this page are illustrations, and API access is by request.
Test run
Failed
run_014 sandboxCorvane Travel -> Alpine Distributionpinned adapter alpine-2.3.1 mapping v7 / config rev 12 pass CRED-001 credentials reach the sandboxpass SRCH-002 2 adults + child aged 7FAIL QUOTE-004 price changed on recheck expected price_changed true actual price_changed false 197.50 EUR against 184.00 EUR trace tr_9f27c1Expected next to actual, without reading a full payload.
- 3
- versions pinned to every run
- 1
- correlation ID from buyer request to seller response
- 0
- secrets or traveller data in stored evidence
What you get
- Results pinned to versions
- Each run records the adapter version, mapping snapshot and configuration revision it ran on. Change one, and the affected results stop counting.
- Expected, actual and a trace
- A failed assertion shows what should have come back, what did, and a trace ID that leads you to the exchange.
- Traces that are safe to share
- One correlation ID from buyer request to seller response. Secrets and traveller data are removed before anything is stored or shown.
- Native identifiers in every reply
- Search and quote responses stay bound to the seller's IDs, price, currency, cancellation terms and quote validity.
Illustrative. Companies and data are fictional.
A repeatable test plan
Search, quote, book, read and cancel, in sandbox, covering the cases that actually page you. Both sides see the same plan and results.
Honest booking states
A booking we can't confirm stays marked unknown, and an inconclusive test stays inconclusive. Neither counts as a pass or gets retried blindly.
run_014 Corvane Travel -> Alpine Distribution sandbox
pinned adapter alpine-2.3.1 / mapping v7 / config rev 12
pass CRED-001 credentials reach the sandbox
pass SRCH-002 2 adults + child aged 7
FAIL QUOTE-004 price changed on recheck
expected price_changed true
actual price_changed false, 197.50 EUR against 184.00 EUR
trace tr_9f27c1
INCONCLUSIVE BOOK-003 seller times out mid-booking
sandbox unavailable, no booking response to assert on
counts as not passed
not run CANC-003 non-refundable rate
result NOT PASSED
10 passed, 1 failed, 1 inconclusive, 3 not run
5 of 15 cases shownFollow QUOTE-004 down to the seller
The test above failed on a recheck. Its trace shows each hop and where the price moved. It keeps the fields you need to debug, and it removes the guest and credentials before you or your counterparty ever see it.
| Elapsed | Hop | Operation | What happened |
|---|---|---|---|
| 0 ms | Corvane Travel to TravelRevo | quote.recheck | Received, buyer reference kept |
| 11 ms | TravelRevo | route | Connection con_218, snapshot v7 |
| 19 ms | TravelRevo to Alpine | adapter 2.3.1 | Native hotel code HT900 sent |
| 428 ms | Alpine to TravelRevo | 200 | Total 197.50 EUR, price_changed false |
| 433 ms | TravelRevo | assert | Failed: total moved from 184.00 EUR with no price-change flag |
| 436 ms | TravelRevo to Corvane Travel | 200 | New total returned without a price-change flag, case marked failed |
// Supplier exchange as stored
{
"credential": "ref:alpine/sandbox/v3",
"api_key": "[never stored]",
"lead_guest": { "name": "[redacted]", "email": "[redacted]" },
"hotel_code": "HT900",
"total": { "amount": "197.50", "currency": "EUR" },
"cancellation": "free until 2 days before arrival"
}Request API access
Tell us about your stack and the sandbox you'd test against. A person will reply, and sending a request doesn't grant API access.
API reference, docs and sandbox access are shared by request.