Loyalty Activities at Checkout

1. Checkout Processing

Pre-order

Before the receipt is issued at checkout, the pre-order service is called to recalculate order prices with info on customer’s discounts, i. e. promocodes, gift cards, and point balance. The service should be called upon any order update, i. e. order composition, payment method, or other properties.

Order Processing

Before the receipt is printed, the order processing service is called to confirm current availability of customer's discounts. The service can return validation errors that should be presented to the cashier. If the order price was updated since the pre-order service was called (for example, a promotion has ended), the service returns 409 Conflict. In this case you need to call pre-order service again to recalculate the prices.

On Success

  • Order processing service will lock promocodes, gift cards, and bonus points used in the customer order until the order is confirmed or canceled.
  • The service returns internal Maestra order ID that should be passed on to the order update service.

The cash desk should proceed with the receipt only when the service succeeds.

Order Confirmation and Cancellation

After the order is processed, you need to confirm successful purchase via the order update service
If any issues occur, the order should be canceled via the same service. These operations accept full order details along with internal Maestra ID as input.

Product Returns

In case of product returns you need to call the order update service, passing current order composition. The operation accepts full receipt details along with internal Maestra ID.

Service Invocation Issues

If Maestra services can't be called during the transaction (cash desk is offline, Maestra is unavailable), the transaction should proceed without discounts. In that case you need to queue order info on the cash desk side to transfer it to Maestra via the order update service when the issue is resolved. The order will be saved at Maestra, so the customer will be awarded bonus points if necessary.

2. Customer Details at Checkout

The cashier can:

3. Customer Loyalty Activities

The store manager can:

4. Loading History Data

You need to load:

If an existing loyalty program is being migrated, you need to load: