Contents
On this page

Get Available Days - Plugixa Car Wash

GET /plugixa-carwash/v1/public/calendar

Say, for each day in a range, whether the chosen wash fits at least once. The booking form uses it to grey out full days.

Open to anyone: no sign-in. Rate-limited per visitor address to 600 requests an hour, shared by every public read route (bucket carwash_read). See Public routes.

Request

GET https://your-site.example/wp-json/plugixa-carwash/v1/public/calendar?form_id=1&location_id=3&vehicle_type_id=2&package_id=4&from=2026-11-14&days=31

Query parameters

Name Type Default Description
form_id integer Required. A published booking form.
location_id integer One of the form’s locations.
vehicle_type_id integer One of the form’s vehicle types. Required as soon as one vehicle type is published.
package_id integer One of the form’s packages. Required unless the form’s display is services.
service_ids string Comma-separated service ids: add-ons allowed with the package, or any published service on a services form. A packages form takes none.
from string today First day, Y-m-d. Today in the location’s time zone when left out.
days integer 31 How many days, 1 to 62.

A day counts when one start time on it is free. Days outside the booking window, closed days and past days are false.

Responses

200 OK.

{
  "success": true,
  "data": {
    "duration": 60,
    "days": {
      "2026-11-14": true,
      "2026-11-15": false,
      "2026-11-16": true
    }
  }
}
Field Type Meaning
data.duration integer Minutes the wash takes
data.days object Y-m-d to true or false

A from that is not a date answers an empty days ([]) rather than an error.

Errors

Status Code When
404 plugixa_carwash_form_not_found form_id is missing, or the form does not exist or is not published: “This booking form is not available.”
422 plugixa_carwash_not_offered The location, vehicle type, package or an extra is not one this form offers, or it is not published. The message says which, for example “Choose your vehicle type.” or “One of the chosen extras is not available with this package.”
422 plugixa_carwash_nothing_chosen Neither a package nor a service.
422 plugixa_carwash_not_for_vehicle The package or a service is switched off for this vehicle type.
429 plugixa_carwash_rate_limited This address has used up its requests for the hour.

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixa-carwash/v1/public/calendar?form_id=1&location_id=3&vehicle_type_id=2&package_id=4&from=2026-11-14&days=31"
<?php
$query = http_build_query([
    'form_id'         => 1,
    'location_id'     => 3,
    'vehicle_type_id' => 2,
    'package_id'      => 4,
    'from'            => '2026-11-14',
    'days'            => 31,
]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-carwash/v1/public/calendar?' . $query);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const query = new URLSearchParams({
  form_id: '1',
  location_id: '3',
  vehicle_type_id: '2',
  package_id: '4',
  from: '2026-11-14',
  days: '31',
});
const response = await fetch(`https://your-site.example/wp-json/plugixa-carwash/v1/public/calendar?${query}`);
const { data } = await response.json();

Quick Links

Share