Contents
On this page

Booking Calendar - Plugixa Chauffeur

GET /plugixa-chauffeur/v1/bookings/calendar

One event per booking whose trip overlaps a date range, ready to draw on a calendar.

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/calendar?from=2026-11-01&to=2026-11-30&vehicle_id=3

Query parameters

Name Type Default Description
from string first day of this month First day of the range, YYYY-MM-DD.
to string last day of this month Last day of the range, included, YYYY-MM-DD.
status string One exact booking status.
vehicle_id integer Bookings of this vehicle only.

A booking is included when its trip overlaps the range: it starts before the end of to and ends (its return time, or its pickup time when it has no return) on or after from. A trip that starts before the range and ends after it is included. Bookings without a pickup time are left out. The default month is the current month in UTC. Events are sorted by pickup time. The list is not paged.

Responses

200 OK. data.events is the list.

{
  "success": true,
  "message": "",
  "data": {
    "events": [
      {
        "id": 42,
        "booking_number": "PXC-20261112-0815",
        "status": "processing",
        "vehicle_id": 3,
        "vehicle_name": "Mercedes E-Class",
        "customer_name": "Claire Martin",
        "price_total": 78.5,
        "currency": "EUR",
        "start": "2026-11-20 14:30:00",
        "end": null
      }
    ]
  }
}
Field Type Meaning
data.events[].id integer The booking id
data.events[].start string Pickup time, site local
data.events[].end string|null Return time, or null for a booking without one. Never clipped to the range
data.events[].vehicle_id integer|null The vehicle
data.events[].price_total number The fare

Errors

Status Code When
400 rest_invalid_param vehicle_id is not an integer.

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixa-chauffeur/v1/bookings/calendar?from=2026-11-01&to=2026-11-30&vehicle_id=3" \
  -u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query([
    'from'       => '2026-11-01',
    'to'         => '2026-11-30',
    'vehicle_id' => 3,
]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-chauffeur/v1/bookings/calendar?' . $query);
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 query = new URLSearchParams({ from: '2026-11-01', to: '2026-11-30', vehicle_id: '3' });
const response = await fetch(`https://your-site.example/wp-json/plugixa-chauffeur/v1/bookings/calendar?${query}`, {
  headers: {
    'Authorization': `Basic ${auth}`,
  },
});
const { data } = await response.json();

Quick Links

Share