Contents
On this page
Get Booking Form - Plugixa Car Wash
GET /plugixa-carwash/v1/public/forms/{id}
Read everything a booking form offers: its locations, vehicle types, packages and extras with their price and time for every vehicle type, the payment methods and whether it takes codes. This is what a headless booking front end starts from.
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/forms/1
Path parameters
| Name | Type | Description |
|---|---|---|
id |
integer |
The booking form’s id |
Responses
200 OK. data is the form’s catalogue.
{
"success": true,
"data": {
"form": {
"id": 1,
"layout": "multi",
"display": "packages_addons",
"primary_color": "#0EA5E9",
"show_summary": true,
"auto_scroll": true,
"fields": [
{
"key": "first_name",
"enabled": true,
"required": true
},
{
"key": "email",
"enabled": true,
"required": true
}
],
"agreements": [
{
"text": "I accept the terms of service.",
"required": true
}
],
"success_message": ""
},
"locations": [
{
"id": 3,
"name": "Riverside",
"address": "48 River Street, Springfield",
"mode": "stationary",
"window_days": 30,
"currency": "USD"
}
],
"vehicle_types": [
{
"id": 1,
"name": "Car",
"description": "",
"icon": "sedan",
"image_url": null
},
{
"id": 2,
"name": "SUV",
"description": "",
"icon": "suv",
"image_url": null
}
],
"packages": [
{
"id": 4,
"name": "Deluxe",
"tagline": "Inside and out",
"description": "",
"badge": "Most popular",
"color": "#F59E0B",
"featured": true,
"image_url": null,
"included": [
"Hand wash",
"Interior vacuum"
],
"addons": [],
"prices": {
"0": {
"price": 39.0,
"duration": 45,
"available": true
},
"1": {
"price": 39.0,
"duration": 45,
"available": true
},
"2": {
"price": 49.0,
"duration": 60,
"available": true
}
}
}
],
"services": [
{
"id": 7,
"name": "Tyre shine",
"description": "",
"image_url": null,
"prices": {
"0": {
"price": 8.0,
"duration": 10,
"available": true
},
"1": {
"price": 8.0,
"duration": 10,
"available": true
},
"2": {
"price": 10.0,
"duration": 15,
"available": true
}
}
}
],
"payment_methods": [
{
"id": "cash",
"label": "Pay at the wash",
"description": "Pay by card or cash when you arrive.",
"online": false
}
],
"coupons": true
}
}
| Field | Type | Meaning |
|---|---|---|
data.form |
object |
The form’s settings. fields holds only the enabled customer fields |
data.locations[] |
object |
id, name, address, mode, window_days and currency |
data.vehicle_types[] |
object |
id, name, description, icon, image_url |
data.packages[].included |
array |
Names of the services on its checklist |
data.packages[].addons |
array |
Service ids allowed with it. Empty allows every listed extra |
data.packages[].prices |
object |
Keyed by vehicle type id, "0" meaning no vehicle chosen: price, duration and available for that vehicle |
data.services[] |
object |
The extras (add-ons), or every published service on a services form, with prices as for packages |
data.payment_methods[] |
object |
The enabled methods: id, label, description, online |
data.coupons |
boolean |
Whether a code field is worth showing: a published coupon exists, or with Pro a usable gift card |
Only published items are listed, narrowed to the ones the form is limited to. When the form offers exactly one location, prices take that location’s per-vehicle rules into account. Pro apps can add keys to this answer.
Errors
| Status | Code | When |
|---|---|---|
404 |
plugixa_carwash_form_not_found |
No such form, or it is not published. |
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/forms/1"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-carwash/v1/public/forms/1');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const response = await fetch('https://your-site.example/wp-json/plugixa-carwash/v1/public/forms/1');
const { data } = await response.json();
Quick Links
Share