Contents
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