Skip to main content

Example Scenario

A complete walkthrough of a festival cup deposit flow.

Setup

An organizer creates a configuration for the "Summer Festival" organization with two container categories:

CategoryDepositExpiration
0.5L Cup500 HUF48 hours
0.3L Cup300 HUF48 hours

Products are mapped: beer uses the 0.5L cup, wine uses the 0.3L cup.

1. Guest Orders Drinks

A guest orders 2 beers and 1 wine. The POS creates a transaction:

POST /v1/integrations/hybrid-revo-token-transactions
[
{ "productId": "beer_500ml", "quantity": 2 },
{ "productId": "wine_300ml", "quantity": 1 }
]

The system responds with a transaction code. The guest receives:

  • 2x 0.5L Cup + 1x 0.3L Cup
  • Total deposit charged: 1,300 HUF (2 x 500 + 1 x 300)
  • Transaction code printed on receipt

2. Guest Returns Next Day

The guest returns with 2 large cups. The operator scans the transaction code and previews:

GET /v1/integrations/hybrid-revo-token-transactions/{code}/preview
[
{ "category": { "id": "cat_001", ... "name": "0.5L Cup" }, "activeItemCount": 2 },
{ "category": { "id": "cat_002", ... "name": "0.3L Cup" }, "activeItemCount": 1 }
]

The operator validates the return of 2x 0.5L cups:

POST /v1/integrations/hybrid-revo-token-transactions/{code}/validate
[
{ "hybridRevoTokenCategoryId": "cat_001", "quantity": 2 }
]

Result: Guest receives 1,000 HUF refund (2 x 500). The 0.3L cup remains active until the 48-hour window expires.

3. Expiration

The guest never returns the 0.3L cup. After 48 hours, the system automatically sets the item to EXPIRED status. The 300 HUF deposit is forfeited.

Final State