What’s new
- Procedures pull from the Service Catalog. Pick a procedure in the plan builder and the estimated cost fills in from your catalog price. No more “how much do we charge for that?” mid-quote.
- Before / after photos. Optional photos attach to the plan and render on both the PDF export and the public share link patients see.
- Required-field validation. Patient, Plan Name and at least one Procedure show a red asterisk. Save is blocked with an inline error if any is missing. No more half-saved plans.
- Save lands you on the new plan. After saving, the app navigates to the freshly created plan instead of leaving you guessing whether it saved.
- 15-procedure cap per plan. Keeps plans readable. Split very large plans into phases.
- One-tap to plan detail. The previous two-tap URL-race bug is gone.
- Cached on revisit. Switching modules and coming back loads instantly — the cache holds for the session instead of firing four fresh requests.
- Discount policy in the builder. Pick a policy and the discounted total calculates and saves with the plan. It renders on the PDF and on the public share link.
How to use it
Fill in the plan name
Click Add Procedure — the picker is populated from your Service Catalog with prices.
Add procedures
Up to 15. Edit the quantity and price per row if a specific patient needs a variation.
What changed since the last revision
- Procedures come from the Service Catalog with prices.
- Before / after photos attach to the plan.
- Required-field validation prevents half-saved plans.
- Save lands you on the new plan.
- Plans are capped at 15 procedures.
- Detail opens in one tap.
- Switching modules and coming back is instant.
- Discount policies are applied in the builder.

