Skip to main content
A pickup order sits in awaiting_pickup until the customer collects it. If the customer never arrives, Arcus nudges them with reminder emails, and a CS rep marks the order customer no-show by hand when it is genuinely abandoned. There is no automatic cancellation. Marking no-show reverses the GL fulfillment entry, voids tax, releases inventory, and emails the customer. It does NOT auto-refund.
The daily auto-cancel sweeper was removed on July 22, 2026. Arcus never cancels or refunds a pickup order on its own. A pickup order is only cancelled for non-collection when a person marks it no-show, because a day-count sweeper cannot tell a genuine no-show apart from an order the customer already collected that staff forgot to mark picked up.

When This Workflow Runs

Pickup no-show applies to orders where:
  • delivery_option = pick_up
  • fulfillment_status = awaiting_pickup
  • The customer has not collected the order.
There is one way to close out an uncollected pickup order:
  • Manual. A CS rep clicks Mark No-Show on the order detail page or the No-Show queue when the order is genuinely abandoned. The daily sweeper only sends reminder emails; it never cancels.

Configure Pickup Settings

The pickup workflow is driven by per-entity settings. An admin sets them in Settings > Order Workflow > Pickup Reminders: Each reminder day is a positive integer. Multi-stage reminders are labeled early, mid, and last so the customer sees increasing (but non-threatening) nudges. The copy never threatens an automatic cancellation.
Order Workflow settings page with the Pickup Reminders block showing the reminder days and restocking fee field

Pickup reminder settings live in the Order Workflow page so the admin can tune the reminder cadence per entity.

How Reminders Work

When a pickup order transitions into awaiting_pickup, Arcus stamps pickup_ready_at. The daily reminder job walks every entity’s pickup_reminder_days schedule and sends a reminder email when:
  • The order age passes a reminder threshold.
  • That stage has not already been sent (each configured stage sends exactly once).
  • A minimum 12-hour gap is honored between sends so a misconfigured timer cannot carpet-bomb the customer.
The reminder email lists the order number, the pickup location, the order items, and a link to the customer portal where the customer can confirm or reschedule. It never threatens cancellation.

Manual No-Show

When a pickup order is genuinely abandoned (or the customer calls and confirms they will not collect), a CS rep finalizes it by hand:
  1. Open the order detail page or the No-Show queue.
  2. Open the Order Actions menu.
  3. Select Mark No-Show.
  4. Review the server-enumerated confirmation (it shows exactly what will reverse and what payment is owed back) and confirm the reason in the modal.
  5. Apply.
The modal explains the cascade before submission so the operator knows the no-show is not a soft hold, and shows any amount that will be owed back to the customer.

What Mark No-Show Does

The no-show runs the canonical voidOrder cascade with suppress_refund set. In one transaction:
  1. Reverses fulfillment GL. Cost of Goods Sold and Inventory entries are reversed so the books match the unfulfilled state. The reversal is double-entry balanced.
  2. Voids sales tax. Sales Tax Collected is reversed. When AvaTax is connected, the AvaTax invoice is voided in their system.
  3. Reverses shipping income. Shipping Revenue and Shipping COGS are reversed if the order was billed for shipping.
  4. Releases inventory. On-hand goes back up and FIFO layers are restored. Serialized units transition from sold back to available.
  5. Never auto-refunds. If the customer pre-paid, the payment is NOT refunded automatically. The paid amount is parked as a customer credit (AR) and a refund-owed work item (REFUND_MANUAL_REQUIRED) is surfaced for a human to issue via a sanctioned refund surface (Issue Refund or the Cancel wizard). Any restocking fee is applied by that human when they issue the refund.
  6. Stamps pickup_no_show_at on the order so reports can find no-show orders later.
  7. Logs the activity on the order timeline with the PICKUP_MANUAL_NO_SHOW action.
  8. Broadcasts order.updated so dashboards reflect the change immediately.
  9. Sends the no-show email to the customer. It acknowledges any payment on file and says a human will be in touch about it. It never claims a refund was already issued.
The order moves to cancelled and voided. The original fulfillment entries remain in the GL for audit; the reversing entries net them out.

Dashboard Surfaces

Pickup no-show appears in:
  • Order Lifecycle Status mix. No-show orders show in the cancelled bucket with a no-show sub-tag so reports can split them out from other cancellations.
  • Pickup Aging Report. Open pickup orders sorted by pickup_ready_at age. The oldest bucket (13+ days) flags orders that need staff attention: mark picked up if the customer collected, or mark no-show if abandoned.
  • Activity Log. The PICKUP_MANUAL_NO_SHOW action surfaces in the entity activity stream.

When Mark No-Show is Blocked

  • Not a pickup order. The button is hidden if delivery_option is not pick_up. Use the regular cancel workflow instead.
  • Already collected. If the customer collected and the order is fulfilled, no-show does not apply. Use a return instead.
  • Already cancelled. A previously cancelled or voided order shows the no-show button as disabled.
  • Closed period. If the original fulfillment was in a now-closed period, the GL reversal cannot post. Reopen the period or post the reversal in the current period after a conversation with accounting.

Industry Notes

The 3-7-12 reminder cadence matches Shopify Local Pickup and Square Will-Call reminder defaults. Arcus deliberately does not auto-cancel: marking a pickup order no-show is a human decision, so a collected-but-unmarked order is never voided and refunded by a scheduler.

Walk-In Pack

Counter-sale pack for orders the customer takes home today, not pickup orders that wait.

Cancel Order Decision Tree

Pick the right cancel path: void, cancel, no-show, or return.

Apply Account Credit

Apply the parked credit when a no-show payment stays as an AR balance rather than going back to the card.

Order Lifecycle

Review all order status transitions, including pickup states.