Getting started
Authenticate every request with the Fleet API Bearer token we issue for your fleet. Do not use email and password. Include these headers on every call:
Accept: application/json
Content-Type: application/json
Authorization: Bearer 3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716
Authentication — Bearer token
Your 7Transfers contact issues a long-lived Bearer token for your fleet. Store it securely on your server and send it on every request as Authorization: Bearer {token}. There is no login step and no password for API access. If a token is lost or rotated, ask us for a new one.
Fleet API integrations must not call /api/driver/login and must not send email or password. Use only the Bearer token.
Example request
curl -H 'Accept: application/json' \
-H 'Authorization: Bearer 3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716' \
'https://www.transfersvalencia.com/api/driver/bookings?status=assigned'
Sandbox — try the API
Use this public sandbox Bearer token to explore the Fleet API. It always has 20 demo bookings in status assigned (ref numbers FAPISB-01 and up). Accepting or cancelling them is fine — they are reset automatically every hour.
Sandbox data belongs to the Fleet API Sandbox fleet only. Production partners receive their own private Bearer token; bookings for a partner are always assigned to that partner fleet.
Sandbox Bearer token
3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716
Example request
curl -H 'Accept: application/json' \
-H 'Authorization: Bearer 3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716' \
'https://www.transfersvalencia.com/api/driver/bookings?status=assigned'
App login — not used by Fleet API integrations
This endpoint is only for the native driver/fleet mobile app (email, password and 2FA). Server integrations must ignore it and use the Bearer token above.
Fleet API integrations must not call /api/driver/login and must not send email or password. Use only the Bearer token.
List bookings assigned to the fleet
Query parameters optional
statusall or assigned, accepted, onroute, arrived, onboard, completed, canceled, noshow, rejected, market
from_dateYYYY-MM-DD
to_dateYYYY-MM-DD
per_page1–100 (default 20)
Example
https://www.transfersvalencia.com/api/driver/bookings?status=assigned&from_date=2026-04-11&per_page=50
Response 200
{
"success": true,
"data": [
{
"id": 9876,
"ref_number": "T2S-12345",
"status": "assigned",
"status_label": "Assigned",
"date": "2026-04-15 10:30:00",
"from_address": "Malaga Airport (AGP)",
"to_address": "Hotel Marbella Club",
"passengers": 3,
"vehicle_list": "Business Van",
"luggage": 4,
"hand_luggage": 3,
"assigned_driver": null,
"commission": 0,
"flight_number": "FR1234",
"meet_and_greet": true,
"coordinate_start_lat": 36.6749,
"coordinate_start_lon": -4.4991,
"coordinate_end_lat": 36.5098,
"coordinate_end_lon": -4.8826
}
],
"meta": {
"current_page": 1,
"last_page": 3,
"per_page": 20,
"total": 47
}
}
Cancellations are not pushed to your system. Include status=canceled (or use status=all) in your polling to detect bookings cancelled by the office, and remove them on your side.
Booking details
Returns the full booking: passenger, contact, addresses, coordinates, status history, action buttons, extras (child seats, wheelchair, waiting time, etc.) and attached files.
Passenger phone numbers (contact_mobile, lead_passenger_mobile) are only returned by this endpoint — never in the bookings list — and only while the booking is in an active state (accepted, onroute, arrived, onboard). While the booking is still assigned, or after it is completed or cancelled, the phone fields are returned as null. Accept the booking first, then fetch the details to get the phone number.
Update booking status
Request
{
"status": "accepted",
"status_notes": "Optional note"
}
Valid status values:
accepted, rejected, onroute, arrived, onboard, noshow, completed, canceled
status_notes is required when status is rejected.
- Statuses
onroute, arrived, onboard, noshow, completed require a recent driver GPS location (within 5 minutes). For office-side integration, use accepted, rejected, or canceled.
Once a booking has been cancelled by the office it can no longer be re-activated: any attempt to change its status (e.g. to accepted) returns a 422 error. Always re-check the current status before accepting bookings queued from an earlier poll.
Response 200
{
"success": true,
"data": { "id": 9876, "status": "accepted" }
}
List fleet's own drivers
Response
{
"success": true,
"data": [
{ "id": 55, "name": "Juan Perez", "email": "juan@example.com" }
]
}
Assign a driver to a booking
Request
{
"driver_id": 55,
"commission": 10.00,
"fleet_commission": 5.00
}
Response
{
"success": true,
"message": "Driver assigned.",
"data": {
"id": 9876,
"driver_id": 55,
"driver_name": "Juan Perez",
"commission": 10.00,
"fleet_commission": 5.00
}
}
Logout
Revokes the current Bearer token. Service tokens issued by 7Transfers should not be logged out in normal operation; ask us to revoke a token if you need to rotate credentials.
Error format
All errors return JSON with a human-readable message.
{ "success": false, "message": "Human-readable message" }
401 Missing, invalid or revoked Bearer token
403 Not a fleet user / booking not owned by fleet
404 Booking not found
422 Validation error or invalid state transition