| Term | Definition |
|---|---|
| Adventure | A bookable Moroccan product — a short experience or a multi-day trip. Identified by a stable slug. |
| Rate pack | A priced configuration of an adventure (room allocation, base price). A booking is always against one rate pack. |
| Quote | A frozen net price for a specific composition and date, valid 30 minutes. See Quotes. |
| Net amount | What you owe Safariat for a booking, settled monthly. Not your customer price — your margin is yours to set. See Money & currency. |
| Snapshot | An immutable copy of the adventure content captured at booking time. Guarantees the traveler gets what was booked even if the catalogue later changes. |
| Booking number | The Safariat reference for a booking, format MV-XXXXXX. |
| Partner reference | Your own identifier for a booking, echoed back on every related object and webhook. |
| Cancellation tier | A refund rule (days-before → refund percent) frozen onto a booking. See Bookings. |
| Settlement | The monthly invoice aggregating your bookings, refunds and adjustments. See Settlements. |
| Settlement line | One BOOKING, REFUND or ADJUSTMENT row inside a settlement. |
| API key | Your bearer credential. sk_live_* = production, sk_test_* = sandbox. The secret is shown once. See Authentication. |
| Idempotency key | A per-operation UUID making write retries safe. See Idempotency. |
| Signing secret | The per-endpoint HMAC secret used to verify inbound webhook deliveries. Distinct from your API key secret. |
| Sandbox | An isolated dataset (separate PostgreSQL schema) reached with an sk_test_* key. No real email, no settlement issued, webhooks flagged test: true. See Sandbox. |
| Test mode | The flag on sandbox bookings/events (test: true) — production handlers must ignore or label these. |
| Cursor | The opaque pagination token returned by list endpoints. See Pagination. |
request_id | The Safariat-side correlation ID on every error. Quote it to support. See Errors. |
API concepts
Glossary
The terms used across SafarAPI, defined once