Get detailed seat layouts and floor plans for buses and trains to display visual seat maps.
Endpoint:https://test-api.bussystem.eu/server/curl/get_plan.php Method: POST Type: Optional function
Description
This function provides detailed seat layout information for creating visual seat selection interfaces. The layout data includes seat positions, floor arrangements, and special icons for amenities.
Parameters
Authentication
Parameter
Type
Required
Description
login
string
✓
Your API login
password
string
✓
Your API password
session
string
Your session (recommended for additional routes)
Vehicle Information
Parameter
Type
Required
Description
bustype_id
string
For buses
Bus type ID from get_routes or get_free_seats (must be > 1)
// Combine plan with availability datafunctionmarkAvailableSeats($plan,$availableSeats){$availabilityMap=[];foreach($availableSeatsas$seat){$availabilityMap[$seat['seat_number']]=$seat['seat_free']==='1';}// Mark seats as available/occupied based on availabilityMapreturn$availabilityMap;}
Error Responses
Dealer Not Active
{"error":"dealer_no_activ","detal":"Dealer not active"}
Seats Not Found
{"error":"no_found"}
Integration Notes
Version Differences
v2.0 (Recommended): Structured floors for better multi-level support
v1.1 (Legacy): Simple row structure with empty rows separating floors
Caching Strategy
Use plan_type as cache key for layout data
Plans are typically static and can be cached long-term
Combine cached plans with dynamic availability data
Responsive Design
position parameter affects layout orientation
Choose h (horizontal) or v (vertical) based on display constraints
Consider device orientation and screen size
Accessibility
Provide alternative text for seat selection
Ensure keyboard navigation support
Include seat type information from get_free_seats
This endpoint enables creation of interactive, visual seat selection interfaces that significantly improve the user booking experience.