Migrations
Migrations are the process of onboarding legacy tenants from the previous management system (Yardi/SecureCafe) onto the Metrognome platform. The process is staff-initiated and tenant-approved — staff creates an invitation for a specific studio, the tenant signs up and provides payment details, and staff reviews and approves to activate the lockout.
Invitation
Staff creates a migration invitation for a specific monthly studio. The invitation captures the tenant's contact info, their billing anchor day (honoring their existing billing date from the legacy system), and optional price overrides. Each invitation generates a unique token used in the invite URL.
Invitations can be sent by email or SMS. Once claimed by a tenant, an invitation can no longer be edited, deleted, or re-sent.
Self-Signup Block
Tenants with migration invitations that have not yet been sent are blocked from creating accounts through normal self-signup. The error directs them to the legacy system. Once the invitation email has been sent, the block lifts — the tenant is expected to use the invitation link to sign up.
Tenant Submission
When a tenant clicks their invitation link, they sign up for an account (or log in) and are taken through a checkout flow that collects their payment method via a Stripe SetupIntent. No charge occurs at this point — only the payment method is saved.
The tenant can re-submit if they haven't completed payment setup. Once a payment method is confirmed, the submission moves to pending review.
Staff Review
Staff reviews pending submissions on the migrations page. They can see the tenant's payment method details and insurance selection. Staff can approve or reject.
Approval
Approval creates the lockout subscription. The previously collected payment method is attached to the tenant's Stripe customer and set as default. A new subscription is created with the invitation's billing terms (anchor day, price overrides, insurance). The pending reservation is activated with the appropriate start date.
Staff chooses whether billing starts in the current month (with a backdated charge for the elapsed period) or next month (no charge until the anchor date).
On approval, the tenant receives a welcome email and the community manager is notified.
Rejection
Rejection cancels the SetupIntent, cancels the pending reservation, and records optional rejection notes. No email is sent to the tenant on rejection.
Pricing
Migration invitations can include custom card and ACH price overrides that carry through to the subscription. These overrides bypass the normal square footage calculation (see Pricing). If no overrides are set, the resource's standard calculated price is used.
Billing Anchor
The billing anchor day (1–28) is set on the invitation, typically matching the tenant's existing billing date from the legacy system. This determines the day of the month when recurring charges occur. The anchor is timezone-aware, using the location's timezone.
How It Differs From Normal Checkout
Normal lockout checkout creates a Stripe subscription immediately with payment incomplete, then fulfills when payment succeeds. Migration checkout collects the payment method first via SetupIntent (no charge), then creates the subscription at approval time. This gives staff a review step before any billing relationship is established.
Bulk Tools
Staff has access to bulk operations for managing migrations at scale: CSV import of invitations from Yardi data, bulk email sends, and bulk SMS via background job queue. Diagnostic scripts exist for auditing migration status and fixing billing anchor timezone issues.