Clearer booking-offering read and save outcomes
Business details fail safely when current settings cannot be verified, and confirmed offering changes remain distinguishable from uncertain saves.
This appointment-completion candidate keeps booking offerings separate from paid-plan changes. Existing Classes, Appointments and combined agreements continue through the canonical offering authority. Removing an offering stops new sales while keeping existing obligations and history available. Business details no longer presents a failed read as an editable class/yoga default. An unrecognized business type uses the neutral catalog entry. Offering mutations distinguish a refused change from an uncertain write response, and a failed surface refresh does not turn a confirmed database save into a failed save. These are local candidate changes, not a deployment announcement. Native offering/paid-plan authoring and complete recovery controls still require their reviewed producer and app companions. No venue mode, paid agreement, Nailtech setting, customer communication or transaction is changed by the source tests.
Shared booking-offering controls for web and Business clients
A scoped API companion uses the existing offering authority and distinguishes saved, refused and unconfirmed changes.