{"info":{"_postman_id":"4b74b1f5-b5a6-4f9c-88ae-4a9acb9ca073","name":"Eat Webhooks","description":"<html><head></head><body><p>EatApp utilizes webhooks to notify external systems about real-time events related to Guests and Reservations. Whenever specific actions occur, such as creating, updating, or canceling a guest profile or reservation, EatApp sends an Http request containing relevant event data to your configured webhook endpoint. This allows seamless integration with your system, enabling you to automate workflows, update records, or trigger specific actions based on these events.</p>\n<p>Events payload are in <a href=\"https://jsonapi.org/\">JSONAPI</a> format, which makes it easy for our partners to integrate our APIs and Webhooks with the same exact format.</p>\n<p>Every event includes <code>meta</code> section that includes the following data:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Details</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>meta.created_at</code></td>\n<td>Timestamp when the event occurred, in Unix epoch format</td>\n</tr>\n<tr>\n<td><code>meta.number</code></td>\n<td>Sequential event number, can be used to follwo the order of events or for internal troubleshooting</td>\n</tr>\n<tr>\n<td><code>meta.event</code></td>\n<td>Type of event that triggered the webhook</td>\n</tr>\n<tr>\n<td><code>meta.initiator</code></td>\n<td>The user email who made the action</td>\n</tr>\n<tr>\n<td><code>meta.changes</code></td>\n<td>Changes that will happen to the object  <br>The first attribute of the key will represent the old state, and the second attribute will represent the new state.  <br>  <br><strong>Example:</strong>  <br>meta.changes.status -&gt; ['confirmed', 'seated']  <br>Confirmed is the old stat,e and Seated is the new state</td>\n</tr>\n</tbody>\n</table>\n</div><p>Eat App events are configured around 2 main objects, Guest and Reservation, in the webhook each object includes all data from the object relationships following the same format as JSONAPI.</p>\n<h2 id=\"list-of-events\">List of Events:</h2>\n<p>Guest Events:</p>\n<ul>\n<li><p>create_guest</p>\n</li>\n<li><p>update_guest</p>\n</li>\n<li><p>delete_guest</p>\n</li>\n</ul>\n<p>Reservation Events:</p>\n<ul>\n<li><p>create_reservation</p>\n</li>\n<li><p>update_reservation</p>\n</li>\n<li><p>delete_reservation</p>\n</li>\n<li><p>place_web_reservation</p>\n</li>\n<li><p>cancel_web_reservation</p>\n</li>\n<li><p>update_web_reservation</p>\n</li>\n<li><p>place_user_reservation</p>\n</li>\n<li><p>cancel_user_reservation</p>\n</li>\n<li><p>update_user_reservation</p>\n</li>\n<li><p>place_partner_reservation</p>\n</li>\n<li><p>update_partner_reservation</p>\n</li>\n<li><p>cancel_partner_reservation</p>\n</li>\n<li><p>place_concierge_reservation</p>\n</li>\n<li><p>update_concierge_reservation</p>\n</li>\n<li><p>cancel_concierge_reservation</p>\n</li>\n</ul>\n<h5 id=\"notes\">Notes:</h5>\n<ol>\n<li><p>Single event can fire multiple webhooks<br> example:<br> <code>place_web_reservation</code> indicates a reservation been created via the widget, that event will fire 2 webhooks, 1 guest creation , and another one for reservation creating, both webhooks will have the same event name and same sequential number, but the payload will be different.</p>\n</li>\n<li><p>Reservation can be create without Guest information, usually indicates a walk-in reservation, later restaurant might decide to add a profile to the reservation or not. every update will fire webhook event.</p>\n</li>\n<li><p><strong>Delete Events are not active yet</strong></p>\n</li>\n</ol>\n<h1 id=\"changes-log\">Changes Log:</h1>\n<h4 id=\"22-october-2024\">22 October 2024</h4>\n<ul>\n<li><p>Include <code>initiator</code> in <code>meta</code> attributes</p>\n</li>\n<li><p>Include <code>custom_fields</code> in Guest And Reservation Payloads</p>\n</li>\n<li><p>Include <code>restaurant</code> in Guest and Reservation Relationships</p>\n</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Changes Log:","slug":"changes-log"}],"owner":"6173104","collectionId":"4b74b1f5-b5a6-4f9c-88ae-4a9acb9ca073","publishedId":"2sA35EYhLT","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-03-27T11:13:36.000Z"},"item":[{"name":"Guest Payload","item":[],"id":"c8f7d54e-c6d2-44fe-b7ae-b489667f1f2e","description":"<p>Guest Events are expected to be pushed in the webhook anytime a guest profile is getting created or updated, that include any time an online reservation is created.</p>\n<h2 id=\"example-of-guest-payload\">Example of Guest Payload:</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"meta\": {\n    \"created_at\": 1711442409.240197,\n    \"number\": 257865,\n    \"event\": \"update_guest\"\n  },\n  \"data\": {\n    \"id\": \"efe3d0c4-46c5-4ae2-840c-0a941f5a6305\",\n    \"type\": \"guest\",\n    \"attributes\": {\n      \"restaurant_id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n      \"first_name\": \"Jason\",\n      \"last_name\": \"Gamble\",\n      \"phone\": \"+971505000000\",\n      \"email\": \"jason@mailinator.com\",\n      \"alt_email\": null,\n      \"alt_phone\": null,\n      \"notes\": \"Note...\",\n      \"birthday\": null,\n      \"anniversary\": null,\n      \"pos_data\": {\n        \"total_spend\": 0,\n        \"visit_count\": 0,\n        \"average_spend_per_cover\": 0,\n        \"average_spend_per_visit\": 0\n      },\n      \"visit_data\": {\n        \"last_visit\": \"2024-02-19T18:00:00\",\n        \"next_visit\": \"2024-03-26T16:15:00\",\n        \"first_visit\": \"2024-02-19T18:00:00\",\n        \"visit_count\": 1,\n        \"denied_count\": 0,\n        \"visit_covers\": 2,\n        \"denied_covers\": 0,\n        \"next_visit_id\": \"c4b43e13-2c2c-48ad-b1bc-c89446069d1a\",\n        \"no_show_count\": 0,\n        \"reviews_count\": 0,\n        \"canceled_count\": 0,\n        \"no_show_covers\": 0,\n        \"canceled_covers\": 0,\n        \"reviews_average_rating\": 0,\n        \"reviews_average_food_rating\": 0,\n        \"upcoming_reservations_count\": 3,\n        \"reviews_average_service_rating\": 0,\n        \"reviews_average_ambience_rating\": 0\n      },\n      \"profile_image_url\": null,\n      \"title\": null,\n      \"gender\": \"male\",\n      \"organisation\": \"Demo\",\n      \"job_title\": \"Dr\",\n      \"profession\": null,\n      \"address\": null,\n      \"loyalty_sid\": null,\n      \"visit_count\": 1,\n      \"cancellation_count\": 0,\n      \"no_show_count\": 0,\n      \"imported_reservation_count\": 0,\n      \"custom_fields\": {\n        \"custom_field_1\": \"custom_value_1\",\n        \"custom_field_2\": \"custom_value_2\"\n      },\n      \"shared_key\": \"75320ae1-151d-4869-96b2-360a60add4e2\",\n      \"created_at\": \"2024-02-19T19:43:06\",\n      \"updated_at\": \"2024-03-26T12:40:08\",\n      \"terms_and_conditions_accepted_at\": \"2024-02-19T19:43:06\",\n      \"marketing_accepted_at\": \"2024-02-19T19:43:06\"\n    },\n    \"relationships\": {\n      \"tags\": {\n        \"data\": [\n          {\n            \"id\": \"476b8b51-1070-4e6c-ae11-61070e275489\",\n            \"type\": \"tag\"\n          }\n        ]\n      },\n      \"restaurant\": {\n        \"data\": {\n          \"id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n          \"type\": \"restaurant\"\n        }\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"476b8b51-1070-4e6c-ae11-61070e275489\",\n      \"type\": \"tag\",\n      \"attributes\": {\n        \"name\": \"High Spender\",\n        \"type\": \"Guest\",\n        \"restaurant_id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n        \"created_at\": \"2020-10-14T11:43:05\",\n        \"updated_at\": \"2024-03-26T12:32:52\"\n      },\n      \"relationships\": {}\n    },\n    {\n      \"id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n      \"type\": \"restaurant\",\n      \"attributes\": {\n        \"name\": \"Ali Cafe\",\n        \"difficult\": false\n      },\n      \"relationships\": {}\n    }\n  ]\n}\n\n</code></pre>\n<h2 id=\"guest-attributes\">Guest Attributes</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Details</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data.id</code></td>\n<td>Guest primary ID</td>\n</tr>\n<tr>\n<td><code>data.type</code></td>\n<td>Type of resource being handled in the webhook</td>\n</tr>\n<tr>\n<td><code>restaurant_id</code></td>\n<td>Restaurant ID</td>\n</tr>\n<tr>\n<td><code>first_name</code></td>\n<td>Guest’s first name</td>\n</tr>\n<tr>\n<td><code>last_name</code></td>\n<td>Guest’s last name</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>Guest’s primary phone number</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>Guest’s primary email address</td>\n</tr>\n<tr>\n<td><code>alt_email</code></td>\n<td>Guest’s alternative email address (if any)</td>\n</tr>\n<tr>\n<td><code>alt_phone</code></td>\n<td>Guest’s alternative phone number (if any)</td>\n</tr>\n<tr>\n<td><code>notes</code></td>\n<td>Additional notes about the guest</td>\n</tr>\n<tr>\n<td><code>birthday</code></td>\n<td>Guest’s birthday, if provided</td>\n</tr>\n<tr>\n<td><code>anniversary</code></td>\n<td>Guest’s anniversary date, if provided</td>\n</tr>\n<tr>\n<td><code>profile_image_url</code></td>\n<td>URL of the guest's profile image (if provided)</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>Guest’s title (e.g., Mr., Dr.)</td>\n</tr>\n<tr>\n<td><code>gender</code></td>\n<td>Guest’s gender</td>\n</tr>\n<tr>\n<td><code>organisation</code></td>\n<td>Name of the organization the guest is associated with</td>\n</tr>\n<tr>\n<td><code>job_title</code></td>\n<td>Job title of the guest</td>\n</tr>\n<tr>\n<td><code>profession</code></td>\n<td>Profession of the guest</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>Guest’s address</td>\n</tr>\n<tr>\n<td><code>loyalty_sid</code></td>\n<td>Loyalty system ID (if applicable)</td>\n</tr>\n<tr>\n<td><code>visit_count</code></td>\n<td>Total number of visits by the guest (overall)</td>\n</tr>\n<tr>\n<td><code>cancellation_count</code></td>\n<td>Total number of cancellations by the guest</td>\n</tr>\n<tr>\n<td><code>no_show_count</code></td>\n<td>Total number of no-shows by the guest</td>\n</tr>\n<tr>\n<td><code>imported_reservation_count</code></td>\n<td>Number of reservations imported for the guest from external system</td>\n</tr>\n<tr>\n<td><code>shared_key</code></td>\n<td>Guest unique identifier for guest across group level, other linked guest profile from another venue can have the same id if its the same guest</td>\n</tr>\n<tr>\n<td><code>custom_fields</code></td>\n<td>Guest Custom fields, in JSON format</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>Timestamp of when the guest profile was created</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>Timestamp of when the guest profile was last updated</td>\n</tr>\n<tr>\n<td><code>terms_and_conditions_accepted_at</code></td>\n<td>Timestamp of when the guest accepted terms and conditions</td>\n</tr>\n<tr>\n<td><code>marketing_accepted_at</code></td>\n<td>Timestamp of when the guest accepted marketing communication</td>\n</tr>\n<tr>\n<td><code>pos_data.total_spend</code></td>\n<td>Total spending of the guest at the restaurant</td>\n</tr>\n<tr>\n<td><code>pos_data.visit_count</code></td>\n<td>Total number of visits by the guest</td>\n</tr>\n<tr>\n<td><code>pos_data.average_spend_per_cover</code></td>\n<td>Average spend per guest cover (individual seat)</td>\n</tr>\n<tr>\n<td><code>pos_data.average_spend_per_visit</code></td>\n<td>Average spend per visit by the guest</td>\n</tr>\n<tr>\n<td><code>visit_data.last_visit</code></td>\n<td>Timestamp of the guest’s last visit</td>\n</tr>\n<tr>\n<td><code>visit_data.next_visit</code></td>\n<td>Timestamp of the guest’s next visit</td>\n</tr>\n<tr>\n<td><code>visit_data.first_visit</code></td>\n<td>Timestamp of the guest’s first visit</td>\n</tr>\n<tr>\n<td><code>visit_data.next_visit_id</code></td>\n<td>Next Reservation ID</td>\n</tr>\n<tr>\n<td><code>visit_data.visit_count</code></td>\n<td>Total number of visits by the guest</td>\n</tr>\n<tr>\n<td><code>visit_data.denied_count</code></td>\n<td>Number of times the guest was denied a reservation</td>\n</tr>\n<tr>\n<td><code>visit_data.visit_covers</code></td>\n<td>Number of guests (covers) included in the guest's visits</td>\n</tr>\n<tr>\n<td><code>visit_data.denied_covers</code></td>\n<td>Number of guests (covers) denied with the guest</td>\n</tr>\n<tr>\n<td><code>visit_data.no_show_count</code></td>\n<td>Number of no-shows by the guest</td>\n</tr>\n<tr>\n<td><code>visit_data.reviews_count</code></td>\n<td>Number of reviews provided by the guest</td>\n</tr>\n<tr>\n<td><code>visit_data.canceled_count</code></td>\n<td>Number of canceled reservations by the guest</td>\n</tr>\n<tr>\n<td><code>visit_data.no_show_covers</code></td>\n<td>Number of guest covers in no-shows</td>\n</tr>\n<tr>\n<td><code>visit_data.canceled_covers</code></td>\n<td>Number of guest covers in canceled reservations</td>\n</tr>\n<tr>\n<td><code>visit_data.reviews_average_rating</code></td>\n<td>Average rating given by the guest across all reviews</td>\n</tr>\n<tr>\n<td><code>visit_data.reviews_average_food_rating</code></td>\n<td>Average food rating given by the guest</td>\n</tr>\n<tr>\n<td><code>visit_data.upcoming_reservations_count</code></td>\n<td>Number of upcoming reservations by the guest</td>\n</tr>\n<tr>\n<td><code>visit_data.reviews_average_service_rating</code></td>\n<td>Average service rating given by the guest</td>\n</tr>\n<tr>\n<td><code>visit_data.reviews_average_ambience_rating</code></td>\n<td>Average ambience rating given by the guest</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"guest-relationships\">Guest Relationships</h2>\n<h4 id=\"tags\">Tags:</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Details</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data.id</code></td>\n<td>Tag primary ID</td>\n</tr>\n<tr>\n<td><code>restaurant_id</code></td>\n<td>Restaurant ID</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Tag Name</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>Tag type, can be <code>Guest</code> or <code>Reservation</code></td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>Timestamp of when the tag was created</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>Timestamp of when the tag was last updated</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"restaurant\">Restaurant</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th>Details</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data.id</code></td>\n<td>Restaurant primary ID</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Restaurant Name</td>\n</tr>\n<tr>\n<td><code>difficult</code></td>\n<td>Determine if restaurant needs to manually confirm reservations  <br />- <code>true</code>: restaurant manually confirm reservations  <br />- <code>flase</code>: reservations are auto confirmed</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"c8f7d54e-c6d2-44fe-b7ae-b489667f1f2e"},{"name":"Reservation Payload","item":[],"id":"5505e820-5121-4d60-9ba5-8dde52d9cac5","description":"<p>Example of Reservation Payload:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": {\n    \"id\": \"c4b43e13-2c2c-48ad-b1bc-c89446069d1a\",\n    \"type\": \"reservation\",\n    \"attributes\": {\n      \"key\": \"L1H40Z\",\n      \"restaurant_id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n      \"covers\": 8,\n      \"duration\": 7200,\n      \"status\": \"confirmed\",\n      \"notes\": null,\n      \"walk_in\": false,\n      \"origin\": \"in_house\",\n      \"updated_by\": \"restaurant\",\n      \"created_by\": null,\n      \"idempotency_token\": null,\n      \"experience_id\": null,\n      \"comments\": [],\n      \"channel\": \"In House\",\n      \"prearrival\": false,\n      \"complete\": false,\n      \"canceled_status\": false,\n      \"start_time\": \"2024-03-26T20:15:00\",\n      \"end_time\": \"2024-03-26T22:15:00\",\n      \"confirmed_at\": null,\n      \"canceled_at\": null,\n      \"arrived_at\": null,\n      \"seated_at\": null,\n      \"check_dropped_at\": null,\n      \"finished_at\": null,\n      \"no_show_at\": null,\n      \"denied_at\": null,\n      \"created_at\": \"2024-03-26T12:05:07\",\n      \"updated_at\": \"2024-03-27T11:14:38\",\n      \"review\": {},\n      \"custom_fields\": {\n        \"custom_field_1\": \"custom_value_1\",\n        \"custom_field_2\": \"custom_value_2\"\n      }\n    },\n    \"relationships\": {\n      \"guest\": {\n        \"data\": {\n          \"id\": \"efe3d0c4-46c5-4ae2-840c-0a941f5a6305\",\n          \"type\": \"guest\"\n        }\n      },\n      \"tables\": {\n        \"data\": [\n          {\n            \"id\": \"13b7cbaf-9436-4e9b-907a-bf1e2a88a3d6\",\n            \"type\": \"table\"\n          },\n          {\n            \"id\": \"d59431c2-e21d-4f44-8128-60b6b0f2155e\",\n            \"type\": \"table\"\n          }\n        ]\n      },\n      \"payments\": {\n        \"data\": [\n          {\n            \"id\": \"7209f18c-f708-4e21-bd60-77a97a55f4ef\",\n            \"type\": \"payment\"\n          }\n        ]\n      },\n      \"tags\": {\n        \"data\": [\n          {\n            \"id\": \"47ba5e98-6bc7-4d93-9e59-796d50e5f25d\",\n            \"type\": \"tag\"\n          }\n        ]\n      },\n      \"pos_records\": {\n        \"data\": [\n          {\n            \"id\": \"625a65cf-9d4d-499c-97ca-c8ec5a660d87\",\n            \"type\": \"pos_record\"\n          }\n        ]\n      },\n      \"restaurant\": {\n        \"data\": {\n          \"id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n          \"type\": \"restaurant\"\n        }\n      }\n    }\n  },\n  \"meta\": {\n    \"created_at\": 1711523679.830612,\n    \"number\": 257878,\n    \"event\": \"update_reservation\",\n    \"changes\": {\n      \"status\": ['confirmed', 'seated'],\n      \"table_ids\": [\n        [\n          \"10ce8760-75e8-4514-9f6f-508eace277ea\",\n          \"b9317712-574f-4abe-821c-593438ae1fab\",\n          \"0d120cb6-6ddc-4773-b231-b7c53cbaaeea\"\n        ],\n        [\n          \"b9317712-574f-4abe-821c-593438ae1fab\",\n          \"10ce8760-75e8-4514-9f6f-508eace277ea\",\n          \"0d120cb6-6ddc-4773-b231-b7c53cbaaeea\",\n          \"f5f5c319-a3e3-43d0-80e2-34346e858fd9\"\n        ]\n      ],\n      \"service_table_ids\": [\n        [\n          \"1\",\n          \"2\",\n          \"3\"\n        ],\n        [\n          \"1\",\n          \"2\",\n          \"3\",\n          \"4\"\n        ]\n      ]\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"13b7cbaf-9436-4e9b-907a-bf1e2a88a3d6\",\n      \"type\": \"table\",\n      \"attributes\": {\n        \"room_id\": \"37889bdd-f0d3-4920-bdaa-930fa1d1fa82\",\n        \"max_covers\": 4,\n        \"min_covers\": 1,\n        \"number\": \"11\",\n        \"pos_service_table_id\": \"357\",\n        \"rotation\": 0,\n        \"shape\": \"circle\",\n        \"size\": \"6x6\",\n        \"sold_online\": true,\n        \"created_at\": \"2023-01-11T16:56:06\",\n        \"updated_at\": \"2023-06-21T20:11:36\",\n        \"x\": 0.621739,\n        \"y\": 0.707971\n      },\n      \"relationships\": {}\n    },\n    {\n      \"id\": \"d59431c2-e21d-4f44-8128-60b6b0f2155e\",\n      \"type\": \"table\",\n      \"attributes\": {\n        \"room_id\": \"37889bdd-f0d3-4920-bdaa-930fa1d1fa82\",\n        \"max_covers\": 20,\n        \"min_covers\": 1,\n        \"number\": \"16\",\n        \"pos_service_table_id\": \"275\",\n        \"rotation\": 0,\n        \"shape\": \"rectangle\",\n        \"size\": \"3x3\",\n        \"sold_online\": true,\n        \"created_at\": \"2023-03-14T16:28:38\",\n        \"updated_at\": \"2023-06-21T20:11:36\",\n        \"x\": 0.389855,\n        \"y\": 0.545652\n      },\n      \"relationships\": {}\n    },\n    {\n      \"id\": \"7209f18c-f708-4e21-bd60-77a97a55f4ef\",\n      \"type\": \"payment\",\n      \"attributes\": {\n        \"restaurant_id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n        \"status\": \"captured\",\n        \"description\": \"A payment is required to hold the slot for this reservation\",\n        \"gateway\": \"checkout\",\n        \"gateway_message\": {\n          \"code\": \"10043\",\n          \"status\": \"Declined\",\n          \"message\": \"Insufficient funds\"\n        },\n        \"charge_strategy\": \"smart\",\n        \"currency\": \"USD\",\n        \"source\": \"web\",\n        \"card_brand\": \"Master\",\n        \"card_last4\": \"4242\",\n        \"notes\": \"Architecto nisi explicabo est.\",\n        \"capture_url\": null,\n        \"refund_url\": \"https://api.eatapp.co/services/payments/v2/payments/7209f18c-f708-4e21-bd60-77a97a55f4ef/refund\",\n        \"void_url\": null,\n        \"cancel_url\": null,\n        \"payment_widget_url\": \"https://eatapp.co/pay/L1H40Z\",\n        \"status_under_process\": null,\n        \"guest_first_name\": \"Jason\",\n        \"guest_last_name\": \"Gamble\",\n        \"guest_email\": \"example@example.com\",\n        \"guest_phone\": \"+971555555555\",\n        \"amount\": 915.2,\n        \"gateway_actions\": [\n          {\n            \"id\": \"58658c7b2e5ec3044d2ff535691e9d87\",\n            \"date\": \"2024-03-26T08:05:38Z\",\n            \"type\": \"Authorized\",\n            \"amount\": \"8.32 USD\",\n            \"response_code\": \"10000\",\n            \"response_message\": \"Est vitae dicta et.\"\n          },\n          {\n            \"id\": \"55252cb89c566e50c43187820d8481eb\",\n            \"date\": \"2024-03-26T08:05:38Z\",\n            \"type\": \"Captured\",\n            \"amount\": \"8.32 USD\",\n            \"response_code\": \"10000\",\n            \"response_message\": \"Doloremque ut ea ipsam.\"\n          }\n        ],\n        \"external_gateway\": false,\n        \"may_update\": false,\n        \"reservation_id\": \"c4b43e13-2c2c-48ad-b1bc-c89446069d1a\",\n        \"may_send_reminder\": false,\n        \"created_at\": \"2024-03-26T12:05:08\",\n        \"updated_at\": \"2024-03-26T12:05:11\",\n        \"requested_at\": \"2024-03-26T12:05:08\",\n        \"authorized_at\": \"2024-03-26T12:05:08\",\n        \"captured_at\": \"2024-03-26T12:05:08\",\n        \"refunded_at\": null,\n        \"refund_requested_at\": null,\n        \"voided_at\": null,\n        \"canceled_at\": null,\n        \"auto_cancel_at\": null,\n        \"authorized_payment_expires_at\": null\n      },\n      \"relationships\": {}\n    },\n    {\n      \"id\": \"625a65cf-9d4d-499c-97ca-c8ec5a660d87\",\n      \"type\": \"pos_record\",\n      \"attributes\": {\n        \"restaurant_id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n        \"pos_service_id\": \"176362841\",\n        \"reservation_id\": \"c4b43e13-2c2c-48ad-b1bc-c89446069d1a\",\n        \"manual_match\": true,\n        \"data\": {\n          \"payments\": [\n            {\n              \"id\": \"121\",\n              \"tip\": 0,\n              \"type\": \"credit card\",\n              \"value\": 54.48,\n              \"pos_id\": null,\n              \"comment\": null\n            }\n          ],\n          \"table_id\": \"549\",\n          \"discounts\": [\n            {\n              \"id\": \"884\",\n              \"name\": \"sonsing\",\n              \"type\": \"dollar\",\n              \"value\": 7.41,\n              \"pos_id\": \"112\",\n              \"comment\": null\n            }\n          ],\n          \"ticket_id\": \"176362841\",\n          \"menu_items\": [\n            {\n              \"id\": \"813\",\n              \"name\": \"Chicken Fajitas\",\n              \"price\": 19.23,\n              \"pos_id\": \"227\",\n              \"comment\": \"Et consequatur unde.\",\n              \"quantity\": 1,\n              \"modifiers\": [\n                {\n                  \"id\": \"561\",\n                  \"name\": \"Soy Milk\",\n                  \"price\": 12.71,\n                  \"pos_id\": \"289\",\n                  \"comment\": \"Deserunt consequatur est.\",\n                  \"quantity\": 1,\n                  \"menu_categories\": []\n                }\n              ],\n              \"menu_categories\": []\n            },\n            {\n              \"id\": \"130\",\n              \"name\": \"Lasagne\",\n              \"price\": 17.04,\n              \"pos_id\": \"388\",\n              \"comment\": \"Quia aut illum.\",\n              \"quantity\": 1,\n              \"modifiers\": [\n                {\n                  \"id\": \"131\",\n                  \"name\": \"Soba\",\n                  \"price\": 10.32,\n                  \"pos_id\": \"559\",\n                  \"comment\": null,\n                  \"quantity\": 1,\n                  \"menu_categories\": []\n                }\n              ],\n              \"menu_categories\": []\n            }\n          ],\n          \"table_name\": \"549\",\n          \"employee_id\": \"210\",\n          \"ticket_name\": null,\n          \"ticket_open\": false,\n          \"ticket_void\": true,\n          \"table_number\": 549,\n          \"table_pos_id\": \"549\",\n          \"voided_items\": [],\n          \"order_type_id\": \"166\",\n          \"ticket_number\": \"959672773\",\n          \"commercial_due\": 0,\n          \"commercial_paid\": 54.48,\n          \"commercial_tips\": 0,\n          \"employee_pos_id\": \"781\",\n          \"order_type_name\": \"Italian\",\n          \"service_charges\": [],\n          \"commercial_total\": 54.48,\n          \"ticket_closed_at\": \"2024-03-26T09:25:35\",\n          \"ticket_opened_at\": \"2024-03-26T09:15:00\",\n          \"order_type_pos_id\": \"175\",\n          \"employee_last_name\": \"Kub\",\n          \"employee_check_name\": \"FrancineKub\",\n          \"employee_first_name\": \"Francine\",\n          \"commercial_sub_total\": 51.89,\n          \"commercial_tax_total\": 2.59,\n          \"commercial_guest_count\": 3,\n          \"commercial_items_total\": 59.3,\n          \"commercial_payment_type\": \"credit card\",\n          \"commercial_dicount_total\": 7.41,\n          \"commercial_payment_comments\": null,\n          \"commercial_revenue_center_id\": \"696\",\n          \"commercial_inclusive_tax_total\": 0,\n          \"commercial_other_charges_total\": 0,\n          \"commercial_revenue_center_name\": \"Ramen\",\n          \"commercial_revenue_center_pos_id\": \"736\",\n          \"commercial_service_charges_total\": 0\n        },\n        \"created_at\": \"2024-03-26T12:05:08\",\n        \"updated_at\": \"2024-03-26T12:23:24\"\n      },\n      \"relationships\": {}\n    },\n    {\n      \"id\": \"47ba5e98-6bc7-4d93-9e59-796d50e5f25d\",\n      \"type\": \"tag\",\n      \"attributes\": {\n        \"name\": \"Birthday\",\n        \"type\": \"Guest\",\n        \"restaurant_id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n        \"created_at\": \"2021-06-30T14:00:05\",\n        \"updated_at\": \"2024-03-26T12:39:09\"\n      },\n      \"relationships\": {}\n    },\n    {\n      \"id\": \"476b8b51-1070-4e6c-ae11-61070e275489\",\n      \"type\": \"tag\",\n      \"attributes\": {\n        \"name\": \"High Spender\",\n        \"type\": \"Guest\",\n        \"restaurant_id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n        \"created_at\": \"2020-10-14T11:43:05\",\n        \"updated_at\": \"2024-03-26T12:32:52\"\n      },\n      \"relationships\": {}\n    },\n    {\n      \"id\": \"efe3d0c4-46c5-4ae2-840c-0a941f5a6305\",\n      \"type\": \"guest\",\n      \"attributes\": {\n        \"restaurant_id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n        \"first_name\": \"Jason\",\n        \"last_name\": \"Gamble\",\n        \"phone\": \"+971505000000\",\n        \"email\": \"jason@mailinator.com\",\n        \"alt_email\": null,\n        \"alt_phone\": null,\n        \"notes\": \"Note...\",\n        \"birthday\": null,\n        \"anniversary\": null,\n        \"pos_data\": {\n          \"total_spend\": 0,\n          \"visit_count\": 0,\n          \"average_spend_per_cover\": 0,\n          \"average_spend_per_visit\": 0\n        },\n        \"visit_data\": {\n          \"last_visit\": \"2024-03-26T16:15:00\",\n          \"next_visit\": \"2024-03-28T21:45:00\",\n          \"first_visit\": \"2024-02-19T18:00:00\",\n          \"visit_count\": 2,\n          \"denied_count\": 0,\n          \"visit_covers\": 10,\n          \"denied_covers\": 0,\n          \"next_visit_id\": \"dbdd08e7-d5df-4ad9-828e-349feda6979b\",\n          \"no_show_count\": 0,\n          \"reviews_count\": 0,\n          \"canceled_count\": 0,\n          \"no_show_covers\": 0,\n          \"canceled_covers\": 0,\n          \"reviews_average_rating\": 0,\n          \"reviews_average_food_rating\": 0,\n          \"upcoming_reservations_count\": 2,\n          \"reviews_average_service_rating\": 0,\n          \"reviews_average_ambience_rating\": 0\n        },\n        \"profile_image_url\": null,\n        \"title\": null,\n        \"gender\": \"male\",\n        \"organisation\": \"Demo\",\n        \"job_title\": \"Dr\",\n        \"profession\": null,\n        \"address\": null,\n        \"loyalty_sid\": null,\n        \"visit_count\": 2,\n        \"cancellation_count\": 0,\n        \"no_show_count\": 0,\n        \"imported_reservation_count\": 0,\n        \"shared_key\": \"75320ae1-151d-4869-96b2-360a60add4e2\",\n        \"created_at\": \"2024-02-19T19:43:06\",\n        \"updated_at\": \"2024-03-27T11:14:38\",\n        \"terms_and_conditions_accepted_at\": \"2024-02-19T19:43:06\",\n        \"marketing_accepted_at\": \"2024-02-19T19:43:06\",\n        \"custom_fields\": {\n          \"custom_field_1\": \"custom_value_1\",\n          \"custom_field_2\": \"custom_value_2\"\n        }\n      },\n      \"relationships\": {\n        \"tags\": {\n          \"data\": [\n            {\n              \"id\": \"476b8b51-1070-4e6c-ae11-61070e275489\",\n              \"type\": \"tag\"\n            }\n          ]\n        },\n        \"pos_records\": {\n          \"data\": [\n            {\n              \"id\": \"625a65cf-9d4d-499c-97ca-c8ec5a660d87\",\n              \"type\": \"pos_record\"\n            }\n          ]\n        },\n        \"payments\": {\n          \"data\": [\n            {\n              \"id\": \"7209f18c-f708-4e21-bd60-77a97a55f4ef\",\n              \"type\": \"payment\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"63c6a71c-9e6e-420e-b290-d8b1b64fb1e5\",\n      \"type\": \"restaurant\",\n      \"attributes\": {\n        \"name\": \"Ali Cafe\",\n        \"difficult\": false\n      },\n      \"relationships\": {}\n    }\n  ]\n}\n\n</code></pre>\n<h2 id=\"reservation-attributes\">Reservation Attributes</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Details</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data.id</code></td>\n<td>Unique identifier for the reservation</td>\n</tr>\n<tr>\n<td><code>data.type</code></td>\n<td>The type of the resource being handled</td>\n</tr>\n<tr>\n<td><code>key</code></td>\n<td>Reservation unique key, used to easy share and find reservation data</td>\n</tr>\n<tr>\n<td><code>restaurant_id</code></td>\n<td>Restaurant ID</td>\n</tr>\n<tr>\n<td><code>covers</code></td>\n<td>Number of People in the reservation</td>\n</tr>\n<tr>\n<td><code>duration</code></td>\n<td>Duration of the reservation in seconds</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Status of the reservation, statuses can be predefined or dynamic, restaurants can add custom statues</td>\n</tr>\n<tr>\n<td><code>notes</code></td>\n<td>Additional notes related to the reservation</td>\n</tr>\n<tr>\n<td><code>walk_in</code></td>\n<td>Indicates if the reservation is a walk-in</td>\n</tr>\n<tr>\n<td><code>origin</code></td>\n<td>Source of the reservation (in-house, online, mobile)</td>\n</tr>\n<tr>\n<td><code>updated_by</code></td>\n<td>Who last updated the reservation (e.g., restaurant, system)</td>\n</tr>\n<tr>\n<td><code>created_by</code></td>\n<td>Who created the reservation</td>\n</tr>\n<tr>\n<td><code>idempotency_token</code></td>\n<td>Token to ensure the request is idempotent (not repeated)</td>\n</tr>\n<tr>\n<td><code>experience_id</code></td>\n<td>Identifier for any special experience associated with the reservation</td>\n</tr>\n<tr>\n<td><code>comments</code></td>\n<td>List of comments about the reservation</td>\n</tr>\n<tr>\n<td><code>channel</code></td>\n<td>Channel from which the reservation was made, check the references below.</td>\n</tr>\n<tr>\n<td><code>prearrival</code></td>\n<td>Check if the reservation status is in pre-arrival (<code>wait_list</code>, <code>not_confirmed</code>, <code>no_answer</code>, <code>confirmed</code>, <code>late</code>, <code>partially_arrived</code> )</td>\n</tr>\n<tr>\n<td><code>complete</code></td>\n<td>Check if the reservation status is in completed (<code>no_show</code>, <code>canceled</code>, <code>denied</code>, <code>finished</code>)</td>\n</tr>\n<tr>\n<td><code>canceled_status</code></td>\n<td>Check if the reservation status is in canceled (<code>canceled</code>, <code>denied</code>, <code>no_show</code>)</td>\n</tr>\n<tr>\n<td><code>start_time</code></td>\n<td>Reservation Start Time</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>Reservation End Time (depends on the duration)</td>\n</tr>\n<tr>\n<td><code>custom_fields</code></td>\n<td>Guest Custom fields, in JSON format</td>\n</tr>\n<tr>\n<td><code>confirmed_at</code></td>\n<td>Timestamp when the reservation was confirmed (will be deprecated)</td>\n</tr>\n<tr>\n<td><code>canceled_at</code></td>\n<td>Timestamp when the reservation was canceled (will be deprecated)</td>\n</tr>\n<tr>\n<td><code>arrived_at</code></td>\n<td>Timestamp when the guest arrived (will be deprecated)</td>\n</tr>\n<tr>\n<td><code>seated_at</code></td>\n<td>Timestamp when the guest was seated (will be deprecated)</td>\n</tr>\n<tr>\n<td><code>check_dropped_at</code></td>\n<td>Timestamp when the check was dropped at the table (will be deprecated)</td>\n</tr>\n<tr>\n<td><code>finished_at</code></td>\n<td>Timestamp when the guest finished the reservation (will be deprecated)</td>\n</tr>\n<tr>\n<td><code>no_show_at</code></td>\n<td>Timestamp when the guest was marked as a no-show (will be deprecated)</td>\n</tr>\n<tr>\n<td><code>denied_at</code></td>\n<td>Timestamp when the guest was denied the reservation (will be deprecated)</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>Timestamp when the reservation was created</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>Timestamp when the reservation was last updated</td>\n</tr>\n<tr>\n<td><code>review</code></td>\n<td>Review details of the reservation (if available)</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"origins\">Origins:</h5>\n<ul>\n<li><p><code>mobile</code> : Made via EatApp B2C App</p>\n</li>\n<li><p><code>web</code> : Online reservation, via the widget or any partner</p>\n</li>\n<li><p><code>in_house</code> : Made manually via EatApp B2B App</p>\n</li>\n</ul>\n<h5 id=\"booking-channels\">Booking Channels:</h5>\n<ul>\n<li><p><code>Google</code> : Made via Google integration</p>\n</li>\n<li><p><code>Customer API</code> : Via Concierge partner</p>\n</li>\n<li><p><code>Booking Widget</code> : Via EatApp widget</p>\n</li>\n<li><p><code>Eat</code> : Made via any of EatApp Channels</p>\n</li>\n<li><p><code>Online Orders</code> : Made via Online Order</p>\n</li>\n<li><p><code>Web</code> : any reservation that dose not fall into the channels above will be marked as eat</p>\n</li>\n</ul>\n<h5 id=\"pre-defined-statues\">Pre Defined Statues:</h5>\n<ul>\n<li><p>wait_list</p>\n</li>\n<li><p>not_confirmed</p>\n</li>\n<li><p>no_answer</p>\n</li>\n<li><p>confirmed</p>\n</li>\n<li><p>late</p>\n</li>\n<li><p>partially_arrived</p>\n</li>\n<li><p>arrived</p>\n</li>\n<li><p>seated</p>\n</li>\n<li><p>appetizer</p>\n</li>\n<li><p>entree</p>\n</li>\n<li><p>dessert</p>\n</li>\n<li><p>check_dropped</p>\n</li>\n<li><p>finished</p>\n</li>\n<li><p>canceled</p>\n</li>\n<li><p>denied</p>\n</li>\n<li><p>no_show</p>\n</li>\n</ul>\n<p><strong>Note</strong>: Statuses are dynamic, restaurants can define custom statuses.</p>\n<h5 id=\"deprecation\">Deprecation:</h5>\n<p>statuses time stamps (<code>${status}_at</code>) will be deprecated, we recommend not relying on them.</p>\n<h3 id=\"relationships\">Relationships</h3>\n<p>Reservation object has some relationships, all relationships can be present or not, depends on the reservation attached data</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>key</th>\n<th>Type</th>\n<th>Presence</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>guest</td>\n<td>Single Guest</td>\n<td>One</td>\n</tr>\n<tr>\n<td>tables</td>\n<td>Tables</td>\n<td>Multi</td>\n</tr>\n<tr>\n<td>payments</td>\n<td>Payments (Eat App Payments)</td>\n<td>Multi</td>\n</tr>\n<tr>\n<td>tags</td>\n<td>Tag</td>\n<td>Multi</td>\n</tr>\n<tr>\n<td>pos_records</td>\n<td>POS Records / Ticket</td>\n<td>Multi</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"guest\">Guest</h1>\n<p>Referee to the Guest Webhook documentation</p>\n<h1 id=\"tag\">Tag</h1>\n<p>Referee to the Guest Webhook documentation -&gt; Tag</p>\n<h1 id=\"restaurant\">Restaurant</h1>\n<p>Referee to the Guest Webhook documentation -&gt; Restaurant</p>\n<h1 id=\"table-attributes\">Table Attributes:</h1>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Details</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data.id</code></td>\n<td>Unique identifier for the reservation</td>\n</tr>\n<tr>\n<td><code>data.type</code></td>\n<td>The type of the resource being handled</td>\n</tr>\n<tr>\n<td><code>number</code></td>\n<td>Table number/name</td>\n</tr>\n<tr>\n<td><code>room_id</code></td>\n<td>Room ID</td>\n</tr>\n<tr>\n<td><code>max_covers</code></td>\n<td>Maximum number of covers this table can seat</td>\n</tr>\n<tr>\n<td><code>min_covers</code></td>\n<td>Minimum number of covers this table can seat</td>\n</tr>\n<tr>\n<td><code>sold_online</code></td>\n<td>Is the table available for online reservations?</td>\n</tr>\n<tr>\n<td><code>pos_service_table_id</code></td>\n<td>The mapped POS table id</td>\n</tr>\n<tr>\n<td><code>x</code></td>\n<td>Table position in the floor canvas</td>\n</tr>\n<tr>\n<td><code>y</code></td>\n<td>Table position in the floor canvas</td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>Table size in the floor canvas</td>\n</tr>\n<tr>\n<td><code>rotation</code></td>\n<td>Table rotation in the floor canvas</td>\n</tr>\n<tr>\n<td><code>shape</code></td>\n<td>Table shape in the floor canvas</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>Timestamp when the table was created</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>Timestamp when the table was update</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"payment-attributes\">Payment Attributes</h1>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Details</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data.id</code></td>\n<td>Unique identifier for the payment</td>\n</tr>\n<tr>\n<td><code>data.type</code></td>\n<td>Type of resource, which is \"payment\"</td>\n</tr>\n<tr>\n<td><code>restaurant_id</code></td>\n<td>Restaurant ID</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Payment status, check the payment statuses list below</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Description of the payment purpose</td>\n</tr>\n<tr>\n<td><code>gateway</code></td>\n<td>Payment gateway used for processing the payment, (<code>stripe</code>, <code>checkout</code>, <code>adyen</code> ...)</td>\n</tr>\n<tr>\n<td><code>gateway_message.code</code></td>\n<td>Gateway response code</td>\n</tr>\n<tr>\n<td><code>gateway_message.status</code></td>\n<td>Gateway status (e.g., declined, approved)</td>\n</tr>\n<tr>\n<td><code>gateway_message.message</code></td>\n<td>Message from the payment gateway (e.g., reason for decline)</td>\n</tr>\n<tr>\n<td><code>charge_strategy</code></td>\n<td>Payment strategy used (e.g., smart, manual)</td>\n</tr>\n<tr>\n<td><code>currency</code></td>\n<td>Currency of the payment (e.g., USD)</td>\n</tr>\n<tr>\n<td><code>source</code></td>\n<td>Source from where the payment originated (e.g., web, mobile)</td>\n</tr>\n<tr>\n<td><code>card_brand</code></td>\n<td>Brand of the card used for payment (e.g., Master)</td>\n</tr>\n<tr>\n<td><code>card_last4</code></td>\n<td>Last four digits of the card used for payment</td>\n</tr>\n<tr>\n<td><code>notes</code></td>\n<td>Additional notes about the payment</td>\n</tr>\n<tr>\n<td><code>capture_url</code></td>\n<td>URL for capturing the payment, if applicable</td>\n</tr>\n<tr>\n<td><code>refund_url</code></td>\n<td>URL for refunding the payment, if applicable</td>\n</tr>\n<tr>\n<td><code>void_url</code></td>\n<td>URL for voiding the payment, if applicable</td>\n</tr>\n<tr>\n<td><code>cancel_url</code></td>\n<td>URL for canceling the payment, if applicable</td>\n</tr>\n<tr>\n<td><code>payment_widget_url</code></td>\n<td>URL for the payment widget used by the customer</td>\n</tr>\n<tr>\n<td><code>status_under_process</code></td>\n<td>Status indicating if the payment is under processing</td>\n</tr>\n<tr>\n<td><code>guest_first_name</code></td>\n<td>First name of the guest associated with the payment</td>\n</tr>\n<tr>\n<td><code>guest_last_name</code></td>\n<td>Last name of the guest associated with the payment</td>\n</tr>\n<tr>\n<td><code>guest_email</code></td>\n<td>Email address of the guest</td>\n</tr>\n<tr>\n<td><code>guest_phone</code></td>\n<td>Phone number of the guest</td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td>Total payment amount</td>\n</tr>\n<tr>\n<td><code>gateway_actions</code></td>\n<td>The History of actions taken by the payment gateway (e.g., authorized, captured)</td>\n</tr>\n<tr>\n<td><code>gateway_actions.id</code></td>\n<td>Unique identifier for the gateway action</td>\n</tr>\n<tr>\n<td><code>gateway_actions.date</code></td>\n<td>Timestamp of when the gateway action occurred</td>\n</tr>\n<tr>\n<td><code>gateway_actions.type</code></td>\n<td>Type of gateway action (e.g., Authorized, Captured)</td>\n</tr>\n<tr>\n<td><code>gateway_actions.amount</code></td>\n<td>Amount processed in each gateway action</td>\n</tr>\n<tr>\n<td><code>gateway_actions.response_code</code></td>\n<td>Gateway response code for each action</td>\n</tr>\n<tr>\n<td><code>gateway_actions.response_message</code></td>\n<td>Gateway response message for each action</td>\n</tr>\n<tr>\n<td><code>external_gateway</code></td>\n<td>Indicates if the payment is managed externally by a partner, not via the supported gateways</td>\n</tr>\n<tr>\n<td><code>reservation_id</code></td>\n<td>Unique identifier for the associated reservation</td>\n</tr>\n<tr>\n<td><code>may_update</code></td>\n<td>Indicates whether the payment details can be updated</td>\n</tr>\n<tr>\n<td><code>may_send_reminder</code></td>\n<td>Indicates whether a payment reminder can be sent</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>Timestamp when the payment was created</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>Timestamp when the payment was last updated</td>\n</tr>\n<tr>\n<td><code>requested_at</code></td>\n<td>Timestamp when the payment was requested</td>\n</tr>\n<tr>\n<td><code>authorized_at</code></td>\n<td>Timestamp when the payment was authorized</td>\n</tr>\n<tr>\n<td><code>captured_at</code></td>\n<td>Timestamp when the payment was captured</td>\n</tr>\n<tr>\n<td><code>refunded_at</code></td>\n<td>Timestamp when the payment was refunded</td>\n</tr>\n<tr>\n<td><code>refund_requested_at</code></td>\n<td>Timestamp when a refund was requested</td>\n</tr>\n<tr>\n<td><code>voided_at</code></td>\n<td>Timestamp when the payment was voided</td>\n</tr>\n<tr>\n<td><code>canceled_at</code></td>\n<td>Timestamp when the payment was canceled</td>\n</tr>\n<tr>\n<td><code>auto_cancel_at</code></td>\n<td>Timestamp when the payment was automatically canceled</td>\n</tr>\n<tr>\n<td><code>authorized_payment_expires_at</code></td>\n<td>Timestamp when the authorization for the payment expires</td>\n</tr>\n</tbody>\n</table>\n</div><h6 id=\"payment-statuses\">Payment Statuses:</h6>\n<ul>\n<li><p><code>requested</code></p>\n</li>\n<li><p><code>authorized</code></p>\n</li>\n<li><p><code>captured</code></p>\n</li>\n<li><p><code>refunded</code></p>\n</li>\n<li><p><code>voided</code></p>\n</li>\n<li><p><code>canceled</code></p>\n</li>\n<li><p><code>partially_refunded</code></p>\n</li>\n<li><p><code>failed</code></p>\n</li>\n</ul>\n<h6 id=\"charge-strategies\">Charge Strategies:</h6>\n<ul>\n<li><p><code>smart</code>: Automatically decide either to authorize or capture the payment based on the difference between current day vs. reservation start time</p>\n</li>\n<li><p><code>authorization</code></p>\n</li>\n<li><p><code>pre_payment</code></p>\n</li>\n<li><p><code>save_card</code></p>\n</li>\n</ul>\n<h1 id=\"pos-record-attributes\">POS Record Attributes</h1>\n<p>POS Record data is dependent on the integration. Certain fields may be unavailable or not provided while the ticket remains open, and they may be populated at a later stage. Additionally, some integrations may not supply specific data fields at all.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Explanation</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Unique identifier for the POS record</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>Type of resource, which is \"pos_record\"</td>\n</tr>\n<tr>\n<td><code>restaurant_id</code></td>\n<td>Restaurant ID</td>\n</tr>\n<tr>\n<td><code>pos_service_id</code></td>\n<td>POS system ticket ID</td>\n</tr>\n<tr>\n<td><code>reservation_id</code></td>\n<td>Reservation ID (available if the ticket was already matched to a reservation)</td>\n</tr>\n<tr>\n<td><code>manual_match</code></td>\n<td>Indicates whether the POS record was manually matched</td>\n</tr>\n<tr>\n<td><code>data.payments</code></td>\n<td>List of payment transactions captured by POS system (if available)</td>\n</tr>\n<tr>\n<td><code>data.payments.id</code></td>\n<td>POS Payment Transaction ID</td>\n</tr>\n<tr>\n<td><code>data.payments.tip</code></td>\n<td>Tip amount provided in the payment (if available)</td>\n</tr>\n<tr>\n<td><code>data.payments.type</code></td>\n<td>Type of payment (e.g., <code>credit card</code>, <code>cash</code>)</td>\n</tr>\n<tr>\n<td><code>data.payments.value</code></td>\n<td>Payment amount</td>\n</tr>\n<tr>\n<td><code>data.payments.pos_id</code></td>\n<td>POS identifier for the payment (if available)</td>\n</tr>\n<tr>\n<td><code>data.payments.comment</code></td>\n<td>Comments or notes related to the payment</td>\n</tr>\n<tr>\n<td><code>data.table_id</code></td>\n<td>Identifier for the table associated with the POS record</td>\n</tr>\n<tr>\n<td><code>data.discounts</code></td>\n<td>List of discounts applied during the transaction (if available)</td>\n</tr>\n<tr>\n<td><code>data.discounts.id</code></td>\n<td>Discount ID</td>\n</tr>\n<tr>\n<td><code>data.discounts.name</code></td>\n<td>Name of the discount applied</td>\n</tr>\n<tr>\n<td><code>data.discounts.type</code></td>\n<td>Type of discount (e.g., dollar, percentage)</td>\n</tr>\n<tr>\n<td><code>data.discounts.value</code></td>\n<td>Value of the discount applied</td>\n</tr>\n<tr>\n<td><code>data.discounts.pos_id</code></td>\n<td>POS identifier for the discount (if available)</td>\n</tr>\n<tr>\n<td><code>data.discounts.comment</code></td>\n<td>Comments or notes related to the discount</td>\n</tr>\n<tr>\n<td><code>data.ticket_id</code></td>\n<td>ID for the POS ticket</td>\n</tr>\n<tr>\n<td><code>data.menu_items</code></td>\n<td>List of menu items included in the transaction</td>\n</tr>\n<tr>\n<td><code>data.menu_items.id</code></td>\n<td>ID for the menu item</td>\n</tr>\n<tr>\n<td><code>data.menu_items.name</code></td>\n<td>Name of the menu item</td>\n</tr>\n<tr>\n<td><code>data.menu_items.price</code></td>\n<td>Price of the menu item</td>\n</tr>\n<tr>\n<td><code>data.menu_items.pos_id</code></td>\n<td>POS identifier for the menu item</td>\n</tr>\n<tr>\n<td><code>data.menu_items.comment</code></td>\n<td>Comments or notes related to the menu item</td>\n</tr>\n<tr>\n<td><code>data.menu_items.quantity</code></td>\n<td>Quantity of the menu item ordered</td>\n</tr>\n<tr>\n<td><code>data.menu_items.modifiers</code></td>\n<td>List of modifiers applied to the menu item</td>\n</tr>\n<tr>\n<td><code>data.menu_items.modifiers.id</code></td>\n<td>ID for the modifier</td>\n</tr>\n<tr>\n<td><code>data.menu_items.modifiers.name</code></td>\n<td>Name of the modifier applied to the menu item</td>\n</tr>\n<tr>\n<td><code>data.menu_items.modifiers.price</code></td>\n<td>Price of the modifier</td>\n</tr>\n<tr>\n<td><code>data.menu_items.modifiers.pos_id</code></td>\n<td>POS identifier for the modifier</td>\n</tr>\n<tr>\n<td><code>data.menu_items.modifiers.comment</code></td>\n<td>Comments or notes related to the modifier</td>\n</tr>\n<tr>\n<td><code>data.table_name</code></td>\n<td>Name or identifier for the table</td>\n</tr>\n<tr>\n<td><code>data.employee_id</code></td>\n<td>ID for the employee handling the transaction</td>\n</tr>\n<tr>\n<td><code>data.ticket_open</code></td>\n<td>Indicates whether the POS ticket is currently open</td>\n</tr>\n<tr>\n<td><code>data.ticket_void</code></td>\n<td>Indicates whether the POS ticket has been voided</td>\n</tr>\n<tr>\n<td><code>data.table_number</code></td>\n<td>Number assigned to the table associated with the transaction</td>\n</tr>\n<tr>\n<td><code>data.table_pos_id</code></td>\n<td>POS identifier for the table</td>\n</tr>\n<tr>\n<td><code>data.voided_items</code></td>\n<td>List of items that have been voided in the transaction</td>\n</tr>\n<tr>\n<td><code>data.order_type_id</code></td>\n<td>ID for the type of order (e.g., dine-in, takeout)</td>\n</tr>\n<tr>\n<td><code>data.ticket_number</code></td>\n<td>Number of the POS ticket</td>\n</tr>\n<tr>\n<td><code>data.commercial_due</code></td>\n<td>Amount due for the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_paid</code></td>\n<td>Amount paid for the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_tips</code></td>\n<td>Total tips provided in the transaction</td>\n</tr>\n<tr>\n<td><code>data.employee_pos_id</code></td>\n<td>POS identifier for the employee handling the transaction</td>\n</tr>\n<tr>\n<td><code>data.order_type_name</code></td>\n<td>Name of the order type (e.g., Italian, Mexican)</td>\n</tr>\n<tr>\n<td><code>data.service_charges</code></td>\n<td>List of service charges applied to the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_total</code></td>\n<td>Total commercial value of the transaction</td>\n</tr>\n<tr>\n<td><code>data.ticket_closed_at</code></td>\n<td>Timestamp when the POS ticket was closed</td>\n</tr>\n<tr>\n<td><code>data.ticket_opened_at</code></td>\n<td>Timestamp when the POS ticket was opened</td>\n</tr>\n<tr>\n<td><code>data.order_type_pos_id</code></td>\n<td>POS identifier for the order type</td>\n</tr>\n<tr>\n<td><code>data.employee_last_name</code></td>\n<td>Last name of the employee handling the transaction</td>\n</tr>\n<tr>\n<td><code>data.employee_check_name</code></td>\n<td>Name used by the employee when checking the ticket</td>\n</tr>\n<tr>\n<td><code>data.employee_first_name</code></td>\n<td>First name of the employee handling the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_sub_total</code></td>\n<td>Subtotal of the commercial items in the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_tax_total</code></td>\n<td>Total tax applied to the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_guest_count</code></td>\n<td>Number of guests involved in the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_items_total</code></td>\n<td>Total value of the items in the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_payment_type</code></td>\n<td>Type of payment used for the transaction (e.g., credit card)</td>\n</tr>\n<tr>\n<td><code>data.commercial_dicount_total</code></td>\n<td>Total discounts applied to the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_payment_comments</code></td>\n<td>Comments related to the payment process</td>\n</tr>\n<tr>\n<td><code>data.commercial_revenue_center_id</code></td>\n<td>ID for the revenue center</td>\n</tr>\n<tr>\n<td><code>data.commercial_inclusive_tax_total</code></td>\n<td>Total inclusive tax applied to the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_other_charges_total</code></td>\n<td>Total other charges applied to the transaction</td>\n</tr>\n<tr>\n<td><code>data.commercial_revenue_center_name</code></td>\n<td>Name of the revenue center</td>\n</tr>\n<tr>\n<td><code>data.commercial_revenue_center_pos_id</code></td>\n<td>POS identifier for the revenue center</td>\n</tr>\n<tr>\n<td><code>data.commercial_service_charges_total</code></td>\n<td>Total service charges applied to the transaction</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>Timestamp when the POS record was created</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>Timestamp when the POS record was last updated</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"5505e820-5121-4d60-9ba5-8dde52d9cac5"}],"event":[{"listen":"prerequest","script":{"id":"e58eba4d-1f81-4c22-a138-11598fd41618","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"5f45fd3f-d0e1-4032-98a7-cc7beb621c1c","type":"text/javascript","exec":[""]}}]}