Pull 's live packages, destinations, blog, banners, reviews and company info into another website — or push enquiries and bookings into this system from one. All endpoints are under https://tolidaydmc.com/api/v1/ and return JSON.
Auth: send your key as header X-API-Key, query param ?api_key=, or in a JSON body as "api_key".
List / search destinations (600+ seeded).
| type | domestic | international (optional) |
| trending | 1 to show only Trending Destinations (optional) |
| q | free-text search, e.g. q=goa (optional) |
| page, limit | pagination, default limit 50, max 200 |
List tour packages with filters.
| destination | destination slug (optional) |
| category | category slug (optional) |
| package_type | domestic | international (optional) |
| featured / recommended / fixed_departure | 1 to filter (optional) |
| season | summer | monsoon | winter (optional) |
| min_price, max_price | price range (optional) |
| q | search by title (optional) |
| page, limit | pagination, default limit 20, max 100 |
Full package detail — itinerary, hotels, inclusions/exclusions, meal plan, terms, gallery.
| slug | package slug (or use id) |
| id | package id (alternative to slug) |
Just the main image + gallery for one package.
| slug | package slug (or use id) |
| id | package id (alternative to slug) |
List all package categories.
Push a lead/enquiry — appears instantly in Admin / Superadmin → Enquiries.
name, email, phone are required. package_id is optional.
Create a booking. Price is calculated server-side (pax-wise) — never trust a client-supplied amount.
Pass package_slug or package_id. Returns booking_ref and, if a payment gateway is configured, payment_options[].initiate_url — redirect the customer's browser there to pay.
Look up a booking's status/payment status.
| booking_ref | required |
| required — the email the booking was made with (this pairing is the auth) |
Cancel a booking.
booking_ref + email pairing is the auth, same as Booking Status. Sets status to cancelled.
List published blog posts.
| destination | destination slug (optional) |
| category | domestic | international (optional) |
| q | search by title (optional) |
| page, limit | pagination, default limit 20, max 100 |
Full blog post content.
| slug | blog post slug |
Active homepage banners, in display order.
Active client reviews, in display order.
Branding, contact details, social icons, branch offices, footer links, legal page list.
Full content of one legal page.
| page_key | privacy-policy | terms-conditions | disclaimer | refund-cancellation |
All responses look like { "success": true, "data": {...} } on success, or { "success": false, "error": "..." } on failure.