Contents
On this page

Get Booking - Plugixa Chauffeur

GET /plugixa-chauffeur/v1/bookings/{id}

Read one booking, with the names of its vehicle and driver.

Needs a signed-in user with the plugixa_chauffeur_manage capability (administrators have it after activation).

Request

GET https://your-site.example/wp-json/plugixa-chauffeur/v1/bookings/42

Path parameters

Name Type Description
id integer The booking’s id

Responses

200 OK. data is the booking.

{
  "success": true,
  "message": "",
  "data": {
    "id": "42",
    "booking_number": "PXC-20261112-0815",
    "booking_form_id": 1,
    "service_type": "distance",
    "transfer_type": "one_way",
    "status": "processing",
    "vehicle_id": 3,
    "driver_id": 2,
    "pickup_address": "Paris Charles de Gaulle Airport, Terminal 2E",
    "pickup_lat": null,
    "pickup_lng": null,
    "dropoff_address": "Hotel Lutetia, 45 Boulevard Raspail, Paris",
    "dropoff_lat": null,
    "dropoff_lng": null,
    "pickup_datetime": "2026-11-20 14:30:00",
    "return_datetime": null,
    "duration_hours": null,
    "distance_km": 32.5,
    "travel_minutes": null,
    "passengers": 2,
    "luggage": 3,
    "customer_name": "Claire Martin",
    "customer_email": "claire.martin@example.com",
    "customer_phone": "+33 6 12 34 56 78",
    "notes": "Flight AF1234, arriving 14:05.",
    "price_base": 20.0,
    "price_distance": 58.5,
    "price_time": 0.0,
    "price_total": 78.5,
    "currency": "EUR",
    "payment_method": "stripe",
    "payment_status": "paid",
    "payment_reference": "pi_3QaBcD2eZvKYlo2C1x9yAbCd",
    "created_at": "2026-11-12 09:30:00",
    "modified_at": "2026-11-12 09:34:10",
    "vehicle_name": "Mercedes E-Class",
    "driver_name": "Thomas Leroy"
  }
}
Field Type Meaning
data.id string The booking id, as a string
data.booking_number string PXC- + the creation date + 4 random digits, unique
data.status string pending, processing, completed, cancelled, on_hold, refunded or failed
data.service_type string distance, hourly, or flat with Pro
data.transfer_type string one_way or return
data.vehicle_id integer|null The vehicle, null when none
data.driver_id integer|null The driver PRO, null when none
data.pickup_datetime string|null Site local time, YYYY-MM-DD HH:MM:SS
data.distance_km number|null Trip distance, for distance bookings
data.duration_hours number|null Hours booked, for hourly bookings
data.price_base number Base fare
data.price_distance number Distance part of the fare
data.price_time number Time part of the fare
data.price_total number What the customer pays. Can differ from the sum of the three parts when a pricing rule or a flat rate set it
data.payment_status string unpaid, pending, paid, failed, partially_refunded, refunded or disputed
data.payment_reference string|null The Stripe PaymentIntent (pi_...) of a card payment, used for refunds
data.created_at string Site local time
data.vehicle_name string|null The vehicle’s name, joined in
data.driver_name string|null The driver’s name, joined in

Ids and the columns this endpoint does not convert come back as strings, exactly as the database returns them: compare them as strings or convert them.

Errors

Status Code When
404 rest_error No booking with that id.

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixa-chauffeur/v1/bookings/42" \
  -u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-chauffeur/v1/bookings/42');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_USERPWD        => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const auth = Buffer.from(`admin:${process.env.WP_APP_PASSWORD}`).toString('base64');
const response = await fetch('https://your-site.example/wp-json/plugixa-chauffeur/v1/bookings/42', {
  headers: {
    'Authorization': `Basic ${auth}`,
  },
});
const { data } = await response.json();

Quick Links

Share