The diagrams below present all the needed workflow in order to certify the POS Partner connection with the Accor F&B Hub.
Workflow between F&B Hub / POS Partner / Restaurant POS :
Hierarchy : Restaurant / Table / Order & Customer :
STEP 0 : AUTHENTICATION
The POS Partner has to implement an authentication mechanism described here, in order to communicate with the Accor F&B Hub.
STEP 1 & 1' : ORDER
The service /orders, that has to be exposed by the POS Partner, will allow Accor to get a specific order in 3 different ways described below.
- /orders : using the merchantId & tableNumber
- /orders : using the merchantId & ref
- /orders/{orderId} : using the Partner orderId
Important : This service has to be as fast as possible to avoid large waiting times for the customer. We advise the POS Partner to manage the connection with the restaurant POS asynchronously (having the POS Partner listening the restaurant POS in real time and scanning all the order creations/modifications).
Order description :
The order consists of several information described below.
- All the basic information of the order (total amount, creation date, merchantId, orderId, ...)
- All the items of the order (drink, meal,...)
- All customers connected to the order
- All the payments done on the order, either through the APP (type = ONLINE) or at the restaurant (type = OTHER)
Information : An item can be itself composed of a list of items (ex : MENU). If it’s the case, the type of item must be “MENU”, composed of other items with the type “ARTICLE”
Discount :
The discount value and the discount.ID are managed by the Partner.
These are optional.
Payment status :
A payment can have the different status described below.
- SUCCEEDED : the payment information has been successfully sent to the restaurant POS
- PROCESSING : the POS Partner is currently trying to post the payment information into the restaurant POS
- FAILED : the POS Partner has failed to post the payment information into the restaurant POS
- CANCELLED : the payment has been cancelled/voided from the POS by the restaurant staff
STEP 2 : USERS/CUSTOMERS
The POS Partner has to implement a user management system with 3 services described below.
Add users
(POST) /users
Accor has to be able to post new Users on the POS Partner system by providing the User details : firstname, lastname and email.
The partner has to store these information and give back a userId to Accor.
Add customers
Format : (POST) /orders/{orderId}/customers
Accor has to be able to trace Users interaction with an order. To do that, the Partner has to build a service allowing Accor to post a User (providing his userId) on the order, by creating an id. This id is the user identifier into a specific order environment.
Once posted, the customer will appear into the order.
Update customers
Format : (PATCH) /orders/{orderId}/customers/{customerId}
Accor has to be able to attach a list of items (using itemId) to a customer. This service is needed for the dynamic bill splitting feature.
STEP 3 : PAYMENT
Format : (POST) /payments
When a Customer wants to pay his Bill, the payment will be managed by Accor and a notification will be pushed into the POS, to inform about the type & status of the payment.
Payment notification details :
- A payment is always linked to a specific order (orderId) and a specific user (userId)
- Type of payment
- CARD : the customer will pay by card
- LOYALTY : the customer will pay by point
- ATVENUE : the customer will pay at the restaurant by cash
- Type of cards
- VISA
- MASTERCARD
- AMEX
- CB
- JCB
- DINERS
- CUP
Test cards :
- VISA : 4000 0000 0000 0002 - 10/25 - 123
- MASTERCARD : 5200000000000007 - 10/25 - 123
- AMEX : 371449635311004 - 10/25 - 123
Information : A tip can be added by the customer to the amount of the payment but this tip won't be pushed into the restaurant POS.
TESTING
As a POS Provider, in order to let you test your development, we can give you access to the ALL App (iOS/Android) to simulate a Customer journey (going to a restaurant, selecting a table, ordering a meal, paying a bill).
Once your POS API is finalized, send the following information via this form :
- your POS API endpoint
- your employees information who need to access the ALL App :
- Per employee : email address, external IP address
- Then, each employee will receive an email to confirm their access and the procedure to download the "Testing" ALL App.
- Restaurant/Tables configured on Partner side
- Merchant Id : it will be used to reach the POS through your system (in64 max)
- Tables : 4 characters max. (eg. Tables n° 1,12,123,1234)
MerchantID (Restaurant) | Name | Tables | Currency |
---|---|---|---|
1 | Accor Restaurant 1 | 1,2,3,4,5,6,7,8,9,10 | depend on the Partner |
2 | Accor Restaurant 2 | 11,12,13,14,15 | depend on the Partner |