Contents
On this page
List Customer Bookings - Plugixa Car Wash
GET /plugixa-carwash/v1/customers/{id}/bookings
List a customer’s bookings, latest first, up to 100. Trashed bookings are left out.
Needs the plugixa_carwash_view capability.
Note. The customer is not looked up first: an id that does not exist, or a customer in the trash, answers
200with whatever bookings still carry that id.
Request
GET https://your-site.example/wp-json/plugixa-carwash/v1/customers/25/bookings
Path parameters
| Name | Type | Description |
|---|---|---|
id |
integer |
The customer’s id |
Responses
200 OK. data is the list.
{
"success": true,
"data": [
{
"id": 42,
"number": "CW2026-0042",
"start_at": "2026-11-14 15:00:00",
"status": "confirmed",
"total": 52.06,
"currency": "USD",
"package": "Deluxe"
}
]
}
| Field | Type | Meaning |
|---|---|---|
data[].id |
integer |
The booking’s id |
data[].number |
string |
Its reference |
data[].start_at |
string |
UTC start |
data[].status |
string |
Its status |
data[].total |
number |
Its total |
data[].currency |
string |
Its currency |
data[].package |
string |
The package name, empty for services only |
Errors
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-carwash/v1/customers/25/bookings" \
-u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-carwash/v1/customers/25/bookings');
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-carwash/v1/customers/25/bookings', {
headers: {
'Authorization': `Basic ${auth}`,
},
});
const { data } = await response.json();
Quick Links
Share