Starting a Listing Subscription (Admin)
For HiLucy staff and admins. This page is administrator-only. It exists so we can start an owner's subscription and take their card while we're driving, the owner is on the phone, mid-wizard, or blocked by a login hiccup, without waiting for them to self-serve through
/subscribe.
The Subscription page is the operator-side counterpart to the guest subscribe flow. Everything prefills from the listing, so you're confirming and collecting a card, not re-entering data. Open it by putting a listing in scope and choosing Subscription under the Money group, which resolves to /admin/listings/<id>/subscription.

What it prefills
Nothing is re-asked. The page reads the listing to fill in:
- Owner — the claimed owner account the subscription bills. If the listing has no claimed owner, you can't start a subscription; have the owner claim the listing first.
- Plan — Hotel or Vacation rental, from the listing type.
- Rooms (hotel only) — the billable room count, from published room types first, then the onboarding total.
- Price preview — base plus, for hotels, rooms × per-room fee, with the after-trial monthly total.
The three phases
1. Review
Confirm the owner, plan, and room count. For a hotel you can nudge the Rooms field up or down; the total recalculates live. The price line reads as base + rooms × per-room fee, matching the same formula the self-serve rail bills with.
When you're ready, click Start [30]-day trial & take card. That creates the trialing subscription behind the scenes and returns a Stripe setup secret so you can collect the card.
2. Card on file (Stripe SetupIntent)
The card form is Stripe Elements. The owner's card goes browser to Stripe directly, so card numbers never touch HiLucy's servers; only Stripe's payment-method and setup-intent identifiers pass through. Enter the card and click Save card & activate.
Nothing is charged today. As the form says, the card goes straight to Stripe and bills automatically when the 30-day trial ends. Behind that one button, HiLucy attaches the confirmed card as the owner's default payment method, then activates the listing (unless it's already live).
3. Done
You land on a confirmation: subscription active, card on file, owner on a 30-day trial, with the first monthly charge shown. If the listing already had a subscription, the page shows its status card instead of the start flow. An owner can only have one active subscription, so starting a second is refused.
Trial handling
Every start creates a 30-day trial. The trial starts now and the card bills at trial end. Because the admin flow is a thin wrapper over the exact same rail the owner uses when subscribing themselves, the trial mechanics, billing webhooks, and welcome email are identical to self-serve. There's no separate admin-only billing behavior to reason about.
Keep it free
Some listings should go live without billing (a pilot, a comp, a friend of the house). On the review screen, when the listing isn't live yet, you get a second button:
- Activate free — no billing. The listing goes live with no subscription. Nothing charges until you choose to start one, and it can stay free forever.
You can start billing later at any time from this same page. If a listing is already live for free, the review screen says so and simply offers to start a subscription whenever you want.
Idempotent activation
Activation is not blindly re-run. It re-transfers ownership, re-fires onboarding hooks, and re-sends the welcome email, so re-running it on a live listing would be disruptive. HiLucy guards against that: if the listing is already live and owned by this owner, the activate step short-circuits to a no-op success instead of stomping live state. This is what makes it safe to take a card on a listing that's been live and free for months, you're adding billing, not re-activating anything.
Audit trail
Because this moves money from the operator side, every start, card confirmation, and activation writes a financial-ledger entry naming the admin who did it. Admin-driven billing is always attributable.