/api/agent-access/search-schedule/v3Search for available Giligetaway boat schedules and sub-schedules between two destinations on a given date. Supports filtering by seat availability and requires API key authentication for registered agents.
https://gili-server.my.idAgent ID + API Key
JSON
| Parameter | Type | Required | Description |
|---|---|---|---|
| from | number | Required | Origin port ID. Example: 8 (Serangan, Bali) |
| to | number | Required | Destination port ID. Example: 2 (Gili Trawangan) |
| date | string | Required | Travel date in YYYY-M-D format. Example: 2025-9-1 |
| passengers_total | number | Optional | Number of passengers. Filters schedules with sufficient available seats |
| agent_id | number | Required | Agent identifier. Required for API key validation |
| api_key | string | Required | API key assigned to the agent |
This endpoint requires validation of agent_id and api_key.
{
"success": false,
"message": "Invalid API key"
}{
"status": "success",
"data": {
"schedules": [
{
"id": 108,
"subschedule_id": 108,
"from": "Serangan, Bali",
"to": "Gili Trawangan",
"price": "825000.00",
"departure_time": "09:00:00",
"check_in_time": "08:15:00",
"arrival_time": "11:15:00",
"boat": {
"id": 1,
"name": "Giligetaway 2",
"capacity": 40,
"image": "https://...",
"seat_layout": {
"inside_seats": [...],
"outside_seats": [...],
"rooftop_seats": [...]
}
},
"seatAvailability": {
"bookedSeatNumbers": ["B1", "B2", "C1", "G1"]
},
"route_timeline": [...],
"route_description": "Serangan → Gili Trawangan",
"route_summary": "Direct route",
"stops_count": 0
}
],
"passenger_count_requested": 2
}
}{
"status": "success",
"message": "No schedules available for 2 passengers. All selected schedules are full.",
"data": {
"schedules": [],
"passenger_count_requested": 2,
"seats_availability_issue": true
}
}{
"success": false,
"message": "agent_id and api_key are required"
}capacity depends on the boost flag:
boost = false: use public_capacityboost = true: use full capacitySchedules are filtered by validity_start and validity_end. Schedules with validity_end on the request date are excluded.
bookedSeatNumbers are returned for frontend reference but exclude unnecessary fields like id, availability, and boost for cleaner response.