1. Media Content Query Pipeline
Step 1 β Content Lookup Specifications
1.1 BOAT MODULE METHOD & TARGET URL
GET https://flexikayak.com/api/content.php?module=BOAT&travel_date=2026-07-05
Expected Response Payload (200 OK):
{
"status": "SUCCESS",
"module": "BOAT",
"count": 1,
"data": [
{
"schedule_id": 1,
"boat_id": 2,
"boat_name": "Ocean Pearl",
"trip_id": 4,
"trip_name": "Jolly Bouy / Red Skin Island Trip",
"departure_time": "10:00:00",
"return_time": "14:30:00",
"policies": {
"identity_enforcement": {
"is_id_mandatory": 1,
"is_id_no_required": 1,
"is_id_upload_required": 1
},
"gst_percentage": 5.00
},
"inventory": {
"remaining_seats": 10,
"status": "AVAILABLE"
},
"rates": [
{
"ticket_type": "Adult",
"age_range": "12 - β Years",
"nationality": "MIXED",
"mrp": 1675.00,
"net_price": 1675.00,
"currency": "INR"
}
]
}
]
}
1.2 ACTIVITY MODULE METHOD & TARGET URL
GET https://flexikayak.com/api/content.php?module=ACTIVITY
Expected Response Payload (200 OK) β variable future fares are summarized; selected-date price is resolved by Step 2:
{
"status": "SUCCESS",
"module": "ACTIVITY",
"count": 1,
"data": [
{
"activity_id": 7,
"title": "Bioluminescence Kayaking at Havelock",
"location": "Havelock Island",
"description": "Activity description from the FlexiKayak database...",
"short_description": "Clean short description derived from the stored description...",
"pricing": {
"mrp": 2000.00,
"mrp_source": "activities.base_price (reference only; never authoritative booking fare)",
"offer_price": null,
"net_price": null,
"agent_commission_type": "FLAT",
"agent_commission_value": 200.00,
"currency": "INR",
"price_unit": "Per Person",
"price_basis": "PER_PERSON",
"min_available_fare": 1500.00,
"max_available_fare": 1800.00,
"min_net_partner_price": 1300.00,
"max_net_partner_price": 1600.00,
"display": "βΉ1,500 β βΉ1,800",
"price_source": "activity_availability.base_price",
"catalog_price_is_summary": true
},
"availability": {
"available": true,
"reason": null,
"available_date_ranges": [
{ "from": "2026-09-15", "to": "2026-09-20" },
{ "from": "2026-10-15", "to": "2026-10-20" }
]
},
"booking": {
"booking_cutoff": {
"type": "MINUTES_BEFORE_START",
"default_minutes": 120,
"source": "ACTIVITY_DEFAULT; activity_availability override wins when non-NULL"
}
}
}
]
}
2.1 ACTIVITY MODULE SEARCH ROUTE
GET https://flexikayak.com/api/search_availability.php?module=ACTIVITY&date=2026-09-15&activity_id=7
Expected Response Payload (200 OK) β the selected availability fare is exact for this date/slot:
{
"status": "SUCCESS",
"module": "ACTIVITY",
"available": true,
"reason": null,
"count": 1,
"bookable_count": 1,
"data": [
{
"availability_id": 588,
"activity_id": 7,
"activity_name": "Bioluminescence Kayaking at Havelock",
"date": "2026-09-15",
"slot": {
"slot_id": 5,
"label": "04:00-06:00am",
"time_window": "04:00:00 - 06:00:00"
},
"availability_status": "AVAILABLE",
"inventory": {
"remaining_seats": 40,
"status": "AVAILABLE"
},
"booking_rules": {
"booking_cutoff_type": "MINUTES_BEFORE_START",
"booking_cutoff_minutes": 120,
"booking_cutoff_at": "2026-09-15T02:00:00+05:30",
"slot_start_at": "2026-09-15T04:00:00+05:30",
"cutoff_source": "ACTIVITY_DEFAULT",
"is_booking_open": true,
"is_bookable": true,
"reason": null
},
"pricing": {
"availability_fare": 1800.00,
"offer_price": 1800.00,
"agent_commission_type": "FLAT",
"agent_commission_value": 200.00,
"commission_amount": 200.00,
"net_partner_price": 1600.00,
"net_price": 1600.00,
"currency": "INR",
"price_basis": "PER_PERSON",
"price_source": "activity_availability.base_price"
}
}
]
}
2.2 BOAT MODULE SEARCH ROUTE
GET https://flexikayak.com/api/search_availability.php?module=BOAT&date=2026-09-15
Expected Response Payload (200 OK):
{
"status": "SUCCESS",
"module": "BOAT",
"available": true,
"reason": null,
"count": 1,
"bookable_count": 1,
"data": [
{
"schedule_id": 1,
"boat_id": 2,
"boat_name": "Ocean Pearl",
"trip_id": 4,
"trip_name": "Island Trip",
"travel_date": "2026-09-15",
"booking_close_days": 1,
"departure_time": "10:00:00",
"return_time": "14:30:00",
"inventory": {
"capacity_per_rotation": 10,
"remaining_seats": 10,
"status": "AVAILABLE",
"inventory_mode": "SCHEDULE_CAPACITY_REFERENCE",
"is_live_inventory": false
},
"rates": [
{
"ticket_type": "Adult",
"age_range": "12+ Years",
"nationality": "Indian",
"boat_fare": 1200.00,
"permit_fare": 300.00,
"mrp": 1500.00,
"agent_commission_type": "FLAT",
"agent_commission_value": 200.00,
"commission_amount": 200.00,
"net_price": 1300.00,
"currency": "INR",
"price_source": "boat_prices.boat_cost + boat_prices.permit_cost"
}
]
}
]
}
Production smoke test: Use the same live X-API-KEY for an ACTIVITY exact-search request and a BOAT exact-search request on the same date. A browser address bar normally does not send this header. API_ACCESS_DISABLED means the recognized partner is disabled; a BOAT-only provider configuration failure is returned with a Boat-specific error code rather than raw SQL.
3. Ticket Creation Engine Pipeline
Step 3 β Settlement Processing
3.1 BOAT MODULE SCHEME
POST https://flexikayak.com/api/create_booking.php
{
"request_id": "REQ_BOAT_PRODUCTION_TXN_999",
"customer_name": "Ripos Das",
"customer_email": "ripos.das@example.com",
"customer_phone": "9933245842",
"travel_date": "2026-07-05",
"module_type": "BOAT",
"qty": 1,
"schedule_id": 1,
"passengers": [
{
"traveler_name": "John Doe",
"age": 35,
"pax_gender": "MALE",
"nationality": "AMERICAN",
"id_type": "PASSPORT",
"id_number": "PASS987654",
"id_proof_file": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="
}
]
}
Expected Response Payload (201 Created):
{
"status": "SUCCESS",
"code": "BOOKING_IMMEDIATELY_SETTLED",
"booking_id": 157,
"booking_ref": "290626FLX5679",
"settlement_breakdown": {
"total_debited": 3752.00,
"deducted_from_cash": 3752.00,
"deducted_from_credit": 0.00
}
}
3.2 ACTIVITY MODULE SCHEME
POST https://flexikayak.com/api/create_booking.php
{
"request_id": "REQ_ACT_PRODUCTION_TXN_888",
"customer_name": "Ripos Das",
"customer_email": "ripos.das@example.com",
"customer_phone": "9933245842",
"travel_date": "2026-09-15",
"module_type": "ACTIVITY",
"qty": 2,
"availability_id": 588,
"slot_id": 5
}
Expected Response Payload (201 Created):
{
"status": "SUCCESS",
"code": "BOOKING_IMMEDIATELY_SETTLED",
"booking_id": 484,
"booking_ref": "20260628FLX5205",
"request_id": "REQ_ACT_PRODUCTION_TXN_888",
"module_type": "ACTIVITY",
"booking_status": "confirmed",
"payment_status": "paid",
"activity": {
"activity_id": 7,
"activity_name": "Bioluminescence Kayaking at Havelock",
"availability_id": 588,
"travel_date": "2026-09-15",
"slot_id": 5,
"slot_label": "04:00-06:00am",
"qty": 2
},
"pricing": {
"availability_fare_per_person": 1800.00,
"price_source": "activity_availability.base_price",
"commission_type": "FLAT",
"commission_value": 200.00,
"commission_amount_per_person": 200.00,
"net_partner_price_per_person": 1600.00,
"net_partner_total": 3200.00,
"gst_percentage": 12.00,
"gst_amount": 384.00,
"total_payable": 3584.00,
"currency": "INR"
},
"settlement_breakdown": {
"total_debited": 3584.00,
"deducted_from_cash": 3584.00,
"deducted_from_credit": 0.00
}
}
4. Cancellation & Automated Refund Engine
Step 4 β Reversal Verification
4.1 BOAT CANCELLATION
POST https://flexikayak.com/api/cancel_booking.php
{
"request_id": "REQ_LIVE_BOAT_REAL_SYNC_V26",
"booking_ref": "290626FLX5679",
"module_type": "BOAT",
"action": "CONFIRM",
"passenger_ids": [623, 624]
}
Expected Response Payload (200 OK):
{
"status": "SUCCESS",
"code": "BOOKING_CANCELLATION_SETTLED_INSTANTLY",
"refund_reference": "BRF-1BF61D",
"new_booking_status": "Cancelled",
"pricing_summary": {
"net_agent_refund_credited": 3350.00,
"platform_cancellation_charge": 402.00
}
}
4.2 ACTIVITY CANCELLATION
POST https://flexikayak.com/api/cancel_booking.php
{
"request_id": "REQ_ACT_REAL_SYNC_V26",
"booking_ref": "20260628FLX5205",
"module_type": "ACTIVITY",
"action": "CONFIRM",
"qty": 2
}
Expected Response Payload (200 OK):
{
"status": "SUCCESS",
"code": "BOOKING_CANCELLATION_SETTLED_INSTANTLY",
"refund_reference": "REF-60B61A",
"new_booking_status": "Cancelled",
"pricing_summary": {
"net_agent_refund_credited": 1950.00,
"platform_cancellation_charge": 150.00
}
}
6. Real-Time PNR Decoder Status API
Step 6 β Post-Booking Track Check
6.1 BOAT MODULE PASSBOOK STATUS
POST https://flexikayak.com/api/booking_status.php
{
"request_id": "REQ_BOAT_STATUS_AUDIT_2026",
"booking_ref": "290626FLX5679",
"module_type": "BOAT"
}
Expected Response Payload Template (200 OK):
{
"status": "SUCCESS",
"code": "BOOKING_STATUS_DECODED_SUCCESSFULLY",
"data": {
"booking_reference": "290626FLX5679",
"module": "BOAT",
"booking_status": "Confirmed",
"payment_status": "Paid",
"refund_status": "NONE",
"metadata": {
"boat_name": "Ocean Pearl",
"trip_name": "Jolly Bouy / Red Skin Island Trip",
"departure_time": "10:00:00"
},
"financial_breakdown": {
"fare_amount": 3200.00,
"permit_amount": 150.00,
"gst_amount": 402.00,
"total_price": 3752.00
},
"traveler_manifest": [
{
"traveler_name": "John Doe",
"age": 35,
"pax_gender": "MALE",
"passenger_type": "Adult",
"traveler_status": "Confirmed"
}
]
}
}
6.2 ACTIVITY MODULE PASSBOOK STATUS
POST https://flexikayak.com/api/booking_status.php
{
"request_id": "REQ_ACT_STATUS_AUDIT_2026",
"booking_ref": "20260628FLX5205",
"module_type": "ACTIVITY"
}
Expected Response Payload Template (200 OK):
{
"status": "SUCCESS",
"code": "BOOKING_STATUS_DECODED_SUCCESSFULLY",
"data": {
"booking_reference": "20260628FLX5205",
"module": "ACTIVITY",
"booking_status": "confirmed",
"payment_status": "paid",
"refund_status": "NONE",
"metadata": {
"activity_name": "Bioluminescence Kayaking at Havelock",
"travel_date": "2026-07-04",
"slot_label": "04:00-06:00am"
},
"financial_summary": {
"total_paid": 2100.00,
"total_refunded": 0.00,
"balance_amount": 0.00
},
"ledger_reconciliation": {
"journal_status": "SETTLED",
"ledger_journal_entry_id": "TXN-20260628-99A8"
}
}
}