Feature

Every booking becomes an order — payments, refunds, and all

Every booking becomes an order — track payments, process refunds, and manage revenue in one place

Every Booking Becomes an Order

When a customer completes a booking, Opencals creates an order. That order tracks everything: confirmation, payments, reschedules, cancellations, refunds. You can search and filter the entire list.

Per-booking

Order created

Stripe

Standalone payments

Shopify

Widget payments

Full / Partial

Refund options

Orders start at #1001 and increment from there. Each one contains line items (the appointments), payment transactions, and an activity log.

Payment Processing

Standalone mode — connect Stripe to accept card payments at booking. Stripe handles PCI compliance and fraud protection, supports all major cards.

Shopify mode — bookings through the Shopify widget go through Shopify Payments. Each appointment becomes a Shopify order, so service revenue and product revenue sit together. If you also run the Opencals storefront, those bookings can use Stripe instead.

You can also accept manual payments (cash, bank transfer) by marking the order as paid in the dashboard with a note about the payment method.

Order Search and Filters

Find any booking instantly. Filter orders by:

  • Payment status — unpaid, partially paid, paid
  • Fulfillment status — unfulfilled, partially fulfilled, fulfilled
  • Refund status — unrefunded, refund owed, partially refunded, fully refunded
  • Date range, staff member, service, or customer

Refund owed

When a customer cancels an appointment, the order status changes to "refund owed." The dashboard surfaces these automatically so you don't miss a refund that needs processing.

Refunds

Process full or partial refunds from the Orders dashboard. Select which appointments to refund, review the total, confirm. The refund goes back to the customer's original payment method automatically.

On Shopify, refunds processed in the Opencals dashboard sync back to Shopify — the order status updates in both systems.

Edit Orders After Booking

Customers change their minds after they pay. Open the order, click Edit, and change what they booked: move them to another studio or room at the same time, make a booking longer or shorter, swap the staff member or location, add or remove appointments, or change add-ons.

Nothing changes until you click Update order. Before that, the summary shows the new total, which discounts still apply (and any automatic discount the new order now qualifies for), and the difference: an amount to collect or a refund owed. Collect it with an invoice or mark it as paid, or refund it, from the same order. The customer's payment history stays on one order instead of being split across a cancelled booking and a new one.

The customer gets one email with everything that changed, and their calendar invites update.

No-Show Management

Mark any booking as a no-show from the orders view. This records it in the order history. Combined with the Deposits & Cancellations feature (beta), marking a no-show can trigger an automatic fee charge.

Shopify Order Sync

On Shopify, orders exist in both dashboards:

  • Shopify admin — view using Shopify's native orders interface
  • Opencals dashboard — full order management including refunds, manual payments, and detailed appointment data

Actions in the Opencals dashboard (refunds, mark-as-paid) sync back to Shopify automatically.

Frequently Asked Questions

Get started

Ready to transform your service business?

Join 150+ businesses already using Opencals. Start on a free development store with every feature unlocked, and only pay once you go live.

No credit card required
Setup in 10 minutes
Cancel anytime