Three contract models in one place: hourly tiers with optional overage, flat / per-class fees, and a ledger of every overage charge.
Three tabs: Hourly plans / Flat & per-class fees / Overage charges.
Create subscription plans (e.g. "10h / month — $300"). For each plan, choose either: Block further bookings once the monthly limit is reached, OR Allow overage and charge per extra hour ($/hour rate you set).
Three flavours on the same tab: Flat monthly (fixed amount each month), Per class (rate × number of classes taught), or Per hour (rate × actual class minutes that month — designed for ad-hoc renters who use the room as-needed). All settle manually via the monthly invoice report.
See every overage with status (pending / charged / failed). Waive any one of them — if it's already charged, the refund happens automatically.
On the instructor's edit page, open the Contract section and choose No contract, Hourly plan, or Flat / per-class fee. They're billed monthly through Stripe.
Once assigned, the instructor's profile page shows a Contract Hours card: a stacked progress bar (blue for classes, teal for room bookings) against the contracted amount, a breakdown table, and mini bars for the previous three months. Use the arrows to browse past months.