Skip to main content

Create a venue (standalone restaurants)

Creates a venue for a restaurant that is not yet in Mozrest: it runs a supported POS but has no reservation system Mozrest integrates. The venue is created under Mozrest's internal management, automatically added to your partner scope, and the response includes an onboarding link where the restaurant connects its POS account.

Once the restaurant completes the onboarding link, the venue behaves exactly like any other venue in your scope: tables, bill, payments, features.

If the restaurant is already live in Mozrest, do not create it again - ask Mozrest support to grant your partner access to the existing venue instead. A duplicate POS connection attempt is rejected during onboarding (see below).

POST /v1/pat/venues
Authorization: Bearer <token>
Content-Type: application/json

Before you start: list the available POS systems

GET /v1/pat/pos-types
Authorization: Bearer <token>
{
"posTypes": [
{ "code": "LIGHTSPEED_K_SERIES", "name": "Lightspeed Series-K" },
{ "code": "SIMPHONY", "name": "Oracle Simphony" },
{ "code": "SAAPAD", "name": "Sapaad" }
]
}

Use the code values as posType below. The list is environment-driven and grows as new POS systems are enabled - do not hardcode it.

Request body

NameTypeRequiredNotes
namestringyesVenue display name
addressstringyesStreet address
citystringyesCity
postalCodestringyesPostal code
countrystringyesISO 3166-1 alpha-2 (e.g. GB)
timezonestringyesIANA timezone (e.g. Europe/London)
currencystringyesISO 4217 (e.g. GBP)
posTypestringyesPOS the restaurant runs - a code from GET /v1/pat/pos-types
phoneNumberstringnoVenue phone number
emailstringnoVenue contact email

Response - 200 OK

{
"id": "6a79db94ed1924a5507ddfd5",
"name": "The Standalone Bistro",
"address": "1 High Street",
"city": "London",
"postalCode": "N1 9GU",
"country": "GB",
"timezone": "Europe/London",
"currency": "GBP",
"posType": "LIGHTSPEED_K_SERIES",
"onboarding": {
"requestId": "3432974d-26d7-443a-9996-470fed7befc9",
"url": "https://connect.mozrest.com/onboarding/3432974d-26d7-443a-9996-470fed7befc9?platform=lightspeed_k_series",
"status": "rms_activation"
}
}
FieldMeaning
idThe new venue's Mozrest ID. Already in your partner scope - usable as {venueId} on every other endpoint immediately
onboarding.urlHand this link to the restaurant (embed it in your own onboarding flow or send it directly). The restaurant signs in to its POS account there and authorizes the connection. The link requires no Mozrest credentials

The venue has no POS connection until the restaurant completes the onboarding link. To know when the connection is live, poll /features: it answers 404 (no active POS) until the POS is linked, then the payAtTable capabilities flip automatically. Tables are imported from the POS during onboarding.

Errors

StatusWhen
400 Bad RequestValidation failed (missing or invalid fields), or posType is not supported for partner venue creation
401 UnauthorizedToken invalid or revoked
403 ForbiddenToken does not belong to an active Pay-at-Table partner

Duplicate protection during onboarding

When the restaurant authorizes its POS account, Mozrest checks whether that POS location is already connected to an existing venue. If it is, the connection is rejected and the restaurant sees "location already connected" in the onboarding UI. In that case the venue already exists in Mozrest - contact Mozrest support to get access to it and remove the duplicate you created.

Note this happens on the onboarding flow, not on this endpoint: creating the venue always succeeds; the guard fires when the POS connection is attempted.