For WorldWide Transfers Click here
REST API

Fleet API

Integrate your fleet operations with a Bearer token — manage bookings, assign drivers, and sync status updates programmatically. No email or password login required.

Base URL https://www.transfersvalencia.com/api/driver
Bearer token Bearer token

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:

Headers
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
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

Bearer
3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716

Example request

curl
curl -H 'Accept: application/json' \
     -H 'Authorization: Bearer 3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716' \
     'https://www.transfersvalencia.com/api/driver/bookings?status=assigned'
POST /api/driver/login

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.
GET /api/driver/bookings

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

GET
https://www.transfersvalencia.com/api/driver/bookings?status=assigned&from_date=2026-04-11&per_page=50

Response 200

JSON
{
  "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.
GET /api/driver/bookings/{id}

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.
PATCH /api/driver/bookings/{id}/status

Update booking status

Request

JSON body
{
  "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

JSON
{
  "success": true,
  "data": { "id": 9876, "status": "accepted" }
}
GET /api/driver/fleet/drivers

List fleet's own drivers

Response

JSON
{
  "success": true,
  "data": [
    { "id": 55, "name": "Juan Perez", "email": "juan@example.com" }
  ]
}
PATCH /api/driver/fleet/bookings/{id}/assign-driver

Assign a driver to a booking

Request

JSON body
{
  "driver_id": 55,
  "commission": 10.00,
  "fleet_commission": 5.00
}

Response

JSON
{
  "success": true,
  "message": "Driver assigned.",
  "data": {
    "id": 9876,
    "driver_id": 55,
    "driver_name": "Juan Perez",
    "commission": 10.00,
    "fleet_commission": 5.00
  }
}
POST /api/driver/logout

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.

JSON
{ "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