# MOVED - Order Process
###### tags: `UserJourney` `svdvs`
---
TBD:
-
Notes:
-
* Add line to receipt to advice customer to download app if no identification
* Open OTP process and required services
Open questions:
-
**Tero:**
* Is there an option for table ordering in flowpos?
* How to add orderNumber to receipt for inStoreScreen order process?
---
# Different scenarios
1. Generic order process
2. Customer identification at the counter
3. Customer identification at the counter (userLevel > basic)
4. Customer uses a reward/campaing coupon from app
----
## Generic order process
```mermaid
sequenceDiagram
participant customer as Customer
participant pos as POS
participant worker as Restaurant server
customer-->>worker: Order products
worker-->>pos: Input products
customer-->>worker: Confirm order
customer-->>worker: Confirm eatIn or Take-away
worker-->>pos: Confirm Sale
customer-->>pos: Payment card/cash
pos-->>pos: Process payment
pos-->>customer: Receipt
worker-->>customer: Give food
```
## Customer identification at the counter
```mermaid
sequenceDiagram
participant customer as Customer
participant pos as POS
participant userServ as User Service
participant receiptServ as Receipt Service
participant worker as Restaurant server
alt no QR-Reader
customer-->>worker: Show QR code to worker
worker-->>pos: Manual input
else Location has QR-reader
customer-->>pos: Show QR code to pos
end
pos-->>userServ: send OTP
userServ-->>userServ: process otp
userServ-->>pos: return payload
Note over pos: CustomerId to receipt
rect rgba(255, 200, 255)
Note over customer, worker: GenericOrderProcess
end
pos-->>receiptServ: Save customer receipt
```
## Customer identification at the counter (userLevel > basic)
```mermaid
sequenceDiagram
participant customer as Customer
participant pos as POS
participant userServ as User Service
participant receiptServ as Receipt Service
participant worker as Restaurant server
customer-->>pos: Show QR code to pos
pos-->>userServ: send OTP
userServ-->>userServ: process otp
userServ-->>pos: return payload
Note over pos: CustomerId to receipt
Note over pos: discountList field exists
pos-->>worker: Popup: userLevel has free rewards! Ask Customer
rect rgba(255, 200, 255)
Note over customer, worker: GenericOrderProcess WITH added free products
end
pos-->>receiptServ: Save customer receipt
```
==pop up if limit exceeded==
## Customer uses a reward/campaing coupon from app
==Some coupons are time limited (once a day, weekly, alltime)==
```mermaid
sequenceDiagram
participant customer as Customer
participant pos as POS
participant userServ as User Service
participant receiptServ as Receipt Service
participant worker as Restaurant server
customer-->>pos: Show QR code to pos
pos-->>userServ: send OTP
userServ-->>userServ: process otp
userServ-->>pos: return payload*1
Note over pos: CustomerId to receipt
Note over pos: productList field exists
pos-->>pos: Add product(s) to receipt
rect rgba(255, 200, 255)
Note over customer, worker: GenericOrderProcess WITH added free products
end
pos-->>receiptServ: Save customer receipt
```
---
Payload
-
More info on [payload and fields](https://hackmd.io/rLI1rKC3SoSN74nMHTCu-g).
---
Service Descriptions
-
More info on [services](https://hackmd.io/RziVvzR2SDilSG7mLEj0QQ).
---