Contents
On this page

List Locations - Plugixa Car Parking

GET /plugixa-car-parking/v1/locations

List locations, one page at a time.

The user needs the plugixa_carparking_view capability.

Request

GET https://your-site.example/wp-json/plugixa-car-parking/v1/locations?status__in=active&orderby=name&order=asc

Query parameters

Takes the list parameters every paged list accepts. search matches the name, city, first address line and postcode. orderby accepts id, name, status, city, display_order, created_at and modified_at.

The list can also be filtered on these fields:

Field Type Values
status select active, inactive
default_billing_type select minute, hour, day, week, month
city text Free text
country text Free text
created_at date A date or datetime
modified_at date A date or datetime

Responses

200 OK. data is one page of locations.

{
  "success": true,
  "data": [
    {
      "id": 4,
      "language_code": null,
      "translation_group": null,
      "name": "Airport P2",
      "slug": "airport-p2",
      "description": "<p>Covered parking five minutes from Terminal 2.</p>",
      "status": "active",
      "inventory_mode": "capacity",
      "default_billing_type": "day",
      "currency": "EUR",
      "timezone": "Europe/Paris",
      "address_line1": "12 Rue de l'Aviation",
      "address_line2": null,
      "city": "Lyon",
      "state": null,
      "postcode": "69125",
      "country": "FR",
      "latitude": 45.7256,
      "longitude": 5.0811,
      "phone": "+33 4 72 00 00 00",
      "email": "p2@example.com",
      "image_id": 88,
      "gallery": [88, 91],
      "settings": {
        "deposit_enable": true,
        "deposit_percentage": 20
      },
      "display_order": 0,
      "created_by": 1,
      "modified_by": 1,
      "created_at": "2026-11-12 09:30:00",
      "updated_at": null,
      "modified_at": "2026-11-12 09:30:00",
      "deleted_at": null,
      "space_type_count": 2,
      "forms": [
        {
          "id": 1,
          "name": "Default booking form",
          "status": "active",
          "all_locations": true
        }
      ],
      "image_url": "https://your-site.example/wp-content/uploads/2026/11/airport-p2-300x200.jpg"
    }
  ],
  "meta": {
    "total": 3,
    "pages": 1
  }
}
Field Type Meaning
data[].id integer The location’s id
data[].name string Display name
data[].slug string Unique among all locations, trashed ones included
data[].status string active or inactive
data[].inventory_mode string capacity, or assigned PRO
data[].default_billing_type string minute, hour, day, week or month
data[].currency string|null The location’s own currency code. When empty, prices use the site currency
data[].latitude, data[].longitude number|null Map position
data[].image_id integer|null Media library attachment id
data[].gallery integer[]|null Attachment ids
data[].settings object|null Per-location options read by modules
data[].created_at, data[].modified_at string UTC datetime
data[].deleted_at string|null null unless the location is in the trash
data[].space_type_count integer How many space types have an active space here
data[].forms object[] The booking forms that offer this location: id, name, status, and all_locations (true when the form offers every location)
data[].image_url string|null URL of the image at medium size, null without an image
meta.total integer Locations matching the search and filters, before paging
meta.pages integer Number of pages at this per_page

Errors

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixa-car-parking/v1/locations?status__in=active&orderby=name&order=asc" \
  -u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query([
    'status__in' => 'active',
    'orderby'    => 'name',
    'order'      => 'asc',
]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-car-parking/v1/locations?' . $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 query = new URLSearchParams({
  status__in: 'active',
  orderby: 'name',
  order: 'asc',
});
const response = await fetch(`https://your-site.example/wp-json/plugixa-car-parking/v1/locations?${query}`, {
  headers: {
    'Authorization': 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`),
  },
});
const { data, meta } = await response.json();

Quick Links

Share