Bugfixes
- Fixed an issue where existing patients did not receive the verification text during phone-number 2FA, which prevented them from reaching the scheduling calendar.
- Fixed an error that could cause GoHighLevel updates to silently fail for patients who exist in more than one location.
- Corrected an issue where sending an invoice to a patient could set the due date to one day in the past.
- Subscription start and due dates can no longer be set to a date in the past — they are now limited to today or a future date.
- Fixed subscription due date and next-billing-date values being off by a day in the subscriptions table and details.
- Fixed subscription due dates being off by a day across the subscription and invoice views.
- Removed the cancel option for subscriptions that are still in a Pending status.
- Simplified payment attempt statuses by removing the "Submitting" state, which now shows as "Pending."
- Fixed rapid, successive edits when billing a patient (for example, adding a discount and then changing quantity) not always being reflected in the charged amount.
- Fixed the Subscription ID link and corrected styling on the Invoice Details view.
- Corrected contact information not displaying properly on the patient self-pay email.
- Fixed a crash where clicking "View form" during the Send Forms flow returned the user to the home dashboard.
Scheduling & Appointments
- Rescheduling an appointment to another calendar now updates immediately — the appointment no longer briefly appears on both calendars and no browser refresh is required.
- Confirming an appointment from the home page now turns the confirmation icon green in real time and keeps the appointment in the correct order in the list.
- Voiding a recurring appointment now deactivates its scheduled SMS and email notifications, so patients no longer receive reminders for appointments that no longer exist.
- Appointment-related form QR codes are no longer expired too early — staff can still display the QR code after the appointment's scheduled start time.
- The "Forms Last Completed" date is no longer cleared from the appointment view when the same forms are sent again.
- Clinical notes are now correctly unlocked for editing when a supervisor returns charts.
Forms & Intake
- When generating a QR code to send forms, staff now also see the direct forms link with a copy button below the QR code for quick sharing via SMS, email, or chat.
- Corrected an issue where the address entered on a Credit Card Authorization Form was not shown when the completed form was reviewed after submission.
- Restored the ability to manually resend forms from the Forms tab for appointment types that have notifications turned off.
- Resolved a rare error that could occur when the same form answer was saved twice at the same time (for example, a double submission or parallel autosave).
Self-Scheduling
- Patient Self-Scheduling settings now separate Active and Inactive configurations onto their own tabs, so inactivated entries no longer clutter the active list.
- Improved the performance of confirming a self-scheduled appointment.
Integrations (GoHighLevel)
- Opportunities that Lobbie creates in GoHighLevel now have their "source" field set, making it easy to tell which opportunities were created by Lobbie versus other channels.
Partner API
- New subscription endpoints to list a location's subscriptions and retrieve subscription detail, with filtering by order, status, patient, and item.
- Fixed a validation error that returned an "Invalid pagination cursor" message when listing payments by account and location, even when no cursor was sent.
- Fixed a 500 error returned when calling the webhook test/ping endpoint.
- Fixed manual payments not appearing in the
payment.createdwebhook or in the payment list endpoints.
Payments (V2)
Note: Payments V2 is not yet in BETA and will be rolled out to practices in stages. Contact support@lobbie.com to join.
- Submit an order end to end: review a draft order, choose a payment method, and watch the charge process to completion in real time.
- Accept a payment against an existing open invoice directly from the invoice drawer, without having to create a new order.
- Change the payment method and retry a payment attempt directly from the order processing flow.
- Record a manual (non-processor) payment such as cash or check directly against an invoice, immediately reducing the outstanding balance.
- Add, view, and manage which manual payment methods (cash, check, and other offline methods) are accepted at the account and location level.
- Void a subscription that was created in error before it becomes active, without any billing or processor interaction.
- Automatically create an "Invoice Paid" billing task when an invoice is marked as paid, with the relevant invoice, patient, and payment details for follow-up.
- Bill a patient directly from the appointments dashboard and from appointment detail, with a new View Billing drawer that surfaces existing billing for an appointment.
- New Orders search table to search, filter, sort, and paginate orders alongside Subscriptions, Invoices, and Payment Attempts.
- Manage per-subscription task automation directly from the subscription detail drawer, with automation now honored at billing time.
- The Payment Vendor settings page now shows your live MX Advantage processing-fee rate, and the surcharge toggle is enabled based on your merchant configuration.
- End-to-end surcharge support: the surcharge is quoted when an order is confirmed and the actual charged values are persisted.
Performance & Reliability
- Improved the reliability of the MX Merchant payment webhook and customer link/unlink actions by reducing database lock contention.
- Reduced database lock contention on appointment check-in, check-out, and clinical-note saves for smoother concurrent use.
- Resolved a processing issue that could cause payment background jobs to fail when a currency value was stored in lowercase.
- Hardened Payments V2 background job processing to prevent a timing issue between saving a record and queuing its follow-up work.
- Corrected a data discrepancy where migrated payments could record a surcharge-inclusive amount instead of the base amount.
Infrastructure & Security
- Restricted and hardened the Google Maps API key used by the application.
- Finalized Web Application Firewall (WAF) rules to better block malicious bot traffic.