Use case 1 - myloginistaken/sonytech GitHub Wiki
Use Case Name:
The system must support payment by cash and mastercard/visa debit/credit cards
Preconditions:
- The waiter has logged into the system.
- The client has been presented a bill and s/he has agreed to pay.
Primary Actor:
- The waiter and the client
Main Success Scenario:
In case of cash:
- The system outputs the number of the order and total cost.
- The waiter inputs the amount of cash the customer paid.
- The system calculates the difference and outputs change.
- The transaction is logged and written to the database.
In case of a card:
- The system outputs the order number and total cost.
- The customer inputs the card.
- The card reader asks for the PIN code of the card.
- The customer inputs the correct PIN code.
- The card reader connects to the bank and makes the transaction.
- The transaction and connection is logged and written to the database.
Extensions - possible alternatives of the main success scenario:
- A: The cashier does not have enough money for exchange
In this case the cashier calculates the closest amount it has, for the profit of customer, and displays that amount to the waiter. It also notifies the head waiter about insufficient change.
- B: The PIN code is wrong
In this case the card reader notifies the customer about wrong PIN card and allows to retry up to 3 times. After third time it bans the payment with this current card for 30 minutes and notifies the head waiter.
- C: The customer has insufficient funds on the credit/bank card
In this case the interaction is aborted and the head waiter is notified.