Admin - External Schools
External schools, the cities they are the competence school for, and the Stripe/A-Cube provisioning of their provider user. The console wizard (external-schools/add-external-school) still works the same way, for operators without frontend access.
External schools, with how many cities each is competent for
External schools, with how many cities each is competent for
Create an external school, its provider user, and (by default) their Stripe account and A-Cube configuration
Drivable equivalent of the console wizard `external-schools/add-external-school`. Provisioning runs after the school and its user are committed and is never rolled back on failure: a Stripe or A-Cube outage does not undo the school, it is just reported back as failed so it can be retried through provision-stripe/provision-acube.
One external school with its competence cities
One external school with its competence cities
Edit an external school's registry/invoicing fields and its provider's personal fields
user_id, is_self, the invoice sequence counters and stripe_account_id cannot be changed here: is_self is provisioned only by the console self-school command, the counters are internal bookkeeping, and the Stripe account id only ever moves through provision-stripe.
Make the school the competence school for the given cities
Refused when a city already belongs to another school: the resolution picks one row, so two claims make which school collects arbitrary.
Stop the school being the competence school for a city
Affects the next booking on: provider_id and competence_school_id are frozen on the orders already placed.
(Re)provision the Stripe Connect account of an external school's provider user
Idempotent: a user who already has an account keeps it unless stripe_account_id is passed, in which case that id is adopted without calling Stripe. This is the retry path for a school whose signup provisioning failed or was skipped.
(Re)provision the A-Cube business registry configuration of an external school's provider user
Idempotent: creates the configuration if none exists yet, updates it otherwise. Retry path for a school whose signup provisioning failed or was skipped.