Skip to main content

Conflict Handling

Conflicts can occur when the POS and the external OMS act on the same customer order simultaneously. For example, a store associate may be handing out an order to a customer at the same time the external OMS is cancelling that order. This scenario applies to both the Proxy and Events integration approaches.

How Conflicts Are Handled

Events Approach

When using the events approach, the Customer Order service handles conflicts automatically:

  • The service ensures that the most up-to-date information is processed and that conflicts are resolved in a way that maintains data integrity and consistency.
  • Pickup takes precedence over cancellation -- if the POS has already handed out an order to the customer, a subsequent cancellation request from the external OMS will be rejected. The external OMS will receive a message indicating the order was still picked up by the customer. This allows the external OMS to take appropriate action (e.g., notifying the customer or updating its own records).

Proxy Approach

When using the proxy approach, the external OMS is responsible for implementing conflict resolution logic on its own side. The external OMS must:

  • Monitor PosLog events to detect when orders have been picked up or otherwise updated at the POS.
  • Implement logic to prevent conflicting operations (e.g., cancelling an order that has already been picked up).
  • Ensure data consistency between its own system and the POS by reacting to PosLog events in a timely manner.