What Mozrest Provides
Mozrest provides two things for the POS integration:
- A REST endpoint to query POS table data — uses the standard Partner API (
api-sandbox.mozrest.com/api.mozrest.com). - Webhook endpoints where your RMS sends reservation events — Mozrest receives them and creates/updates orders in the POS.
REST API: Get POS Tables
Retrieve the list of tables configured in the POS for a given venue. Use this for table matching on your side.
This is a standard Partner API call.
- Method:
GET - Base URL:
https://api-sandbox.mozrest.com(Sandbox) /https://api.mozrest.com(Production) - Path:
/venues/{venueId}/pos-tables - Authentication: Bearer token (Partner API key)
Response
{
"venueId": "abc-123",
"tables": [
{ "id": "T12", "name": "Table 12", "area": "Terrace" },
{ "id": "T15", "name": "Table 15", "area": null }
],
"count": 2
}
| Field | Type | Description |
|---|---|---|
id | String | Table identifier in the POS |
name | String | Table display name |
area | String / null | Area the table belongs to, if available |
Webhooks: Sending Reservation Events to the POS
When a reservation changes state (guest seated, table moved, party size updated), your RMS sends a webhook to Mozrest. Mozrest then creates or updates the corresponding order in the POS.
Webhook Endpoints
| Environment | URL |
|---|---|
| Sandbox | https://webhooks.pos.sandbox.mozrest.com/rms |
| Production | https://webhooks.pos.mozrest.com/rms |
- Method:
POST - Authentication: Bearer token
When to Send
| Scenario | What to do |
|---|---|
| Guest is seated | Send the reservation payload → Mozrest opens an order in the POS (or links to an existing open order on that table) |
| Reservation changes (table move, party size, etc.) | Re-send the payload with the same bookingId and updated fields → Mozrest forwards changes to the POS |
Payload
{
"bookingId": "60e890aca5f07b6ee5b950b1",
"venueId": "60e890aca5f07b6ee5b950b1",
"partySize": 4,
"status": "seated",
"tables": ["28c3ce8b-8c10-4a64-8099-f0dffcc549a8"],
"date": 1639578600,
"prepayment": 50.00,
"contact": {
"firstname": "John",
"lastname": "Doe",
"email": "john.doe@mail.com",
"telephone": "34646223399",
"locale": "en"
},
"notes": "I am allergic to peanuts",
"checks": ["ca5f07b6e", "5f07b6233"]
}
Field Reference
| Field | Type | Description |
|---|---|---|
bookingId | String | Your reservation identifier (RMS-side ID, not a Mozrest ID) |
venueId | String | Your venue identifier (RMS-side ID) |
partySize | Integer | Number of guests |
status | String | Reservation status (e.g. seated) |
tables[] | Array | RMS table IDs assigned to the reservation |
date | Integer | Reservation time (UTC Unix) |
prepayment | Number | Prepaid amount, if any |
contact | Object | Guest contact details |
notes | String | Special requests or dietary notes |
checks[] | Array | Existing check IDs to link to (if applicable) |
For updates, send the full reservation state with updated values using the same bookingId. Mozrest determines what changed and forwards it to the POS.
Important Notes
- The RMS must match orders to reservations using
bookingIdand associatedcheckNumbervalues. - Multi-check reservations are fully supported — a single reservation can have multiple checks.