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.

Version:
Categories

What a trial is in Booknetic SaaS

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:

  • The trial is just a plan with a flag. You don't build a separate "trial product" — you mark one of your existing plans as the Trial plan in your SaaS settings. Everything you can do with a regular plan (capabilities, limits, branding, description) you can also do with the trial plan. See Plans and plan capabilities for how plans work.
  • Trial data is never destroyed at expiry. When the trial ends, capabilities and limits change — the data does not. Appointments, customers, staff, services, and locations the tenant created during the trial stay in place. Once they subscribe, everything reopens.
  • The conversion path is the same as any other plan change. The tenant goes to their own Billing page, picks a paid plan, pays through Stripe / PayPal / your WooCommerce balance, and Booknetic switches them onto the paid plan — no data migration required.

How to enable a trial

Setting up a trial takes one screen and three decisions.

Step 1 — Decide which plan is your Trial plan

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:

  • Capabilities ON: Appointments, Customers, Services, Staff, Locations — the core of the booking flow. Optionally Email notifications so reminders work.
  • Capabilities OFF (or scoped down): Workflows, Reports, Google Calendar, Custom Forms, and other paid addons — the things the tenant should see in your paid plans, not yet.
  • Limits: small but real — for example, 1 location, 2 staff, 5 services, 50 appointments. Enough to test, not enough to run a real business on indefinitely.

For the full breakdown of capabilities vs limits, see the Plans and plan capabilities doc.

Step 2 — Mark it as the Trial plan + set the duration

Go to WP Admin → Booknetic SaaS → Settings → General → Plan Settings and set:

  • Trial plan — pick the plan you prepared in Step 1.
  • Trial duration (days) — how many days the tenant gets before the trial expires. Common values: 7, 14, 21, 30.
  • Expired plan — the plan a tenant gets switched to when the trial ends. See Step 3.

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.

Step 3 — Choose your Expired plan

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:

  • Clone your Trial plan, name it "Trial Expired" (or similar).
  • Turn most capabilities OFF — leaving the tenant a clear, visible signal that the trial is over.
  • Set limits very low (or 0) — for example, 0 appointments per month, 0 new services. The data stays, but new bookings stop.
  • Keep at least one path visible — typically the Billing module — so the tenant can come back and pick a paid plan in one click.

For the full Expired plan behaviour, see the Cancelling and deleting tenants doc — the expiry mechanics there are the same.

What the tenant sees during signup

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:

  • Creates the tenant record on your Trial plan.
  • Stamps an expiry date on the account — today's date plus your Trial duration.
  • Seeds the tenant's panel with the defaults they need to start using the product right away — currency, the default working hours timesheet, and the appearance settings you've configured at the SaaS level.

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.

What the tenant sees during the trial

Inside the tenant panel, the trial state is visible in two places.

1. The Billing page — Current plan modal

When the tenant opens Billing → Current plan, they see their current plan (your Trial plan) along with:

  • The plan name and description you configured.
  • Their Expires in date — the day the trial ends.
  • Their live usage against the plan's limits — for example, 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."

2. The Billing page — plan-card grid

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_notified workflow 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.

How a tenant converts from trial to paid

The trial-to-paid conversion happens entirely in the tenant's own panel.

  1. The tenant opens Billing inside their Booknetic panel.
  2. They see the plan-card grid you've configured.
  3. They click Select on the paid plan they want.
  4. They choose a billing cycle (monthly or annual) and a payment method — Stripe (credit card), PayPal, or your WooCommerce balance, depending on which gateways you've enabled in SaaS Settings → Payment Gateways.
  5. They complete payment.
  6. Booknetic switches them onto the paid plan immediately — their plan updates, their expiry date extends to one billing cycle from the payment date, and any restricted capabilities or limits reopen on their next page load.

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.

What happens when the trial ends

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:

1. The data is preserved

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.

2. Some entries may be paused

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.

3. Some workflows may stop firing

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.

Three example trial setups you can copy

These are three customer archetypes we see often. Each one shows a workable trial configuration you can adapt for your own SaaS.

Archetype 1 — Solo professional (14-day trial, single plan upsell)

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.

Archetype 2 — Small business (7-day trial, plan grid with 3 tiers)

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.

Archetype 3 — Multi-location (30-day trial, dedicated demo plan)

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.

Common questions

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.

Gotchas to know about

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.

The trial plan needs enough headroom for first-touch onboarding

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:

  • At least 1 staff, 1 service, 1 location.
  • At least 25–50 appointments — enough for the tenant to take a few real bookings and feel the product.
  • Email notifications ON so the tenant can verify the booking confirmation flow.

Trial expiry timing depends on your server timezone

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.

A plan switch mid-trial replaces the trial

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."

Where to go next

  • Review the Plans and plan capabilities doc to design your Trial plan, paid plans, and Expired plan together — they all share the same plan editor.
  • Wire up a trial-expiry reminder under SaaS → Workflows using the tenant_notified event so you stop relying on customers checking their Billing page on their own.
  • Configure your payment gateways in SaaS Settings → Payment Gateways → Stripe / PayPal / WooCommerce so the trial-to-paid conversion has a working checkout at the other end.
  • Read the Cancelling and deleting tenants doc to understand what happens to a tenant who never converts and whose trial keeps lapsing.