The release to rule them all. This release is intended to fix the issues surrounding the recurring system. This is the first release to feature RRULE, a RFC standard for recurrance that we didn’t know about. We are not reinventing the wheel any more! Hooray! Gcal also supports RRULE, so sync could be around the corner.
Nuked from orbit 🧨
Instead of tracking down all the recurring bugs that we had already wasted a month of dev time on, we cut our losses and switced to RRULE as the underlying recurrance framework.
- Moving an apt within the same week will no longer make duplicates.
- Moving an apt outside of a week will no longer stop it from extending.
- If a customer cancels recurring, the customer will appear in the provider’s list until the date that series actually ends.
- When rescheduling, the apts will no longer be translated relative to start time, now they shift to the desired and predicable schedule.
Top highlights
- No more dupes
- Changing the frequency actually works
- Behavior is the exact same as in Google Calendar, resulting in a predictable and fluent UX
- Edits now show in clear human readable text as comments
- Now we can query historical recurring data, so we brought that forth to the customer pages in machina.
- Literally 50x speed boost for faster appointment edits and for the majority of operations we have a sub-50ms response time thanks to bulk operations
- Added support for all time zones
All prior recurring bugs were issues of code complexity
The following refactorings were invested to make recurring more reliable and estensible.
- Moved the recurring data to the appointments themselves, removing an entire collection in the process. As a result, recurring metrics are now dead easy to query.
- Repetitive appointment editor code has been unified into a single code base. 10k lines of duplicated code have been removed.
- The number of bytes taken up by appointments in the database has been cut in half.
More new stuff
- After customer would request recurring, we are hiding the recurring upsell message on the receipt.
- Fixed issue in the appointments list where long text would push the icons off screen.
- Updated our mailing address.
- On the marketplace, the coverage override now ensures the provider is within 50 miles.
- For any providers that have a special “cut”, that cut is now visible in the Appointment Editor instead of showing a fixed 30% cut.
- Prevented card errors from blocking no-shows from getting cancelled.
- Fix a white screen when navigating to a provider page before the subscription was fully loaded.
- New responsive design for “How was your appointment” banner.
- Perfect center alignment on banners when the text is really long.
- Addressed issue of the server pulling 1 million user records daily. This also fixed the 5 second delay between providers updating timeslots and updating on the marketplace.
- Added unit tests for confirming requests and booking recurring!
Made with ❤️ by Hux Product