vial-circle-checkTC: Collection - Order and Pay

Test Cases for In Venue Order and Pay Collection Integrations

TC: Order and Pay

OrderType 8: In Venue Order and Pay - Collection

NB. If using App generated order numbers - include these within the "WebOrderDisplayNo" field. If using Pos generated Order Numbers, reference the value included in the "billNo" field of the AddOrder response payload. The Pos customer collection display can be configured to display either number.


Test Case COL_OP_TC01: Place an Order (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

  • Valid PLU numbers configured

Steps:

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

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

  2. To utilise Pos generated Order Numbers: Verify order object returned and use billno field in response - Customer collection screen can be configured to display this number

  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 COL_OP_TC02: Place an Order 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

  • PLU configured with linked condiments

  • Priced and non-priced condiments configured

Steps:

  1. Call AddOrder to create new order:

  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 COL_OP_TC03: Place an Order with Stock Modifiers (Item Sizes)

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

Prerequisites:

  • Valid authentication token

  • PLU configured with size modifiers

  • Multiple size options available

Steps:

  1. Call AddOrder to create new order:

  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 COL_OP_TC04: Place an Order with Gratuity (Tips) (Optional)

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

Prerequisites:

  • Valid authentication token

  • Gratuity functionality enabled

Steps:

  1. Call AddOrder to create new order:

  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 COL_OP_TC05: Place an Order with App Calculated Discount (Optional)

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

Prerequisites:

  • Valid authentication token

  • App has permission to apply discounts

Steps:

  1. Call AddOrder to create new order:

  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 COL_OP_TC06: Place an Order with 50% PoS Calculated Discount (Optional)

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

Prerequisites:

  • Valid authentication token

  • 50% discount configured in POS

Steps:

  1. Call AddOrder to create new order:

  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 COL_OP_TC07: Place an Order with Additional Kitchen Instructions (Optional)

Objective: Verify order can be created with additional kitchen instructions

Prerequisites:

  • Valid authentication token

  • Kitchen instruction functionality enabled

Steps:

  1. Call AddOrder to create new order :

  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 COL_OP_TC08: Place an Order with Additional Receipt Text (Optional)

Objective: Verify order can be created with custom receipt text

Prerequisites:

  • Valid authentication token

  • Receipt text functionality enabled

Steps:

  1. Call AddOrder to create new order:

  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 COL_OP_TC09: Place an Order with Line Item Notes (Optional)

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

Prerequisites:

  • Valid authentication token

  • Line item notes functionality enabled

Steps:

  1. Call AddOrder to create new order:

  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 COL_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

  • Ability to apply 100% discount

Steps:

  1. Call AddOrder to create new order:

  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 COL_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

  • 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 COL_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 PSOP_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 COL_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

  • Order created but not yet paid

Steps:

  1. Call AddOrder to create new order:

  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 COL_OP_TC15: Invalid Item Handling - Sell an Invalid PLU Number

Objective: Verify system rejects invalid PLU numbers

Prerequisites:

  • Valid authentication token

  • 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 COL_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

  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?