Trials in Booknetic SaaS
Set up free trials in Booknetic SaaS — choose a trial plan, pick a duration, define the expired-plan view, and convert tenants to paid subscriptions.
Set up free trials in Booknetic SaaS — choose a trial plan, pick a duration, define the expired-plan view, and convert tenants to paid subscriptions.
A trial in Booknetic SaaS is the period a new tenant runs on your platform before they have to pay. You choose one of your plans to be the Trial plan, you set how many days the trial lasts, and every new tenant who signs up lands on that plan automatically — no card, no checkout, immediate access to their own Booknetic panel.
The trial is the front door to your SaaS. It lets prospective customers see the product, set up their first service, take a test booking, and decide they like it — before you ever ask them to pay. When the trial ends, Booknetic moves them onto the Expired plan you've configured, which is your visible nudge to subscribe.
Three things are worth knowing up front:
Setting up a trial takes one screen and three decisions.
Open WP Admin → Booknetic SaaS → Plans and either edit an existing plan or create a new one specifically for the trial. We recommend the trial plan be intentionally light — enough capability and headroom for a tenant to take the product for a real spin, but tight enough that they have a reason to upgrade.
A good starting shape for a trial plan:
For the full breakdown of capabilities vs limits, see the Plans and plan capabilities doc.
Go to WP Admin → Booknetic SaaS → Settings → General → Plan Settings and set:
Set this before your first signup. The Trial plan and Trial duration are read at signup time. Tenants who signed up before you set these will land on whatever was the default plan at the moment they signed up — changing the trial settings later doesn't migrate them back.
The Expired plan is what the tenant gets switched to the moment their trial ends. It's a regular plan you set aside specifically for the post-trial state. We recommend:
For the full Expired plan behaviour, see the Cancelling and deleting tenants doc — the expiry mechanics there are the same.
Once trials are configured, the signup flow is straightforward. A prospect lands on your public signup page — the one rendered by the [booknetic-saas-signup] shortcode on your WordPress site — and fills in a short form: their email, the URL slug they want for their tenant, a password, and any custom signup fields you've configured.
There is no payment step. As soon as the form is submitted (and email verification clears, if you've enabled it), the new tenant gets immediate access to their own Booknetic panel. Behind the scenes, Booknetic:
From the tenant's perspective, they sign up, click into their panel, and start configuring services and staff. The trial is invisible-by-default in the sense that nothing screams "trial" at them — but the expiry date is plainly visible in their Billing page, and they can subscribe to a paid plan from there at any time.
Inside the tenant panel, the trial state is visible in two places.
When the tenant opens Billing → Current plan, they see their current plan (your Trial plan) along with:
Staff: 1 / 2, Services: 3 / 5, Appointments: 4 / 50.This is the tenant's window into "how much trial do I have left, and how am I using it."
The tenant also sees the rest of your plans on their Billing page — every visible plan (any plan without the Hidden toggle on) shows as a card with its price, description, and a Select button. The tenant can switch to a paid plan at any time during the trial.
Tip — send the expiry reminder yourself. Booknetic ships with a
tenant_notifiedworkflow event you can wire up under Booknetic SaaS → Workflows to email a tenant a few days before their trial ends. This is the recommended way to nudge trial users toward subscribing — Booknetic does not send a default trial-expiry email out of the box, so you need to configure one. The workflow runs on a daily cron and fires for tenants whose expiry is approaching.
The trial-to-paid conversion happens entirely in the tenant's own panel.
There is no data migration. The appointments, customers, staff, services, and locations the tenant created during the trial all stay exactly where they were. The plan change only changes what the tenant can do going forward — it never touches the data they've already entered.
If the tenant doesn't pick a paid plan before their trial expires, Booknetic switches them onto the Expired plan you configured in Step 3 above. This is automatic and silent — the tenant doesn't see an "expired" label anywhere in their panel; they just see fewer features and tighter limits.
Three things to know about what happens at expiry:
Appointments, customers, staff, services, locations, and any settings the tenant configured during the trial stay in place. Nothing is deleted by the expiry. This is the single most important thing to communicate to a tenant who's worried about losing their work: the trial ending is not a data event — it's an access event.
If your Expired plan has tighter limits than the Trial plan — for example, the Trial plan allowed 2 staff and the Expired plan allows 0 — Booknetic temporarily pauses the over-limit entries (staff, services, locations, service extras). The data isn't deleted; it's just flagged inactive until the tenant subscribes.
When the tenant subscribes to any paid plan, Booknetic reactivates the paused entries automatically, starting with the oldest first, up to the new plan's limit. The exact same mechanic applies to any plan switch — see the Plans and plan capabilities doc for the full pause-and-reactivate behaviour.
Workflows that depend on a paid-only capability — for example, the Workflow Email addon — stop running if the Expired plan has that capability OFF. The workflow rows themselves stay in the tenant's database; they simply don't fire while the capability is off. Once the tenant subscribes to a plan that has the capability back ON, the workflows resume.
Plain-English framing we recommend. Say "your trial has ended — your data is safe, some features are temporarily paused until you pick a paid plan." Avoid "your account has been suspended" or "your subscription has expired" — both sound harsher than the reality.
For the closest related expiry behaviour (cancellation vs deletion), see the Cancelling and deleting tenants doc.
These are three customer archetypes we see often. Each one shows a workable trial configuration you can adapt for your own SaaS.
You're selling Booknetic SaaS to single-operator businesses — freelance trainers, solo barbers, personal stylists. They want to try the product for a couple of weeks and then graduate to a single, simple paid plan.
| Plan | Monthly | Annual | Trial role | Capabilities | Limits |
|---|---|---|---|---|---|
| Trial | 0 | 0 | Trial plan (default) — 14 days | Core only: Appointments, Customers, Services, Staff, Locations. Email notifications ON. Workflows OFF. Reports OFF. | Staff: 1 · Services: 3 · Locations: 1 · Appointments: 25 · Customers: 100 |
| Solo | 19 | 190 | Paid upsell | Trial + Workflows ON, Reports ON, Google Calendar ON, Remove branding ON. | Staff: 1 · Services: unlimited · Locations: 1 · Appointments: unlimited · Customers: unlimited |
| Trial Expired | — | — | Expired plan | Billing only (all other modules OFF). | All at 0. |
Trial duration: 14 days. Why 14: long enough for a solo operator to take a real booking or two with their first customers; short enough to keep momentum.
You're selling to small teams — a 3-stylist salon, a small dental practice, a 2-location yoga studio. They want to evaluate quickly and pick a plan that fits their team size.
| Plan | Monthly | Annual | Trial role | Capabilities | Limits |
|---|---|---|---|---|---|
| Trial | 0 | 0 | Trial plan (default) — 7 days | Core ON. Workflows OFF. Reports OFF. | Staff: 2 · Services: 5 · Locations: 1 · Appointments: 50 · Customers: 200 |
| Team | 29 | 290 | Paid tier 1 | Trial + Workflows ON, Reports ON, Google Calendar ON, Coupons ON, Custom Forms ON. | Staff: 10 · Services: 50 · Locations: 3 · Appointments: 1000 · Customers: unlimited |
| Team+ | 59 | 590 | Paid tier 2 | Team + Remove branding, Upload logo, Dynamic translations. | Staff: 25 · Services: unlimited · Locations: 5 · Appointments: unlimited · Customers: unlimited |
| Scale | 99 | 990 | Paid tier 3 | Team + Affiliate program + Tenant Directory. | All unlimited. |
| Trial Expired | — | — | Expired plan | Billing only (all other modules OFF). | All at 0. |
Trial duration: 7 days. Why 7: a small-team customer who's serious will evaluate and decide within a week. A shorter trial increases conversion pressure without hurting genuine evaluation.
You're selling to multi-location operators — chains, franchises, regional groups — who need a real evaluation period and may want to onboard several real-looking tenants during the trial to demo the product internally.
| Plan | Monthly | Annual | Trial role | Capabilities | Limits |
|---|---|---|---|---|---|
| Demo (trial) | 0 | 0 | Trial plan (default) — 30 days | Core ON. Workflows ON. Reports ON. Google Calendar ON. Custom Forms ON. Coupons ON. Generous, deliberately. | Staff: 5 · Services: 10 · Locations: 2 · Appointments: 200 · Customers: 500 |
| Growth | 79 | 790 | Paid tier 1 | Demo + Tenant Directory ON. | Staff: 50 · Services: unlimited · Locations: 10 · Appointments: 5000 · Customers: unlimited |
| Scale | 149 | 1490 | Paid tier 2 | Growth + Remove branding, Upload logo, Dynamic translations, Mobile app. | All unlimited. |
| Enterprise (hidden) | Custom | Custom | Owner-assigned | Everything ON. | All unlimited. |
| Trial Expired | — | — | Expired plan | Billing only (all other modules OFF). | All at 0. |
Trial duration: 30 days. Why 30: enterprise-style evaluation cycles are longer; a multi-location operator may need to involve a steering committee before committing. A longer trial here is a competitive advantage rather than a leak.
These three setups are starting points, not prescriptions. The pattern that fits your platform depends on your audience — how long they typically take to decide, and how much trial usage you can absorb on your infrastructure.
Can I manually extend a tenant's trial? Yes. Open WP Admin → Booknetic SaaS → Tenants → Edit on the tenant in question, change the Expires on date to a later date, and save. The tenant gets more time on their current plan, no payment required. This is the right path when a prospect needs more evaluation time or you want to extend a goodwill courtesy.
What happens to bookings made during the trial when the trial ends? Bookings made during the trial — and the customers, services, staff, and locations the tenant set up — are preserved. They stay in the tenant's account exactly as they were. What changes at expiry is what the tenant can do going forward: new appointments may be blocked if your Expired plan has a 0 appointment limit, and any workflow that depends on a paid-only capability stops firing. None of the existing data is deleted.
Can a tenant restart a trial after it expires? There's no self-serve "restart trial" button — the trial period is consumed at signup. If a tenant wants to come back, the standard path is to subscribe to a paid plan from their Billing page. If you want to offer a goodwill extension to a returning prospect, you can manually push their Expires on date forward in Tenants → Edit (see the previous question) and re-assign them to your Trial plan.
Can I prevent the same person from creating multiple trials? Booknetic does not include built-in same-person / same-IP / same-card duplicate-trial detection at signup. The most effective prevention strategies we recommend are at the trial-plan level: keep the Trial plan's capabilities tight (especially Workflows and Email notifications, which are the most commonly abused) and configure email verification on the signup form so throwaway addresses are at least slowed down. If you suspect specific abuse, the SaaS owner can edit or delete the offending tenant manually from Tenants → Edit / Delete.
Does the tenant get an automatic "your trial is ending" email?
Not by default. Booknetic ships with a tenant_notified workflow event under SaaS → Workflows that you can configure to send a reminder a few days before the trial expires. We recommend setting this up — it materially improves trial-to-paid conversion. See your SaaS → Workflows screen to wire one up.
Can a tenant switch between plans during their trial? Yes — but most of the time they don't need to. A trial tenant is on your Trial plan; if they pick a paid plan from their Billing page during the trial, Booknetic switches them onto the paid plan immediately and the trial effectively ends early (they pay, they're on the paid plan). The paid plan's expiry replaces the trial's expiry. For full plan-switching mechanics, see the Plans and plan capabilities doc.
A few real-world quirks our pilot work has surfaced. These don't affect every setup, but they're worth knowing before you launch your trial flow.
In our SaaS pilot work, we found that a too-tight Trial plan can block a tenant from completing their first booking — for example, if the Trial plan allows 0 staff or 0 services, the tenant's onboarding stalls on the very first screen they open. Always give your Trial plan enough capability and limit headroom for the tenant to set up at least one staff member, one service, one location, and a handful of appointments. A trial that blocks the first-touch experience is a trial that doesn't convert.
A reasonable trial-plan minimum:
The trial expiry is calculated as "signup time + the number of days you set." The exact moment the trial flips to expired depends on your WordPress server's timezone configuration. For most installations this won't matter — the tenant will see "expires in 14 days" and that's accurate enough. If you need precise timing (for example, a trial that must end at midnight in a specific timezone), confirm your WordPress site timezone settings in WP Admin → Settings → General → Timezone and test the expiry in a sandbox.
If a tenant on a trial picks a paid plan from their Billing page during the trial, the paid plan takes over immediately. Their expiry date is recalculated based on the paid plan's billing cycle (one month or one year from payment), not the original trial expiry. The trial doesn't "pause" for the rest of the trial days — it ends the moment they pay. This is almost always what the tenant wants; we mention it because it sometimes surprises a SaaS owner who assumed "they get the rest of their trial as bonus time."
tenant_notified event so you stop relying on customers checking their Billing page on their own.