Execution Guides
How do I test in the sandbox?
Run the booking flow in a dedicated evaluation lane or local test environment without assuming a public sandbox hostname.
Hostrail's sandbox is an evaluation lane for testing discovery, quote, hold, and booking flows before live traffic. Some teams use a provisioned sandbox origin; others run the stack locally.
Sandbox environment
| Setting | Value |
|---|---|
| Base URL | your provisioned sandbox origin, or http://localhost:4000 for local integration |
| Payment provider | stub or your configured test gateway |
| Hold TTL | 15 minutes |
| Rate limit | 100 req/min per tenant |
Test payment tokens
| Token | Behavior |
|---|---|
tok_test | Payment succeeds |
tok_fail | Payment declined (payment_failed, 402) |
tok_timeout | Provider timeout (payment_provider_error, 502) |
Testing error scenarios
Before running write flows, fetch the same discovery surfaces your production runtime will use:
https://hostrail.dev/llms.txthttps://hostrail.dev/capabilities.jsonhttps://api.hostrail.dev/.well-known/agent-card.jsonhttps://api.hostrail.dev/openapi.json
Hold expiry
Create a hold, wait 15 minutes, attempt booking → hold_expired (410).
Allocation failure
Hold all inventory, attempt another hold → allocation_failed (409).
Idempotent replay
Create a hold with Idempotency-Key: test, repeat → cached response with Idempotent-Replayed: true.
Rate limiting
Send 101 requests in under 1 minute → rate_limited (429).
Notes
- The public web evaluation lane lives on
https://hostrail.dev/sandboxwhen deployed. - The production canonical API origin is
https://api.hostrail.dev. - Do not hard-code
https://sandbox.hostrail.devunless your deployment actually provisions that hostname. - Treat quote output as the source of truth for live price and cancellation terms, even in sandbox.