Mushthaq.com
Mushthaq.com
Marketing Strategy & Execution
Quotation

Training Academy Module.

A complete events platform for your website, with registration, paid ticketing, and recurring class series.

Prepared For
The Salesforce Trainers
Mark Christie
Prepared By
Mushthaq Abdul Cader
Founder, Mushthaq.com
Timeline
8 weeks
From project start
Investment
$6,500 CAD
One-time, all inclusive
01
Since The Plan

What's Been Added

Your two requested features are now included, along with everything you confirmed in your reply.

Added

Paid Ticketing

Stripe checkout built into the registration flow. Charge for classes, keep webinars free, both running side by side.

Added

Recurring Series

Set up a class once, add all its dates, and every session is generated for you. No more creating twenty events by hand.

Your answers, now built into the plan

Called "Training Academy"
Web address will be yoursite.com/training-academy/
Four categories
Admin Training, Sales Leader Training, Sales Rep Training, and Webinars for your Change Management and Salesforce Adoption sessions.
Built for eight sessions a month
Search, filtering and the archive are designed for real volume. After a year you'll have around a hundred sessions in the archive and it will still be quick to navigate.
Multiple trainers supported
Since most training will be delivered by others, trainers are set up as proper profiles with photo, bio and their own page listing their sessions. You create a trainer once and assign them to any event.
Recordings — parked for now
Nothing lost by deciding later. Adding a recording link to past events is a small change we can make once you've decided.
02
How It Works

Three Journeys

Your side
1

Set up the Meet sessions in Google Calendar You

Create the sessions in your own Google Calendar as you normally would. Google generates a Meet link for each one.

Why this way: the sessions stay on your calendar where you want them, and your Workspace host controls, recording and attendance reports all stay in your hands.
2

Create the class in Tina CMS You

The same editor you already use. Fill in the title, description, category, image, what attendees will learn, and which trainer is delivering it.

3

Add all the dates at once You

This is the part you said you missed on Maximizer. Rather than building twenty separate events, you add the class once and list its dates. You can add them one at a time, or set a pattern like "every Tuesday at 1pm for twelve weeks" and skip specific dates for holidays.

Paste the Meet link for each date alongside it, and set the price, or mark it free.

4

Save You

Done. One form, however many sessions.

5

Every session appears on the calendar Automatic

Within about a minute, all the dates you entered show up as individual sessions people can register for, each with its own page. They're also grouped under a single class page, so someone can see the whole schedule for that course at a glance and pick the date that suits them.

Visitor side
1

They browse the Training Academy Visitor

List view or month calendar, filtered by category or trainer, searchable by keyword. Past sessions stay browsable in the archive.

2

They open a session Visitor

Full description, date and time in their own timezone, who's delivering it, what they'll learn, and the price if it's a paid class. If it's part of a series, they can see all the other dates for the same course.

No join link anywhere on the page.

3

They register Visitor

Name, email, phone, company and position. Plus a tick box asking whether they'd like to hear about future sessions.

On the tick box: Canadian anti-spam law requires people to actively opt in before joining a marketing list. It'll be there, unticked, worded clearly. Most people registering for training tick it, so the list still grows with every session you run.
4

If it's a paid class, they pay Visitor

They're taken to a Stripe checkout page, branded to match your site. Card details are entered on Stripe's own secure page, never on your website, so you carry none of the security burden. Apple Pay and Google Pay work automatically.

Free sessions skip this step entirely and go straight to confirmation.

5

Confirmation arrives in seconds Automatic

Branded email with the session details and the Google Meet join link. A calendar file is attached so one click puts it in their own calendar with the link embedded. Paid registrations also get a receipt.

6

Reminders before the session Automatic

One the day before, one an hour before with the join link at the top. Free online sessions lose a large share of registrants to people simply forgetting, so this is the cheapest attendance you'll ever buy.

Behind the scenes

Registrations land in your Google Sheet Automatic

A row per registration with name, email, phone, company, position, which session, payment status, and when they signed up. No notification emails cluttering your inbox. Open it whenever you want to see who's coming.

Payments settle into your Stripe account Automatic

Straight into the Stripe account you already have. Receipts are issued automatically. Refunds are handled from your Stripe dashboard, and the registration updates to match.

Opt-ins flow into your email list Automatic

Anyone who ticks the box is added to your email platform and tagged by category, so you can email everyone who attended Sales Leader Training separately from your webinar audience.

Sessions move to the archive on their own Automatic

Once a session has finished it drops out of Upcoming into Past Sessions without you touching it. The archive stays live and indexed, which quietly demonstrates a consistent track record of delivery.

Spam protection and search visibility Automatic

Invisible bot filtering on the registration form, so you get real people rather than junk. And each session is published in the format Google understands as an event, so listings can appear with date and time directly in search results.

03
Requested Feature

Recurring Class Series

You said this was the thing you missed most on the Maximizer calendar. At eight sessions a month, entering each one by hand would cost you hours every month, so it's worth doing properly.

Set up once, run many times

Write the class details one time. Add as many dates as you need. Every date becomes its own bookable session.

Patterns or individual dates

Set a repeating pattern like every Tuesday for twelve weeks, or pick dates individually when the schedule is irregular.

Skip dates

Exclude holidays or weeks you're away without breaking the rest of the series.

Change one without changing all

Move a single session, swap the trainer for one date, or cancel one occurrence. The rest of the series stays as it is.

One page per course

Each course gets a page listing every upcoming date, so a visitor picks the one that suits them rather than hunting through the calendar.

Registration per session

People register for the specific date they want to attend, and your sheet shows exactly who is booked on which session.

One thing to decide during the build
For a paid course running twenty times, do people buy one session, or the full course? Both are possible. Buying a single session is simpler and is what I'd build first, with the option of full-course pricing added later if you find people want it.
04
Requested Feature

Paid Ticketing With Stripe

Stripe rather than PayPal, and it isn't a close call. Stripe's checkout is cleaner, the fees are lower for Canadian business cards, it handles Apple Pay and Google Pay without extra work, and you already have an account. PayPal adds friction that costs you registrations.

What's included

Free and paid side by side — set a price per session, or leave it free. Your webinars stay free while classes are charged.
Branded Stripe checkout — matched to your site colours and logo.
Cards, Apple Pay and Google Pay — included automatically.
Automatic receipts — issued by Stripe on every payment.
Access only on payment — the Meet link is sent once payment clears, never before.
Refunds from your dashboard — refund in Stripe and the registration updates automatically.
Discount codes — for partners, repeat attendees, or early bookings.
Tax handling — GST and HST calculated and shown correctly for Canadian registrants.

Worth knowing

Stripe's own fees
Stripe charges roughly 2.9% plus 30 cents per transaction on Canadian cards. That's paid by you to Stripe, not to me, and it's the standard rate across every payment provider.
Card details never touch your site
Payment happens on Stripe's own page. Your website never sees or stores a card number, which means no PCI compliance burden falls on you.
Tax registration is yours to confirm
I'll build the tax handling, but whether and at what rate you need to charge GST or HST is a question for your accountant. Worth checking before the first paid class goes live. If you want Stripe to calculate tax automatically rather than applying a fixed rate, Stripe charges a further 0.5% per transaction for that service.
05
The Key Mechanic

Public Page vs Private Link

This matters more now that some sessions are paid, since the join link is what people are buying.

Visible to everyone

On the website

  • Session title and description
  • Date, time and duration
  • Category and topic tags
  • Trainer profile and photo
  • Price, or Free
  • Other dates in the series
  • A Register button
Registered attendees only

Sent by email

  • The Google Meet join link
  • Calendar file with the link embedded
  • Joining instructions
  • Payment receipt, for paid sessions
  • Reminder emails before the session
For paid sessions, the link is only released once payment has cleared.
One honest caveat
Emailing the link controls who receives it, but it can't stop someone forwarding it. That matters more for paid classes. Google Meet's own host controls are the real safeguard: turn on the setting that makes people knock to enter, and nobody joins until the trainer lets them in. I'd recommend switching that on for every paid session.
06
Your Controls

What You Manage in Tina

The class form

Class title
Full description
Short summary
All session dates
Repeat pattern
Dates to skip
Start and end time
Timezone
Category
Tags
Featured image
Trainer
Price, or free
What attendees will learn
Feature on homepage
Registration open or closed
Cancelled or postponed
SEO title and description
Meet link per date (private)

Trainer profiles

Set up once and reused on every class they deliver. Given your plan to bring in partner trainers, this is built properly from the start rather than as a name in a text box.

Name
Photo
Title or role
Biography
Credentials
LinkedIn
Website
Their own page of sessions
The dark field is the only one that never reaches the website. The highlighted fields are the new ones added since the plan.
07
Delivery

Eight Weeks, Task by Task

Every task will be tracked in the shared ClickUp workspace, so you can see progress at any point without asking. You'll be able to review each stage as it completes rather than waiting until the end.

Weeks 1–2
Foundation
Content structure built in Tina, the four categories set up, trainer profiles, and the visual design of the calendar and session pages against your existing brand.
Weeks 3–4
The calendar itself
List view, month view, individual session pages, search, category and trainer filtering, past sessions archive, and the upcoming-sessions blocks for your homepage.
Week 5
Registration and email
Registration form, secure storage, spam protection, branded confirmation email with the Meet link and calendar attachment, both reminder emails, Google Sheet sync, and email list integration.
Week 6
Paid ticketing
Stripe checkout, payment confirmation, receipts, refund handling, discount codes, tax configuration, and the free-versus-paid logic across the whole flow.
Week 7
Recurring series
Series setup, automatic session generation from dates or patterns, skipped dates, individual session overrides, and the course page listing all dates.
Week 8
Testing, launch and handover
Full testing across devices and browsers, live payment testing, email deliverability checks, launch, and a walkthrough session where we create your first real class together.
08
Investment

How It Breaks Down

Core Training Academy module
Calendar views, session pages, search and filtering, archive, trainer profiles, registration, automated emails, Google Sheet sync, email list integration, search visibility
$4,200
Paid ticketing with Stripe
Checkout, receipts, refunds, discount codes, tax handling, free and paid running together
$1,500
Recurring class series
Series setup, automatic generation, patterns, skipped dates, per-session overrides, course pages
$1,300
Total if taken separately$7,000
Taken together$6,500 — save $500
The discount applies because building all three together is less work than adding them in stages. Retrofitting payments or recurring series onto a finished calendar costs considerably more than building them in from the start.
One-Time Investment

Complete Module

$6,500
CAD, one-time
Full events calendar
Registration and automated email
Stripe paid ticketing
Recurring class series
Trainer profiles
8 weeks, fully tracked
No licence fees, and no separate bills. Hosting, database and email costs are all covered by your existing monthly plan.
09
Terms

Payment & Support

40%
$2,600 to begin
Payable at project start.
30%
$1,950 at week four
When the calendar is built and reviewable.
30%
$1,950 on delivery
On launch and handover.
30 days support after launch
Any fixes or adjustments needed in the first month are included, the same as with the website.
Then covered by your maintenance
Ongoing upkeep of the module falls under your existing monthly plan at no additional cost.
Running costs included
Hosting, database and email delivery for the module are all covered by your existing monthly plan. No separate invoices, no licence fees, and nothing extra to budget for. The only cost outside that is Stripe's own transaction fee on paid registrations, which comes out of each sale rather than being billed to you.
10
Scope

Not In This Build

Listed so there's no confusion later. Each can be added as a separate piece of work if you need it.

Trainer logins and a partner marketplace — see the note I've sent separately on this. It's a genuinely different build and belongs in a later phase.
Revenue sharing with partner trainers — needs a different Stripe setup than the one here.
Seat limits and waitlists — sessions accept unlimited registrations.
Automatic Meet link creation — you paste it in, which takes seconds.
Recording links on past sessions — parked until you decide, then a small addition.
Certificates and attendance tracking — not discussed, flagging in case it matters later.
11
Let's Begin

Next Steps

1
Approve the quote
Or tell me what you'd like changed. Nothing here is fixed.
2
I set up the ClickUp board
Every task listed and visible to you from day one.
3
Build starts
Eight weeks, with review points as each stage completes.