This is the documentation for the Twelve Transfers Centralized API, which provides a unified interface for all booking systems to communicate with the CTLF backend API.
Checks the health status of the API and its dependencies.
{ "success": true, "timestamp": "2025-05-21T19:01:23.655Z", "services": { "api": "online", "ctlf": "online" }, "system": { "hostname": "api.fgtwelve.ltd", "platform": "linux", "uptime": 6.384210574, "memory": { "total": "48191MB", "free": "39837MB", "used": "8354MB" } } }
Returns a list of all available vehicle types.
{ "success": true, "count": 8, "vehicles": [ { "id": 1, "name": "Business", "description": "Cadillac XTS or similar", "capacity": { "passengers": 3, "luggage": 3 }, "image": "https://us1.ctlf.co.uk/upload/vehicleType/1/VEHICLE_TYPE_IMAGE_2019-05-06.jpeg", "isActive": true }, // Additional vehicles... ] }
Calculates quotes for all available vehicle types for a given journey.
{ "pickup": { "address": "Miami International Airport, Miami, FL", "latitude": 25.7951775, "longitude": -80.2785964 }, "dropoff": { "address": "South Beach, Miami Beach, FL", "latitude": 25.7825453, "longitude": -80.1341489 }, "date": "15/06/2025", "time": "14:30", "passengers": 2, "luggage": 2 }
Calculates a price quote for a specific vehicle type.
{ "pickup": { "address": "Miami International Airport, Miami, FL", "latitude": 25.7951775, "longitude": -80.2785964 }, "dropoff": { "address": "South Beach, Miami Beach, FL", "latitude": 25.7825453, "longitude": -80.1341489 }, "datetime": "2025-06-15T14:30:00", "passengers": 2, "luggage": 2, "vehicleType": "1", "isReturn": false }
You can test the API using our interactive test page:
// Get all vehicles async function getVehicles() { const response = await fetch('https://fgtwelve.ltd/api/vehicles.php'); return response.json(); } // Calculate quote for a journey async function calculateQuote(journey) { const response = await fetch('https://fgtwelve.ltd/api/calculate-price.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(journey) }); return response.json(); }
// Get all vehicles function getVehicles() { $ch = curl_init('https://fgtwelve.ltd/api/vehicles.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true); } // Calculate quote for a journey function calculateQuote($journey) { $ch = curl_init('https://fgtwelve.ltd/api/calculate-price.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($journey)); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true); }
For complete API documentation, refer to: