Optionalactive?: booleanOptionalbankId?: stringPartner bank fronting this program's virtual accounts, as its slug
(e.g. "state_street"). Optional today — defaults to
DEFAULT_BANK_ID — because a later task makes the admin
dashboard pass this explicitly; it will become required once that
lands.
Optionaldescription?: string | null
Create / edit / soft-delete for the admin RouteFusion program registry.
routeFusionProgramIdis set once at creation and is immutable thereafter (like Victor'svictorId): it is the program id stored on enrolled customers'customer.data.routeFusionProgramId, so re-pointing it would silently orphan every enrolled customer.name/description/activeare editable. The org credential is not stored here — the worker holds a single org JWT from env. The orphan-guard on delete (block while customers are still enrolled) lives at the dashboard server-action layer, which has both this + the customer service.