Membership join links
A website button that takes a visitor straight to joining one of the clinic's membership plans.
The link
https://<clinic host>/join/?plan=<product_code>&promo=<code>
| Parameter | Meaning |
|---|---|
plan | The plan's product_code (from the catalog). Without it the page lists every plan the clinic offers online. A code not offered online shows a "contact the clinic" card. |
promo | A discount code. Pre-fills the promo field; checked and priced only at payment. |
utm_*, gclid, gbraid, wbraid | Campaign labels and Google click ids, same rules as booking links. |
<clinic host> is the clinic's address, for example https://<clinic>.moonshotehr.com. Nothing in the link sets a price; the price is the clinic's own, computed at payment.
When a plan can be joined online
Online membership sign-up depends on the clinic's card processor and on how the plan is set up. The catalog's memberships.available tells you whether this clinic offers it today; when it does not, link to the clinic's contact page instead.
Two flows
- Emailed link (default): the visitor fills in name, email, phone and date of birth, then gets a "Finish joining" email whose link signs them into the patient portal on the join step.
- Straight to payment (when the clinic turns it on): same form, then a 6-digit code by email, typed on the same page, and the portal opens on the join step.
In both flows the card, price, promo and charge are handled only inside the patient portal.
What the visitor sees
- After the form: a receipt with the time, and either the code step or a plain error with the next move.
- At payment: an enrolled receipt (plan, amount, card, next renewal), a decline with "try another card", or "confirming, check Payment History".
Not covered
- One-time items alongside the membership.
- Signing an agreement at enrollment (the portal shows the auto-renew disclosure before payment).