Next Restaurant 6.1.0: move your data in, run payroll, and connect other systems Next Inventory 6.2.0: a REST API and webhooks for your other systems Next DB 6.1: Auto-Updating Tables, Printing, Phone Layout and SEO Next Task 6.0.0: a task manager for Joomla Next Inventory 6.1.1: smoother Check Out, no more list limits, and much faster PHP2Shell: Is Your Joomla Site Safe? What to Do Today Introducing Next Boards: Kanban project and task boards for Joomla Building the Future of Joomla Extensions
NextSoftware

Get Availability

GET /v1/nextrestaurant/locations/{locationId}/availability

Bookable reservation slots for a day

Needs reservations:read and the Reservations app. The same slots the storefront's booking form offers: opening hours, lead time, closures and remaining seats for the party size. time is the venue's wall clock.

Request

GET https://your-site.example/api/index.php/v1/nextrestaurant/locations/{locationId}/availability?date=2026-12-24&party_size=<integer>

Parameters

Name Type In Required Description
locationId integer path Yes (min 1)
date string query Yes The venue's calendar day. (date)
party_size integer query No (min 1, max 100) Defaults to 2.

Responses

200 — The day's slots.

{
    "data": {
        "date": "2026-01-01",
        "location_id": 1,
        "open": true,
        "capacity": 1,
        "message": "string",
        "slots": [
            {
                "time": "19:30",
                "available": true,
                "remaining": 1
            }
        ]
    }
}
Field Type Meaning
data.date string (date)
data.location_id integer
data.open boolean false when the venue is closed that day.
data.capacity integer
data.message string
data.slots[].time string Venue wall clock, HH:MM.
data.slots[].available boolean
data.slots[].remaining integer Seats left at that time.

Errors

Status Code When
401 INVALID_TOKEN The token is missing, wrong, or none has been generated.
403 INSUFFICIENT_SCOPE This API key does not have the permission this request needs.
403 MODULE_DISABLED This module is disabled.
403 API_DISABLED API is disabled
404 UNKNOWN_LOCATION No such published location.
422 VALIDATION_FAILED One error per invalid field, each with source.pointer.
429 RATE_LIMITED Too many requests. RATE_LIMITED with a Retry-After header: this key used its budget for the minute, or this address sent 20 bad tokens in 5 minutes. Nothing ran, so the request is safe to retry after the wait.

Examples

curl

curl -s "https://your-site.example/api/index.php/v1/nextrestaurant/locations/1/availability?date=2026-12-24" \
  -H "Authorization: Bearer $API_TOKEN"

PHP

<?php
$ch = curl_init('https://your-site.example/api/index.php/v1/nextrestaurant/locations/1/availability?date=2026-12-24&party_size=<integer>');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . getenv('API_TOKEN'),
    ],
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);

JavaScript

const API_TOKEN = process.env.API_TOKEN;

const response = await fetch("https://your-site.example/api/index.php/v1/nextrestaurant/locations/1/availability?date=2026-12-24&party_size=<integer>", {
  headers: {
    "Authorization": `Bearer ${API_TOKEN}`,
  },
});
const data = await response.json();

All Extensions