---
title: How To Fully Integrate Eat App with your POS system
description: A Step-by-Step guide to Enabling 2-Way Sync Between your POS and Eat App Using Webhooks and POS Open API (v3)
---

[Skip to content](https://restaurant.eatapp.co/knowledge/partner-guide-how-to-integrate-eat-apps-2-way-pos-sync#main-content)

English

Show submenu for translations

[Can't find what you're looking for?](https://restaurant.eatapp.co/knowledge/kb-tickets/new)

![Eat App Logo - Small.png\]](https://restaurant.eatapp.co/hs-fs/hubfs/Eat%20App%20Logo%20-%20Small.png?height=40&name=Eat%20App%20Logo%20-%20Small.png)

- [Our About Page](https://restaurant.eatapp.co/about)
- [Contact Us](https://restaurant.eatapp.co/contact-us)
- [View Our Blogs](https://restaurant.eatapp.co/blog)

Open main navigation

Close main navigation

- [Our About Page](https://restaurant.eatapp.co/about)
- [Contact Us](https://restaurant.eatapp.co/contact-us)
- [View Our Blogs](https://restaurant.eatapp.co/blog)
- English
  
  Show submenu for translations
- [Can't find what you're looking for?](https://restaurant.eatapp.co/knowledge/kb-tickets/new)
- restaurant.eatapp.co

 restaurant.eatapp.co

 Eat App Knowledgebase

- There are no suggestions because the search field is empty.

1. [Help Center](https://restaurant.eatapp.co/knowledge)
2. [Documentation](https://restaurant.eatapp.co/knowledge/documentation)

# How To Fully Integrate Eat App with your POS system

## A Step-by-Step guide to Enabling 2-Way Sync Between your POS and Eat App Using Webhooks and POS Open API (v3)

### **Eat App POS Integration Onboarding Guide**

---

#### **🏆 Goal**

Achieve 100% matching of POS tickets to reservations, allowing our mutual customers to track both POS data and reservations seamlessly together.

 This includes,

1. **Automatically opening a POS ticket when a table is marked seated or occupied in Eat App.**
2. **Adding a unique reservation ID to the POS ticket, which is returned on closing, to ensure accurate matching.**
3. **Automatically updating the POS ticket when guests move tables in Eat App.**
4. **Automatically updating Eat App when table changes happen in the POS system.**

> **Bonus:** Receive and tally the bill amount for reservations whenever the guest has pre-paid for their reservation via Eat App

**Expected Journey: **

![POS Integration auto-ticket generation flow - Frame 1 (2)](https://restaurant.eatapp.co/hs-fs/hubfs/POS%20Integration%20auto-ticket%20generation%20flow%20-%20Frame%201%20(2).jpg?width=688&height=267&name=POS%20Integration%20auto-ticket%20generation%20flow%20-%20Frame%201%20(2).jpg)

---

#### 🔧 **Integration Steps**

To integrate your POS with Eat App, you'll need to use two core APIs:

- 🔁 **Reservation Webhook** – Receive real-time reservation data from Eat App and process that, to know when a reservation is seated and process it.  
  → [View Docs](https://documenter.getpostman.com/view/6173104/2sA35EYhLT#5505e820-5121-4d60-9ba5-8dde52d9cac5)
- 📤 **POS Open API v3** – Webhooks to send order data and updates from your POS to Eat App  
  → [View Docs](https://documenter.getpostman.com/view/6372626/TzshHRBE#068c7644-f5c4-473a-b496-2e846e3b7d86)

> **NOTE: Don't forget to change the base url from https://api.eat-sandbox.co/ to https://api.eatapp.co/ once you are ready to move to a real restaurant.**

Sandbox login page : [https://admin.eat-sandbox.co/ ](https://admin.eat-sandbox.co/)

### ✅ Step 1: Configure Reservation Webhook

For each restaurant:

- Set up a **Webhook URL** to receive reservation events.
- Ensure **webhook delivery is enabled** in the restaurant's Eat App account.

**1.1 ** When the guest is seated, you will receive the webhook with `status = "seated"` , along with `data.id` which is the unique identifier for the reservation.

Now, 

- Open a table/order in your POS.
- Store the `data.id` (unique reservation id from Eat app) in your POS metadata:

example :

```
"metadata": {  "eat_reservation_id": <data.id>}
```

---

### ✅ Step 2: Send POS Orders to Eat App

Use the POS Open API v3 to create and update orders linked to reservations.

**Required fields:**

- `table_name` (user-friendly label)
- `reservation_id`
- Accurate `start_time`, `end_time`
- `subtotal`, `tax`, `discount`, `total_spend`
- A **unique and consistent `order_id`**

📘 Refer to: [POS Order Fields](https://documenter.getpostman.com/view/6372626/TzshHRBE#1d5ce4fa-948f-4a34-ae59-c771e6c29fd6)

---

### ✅ Step 3: Keep Orders & Table Status Updated

- Send order **updates** as changes occur (e.g. new items, payment info).
- Include fields like:
  
    - `ticket.status` → `open`, `closed`, `cheque_dropped, voided`
    - `table.status` → optional, and if your pos system supports it. 
- Always use the **same `order_id`** to when sending updated orders. 

📘 Refer to: [Order Updates](https://documenter.getpostman.com/view/6372626/TzshHRBE#6ef4416d-d51e-4e25-b05d-1f6d1df2ed4d)

---

### ✅ Step 4: Handle Table Changes via Webhook

When the guest moves tables, you will receive the **[same payload](https://documenter.getpostman.com/view/6173104/2sA35EYhLT#5505e820-5121-4d60-9ba5-8dde52d9cac5) on the same webhook** with an array of newly updated tables.

Now, 

- Identify the order with the  unique reservation id
- Look for values in the `meta` key with event `update_reservation`

example:

```
meta": {    "created_at": 1711523679.830612,    "number": 257878,    "event": "update_reservation",    "changes": {      "status": [      'confirmed', // OLD reservation status      'seated' // NEW reservation status      ],      "table_ids": [        [ "10ce8760-75e8-4514-9f6f-508eace277ef"], // Eat app's ids for OLD TABLE(S)        [ "b9317712-574f-4abe-821c-593438ae1fab"] // Eat app's ids for NEW TABLE(S)      ],      "service_table_ids": [        ["01"], // POS's ids for OLD TABLE(S)        ["02"] // POS's ids for NEW TABLE(S)      ]    }  },
```

- `service_table_ids` carries 2 arrays 
    1. Array of old table ids as mapped in your POS system
    2. Array of new table ids as mapped in your POS system
- Update the table number(s) on the POS record accordingly

📘 Refer to: [Reservation Webhook Docs](https://documenter.getpostman.com/view/6173104/2sA35EYhLT#5505e820-5121-4d60-9ba5-8dde52d9cac5)

---

### ✅ Step 5: Handle Reservation Changes via Webhook

When a reservation is **updated** (e.g., table reassignment):

- Listen for update events via webhook.
- Compare `ticket_id` from the webhook to your internal state.
- If changed, update the POS order to match the reservation table changes to your equivalent ticket id, or, tickets with the same reservation id. 

Use these identifiers:

- `reservation_id`
- `pos_service_id`
- `pos_service_table_id`
- `ticket_id`

📘 Refer to: [Reservation Updated Event](https://documenter.getpostman.com/view/6173104/2sA35EYhLT#e0aa89fa-2dc6-4c8b-803f-f7ae589ef36f)

---

#### ✅ **Integration Checklist**

| Task | Done |
| --- | --- |
| Webhook URL configured | ☐ |
| Webhooks enabled on Eat App account | ☐ |
| Orders opened in POS on `seated` event | ☐ |
| `eat_reservation_id` stored in POS order metadata | ☐ |
| POS orders sent with correct timestamps & spend | ☐ |
| Unique & consistent `order.id` used for all updates | ☐ |
| Order/table status updates from Eat App Reservations handled | ☐ |
| Webhook reservation changes handled so that tables are also updated. | ☐ |

 

---

#### 🆘 **Need Help?**

For questions or technical support, contact the Eat App Integrations Team on support@eatapp.co 

- [Eat App Overview](https://restaurant.eatapp.co/knowledge/eat-app-overview)
- [Getting Started](https://restaurant.eatapp.co/knowledge/getting-started#main-content)

    - [Get set up with the most useful things on EAT App in less than 30 minutes](https://restaurant.eatapp.co/knowledge/getting-started#get-set-up-with-the-most-useful-things-on-eat-app-in-less-than-30-minutes)
    - [Layout](https://restaurant.eatapp.co/knowledge/getting-started#layout)
    - [Permissions and Preferences](https://restaurant.eatapp.co/knowledge/getting-started#permissions-and-preferences)
- [Feature Guides](https://restaurant.eatapp.co/knowledge/feature-guides#main-content)

    - [Views Management](https://restaurant.eatapp.co/knowledge/feature-guides#views-management)
    - [Multi-Restaurant Support](https://restaurant.eatapp.co/knowledge/feature-guides#multi-restaurant-support)
    - [Managing reservations](https://restaurant.eatapp.co/knowledge/feature-guides#managing-reservations)
    - [Waitlist](https://restaurant.eatapp.co/knowledge/feature-guides#waitlist)
    - [Widget](https://restaurant.eatapp.co/knowledge/feature-guides#widget)
    - [Guest Messaging](https://restaurant.eatapp.co/knowledge/feature-guides#guest-messaging)
    - [Restaurant Tags](https://restaurant.eatapp.co/knowledge/feature-guides#restaurant-tags)
    - [Users](https://restaurant.eatapp.co/knowledge/feature-guides#users)
    - [Server/Waiter Management](https://restaurant.eatapp.co/knowledge/feature-guides#server-waiter-management)
    - [Guest Database](https://restaurant.eatapp.co/knowledge/feature-guides#guest-database)
    - [Payments](https://restaurant.eatapp.co/knowledge/feature-guides#payments)
    - [Restaurant Reports](https://restaurant.eatapp.co/knowledge/feature-guides#restaurant-reports)
    - [Guest Reviews](https://restaurant.eatapp.co/knowledge/feature-guides#guest-reviews)
    - [Restaurant Automation](https://restaurant.eatapp.co/knowledge/feature-guides#restaurant-automation)
    - [Offers/Discounts](https://restaurant.eatapp.co/knowledge/feature-guides#offers-discounts)
    - [Layout](https://restaurant.eatapp.co/knowledge/feature-guides#layout)
    - [Restaurant Billing](https://restaurant.eatapp.co/knowledge/feature-guides#restaurant-billing)
    - [Printing](https://restaurant.eatapp.co/knowledge/feature-guides#printing)
    - [Customer Support](https://restaurant.eatapp.co/knowledge/feature-guides#customer-support)
    - [WhatsApp Messaging](https://restaurant.eatapp.co/knowledge/feature-guides#whatsapp-messaging)
- [Integrations](https://restaurant.eatapp.co/knowledge/integrations#main-content)

    - [Wix Integration](https://restaurant.eatapp.co/knowledge/integrations#wix-integration)
    - [Payment Integration](https://restaurant.eatapp.co/knowledge/integrations#payment-integration)
    - [MCP Servers](https://restaurant.eatapp.co/knowledge/integrations#mcp-servers)
- [FAQs](https://restaurant.eatapp.co/knowledge/faqs)
- [Troubleshooting](https://restaurant.eatapp.co/knowledge/troubleshooting)
- [Release Notes](https://restaurant.eatapp.co/knowledge/release-notes)
- [Partnerships](https://restaurant.eatapp.co/knowledge/partnerships)
- [Documentation](https://restaurant.eatapp.co/knowledge/documentation#main-content)

    - [Widget setup](https://restaurant.eatapp.co/knowledge/documentation#widget-setup)
- [Navi](https://restaurant.eatapp.co/knowledge/navi)

[![Chill listening crop-3](https://restaurant.eatapp.co/hs-fs/hubfs/Eat%20App%20Logo-2.png?width=48&height=24&name=Eat%20App%20Logo-2.png "Chill listening crop-3")](https://restaurant.eatapp.co)

Help Center

Copyright © 2026, Grow