Contents
On this page

Booking Report - Plugixa Chauffeur

GET /plugixa-chauffeur/v1/reports/summary

Totals, breakdowns, a daily series and the booking rows for bookings created in a date range.

Needs Plugixa Chauffeur Pro with an active licence. Needs a signed-in user with the plugixa_chauffeur_manage capability (administrators have it after activation).

Note. revenue adds up price_total of every booking in the range, cancelled, failed and refunded ones included, and mixes currencies when your forms use more than one. paid_revenue counts only bookings whose payment status is paid, so partly refunded bookings are left out of it.

Request

GET https://your-site.example/wp-json/plugixa-chauffeur/v1/reports/summary?from=2026-10-01&to=2026-10-31

Query parameters

Name Type Default Description
from string 30 days ago First creation date, YYYY-MM-DD, included.
to string today Last creation date, YYYY-MM-DD, included.

A value not in the form YYYY-MM-DD falls back to the default. The range is on the booking’s creation date, not its pickup date.

Responses

200 OK. data is the report.

{
  "success": true,
  "message": "",
  "data": {
    "from": "2026-10-01",
    "to": "2026-10-31",
    "currency": "EUR",
    "total_bookings": 2,
    "revenue": 213.5,
    "paid_revenue": 78.5,
    "avg_value": 106.75,
    "by_status": {
      "completed": 1,
      "pending": 1
    },
    "by_service": [
      {
        "service": "distance",
        "count": 1,
        "revenue": 78.5
      },
      {
        "service": "hourly",
        "count": 1,
        "revenue": 135.0
      }
    ],
    "by_vehicle": [
      {
        "name": "Mercedes V-Class",
        "count": 1,
        "revenue": 135.0
      },
      {
        "name": "Mercedes E-Class",
        "count": 1,
        "revenue": 78.5
      }
    ],
    "daily": [
      {
        "date": "2026-10-04",
        "count": 1,
        "revenue": 78.5
      },
      {
        "date": "2026-10-18",
        "count": 1,
        "revenue": 135.0
      }
    ],
    "rows": [
      {
        "booking_number": "PXC-20261018-4471",
        "created_at": "2026-10-18 17:02:00",
        "customer_name": "Hugo Bernard",
        "customer_email": "hugo.bernard@example.com",
        "service_type": "hourly",
        "status": "pending",
        "payment_status": "unpaid",
        "price_total": 135.0,
        "currency": "EUR"
      },
      {
        "booking_number": "PXC-20261004-0815",
        "created_at": "2026-10-04 09:30:00",
        "customer_name": "Claire Martin",
        "customer_email": "claire.martin@example.com",
        "service_type": "distance",
        "status": "completed",
        "payment_status": "paid",
        "price_total": 78.5,
        "currency": "EUR"
      }
    ]
  }
}
Field Type Meaning
data.currency string The site currency from Settings, for display
data.total_bookings integer Bookings created in the range
data.revenue number Sum of price_total, every status
data.paid_revenue number The same, for bookings whose payment status is paid
data.avg_value number revenue divided by total_bookings
data.by_status object Bookings per status
data.by_vehicle array Top 10 vehicles by revenue. Bookings without a vehicle are grouped under a dash
data.daily array One entry per day that has bookings; days without any are absent
data.rows array Up to 1,000 bookings, newest first, with the customer’s name and e-mail

Errors

Plus the errors every endpoint can return.

Examples

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

Quick Links

Share