---
# System prepended metadata

title: MOVED - Order Process
tags: [svdvs, UserJourney]

---

# 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).



---