vial-circle-checkTC: Tables - Order and Pay

Test Cases for In Venue Order and Pay Table Integrations

TC: Order and Pay

OrderType 8: In Venue Order and Pay - Tables


Test Case TBL_OP_TC01: Place an Order to Table 201 (No discounts/service charge)

Objective: Verify order can be created and paid without any adjustments

Prerequisites:

  • Valid authentication token

  • POS terminal connected

  • Valid company code and location

  • Table 201 available

  • Valid PLU numbers configured

Steps:

  1. Call AddOrder to create new order on Table 201:

{
  "isOpen": true,
  "ordertype": 8,
  "tracktype": 2,
  "trackoffset": 201
}
  1. Verify response has error: false

  2. Verify order object returned with assigned id

  3. Add transaction items using UpdateOrder:

  1. Verify transactionitems array contains items

  2. Verify each item has assigned linekey

  3. Verify saletotal > 0

  4. Call UpdateOrder to calculate final totals:

  1. Verify no adjustments applied

  2. Note the amountdue value from response

  3. Take payment via payment provider

  4. Call UpdateOrder with payment to close order:

  1. Verify amountpaid = amountdue

  2. Verify isOpen: false

Expected Result:

  • Order created successfully

  • Items added with correct prices

  • Payment processed successfully

  • Order closed successfully

Pass/Fail Criteria: Order created, items added, payment processed without errors


Test Case TBL_OP_TC02: Place an Order to Table 202 with Linked Condiments (Priced and Non-Priced)

Objective: Verify order can be created with linked condiments including both priced and non-priced options

Prerequisites:

  • Valid authentication token

  • Table 202 available

  • PLU configured with linked condiments

  • Priced and non-priced condiments configured

Steps:

  1. Call AddOrder to create new order on Table 202:

  1. Verify order created successfully

  2. Add main item with linked condiments using UpdateOrder:

  1. Verify main item added successfully

  2. Verify condiments appear in transaction

  3. Verify priced condiment adds to saletotal

  4. Verify non-priced condiment has zero value

  5. Call UpdateOrder to calculate final totals:

  1. Note the amountdue value

  2. Take payment via payment provider

  3. Process payment and close order:

  1. Verify order closed successfully

Expected Result:

  • Main item with condiments added successfully

  • Priced condiments add to total

  • Non-priced condiments appear with zero value

  • Payment processed correctly

Pass/Fail Criteria: Condiments correctly linked and priced, order completes successfully


Test Case TBL_OP_TC03: Place an Order to Table 203 with Stock Modifiers (Item Sizes)

Objective: Verify order can be created with stock modifiers for item sizes

Prerequisites:

  • Valid authentication token

  • Table 203 available

  • PLU configured with size modifiers

  • Multiple size options available

Steps:

  1. Call AddOrder to create new order on Table 203:

  1. Verify order created successfully

  2. Add items with different size modifiers using UpdateOrder:

  1. Verify both items added with different modifiers

  2. Verify each size has appropriate price

  3. Verify saletotal reflects different prices

  4. Call UpdateOrder to calculate final totals:

  1. Note the amountdue value

  2. Take payment via payment provider

  3. Process payment and close order:

  1. Verify order closed successfully

Expected Result:

  • Items added with correct size modifiers

  • Different prices applied based on size

  • Payment processed successfully

Pass/Fail Criteria: Size modifiers correctly applied with appropriate pricing


Test Case TBL_OP_TC04: Place an Order to Table 204 with Gratuity (Tips) (Optional)

Objective: Verify order can be created and gratuity added before payment

Prerequisites:

  • Valid authentication token

  • Table 204 available

  • Gratuity functionality enabled

Steps:

  1. Call AddOrder to create new order on Table 204:

  1. Add transaction items using UpdateOrder:

  1. Verify items added successfully

  2. Call UpdateOrder to calculate final totals:

  1. Note the amountdue value

  2. Take payment via payment provider

  3. Process payment including gratuity:

  1. Verify gratuity tracked for staff allocation

Expected Result:

  • Gratuity added to order total

  • Payment includes gratuity amount

  • Gratuity identifiable for distribution

Pass/Fail Criteria: Gratuity added correctly, payment processes full amount including tip


Test Case TBL_OP_TC05: Place an Order to Table 205 with App Calculated Discount (Optional)

Objective: Verify order can be created with app-calculated discount applied

Prerequisites:

  • Valid authentication token

  • Table 205 available

  • App has permission to apply discounts

Steps:

  1. Call AddOrder to create new order on Table 205:

  1. Add transaction items using UpdateOrder:

  1. Verify items added successfully

  2. Calculate discount (e.g., 20% of subtotal)

  3. Apply app-calculated discount using UpdateOrder:

  1. Call UpdateOrder to calculate final totals:

  1. Verify discount applied correctly

  2. Verify saletotal reflects discounted amount

  3. Note the amountdue value

  4. Take payment via payment provider

  5. Process payment for discounted total:

  1. Verify order closed successfully

Expected Result:

  • App-calculated discount applies correctly

  • Payment processes for discounted amount

  • Discount tracked as app-initiated

Pass/Fail Criteria: Discount calculated and applied correctly by app


Test Case TBL_OP_TC06: Place an Order to Table 206 with 50% PoS Calculated Discount (Optional)

Objective: Verify order can be created and POS applies configured discount

Prerequisites:

  • Valid authentication token

  • Table 206 available

  • 50% discount configured in POS

Steps:

  1. Call AddOrder to create new order on Table 206:

  1. Add transaction items using UpdateOrder:

  1. Verify items added successfully

  2. Call UpdateOrder to trigger POS discount calculation:

  1. Verify adjustmentitems contains POS-calculated 50% discount

  2. Verify saletotal reflects 50% reduction

  3. Note the amountdue value

  4. Take payment via payment provider

  5. Process payment for discounted total:

  1. Verify order closed successfully

Expected Result:

  • POS automatically applies 50% discount

  • Payment processes for discounted amount

  • Discount visible in order details

Pass/Fail Criteria: POS discount applies automatically when calculations triggered


Test Case TBL_OP_TC07: Place an Order to Table 207 with Additional Kitchen Instructions (Optional)

Objective: Verify order can be created with additional kitchen instructions

Prerequisites:

  • Valid authentication token

  • Table 207 available

  • Kitchen instruction functionality enabled

Steps:

  1. Call AddOrder to create new order on Table 207:

  1. Add transaction items with kitchen instructions using UpdateOrder:

  1. Verify items added with kitchen instructions

  2. Verify kitchen instructions appear in transaction

  3. Call UpdateOrder to calculate final totals:

  1. Note the amountdue value

  2. Take payment via payment provider

  3. Process payment and close order:

  1. Verify kitchen instructions sent to kitchen display/printer

  2. Verify order closed successfully

Expected Result:

  • Kitchen instructions added to item

  • Instructions visible on kitchen output

  • Payment processed successfully

Pass/Fail Criteria: Kitchen instructions correctly stored and transmitted


Test Case TBL_OP_TC08: Place an Order to Table 208 with Additional Receipt Text (Optional)

Objective: Verify order can be created with custom receipt text

Prerequisites:

  • Valid authentication token

  • Table 208 available

  • Receipt text functionality enabled

Steps:

  1. Call AddOrder to create new order on Table 208:

  1. Add transaction items using UpdateOrder:

  1. Add receipt text using UpdateOrder:

  1. Call UpdateOrder to calculate final totals:

  1. Note the amountdue value

  2. Take payment via payment provider

  3. Process payment and close order:

  1. Verify custom text appears on receipt

  2. Verify order closed successfully

Expected Result:

  • Custom receipt text stored with order

  • Text appears on printed/digital receipt

  • Payment processed successfully

Pass/Fail Criteria: Receipt text correctly stored and appears on receipt


Test Case TBL_OP_TC09: Place an Order to Table 209 with Line Item Notes (Optional)

Objective: Verify order can be created with notes on specific line items

Prerequisites:

  • Valid authentication token

  • Table 209 available

  • Line item notes functionality enabled

Steps:

  1. Call AddOrder to create new order on Table 209:

  1. Add transaction items with line item notes using UpdateOrder:

  1. Verify items added with line item notes

  2. Verify notes appear with respective items

  3. Call UpdateOrder to calculate final totals:

  1. Note the amountdue value

  2. Take payment via payment provider

  3. Process payment and close order:

  1. Verify notes visible on kitchen output

  2. Verify order closed successfully

Expected Result:

  • Line item notes stored with specific items

  • Notes visible on kitchen display/printer

  • Payment processed successfully

Pass/Fail Criteria: Line item notes correctly associated with items and transmitted


Test Case TBL_OP_TC10: Place an Order with 100% Discount (Balance £0) (Optional)

Objective: Verify order can be created with 100% discount resulting in zero balance

Prerequisites:

  • Valid authentication token

  • Table 210 available

  • Ability to apply 100% discount

Steps:

  1. Call AddOrder to create new order on Table 210:

  1. Add transaction items using UpdateOrder:

  1. Apply 100% discount using UpdateOrder:

  1. Call UpdateOrder to calculate final totals:

  1. Verify amountdue = 0.00

  2. Close order without payment (as balance is zero):

  1. Verify order closes successfully with zero balance

  2. Verify no payment required

Expected Result:

  • 100% discount applied correctly

  • Balance is £0.00

  • Order closes without payment

  • Order recorded in system

Pass/Fail Criteria: Zero balance order completes successfully without payment


Test Case TBL_OP_TC11: Place an Order Part Paid with Card and 3rd Party Gift Card (Optional)

Objective: Verify order can be paid using multiple payment methods

Prerequisites:

  • Valid authentication token

  • Table 211 available

  • Card payment configured

  • Gift card payment configured

  • Valid gift card available

Steps:

  1. Call AddOrder to create new order on Table 211:

  1. Add transaction items using UpdateOrder:

  1. Call UpdateOrder to calculate final totals:

  1. Note amountdue value (e.g., 50.00)

  2. Take partial payment via gift card (20.00) - call ValidateGiftCard to ensure card validity and amount

  3. Process first payment using UpdateOrder:

  1. Verify amountpaid = 20.00, amountdue = 30.00

  2. Take remaining payment via card (30.00)

  3. Process second payment and close order:

  1. Verify both payment types recorded

  2. Verify amountpaid = amountdue

  3. Verify order closed successfully

Expected Result:

  • Multiple payment methods supported

  • Partial payments tracked correctly

  • Order closes when fully paid

  • All payment methods recorded

Pass/Fail Criteria: Multiple payment methods work together to complete transaction


Test Case TBL_OP_TC12: Place an Order to a Site That is Offline (Optional)

Objective: Verify system handles offline site gracefully

Prerequisites:

  • Valid authentication token

  • Site configured but currently offline

  • Error handling implemented

Steps:

  1. Attempt to call AddOrder for offline site:

  1. Verify response has error: true

  2. Verify error message indicates site is offline

  3. Verify no order created

  4. Verify appropriate user notification

Expected Result:

  • error: true

  • errorMessage: "Site is currently offline" or similar

  • No partial order created

  • Clear error message to user

Pass/Fail Criteria: System detects offline site and returns appropriate error


Test Case TBL_OP_TC13: Availability of Items Auto Updated When PoS User Enables/Disables Items

Objective: Verify app reflects real-time item availability from POS

Prerequisites:

  • Valid authentication token

  • Access to POS to enable/disable items via notification webhook

  • App monitors item availability

Steps:

  1. Query available items via API

  2. Verify initial item availability list

  3. Disable item on POS (e.g., PLU 50001)

  4. Wait for availability webhook notification

  5. Verify disabled item no longer appears as available

  6. Re-enable item on POS

  7. Wait for availability webhook notification

  8. Verify item now appears as available

Expected Result:

  • Item availability updates reflect POS changes

  • Disabled items cannot be ordered

  • Re-enabled items become orderable again

  • Appropriate error messages returned

Pass/Fail Criteria: App item availability synchronized with POS in real-time


Test Case TBL_OP_TC14: Ability for App User to Amend/Remove Items Prior to Payment

Objective: Verify user can modify order before payment is taken

Prerequisites:

  • Valid authentication token

  • Table 214 available

  • Order created but not yet paid

Steps:

  1. Call AddOrder to create new order on Table 214:

  1. Add initial transaction items:

  1. Verify items added successfully

  2. Note initial saletotal

  3. Remove one item using UpdateOrder:

  1. Verify item removed from order

  2. Verify saletotal adjusted

  3. Modify quantity of remaining item:

  1. Verify quantity updated

  2. Verify saletotal reflects new quantity

  3. Proceed with payment and close order

Expected Result:

  • Items can be removed before payment

  • Quantities can be modified before payment

  • Totals recalculate correctly

  • Modified order completes successfully

Pass/Fail Criteria: Order modifications work correctly before payment taken


Test Case TBL_OP_TC15: Invalid Item Handling - Sell an Invalid PLU Number

Objective: Verify system rejects invalid PLU numbers

Prerequisites:

  • Valid authentication token

  • Table 215 available

  • Knowledge of invalid PLU number

Steps:

  1. Call AddOrder to create new order on Table 215:

  1. Attempt to add invalid PLU using UpdateOrder:

  1. Verify response has error: true

  2. Verify error message indicates invalid PLU

  3. Verify no item added to order

  4. Verify order remains in valid state

Expected Result:

  • error: true

  • errorMessage: "Invalid PLU number" or similar

  • No invalid item added

  • Order remains valid and modifiable

Pass/Fail Criteria: System rejects invalid PLU and provides clear error message


Test Case TBL_OP_TC16: Invalid Payment Type - Complete a Transaction with Invalid Media Number

Objective: Verify system rejects invalid payment method

Prerequisites:

  • Valid authentication token

  • Order created with items

  • Knowledge of invalid payment offset

Steps:

  1. Create order with items on Table 216

  2. Add transaction items successfully

  3. Call UpdateOrder to calculate final totals:

  1. Note the amountdue value

  2. Attempt payment with invalid offset:

  1. Verify response has error: true

  2. Verify error message indicates invalid payment method

  3. Verify order remains open

  4. Verify no payment recorded

Expected Result:

  • error: true

  • errorMessage: "Invalid payment method" or similar

  • Order still open

  • No payment applied

  • Order remains payable with valid method

Pass/Fail Criteria: System rejects invalid payment method and order remains in valid state

Last updated

Was this helpful?