Client billing and pass actions recover more reliably
With the corresponding Business app update, opening a client's Billing tab no longer crashes when older payment-history data is restored. Partial refunds keep the entered amount after a refused attempt. Receipt printing from client Billing opens after the refund sheet closes, and processing refunds are shown separately from completed refunds.
# Client billing and pass actions recover more reliably With the corresponding Business app update, opening a client's Billing tab no longer crashes when older payment-history data is restored. Partial refunds keep the entered amount after a refused attempt. Receipt printing from client Billing opens after the refund sheet closes, and processing refunds are shown separately from completed refunds. Staff choose notification channels for each refund. Unavailable choices explain why they cannot be used. Receipt results distinguish acceptance for sending from an unconfirmed outcome. Interrupted receipt and bulk-email requests keep their original payment selection and retry identity. The existing bulk-email action can also select eligible payments made outside POS, matching the desktop client profile. The API advertises this separately from single-receipt sending and explains when a payment is ineligible. Pass edits reject incomplete whole-number values and impossible calendar dates. Date-dependent actions use the selected venue's verified timezone and preserve the operator's draft while venue details load.
Appointment times stay with the venue that booked them
With the corresponding Consumer app update, appointment history uses the appointment's own venue timezone even after you switch venues or leave a venue. Opening an appointment keeps that venue context. If the venue time cannot be verified, the app says it is unavailable instead of showing a time from another venue.