Contents
On this page

Get Booking - Plugixa Car Wash

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

Read one booking, with its priced lines, its status history, the statuses it can move to, its payments and its local date and time.

Needs the plugixa_carwash_view capability.

Request

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

Path parameters

Name Type Description
id integer The booking’s id

Responses

200 OK. data is the booking.

{
  "success": true,
  "data": {
    "id": 42,
    "number": "CW2026-0042",
    "form_id": null,
    "location_id": 3,
    "resource_id": 5,
    "customer_id": 25,
    "customer_vehicle_id": 31,
    "vehicle_type_id": 2,
    "package_id": 4,
    "start_at": "2026-11-14 15:00:00",
    "end_at": "2026-11-14 16:00:00",
    "blocked_until": "2026-11-14 16:10:00",
    "duration": 60,
    "status": "confirmed",
    "hold_expires_at": null,
    "first_name": "Lucas",
    "last_name": "Bernard",
    "email": "lucas@example.com",
    "phone": "+1 217 555 0199",
    "company": "",
    "vehicle_make": "Toyota RAV4",
    "vehicle_plate": "ABC1234",
    "address": "",
    "message": "",
    "agreements": [],
    "currency": "USD",
    "subtotal": 49.0,
    "discount": 0.0,
    "coupon_code": "",
    "tax": 3.06,
    "total": 52.06,
    "payment_method": "cash",
    "payment_status": "unpaid",
    "source": "staff",
    "page_url": "",
    "staff_notes": "Regular customer",
    "created_by": 1,
    "modified_by": 1,
    "created_at": "2026-11-12 09:30:00",
    "modified_at": "2026-11-12 09:30:00",
    "deleted_at": null,
    "items": [
      {
        "role": "package",
        "item_id": 4,
        "name": "Deluxe",
        "price": 49.0,
        "duration": 60
      }
    ],
    "events": [
      {
        "from": "",
        "to": "confirmed",
        "note": "Booked by staff",
        "user_id": 1,
        "created_at": "2026-11-12 09:30:00"
      }
    ],
    "next": [
      "in_progress",
      "completed",
      "cancelled",
      "no_show"
    ],
    "location": {
      "id": 3,
      "name": "Riverside"
    },
    "local_date": "2026-11-14",
    "local_time": "09:00",
    "resource": {
      "id": 5,
      "name": "Bay 1",
      "color": "#0EA5E9"
    },
    "payments": []
  }
}
Field Type Meaning
data.id integer The booking’s id
data.number string The booking reference, CW + year + id, for example CW2026-0042
data.location_id integer The location
data.resource_id integer|null The bay or mobile team it is booked on
data.customer_id integer|null The customer record it belongs to
data.vehicle_type_id integer|null The vehicle type chosen
data.package_id integer|null The package chosen, null for services only
data.start_at string UTC datetime the wash starts
data.end_at string UTC datetime the wash ends
data.blocked_until string UTC datetime the bay is free again: end_at plus the location’s buffer
data.duration integer Minutes
data.status string hold, pending, confirmed, in_progress, completed, cancelled or no_show
data.hold_expires_at string|null For a hold (waiting for an online payment): when it is cancelled if still unpaid
data.agreements array The booking form’s agreements as {text, accepted}. Empty for a staff booking
data.subtotal number Sum of the lines, discounts included
data.discount number Total of the discount lines
data.coupon_code string The coupon used, or empty
data.tax number Tax, at the location’s rate
data.total number What the booking costs
data.payment_status string unpaid, paid, partially_paid or refunded
data.source string online or staff
data.staff_notes string|null Internal notes, never shown to the customer
data.modified_at string UTC datetime of the last change
data.items array The priced lines: role (package, addon, service, fee or discount), item_id, name, price, duration
data.events array Every status change: from, to, note, user_id, created_at
data.next array The statuses it can move to from here
data.location object|null id and name
data.local_date string The start date in the location’s time zone, Y-m-d
data.local_time string The start time in the location’s time zone, H:i
data.resource object|null The bay or team: id, name, color
data.payments array Payments and refunds recorded against it. See List Booking Payments

The customer’s private token (the one in their confirmation link) is never part of a staff answer.

Errors

Status Code When
404 plugixa_carwash_not_found No booking with that id, or it is in the trash.

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixa-carwash/v1/bookings/42" \
  -u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-carwash/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-carwash/v1/bookings/42', {
  headers: {
    'Authorization': `Basic ${auth}`,
  },
});
const { data } = await response.json();

Quick Links

Share