Bespoke Event Software
Seminar Booking
Administrator Manual
Complete Guide for Super Admins & Staff
Version
v1.0
Published
May 2026
Platform
BOBSTA SeminarBooking
Confidential — Admin Use Only
Contents
BOBSTA Seminar Booking · v1.6 · June 2026
Getting Started
Core Operations
Finance & Reporting
Communications & Configuration
Quick Reference
BOBSTASeminar Booking Administrator Manual · v1.0 · May 2026
🎓
Section 01
Introduction & Access
Logging in, admin roles, and getting oriented

What is BOBSTA Seminar Booking?

BOBSTA Seminar Booking is a web-based platform for managing professional training courses and seminars from end to end — publishing courses, taking bookings, processing payments, managing delegates, and automating communications. The admin panel gives you full control over every aspect of the platform.

What customers can do

  • Browse the course catalogue and book places
  • Pay by card (Stripe), request an invoice, or use loyalty points
  • Download ICS calendar files for booked dates
  • View booking history and manage their profile
  • Join the waitlist for fully-booked dates
  • Submit course enquiries

What admins can do

  • Create and manage courses, dates, and sessions
  • View and manage all bookings and payments
  • Send emails and SMS to delegates
  • Manage customers, loyalty, and IST sessions
  • Run revenue and trend reports
  • Log in as any customer (impersonation)
  • Configure system settings and email templates

Logging In

Navigate to your site's admin URL: dev.bobsta.co.uk/Admin (or your live URL). You will be taken to the admin login screen. Enter your admin username and password. Admin credentials are completely separate from customer accounts.

🔐
Two separate login systems
The admin login at /Admin/Login and the customer login at /Account/Login are entirely separate. Customer passwords do not work in the admin panel.

Admin Roles

There are three admin roles. All use the same admin panel — the difference is which features are available.

Role badgeRole nameAccess level
SuperAdminSuper AdminFull access — all settings, admin management, audit log
AdminAdminDay-to-day operations — courses, bookings, customers, comms
SRSR (Senior Rep)Limited operational access — no settings or admin management
⚠️
Keep admin credentials secure
Admin accounts have access to payment data, customer personal information, and the ability to send mass communications. Never share your password. Use the Audit Log to review admin activity if anything looks unexpected.

Your Admin Profile

Your username and role are displayed at the bottom of the sidebar. Your current user is marked with a "You" badge in the Administrators list. The role shown in the sidebar (e.g. SUPERADMIN) reflects your access level. To log out, click the logout icon at the bottom of the sidebar.

BOBSTA§ 01 Introduction & Access · Page 4
§ 02The Dashboard
BOBSTA Seminar Booking · v1.0

The dashboard opens automatically when you log in. It shows a current-week overview with KPI cards, recent bookings, and a right-hand rail with today's roster, upcoming dates, revenue sparkline, and quick action shortcuts.

dev.bobsta.co.uk/Admin/Dashboard

KPI Cards

The four cards across the top show metrics for the current 7-day window (Mon–Sun of the current week), updating in real time. They are: Bookings · 7D (confirmed orders), Revenue · 7D (confirmed order value), Fill Rate (seats filled across all active future dates), and Outstanding (unpaid invoice count, clicking navigates to Invoices).

Each card shows a mini sparkline beneath the value tracing the trend across the week.

Recent Bookings

Below the KPI cards is a Recent bookings table listing the latest orders. Each row shows: booking reference (e.g. SB-20260528-CUZ5O), customer, course, course date and time, status, and amount. Click View All → to go to the full Bookings list. Statuses include: Confirmed Expired Abandoned.

Location Filter

The coloured pill filters above the KPI cards let you narrow all dashboard data to a specific location — London, Manchester, Glasgow, etc. Click All to show all locations.

Right Rail

The right panel has three sections: Roster · Today (any courses running today with delegate counts), Upcoming (next few course dates with fill-bar indicators), and This Month (revenue MTD sparkline linking to Reports). Below these, a Quick actions grid provides one-click shortcuts to New Booking, New Course, Invoices, Reports, Comms Log, and Calendar.

BOBSTA§ 02 The Dashboard · Page 5
§ 03Navigation & Command Palette
BOBSTA Seminar Booking · v1.0

Sidebar Navigation

The left sidebar is always visible. It is divided into three groups — Operations (daily work), Growth (reports and loyalty), and Settings (configuration, visible to SuperAdmin and Admin).

GroupItemWhat it covers
OperationsDashboardWeekly overview, KPIs, recent bookings, quick actions
CalendarWeek/month/day view of all course dates by location
CoursesAll courses — create, edit, manage dates and bookings
CustomersCustomer accounts and booking history
Login as CustomerImpersonate any customer account
BookingsAll bookings across all courses, searchable and filterable
OperationsIST SessionsIn-salon training sessions — list, filter, view detail
OperationsComms LogEvery email and SMS sent by the platform
GrowthReportsRevenue, trends, popularity, cancellations, LTV
Loyalty PointsCustomer point balances, transaction history, adjustments
SettingsReference DataTeachers, Sections, Types, Levels, Locations, Venues, Terminology
AdministratorsAdmin accounts and roles (SuperAdmin only)
System SettingsBranding, invoice config, system config (SuperAdmin only)
Email TemplatesAll automated email content and subjects
Audit LogTamper-evident record of all admin actions (SuperAdmin only)

Command Palette

The Command Palette is a fast keyboard-driven search across courses, customers, and bookings. Open it from anywhere in the admin panel:

⌨️
Opening the Command Palette
Press Cmd K on Mac, or Ctrl K on Windows/Linux. The search box in the top-left of the sidebar also opens it.

Type to search — results appear as you type across three categories: Courses (by name or slug), Customers (by name, email, company, account number, or SAP), and Bookings (by booking reference). Use ↑↓ to navigate results, Enter to open, Esc to close.

BOBSTA§ 03 Navigation & Command Palette · Page 6
📚
Section 04
Courses
Creating, editing, and managing your course catalogue
dev.bobsta.co.uk/Admin/Courses

The Course List

Go to Courses in the sidebar. Each row shows the course title (with subtitle and URL slug below), location, price, loyalty points awarded, publication status, number of scheduled dates, and Edit/Hide actions. Filter by Section, Type, Location, Teacher, or Status using the dropdowns.

The Export button downloads the current course list as an Excel file — respecting any active filters, so you can export just the courses for one location, section, or teacher if needed.

ℹ️
IST courses are created differently
The note at the top of the Courses page reminds you: IST (in-salon training) courses are created by going to Customers → Impersonate a customer → Create IST Sessions — not from the Courses list.

Course statuses

StatusMeaning
VisiblePublished and visible in the customer catalogue
EnquiryShown in catalogue as enquiry-only — no booking button, customers submit an enquiry form instead
HiddenNot visible to customers — use for courses being set up or archived

Member Preview & Early Access

Any course can be marked as Hidden to remove it from the public catalogue. When a hidden course has the Member Preview toggle enabled (visible on the course Create/Edit page when Hidden is selected), it becomes visible exclusively to Gold and Platinum tier customers.

These customers see the course in their catalogue with an Early Access badge — signalling that this course is available to them before it opens to the general public. All other customers do not see the course at all.

💡
Use Early Access to reward your best customers
Member Preview is the mechanism for giving Gold and Platinum tier members first access to popular courses, new programmes, or exclusive workshops — before they open to standard bookings. Enable Member Preview on the course, notify your Gold/Platinum customers, then switch the course to Visible when you're ready for general release.
BOBSTA§ 04 Courses · Page 7
§ 04Courses — Creating, Pricing & Dates
BOBSTA Seminar Booking · v1.0

Creating a Course

  1. Click + Add Course from the courses list.
  2. Enter the Title, Subtitle, Section, and Seminar Type. These control how the course appears in the catalogue.
  3. Write the course description in the Quill rich-text editor. Bold, italic, bullet lists, and headings are all supported.
  4. Set Duration, Start Time, Max Delegates per date, and assign one or more Teachers.
  5. Select the Pricing Model and configure the price (see below).
  6. Set the Location and choose the initial Status (Visible, Enquiry, or Hidden).
  7. Click Save Course.
💡
Cloning a course
On any course Edit page, click Clone Course to duplicate all settings, pricing, and teacher assignments. You then update the name and add fresh dates. This is the fastest way to create a new term or variation of an existing course.

Pricing Models

ModelHow it worksBest for
Per DelegateSingle fixed price per person. The default.Most standard courses
Tiered / VolumePrice per head (or flat rate) changes by delegate band. Define rows: e.g. 1–2 delegates £150pp, 3+ delegates £120pp. Each tier row must be either Per Head or Flat Rate — not both.Group bookings with volume discounts
Session-BasedThe date is split into named sessions (e.g. AM, PM, Full Day) each with its own price, capacity, start time, and end time. Customers choose which session to book.Half-day or multi-slot courses
Member DiscountApplied on top of any model. Customers with Member tier get a percentage off or a fixed amount off the standard price.Membership loyalty pricing

Course Dates

Once a course is saved, go to its Edit page and click the Dates tab to schedule specific instances. Each date has its own venue, max delegates (overrides the course default), and — for session-based courses — a list of sessions.

  1. Click Add Date. Set the date, venue, and max delegates.
  2. For session-based courses: click Add Session to define each session (Name, Start Time, End Time, Capacity, Price). Use Copy from Previous Date to pre-fill from the last date.
  3. Save. The date is live in the catalogue immediately.

Each date row on the Dates tab shows a View Bookings button — this goes to the DateBookings page showing all delegates booked onto that specific date, where you can message all delegates, cancel individual bookings, and export the attendee list. When a course date has at least one survey response, a View Feedback tab also appears in the DateBookings tab bar, linking directly to the feedback results for that date.

Live Capacity Management

Administrators can adjust the capacity of any course date directly from the Dates tab — no need to cancel and recreate the date.

Standard & Tiered Courses

An inline +/− control appears on the Capacity cell. Each seat added automatically promotes the next waitlisted customer. Each seat removed is prevented if it would reduce capacity below currently booked places. All changes are audit-logged as CourseDateCapacityAdjusted.

Independent-Mode Session Courses

A per-session quick-adjust panel appears under each date showing capacity, booked, and available counts. Adjust individual sessions without affecting others. Cannot reduce below booked. Audit-logged as SessionCapacityAdjusted.

Keyword Search on the Catalogue

The customer-facing catalogue includes a keyword search input on all five catalogue views (All Courses, Section, Category, Teacher, Location). Customers type to filter courses in real time — no page reload required. The search matches against course name, subtitle, and description content.

⚠️
Session capacity modes (session-based courses only)
Shared: all sessions on a date share one seat counter — booking any session reduces the total. Independent: each session tracks its own seats separately, with real-time sold-out indicators shown to customers.

Sold-Out & Low-Stock Indicators (Independent Mode)

On a session_based course set to Independent capacity mode, the customer-facing session picker shows live availability per session — calculated at the moment the page loads, not from a static counter:

🔴 Sold Out

When a session has zero seats remaining, its row is greyed out, the radio button is disabled, and a "Sold out" label is shown. The customer cannot select this session, but can still see it and choose a different one on the same date.

🟡 Low Stock

When a session has 5 seats or fewer remaining, a low-stock warning is shown alongside the session — encouraging customers to book promptly without blocking the booking.

💡
No admin action needed
Sold-out and low-stock indicators are calculated automatically from live booking data every time the course page loads — there is nothing to configure or update. They only appear in Independent capacity mode, since Shared mode tracks one combined total rather than per-session availability.
BOBSTA§ 04 Courses — Pricing & Dates · Page 8
👥
Section 05
Customers
Managing customer accounts, profiles, and impersonation
dev.bobsta.co.uk/Admin/Customers

Customer List

Go to Customers in the sidebar. The list defaults to showing the 20 most recently added customers. Search by name, email, company, account number, or SAP reference. Filter by status (Active / Inactive). Each row shows: Name, Email, Company, SAP, Account No., Last Login, and View/Edit actions.

The Export All button downloads the full customer list as an Excel file — every customer record regardless of the current search or filter, with all profile fields included. Useful for CRM imports, mailing list audits, or an offline backup of your customer base.

🏢
Customers represent businesses
A customer account represents a company or salon, not an individual. The contact details belong to the account holder. Individual people attending courses are recorded as delegates within each booking.

Customer View Page

dev.bobsta.co.uk/Admin/Customers/View/1

Click View on any customer to see their full profile. The page shows a profile grid (name, email, company, phone, address, account number, SAP, VAT number, discount %, mailing list status, last login, login count), a Loyalty Points panel (Normal and IST points with recent transactions), and a full Booking history with clickable booking references.

Action buttons at the top: Deactivate (blocks login without deleting data), Impersonate (opens Login as Customer), Edit, and Search (back to list).

Customer Booking Detail — Two-Tab View

When a customer views a booking in their account, the Booking Detail page is split into two tabs:

Tab 1 — Booking Details

The confirmation letter view: delegate names, payment method, amount, course date, venue and session (if applicable). This is the printable confirmation record.

Tab 2 — Course Details

Full course information mirroring the course catalogue page: description, teacher, duration, plus the Kit List for this course's section (what to bring), and any virtual practice notes. Printing outputs both tabs.

Venue Override

If a course date's venue is overridden after bookings have been taken (for example, a room change), both the customer's Booking Detail and their original confirmation page resolve the effective venue automatically using the override. An amber alert banner is shown on the customer's booking confirmation when a venue override is active, so delegates are always given the correct location.

BOBSTA§ 05 Customers · Page 9
§ 05Customers — Edit & Impersonation
BOBSTA Seminar Booking · v1.0

Editing a Customer

dev.bobsta.co.uk/Admin/Customers/Edit/1

Click Edit on the view page. The left panel has all contact fields: First Name, Last Name, Email, Company, Phone, Mobile, and full address. The right Account settings panel has: Account No., SAP, VAT Number, Discount % (applied at checkout on all purchases), Mailing list subscription, Membership Tier (Standard / Gold / Platinum), Tier Level (numeric, informational), and internal Comments. A Password reset section generates a temporary 12-character password shown once on screen.

Login as Customer (Impersonation)

Impersonation lets you act as a specific customer — browse the catalogue, complete bookings, and create IST sessions on their behalf. This is the primary way to create IST sessions.

dev.bobsta.co.uk/Admin/CustomerLogin

Go to Login as Customer in the sidebar. Search by name, email, or company. Click Login as Customer on the result. Note the security banner: "You will act as this customer without accessing their password. All actions taken during this session are logged against your admin account."

dev.bobsta.co.uk/Admin/ImpersonationActive

You are taken to the Impersonation Active page showing you are "Acting as [Customer Name]". From here you can:

The page also shows the customer's current Normal Points and IST Points balances. The sidebar shows the customer name and an Exit Session button. Click End Session & Return to Admin (or use the Exit button) to finish the impersonation.

🚨
All impersonation actions are audit-logged
Every action taken during impersonation — including any bookings made — is recorded in the Audit Log with your admin username and the customer being impersonated.

Private Catalogue

During an impersonation session for a Gold or Platinum tier customer, a third card — Private Courses — appears on the Impersonation Active page alongside Browse Courses and Create IST Sessions. Clicking it opens the Private Catalogue (/Admin/PrivateCatalogue), which lists all courses marked as Hidden with Member Preview enabled.

This allows you to view and book restricted Early Access courses on behalf of a qualifying customer — courses that are not visible in the standard public or impersonated catalogue. When you browse courses normally via Browse Courses, the Early Access courses also appear automatically for customers with Gold or Platinum tier.

ℹ️
Private Catalogue is impersonation-only
The Private Catalogue page is only accessible during an active impersonation session. Admins cannot access it directly — it exists to ensure that private course bookings are always attributed to the correct Gold/Platinum customer account.
BOBSTA§ 05 Customers — Edit & Impersonation · Page 10
📋
Section 06
Bookings
Viewing and managing all bookings across every course
dev.bobsta.co.uk/Admin/Bookings

The Bookings List

Go to Bookings in the sidebar. Filter by text search (booking reference, customer name, course), date range, status, and course. Each row shows:

Booking statuses

StatusMeaning
ConfirmedBooking confirmed and paid (card or complimentary)
Invoice PendingInvoice payment — booking confirmed but payment not yet received
InvoiceInvoice payment — paid and confirmed
ComplimentaryZero-cost booking — confirmed with no payment required
AbandonedBasket expired before checkout was completed
ExpiredBasket or booking window expired
Cancellation Req.Customer has submitted a cancellation request
CancelledBooking cancelled by admin or customer

Booking Detail

Click View on any booking row to open the full Booking Detail. This page shows all booking information: reference, order date, customer details, course and date, delegate list, and payment information. Actions available include: Send Reminder (emails and SMS all delegates), Cancel Booking, Approve/Reject Cancellation Request, Issue Refund (via Stripe for card payments), Mark Invoice Paid, Send Payment Reminder (see below), and View Course Date (jumps to DateBookings).

⚠️
Cancellation and refund are separate steps
Cancelling removes the delegate and frees the seat. Issuing a refund is done separately on the same page. Card refunds go via Stripe automatically; invoice refunds are handled outside the system.

Send Payment Reminder

The Send Payment Reminder button appears on Booking Detail only when there is something outstanding to chase — an unpaid invoice (status Invoice Pending) or a deposit booking with an outstanding balance. Clicking it sends the PaymentReminder email immediately to the customer's account email, giving them a polite nudge with their booking reference and the amount due.

💡
PaymentReminder vs BalanceReminder — what's the difference?
BalanceReminder is sent automatically by the DepositBalanceReminderJob every 12 hours as a deposit balance due date approaches. PaymentReminder is sent manually, on demand, by an admin clicking the button — for either an unpaid invoice or an overdue deposit balance. Use Send Payment Reminder when a customer needs a one-off nudge outside the automated schedule.
BOBSTA§ 06 Bookings · Page 11
💳
Section 06b
Deposits & Payment Plans
Deferred-balance payments and Klarna instalments

Deposit Payments

When enabled, eligible customers can pay a configurable deposit to secure their booking today and pay the remaining balance closer to the course date. The order is fully confirmed on deposit payment — the customer's place is guaranteed from the moment the deposit lands.

ℹ️
Feature toggle — off by default
Deposit payments are controlled by the DepositsEnabled setting in System Settings. The feature is disabled by default and must be switched on deliberately when you are ready to offer it.

Eligibility Rules

Not every booking qualifies for a deposit. The system checks automatically at checkout — customers only see the deposit option when all of the following are met:

When eligible, customers see a clear choice at checkout: pay in full now, or pay a deposit and the balance later.

How It Works — Customer View

  1. Customer adds a course to their basket and proceeds to checkout.
  2. If the order is eligible, a deposit option is shown at the payment step — displaying the deposit amount, balance amount, and the balance due date.
  3. Customer chooses to pay the deposit. They are taken to a Stripe checkout for the deposit amount only.
  4. On successful deposit payment, their booking is immediately Confirmed. A DepositReceived confirmation email is sent with the deposit amount, balance amount, and due date.
  5. When the balance due date approaches, the customer receives an automatic BalanceReminder email with a link to their Booking Detail page.
  6. The customer opens their Booking Detail, sees the outstanding balance, and clicks Pay Balance — completing a second Stripe checkout for the remaining amount.
  7. On successful balance payment, a BalancePaid confirmation is sent.
💡
No auto-cancellation on balance non-payment
If a customer does not pay their balance by the due date, the booking is NOT automatically cancelled. The admin team is responsible for following up. The DepositBalanceReminderJob sends the automated reminder email; any further action is manual.

Admin Actions — Deposits

From the Booking Detail page, admins can see the deposit and balance breakdown alongside the standard payment information. A Mark Balance Paid button is available for cases where balance payment was received outside Stripe (e.g. by bank transfer) — clicking this updates the balance status without a Stripe transaction.

The booking status remains Confirmed throughout — deposit bookings do not show a separate "deposit" status badge. The payment section of Booking Detail shows the split clearly.

Klarna Instalments

Alongside the deposit feature, BOBSTA supports Klarna "spread the cost" instalments on card checkout. This is configured entirely within the Stripe Dashboard — no settings in BOBSTA are required. When Klarna is enabled in Stripe, it appears automatically as a payment option on the hosted Stripe checkout page alongside card payment.

ℹ️
To activate Klarna
In the Stripe Dashboard, enable Klarna under Settings → Payment Methods → Optimized Checkout and complete the brand details Stripe shares with Klarna. Once enabled, Klarna appears on the Stripe-hosted checkout automatically — no code change or BOBSTA setting is needed.

Deposit Email Templates

TemplateKeySent when
Deposit ReceivedDepositReceivedCustomer completes deposit payment — confirms place and states balance/due date
Balance ReminderBalanceReminderAutomated reminder sent by DepositBalanceReminderJob (every 12 hours) as due date approaches
Balance PaidBalancePaidCustomer or admin completes balance payment
BOBSTA§ 06b Deposits & Payment Plans · Page 12
🎯
Section 07
IST Sessions
In-salon training — bespoke sessions created via impersonation
dev.bobsta.co.uk/Admin/IstSessions

What is an IST Session?

An In-Salon Training (IST) Session is a bespoke training session delivered at a customer's premises. Unlike standard course bookings, IST sessions are always created by an admin via impersonation — customers cannot book IST sessions themselves. IST sessions use IST Points as their payment method.

IST Sessions List

Go to IST Sessions in the sidebar. Filter by customer name/company/course, date range, created-by admin, and payment method. Each row shows: Session ID (IST-1, IST-2…), Customer (name + company), Course, Date, Delegates, Payment (e.g. 1 pts), Created By, and a View booking button.

IST Session Detail

dev.bobsta.co.uk/Admin/IstSessions/Detail?BookingReference=IST-...

The detail page shows two panels side by side. Session Details: Course, Date, Start time, Duration, Attendees, Educator, Delivery (In-Salon/Remote), Content type, Content notes. Customer & Payment: Customer, Company, Payment method, Points deducted, Order ID, Booking ref (IST-YYYYMMDD-XXXXX), and IST session ID.

The breadcrumb shows IST SESSIONS → [ref]. Top buttons: View Customer (opens customer view) and ← All IST Sessions.

Creating an IST Session

  1. Go to Login as Customer in the sidebar (or click Impersonate on the Customer View page).
  2. Search for and select the customer. Click Login as Customer. You are taken to the Impersonation Active page.
  3. Click + Create IST Sessions. This opens the IST session creation form.
  4. Fill in the session details: IST course, date, start time, duration, number of attendees, educator, delivery type (In-Salon / Remote), content type, and content notes.
  5. Select the Payment Mode (see below). The form adjusts to show the relevant fields for the chosen mode.
  6. Click Continue to reach the confirmation screen showing the session summary, payment mode, and — for Points mode — the IST points to be deducted.
  7. Click Confirm IST Session. The session is created, the appropriate payment action taken, and notifications sent.

IST Payment Modes

When creating an IST session, you choose one of three payment modes:

🏅 IST Points

Deducts the agreed number of IST Points from the customer's balance. The points card is shown on the confirmation screen. No email is sent — IST points mode is a silent internal transaction.

🎁 Complimentary

Zero-cost session — no points deducted, no payment required. Used for goodwill sessions, demonstrations, or remedial visits. No email is sent in Complimentary mode.

🧾 Invoice

A currency-priced session billed externally. When confirmed, two emails are sent automatically: a customer invoice email and an admin notification to the support address. See below.

IST Invoice Emails (Invoice Mode Only)

When an IST session is created in Invoice mode, the system automatically sends two emails:

1. Customer Invoice Confirmation

Sent to the customer's account email. Template: IstInvoiceConfirmation. Contains: session details, invoice number ({InvoicePrefix}{OrderId}), amount due, your payment instructions (configured in System Settings → Invoice → IST Invoice Payment Instructions), and company contact details.

2. Admin Notification

Sent to the SupportEmail address. Contains a summary table of the session details and a "View Booking in Admin" link. Logged in the Communication Log with TriggeredBy = "IstInvoiceCreated".

ℹ️
Configure payment instructions once in System Settings
The payment instructions shown on every IST invoice email are set in Settings → System Settings → Invoice tab → IST Invoice Payment Instructions. Update this field with your bank details, payment terms, or BACS reference format.

IST Points vs Normal Loyalty Points

FeatureNormal Loyalty PointsIST Points
Awarded byAdministrator (manual or bulk import) — based on commercial relationshipAdmin allocation based on commercial criteria
Used / Deducted byCustomer at checkout (redeemed)Admin only, via impersonation (deducted on IST session creation)
ExpireYes (configurable in System Settings)No expiry
Visible to customerYes, redeemableYes, read-only
BOBSTA§ 07 IST Sessions · Page 12
🔀
Section 07b
Booking Reassignment
Moving confirmed delegates to a different date of the same course

What is Booking Reassignment?

Booking Reassignment lets you move all delegates on a confirmed order item to a different future date of the same course. This is an admin-only action — customers cannot reassign their own bookings. It is useful when a customer needs to change their date after booking, or when you need to consolidate delegates from a sparse date onto a fuller one.

⚠️
Session-based bookings cannot be reassigned
If the booking is for a session-based course (AM/PM/Full Day slots), the Reassign button is replaced with an information banner explaining this restriction. These bookings must be cancelled and re-booked manually.

How to Reassign a Booking

  1. Open the Booking Detail page for the booking you want to move (Bookings → View).
  2. Click the Reassign Date button. This opens the reassignment panel showing the current date and a dropdown of all future active dates for the same course.
  3. Select the new course date from the dropdown. Only future dates with available seats are shown.
  4. Optionally enter a Price Note — for example, if there is a price difference between dates, you can record how it is being handled (e.g. "Customer to pay difference by invoice"). This note appears in the audit log and in the notification email.
  5. The Notify Delegates checkbox is ticked by default. Leave it ticked to send a BookingReassignment email to each delegate and one copy to the customer account email. Untick only if you intend to notify them separately.
  6. Click Confirm Reassignment. The system atomically: moves all delegates to the new date, adjusts seat counters on both dates (old date incremented, new date decremented), and triggers waitlist promotion on the old date if seats become available.

What Happens After Reassignment

Seat counters

  • Old course date: seats released — seats_remaining incremented
  • New course date: seats occupied — seats_remaining decremented
  • Waitlist on old date: promoted automatically if places freed

Notifications (if enabled)

  • Each delegate receives a BookingReassignment email with old and new date details
  • The customer account holder receives one copy
  • Any price note is included in the email
  • The reassignment is recorded in the Audit Log
ℹ️
Price differences are handled at admin discretion
The platform does not automatically charge or refund any price difference between dates. If the new date has a different price, the price note field is provided so you can record the arrangement (e.g. "no charge", "invoice to follow"). Payment is handled outside the system.
💡
Eligibility check
Only bookings with status Confirmed can be reassigned. Pending, cancelled, or expired bookings show a disabled state for this action. The target date must also be in the future and have available seats.
BOBSTA§ 07b Booking Reassignment · Page 13
🗓️
Section 08
Calendar
A multi-view calendar of all scheduled course dates
dev.bobsta.co.uk/Admin/Calendar

Using the Calendar

Go to Calendar in the sidebar. The calendar shows all course dates in your choice of Day, Week, Month, or List view — switch using the buttons at the top right. The current week range is shown below the title. Navigate with the ◀ ▶ arrows or click Today to jump to the current week.

Location Filtering

The location pill row (All · London · Manchester · Glasgow · Northampton · Birmingham) filters which events are shown. Click a location to show only events there; click again to deselect. The All pill resets all filters. The right-hand Location key panel shows the colour assigned to each location.

Reading Events

Each event block shows the course name, location (with coloured dot), teacher name, and fill count (e.g. 1/20 — delegates booked out of max capacity). Events are coloured by location. A Cancelled checkbox in the top filter row toggles whether cancelled dates are shown.

Clicking an Event

Click any event to go directly to the DateBookings page for that specific date — showing the full delegate list, with options to message all delegates, cancel bookings, and export the attendee list. The right rail reminds you: "Click any event to go directly to the date management page."

💡
List view for a quick overview
Switch to List view to see all upcoming dates in a compact chronological table — useful for a weekly briefing or printing a schedule.
🎨
Location colours are configured in Reference Data
Each location's colour dot is set in Settings → Reference Data → Locations & Regions. Changing a colour there updates the calendar immediately.
BOBSTA§ 08 Calendar · Page 13
🏅
Section 09
Loyalty Points
Managing the loyalty programme across all customers
dev.bobsta.co.uk/Admin/Loyalty

How Loyalty Points Work

BOBSTA's loyalty programme is a relationship-based reward system. Points are awarded by administrators based on a customer's broader commercial relationship with your brand — for example, a salon that achieves strong product sales revenue earns points it can spend on professional training courses. This reflects the real-world dynamic between a supplier and their trade customers: training is the reward for a strong commercial partnership.

ℹ️
Points are awarded by admins — not earned automatically at checkout
Normal Points are granted manually by an administrator (or via bulk import) based on commercial criteria you define. Customers then redeem those points at checkout when booking training courses. This keeps the programme flexible and relationship-driven.

Loyalty Points Index

Go to Loyalty Points in the sidebar. Search by name, email, account number, or SAP. Results show the customer name, company, account number, Normal Points balance, IST Points balance, last transaction date, and a Manage button.

Customer Loyalty Page

dev.bobsta.co.uk/Admin/Loyalty/Customer/1

Click Manage to open a customer's loyalty detail. The top shows two balance cards: Normal Points (customer-redeemable at checkout) and IST Points (admin-only, custom sessions). Below is the Adjust Points panel and the Transaction History table.

Transaction history columns

Date · Type (IST or Normal) · Amount (positive = awarded, negative = deducted/used) · Balance After · Reason · Admin who made the change. Transaction categories include: Adjustment (admin manual change), Used (redeemed at checkout), Refund (points returned on booking cancellation), and Expired (nightly expiry job).

Awarding Points — How It Works in Practice

Normal Points are awarded by administrators based on your commercial relationship with each customer. A typical example: a salon that achieves a sales target with your brand in a given quarter earns a points allocation that they can spend on training courses. The administrator awards those points manually using the adjustment panel, referencing the commercial reason (e.g. "Q2 retail performance award").

For bulk allocations — such as a quarterly points run across your entire customer base — use the Bulk Import function (Loyalty Points → Bulk Import) to upload a CSV of email addresses and point amounts, reviewing the preview before confirming.

Manual Adjustment

  1. Select the Point Type: Normal Points or IST Points.
  2. Enter the Amount. Use a positive number to award points, a negative number to deduct them (e.g. enter -50 to remove 50 points).
  3. Enter a Reason — this is recorded in the transaction history and audit log (e.g. "Q2 retail sales target achieved", "Correction — duplicate award").
  4. Click Apply Adjustment.
⚠️
Adjustments are not reversible automatically
Manual adjustments create a permanent transaction record. If you make an error, add a correcting transaction with the opposite sign and a note explaining the correction.

Bulk Import

For periodic points runs — such as awarding points to a large number of customers at quarter-end — use Loyalty Points → Bulk Import. Download the CSV template, fill in the email and points columns, and upload. The system shows a preview before you confirm, allowing a final check before points are applied.

⚠️
Bulk imports cannot be reversed in bulk
If incorrect values are uploaded, each affected customer's balance must be corrected individually. Always review the preview screen carefully before confirming.
BOBSTA§ 09 Loyalty Points · Page 14
📊
Section 10
Reports
Revenue, trends, popularity, cancellations, and customer LTV
dev.bobsta.co.uk/Admin/Reports

Reports Overview

Go to Reports in the sidebar. Five tabs cover different aspects of business performance, plus a dedicated Finance Export link for accounting handover. All reports share a From / To date range filter, and the Revenue tab also filters by Payment Type and Course. Click Apply after setting filters.

Revenue Tab

Shows four summary KPI cards: Confirmed Bookings (count), Gross Revenue, Total Refunds, and Net Revenue. Below is a detailed table of every booking in the period showing: Booking Ref, Order Date, Customer, Course, Payment method, Amount, Refund, and Net. Export the full table with the Export Excel button (top right).

Booking Trends Tab

An interactive line chart showing booking volume and revenue over time. Identify seasonal patterns and month-over-month growth. Zoom into specific date ranges using the chart controls.

Course Popularity Tab

Ranks courses by number of confirmed bookings, revenue generated, and average fill rate across all dates. Helps identify which courses to expand with more dates and which may need refreshing.

Cancellation Rates Tab

All cancelled bookings in the selected period, with cancellation reason, course, and refund status. Useful for spotting courses with unusually high cancellation rates.

Customer LTV Tab

Ranks customers by total confirmed spend — the Lifetime Value report. Each row shows the customer, total bookings, total spend, first booking date, and most recent booking date. Useful for identifying high-value accounts for relationship management.

💡
Exporting for month-end reporting
Use the Revenue tab with your month's date range and click Export Excel to get a complete transaction list. This is the best source for finance reconciliation.
BOBSTA§ 10 Reports · Page 15
§ 11 / 12Communication Log & Email Templates
BOBSTA Seminar Booking · v1.0
dev.bobsta.co.uk/Admin/CommunicationLog

Communication Log

Go to Comms Log in the sidebar. Every email and SMS sent by the platform — whether automated or triggered manually — appears here in a unified list. Filter by Channel (Email / SMS / All), Status (Sent / Failed), Template, and Date range. The count shows total messages across pages.

Columns: Sent At (exact timestamp), Channel (Email or SMS), Recipient address/number, Customer (company name, or — if no linked account), Template name, Triggered By, Status, Error (if failed).

💡
Diagnosing missing confirmations
If a customer says they didn't receive their booking confirmation, search the Comms Log by their email address. You can see exactly when each message was sent and whether it failed — including the error message if so.

Email Templates

dev.bobsta.co.uk/Admin/EmailTemplates

Go to Settings → Email Templates. The page lists all 12 system email templates showing: Template name, Template key (code), Subject line (with {{token}} placeholders), Active status, and Last Modified date/admin. Click Edit to open the template editor.

Complete template list

Template nameTemplate keySent when
Admin — New Booking NotificationAdminNewBookingNew booking confirmed — alert to support email
Booking CancellationBookingCancellationAdmin cancels a booking
Booking ConfirmationBookingConfirmationBooking confirmed (card, complimentary, or loyalty)
Cancellation Request ApprovedCancellationApprovedAdmin approves a customer's cancellation request
Cancellation Request RejectedCancellationRejectedAdmin rejects a customer's cancellation request
Course Cancellation Notice (Customer)CourseCancellationNoticeAdmin cancels an entire course date
Course ReminderCourseReminderAutomated reminder before course (lead time set in System Settings)
Invoice Payment ReceivedInvoicePaymentReceivedAdmin marks an invoice as paid
My Company (Pre-Course Info)PreCourseInfoAutomated info email before course start
Password ResetPasswordResetCustomer requests password reset
Refund ConfirmationRefundConfirmationRefund issued to customer
Waitlist — Place AvailableWaitlistNotificationWaitlisted customer is promoted when a seat becomes available
Booking ReassignmentBookingReassignmentAdmin moves delegates to a different date — sent to each delegate and account holder
Survey InvitationSurveyAutomated post-course survey link sent to each confirmed delegate (SurveyJob, daily 19:00)
Deposit ReceivedDepositReceivedCustomer pays deposit — confirms booking, states balance amount and due date
Balance ReminderBalanceReminderAutomated reminder (DepositBalanceReminderJob, every 12h) as balance due date approaches
Balance PaidBalancePaidCustomer or admin marks balance as paid
IST Invoice ConfirmationIstInvoiceConfirmationCustomer invoice email when IST session created in Invoice mode — shows session details, invoice number, amount due, and payment instructions
Payment ReminderPaymentReminderOn-demand reminder sent by an admin clicking Send Payment Reminder on Booking Detail — for unpaid invoices or overdue deposit balances

Total: 19 templates (12 original + BookingReassignment + Survey + 3 deposit + IstInvoiceConfirmation + PaymentReminder)

BOBSTA§ 11/12 Comms Log & Email Templates · Page 17
Section 12b
Survey & Course Feedback
Automated post-course surveys and admin results dashboard

How the Survey System Works

After each course date, the platform automatically sends a feedback survey to every confirmed delegate. The survey is token-based — each delegate receives a unique, one-use link that lets them complete the form without logging in. Results are aggregated and displayed in the admin Feedback section.

The automated flow

  1. The SurveyJob runs every day at 19:00. It finds all course dates that ended before today where survey_sent = FALSE.
  2. For each eligible date, it creates a unique token for each confirmed delegate and sends the Survey email via Brevo — containing a personalised link to /survey/{token}.
  3. The date is marked survey_sent = TRUE so it is not processed again.
  4. Delegates click their link, complete the form (no login required), and submit. The response is recorded against the token.
  5. Results appear immediately in the admin Feedback section.
ℹ️
Each survey link is single-use
Once a delegate submits their response, the token is marked as used and the link becomes inactive. If a delegate loses their link, a new one cannot be re-sent — surveys must be issued manually in that case.

Viewing Feedback Results

Go to Settings → Feedback in the sidebar (visible to SuperAdmin and Admin; hidden from SR role). The Feedback Index shows a table of all course dates that have at least one response, with columns: Course Name, Date, Location, Teacher, Responses, Invites Sent, Average Day Rating, and Average Educator Rating.

Click any row to open the Feedback Detail page for that date.

Feedback Detail Page

The detail page shows results for a specific course date:

Exporting Feedback

An Export Excel button is available on both the Feedback Index (exports all dates) and the Feedback Detail page (exports just that date). The XLSX file contains one row per survey response with all fields including the verbatim text answers.

View Feedback from DateBookings

When a course date has at least one survey response, a View Feedback button appears in the tab bar on the DateBookings page (alongside the Bookings and Waitlist tabs). This takes you directly to the Feedback Detail page for that date — a quick way to check results while reviewing a date's bookings.

💡
Survey emails use the Survey template
The automated survey invitation email uses the Survey email template (template key: Survey). You can edit its wording in Settings → Email Templates. Available tokens: {{DelegateName}}, {{CourseName}}, {{DateDisplay}}, {{SurveyUrl}}, {{CompanyName}}.
BOBSTA§ 12b Survey & Course Feedback · Page 18
📂
Section 13
Reference Data
The lookup tables that power courses, venues, and terminology
dev.bobsta.co.uk/Admin/Reference

Overview

Go to Settings → Reference Data. All reference data is on one page, organised into tabs: Teachers · Sections · Seminar Types · Levels · Locations & Regions · Venues · Terminology.

📋
Kit Lists are managed in the Sections tab
Each Section can have a Kit List — a plain-text list of items delegates should bring to any course in that section. Kit lists are entered one item per line and appear on the customer's Booking Detail page under the Course Details tab.

Teachers

Add the Name, Instagram handle, Bio (rich text editor), and Photo Filename. The slug is auto-generated. Teachers are assigned to courses and appear on course cards and detail pages. Each teacher gets a catalogue page listing their courses.

Sections

Top-level categories (e.g. Colour, Cutting, Business). Each has a name, optional description, a hex colour used as the colour accent on course cards, and an optional Kit List — a plain-text list (one item per line) of what delegates should bring to courses in this section. The kit list appears on the customer's Booking Detail page.

Seminar Types

Secondary classification labels (e.g. Masterclass, Workshop, Foundations). Shown as a label on course cards. Optional description.

Levels

Skill level classifications assignable to courses — allows customers to filter by experience level in the catalogue.

Locations & Regions

Cities or regions where courses run (e.g. London, Manchester, Glasgow). Each location has a name and a hex colour — this colour is used for the location filter pills on the calendar and catalogue.

Venues

The specific physical spaces within a location. Each venue has a name, full address, parent location, and optional map URL (Google Maps link). Venues are selected when adding a course date.

Terminology

Eight labels used throughout the customer-facing site can be overridden here — e.g. change "Delegate" to "Student" or "Seminar" to "Workshop". Changes are cached; clear the cache by saving any terminology change.

Adding and Editing Records

Each tab shows an Add form at the top (e.g. "Add teacher") and a table of existing records below with Edit and Delete buttons. For Teachers, the add form includes a rich-text bio editor. Edit in-place by clicking the Edit button on any row.

🚨
You cannot delete a record that is in use
If a Teacher, Section, Seminar Type, Location, or Venue is referenced by an existing course or date, deleting it will fail with an error. Reassign all courses first, then delete the record.
BOBSTA§ 13 Reference Data · Page 17
§ 14 / 15Administrators & System Settings
BOBSTA Seminar Booking · v1.0
🔒
SuperAdmin only
Administrators and System Settings are only accessible to SuperAdmin accounts. Admin and SR roles do not see these in the sidebar.

Administrators

dev.bobsta.co.uk/Admin/Administrators

Go to Settings → Administrators. Each admin row shows: Username (with You badge on your own account), Email, Role badge (SuperAdmin Admin SR), Region, Last Login, Status, and Edit/Deactivate actions. Filter by role using the dropdown at the top.

Click Edit to change a username, email, role, or region. Click Deactivate to block a user's login without deleting their account or audit history. You cannot deactivate your own account.

System Settings

dev.bobsta.co.uk/Admin/SystemSettings?tab=system

Go to Settings → System Settings. Three tabs: Branding (site name, URL, colours, font, logo), Invoice (company name, address, VAT number, terms), and System (operational configuration). The System tab is shown above.

SettingWhat it controls
Allow Public RegistrationIf Disabled, only admins can create customer accounts. The Register link is hidden from the customer site.
Account Number RequiredIf Enabled, customers must enter an account number when registering.
Show SAP FieldIf Enabled, the SAP reference field is shown on customer registration and edit forms.
Reminder Lead HoursHours before a course to send the automated delegate reminder (e.g. 48 = 2 days before).
Pre-Course Info Lead HoursHours before the course start to send the pre-course info email (e.g. 48).
Refund Notice DaysDays' notice a customer must give for a refund to be auto-approved.
All Refunds Require ApprovalIf Enabled, all refund requests go to admin regardless of the notice period.
Basket Reservation (mins)How long a basket holds seats before they are released (e.g. 20 minutes).
Waitlist Hold HoursHow long a promoted waitlist place is held before the next customer is tried (e.g. 24 hours).
Auto Cancel EnabledEnables the AutoCancelJob. When Disabled the job runs but does nothing.
Auto Cancel ModeWarnOnly — sends a warning to the support email and stops. AutoCancel — cancels the booking automatically after the threshold.
Auto Cancel Lead HoursHours after the booking was made before the auto-cancel warning is triggered for unpaid invoices.
Auto Cancel Min BookingsMinimum number of bookings on a date before the auto-cancel warning triggers. Prevents warnings on lightly-booked dates.
Loyalty Expiry Month DayThe day of the month on which the LoyaltyExpiryJob processes expirations (runs nightly, acts on this day).
Invoice Payment ModeControls how invoice payments are handled at checkout — Request (customer requests, admin approves) or Automatic.
Deposits EnabledMaster toggle for the deposit payment feature. Default OFF. Enable when ready to offer deferred-balance payment to customers.
Deposit Minimum AmountThe minimum order total for a booking to be eligible for deposit payment.
Deposit AmountThe fixed deposit amount charged upfront (or configured as a percentage — check your settings).
Deposit Lead DaysMinimum days between today and the course date for a booking to qualify for deposit payment.
Balance Due Days Before CourseHow many days before the course date the balance must be paid.
IST Invoice Payment InstructionsFree-text payment instructions shown on every IST Invoice Confirmation email — typically your bank account details, BACS reference format, and payment terms. Found in the Invoice tab of System Settings.
Xero Sales Account CodeThe Xero chart-of-accounts code applied to every transaction in a Xero CSV Finance Export. Found in the System tab.
QuickBooks Sales AccountThe QuickBooks account name applied to every transaction in a QuickBooks CSV Finance Export. Found in the System tab.

Click Save System Settings (top right of each tab) to apply changes.

Privacy & Cookie Compliance Settings

Four settings in the Invoice tab support your Privacy Policy and Cookie Policy pages — both of which are generated automatically from these values:

SettingWhat it controls
Company NameYour registered business name — appears throughout the Privacy Policy and Cookie Policy.
Company AddressYour registered business address — shown as the data controller's address on the Privacy Policy.
Data Controller NameThe legal entity or individual responsible for customer data under GDPR — shown on the Privacy Policy's "who controls your data" section.
Privacy Contact EmailThe email address customers use to exercise their data rights (access, deletion, correction) — shown on the Privacy Policy.

Cookie Consent Banner & Policy Pages

The customer-facing site includes a cookie consent banner — shown to first-time visitors at the bottom of the page, with an Accept button. Once accepted, a browser cookie (sb_cookie_consent) remembers the choice and the banner does not reappear. No admin configuration is needed beyond the four settings above.

Two policy pages are generated automatically and linked from the customer site footer's Policies column:

💡
Populate these before going live
The Privacy Policy reads directly from these four System Settings fields. Fill them in before launch so your policy page is accurate and complete — an empty field will leave a gap in the published policy text.
BOBSTA§ 14/15 Administrators & System Settings · Page 18
🔍
Section 16
Audit Log
A tamper-evident record of every admin action — SuperAdmin only
dev.bobsta.co.uk/Admin/AuditLogs

Reading the Audit Log

Go to Settings → Audit Log. Entries are shown newest first. Each row shows: Timestamp, Admin User (who performed the action), Action (badge), Record Type, Record ID, Details (plain-English description), and an IST column flag for impersonation-related actions.

Filtering

Filter by: Admin User (dropdown of all admins), Action Type (e.g. Login, ImpersonationStarted, BookingCancelled), Record Type (e.g. Customer, ImpersonationSession), Date From / Date To, and an IST ONLY checkbox to show only impersonation-related entries. Click Filter to apply; Clear to reset.

Common Action Types

Action typeWhat happened
LoginSuccessful admin login
ImpersonationStartedAdmin started impersonating a customer — IST badge shown
ImpersonationEndedImpersonation session ended (shows reason: AdminExited)
BookingCreatedBooking made (during impersonation: flagged with IST badge)
BookingCancelledBooking cancelled by admin
LoyaltyAdjustmentPoints manually adjusted — includes reason text
CourseEditedCourse settings or pricing changed
AdminCreatedNew admin account created
SystemSettingsChangedA system setting was modified
ℹ️
The IST column flags impersonation activity
Any action taken during an impersonation session is marked with an IST badge in the rightmost column. The Detail field also records which customer was being impersonated.

Why the Audit Log Matters

The audit log is append-only — entries cannot be edited or deleted. It provides full accountability for all admin actions, supporting GDPR compliance, dispute resolution, and internal governance. If anything unexpected happens on an account, check the audit log first.

BOBSTA§ 16 Audit Log · Page 19
⚙️
Section 17
Background Jobs & Automation
What the platform does automatically — no admin input needed

The platform runs background jobs continuously while the application is running. They handle time-sensitive operations automatically. Understanding what they do — and when — helps you anticipate platform behaviour and diagnose anything unexpected.

BasketExpiryJob — every 5 minutes

Expires abandoned baskets after the Basket Reservation period (configured in System Settings, default 20 min). Releases held seats back to the course and triggers waitlist promotion if places become available.

CourseReminderJob — every 30 minutes

Checks for course dates within the Reminder Lead Hours window. Sends the CourseReminder email and SMS to each delegate, and one summary to the account holder. Sent once — the job records each send to prevent duplicates.

PreCourseInfoJob — every 30 minutes

Checks for courses starting within the Pre-Course Info Lead Hours window. Sends the PreCourseInfo email template to all confirmed delegates. Email only (no SMS). Use this template for joining instructions, what to bring, parking details, etc.

WaitlistPromotionJob — every 15 minutes

When a confirmed booking is cancelled or a basket expires, this job notifies the next customer in the waitlist queue using the WaitlistNotification email. The promoted place is held for Waitlist Hold Hours (System Settings, default 24h). If they don't book, the next customer is tried.

LoyaltyExpiryJob — nightly

Expires Normal loyalty points older than the configured threshold. Records an Expired transaction in each affected customer's loyalty history. Customers can see their expiry history in their Loyalty Points tab on the customer site.

AutoCancelJob — every 60 minutes

Checks for invoice bookings with payment outstanding beyond the auto-cancel threshold. Sends a warning to the support email address only — it does not cancel automatically. A human must take action. Only active when AutoCancelEnabled is true in System Settings.

DepositBalanceReminderJob — every 12 hours

Finds all confirmed bookings with an outstanding balance where the balance due date is approaching and a reminder has not yet been sent. Sends the BalanceReminder email to the customer with a direct link to their Booking Detail page to complete payment. Only active when DepositsEnabled is true in System Settings.

SurveyJob — daily at 19:00

Finds all course dates that ended before today where survey_sent = FALSE. For each eligible date, creates a unique token per confirmed delegate and sends the Survey email with a personalised one-use link to the feedback form at /survey/{token}. Marks each date as survey_sent = TRUE so it is not processed again on subsequent runs.

Communication Routing Summary

TriggerDelegate (email+SMS)Account holderSupport email
Booking ConfirmationEach delegateOnce per orderOnce (AdminNewBooking)
Course Reminder (automated)Each delegateOnce per customer
Pre-Course InfoEmail only
Booking CancellationEach delegateOnce per order
Waitlist PromotionYes
Auto-Cancel WarningYes
Message All Delegates (manual)Email + SMSOnce per customer
Booking Reassignment notificationEmail (each delegate)Once per order item
Survey invitation (automated, SurveyJob)Email (each delegate)
Deposit Received confirmationYes (account email)
Balance Reminder (automated, 12h job)Yes (account email)
Balance Paid confirmationYes (account email)
IST Invoice Confirmation (Invoice mode only)Yes (account email)
IST Invoice Admin Notification (Invoice mode only)Yes (SupportEmail)
Payment Reminder (manual, admin-triggered)Yes (account email)
BOBSTA§ 17 Background Jobs & Automation · Page 20
Appendix A / BQuick Reference — Shortcuts & Tokens
BOBSTA Seminar Booking · v1.0

Keyboard Shortcuts (Appendix A)

ShortcutAction
Cmd K / Ctrl KOpen the Command Palette from anywhere in the admin panel
Navigate results in the Command Palette
EnterOpen the highlighted Command Palette result
EscClose the Command Palette without navigating

Email Template Tokens (Appendix B)

These {{token}} placeholders are substituted with real values when emails are sent. The tokens available for each template are listed on the template's Edit page.

TokenValue inserted
{{CourseName}}Course name
{{BookingReference}}Booking ref (SB-YYYYMMDD-XXXXX)
{{DateDisplay}}Formatted course date
{{CourseTime}}Start time
{{SessionName}}Session name (session-based courses)
{{VenueName}}Venue display name
{{VenueAddress}}Full venue address
{{VenueMapUrl}}Google Maps link
TokenValue inserted
{{CustomerName}}Customer account name
{{DelegateName}}Individual delegate's name
{{TotalAmount}}Total booking value
{{PaymentMethod}}Card / Invoice / Loyalty Points
{{SiteUrl}}Base URL of the site
{{BookingDetailUrl}}Direct admin link to the booking
{{SupportEmail}}Configured support email address
{{CompanyName}}Your company name (from Settings)
Token (Reassignment only)Value inserted
{{OldDateDisplay}}The original course date (before reassignment)
{{NewDateDisplay}}The new course date (after reassignment)
{{PriceNote}}Optional admin note about price handling
Token (IST Invoice only)Value inserted
{{InvoiceNumber}}Auto-generated invoice number ({InvoicePrefix}{OrderId})
{{InvoiceAmount}}Total amount due for the IST session
{{SessionDate}}Date of the IST session
{{PaymentInstructions}}Configured in System Settings → Invoice → IST Invoice Payment Instructions
Token (Survey only)Value inserted
{{SurveyUrl}}Unique one-use link to the delegate's feedback form
Token (Pre-Course Info only)Value inserted
{{BookingUrl}}Direct link to the delegate's Booking Detail page — {SiteUrl}/Account/BookingDetail/{bookingRef}
BOBSTAAppendix A / B · Quick Reference · Page 23
Appendix CRole Capabilities & Common Tasks
BOBSTA Seminar Booking · v1.0

Admin Role Capabilities

FeatureSRAdminSuperAdmin
Dashboard, Calendar, Reports
View & manage Bookings
Create & edit Courses and Dates
View & manage Customers
Login as Customer (Impersonation)
Create IST Sessions
Loyalty Points management
Communication Log & Email Templates
Reference Data
Survey Feedback results
Member Preview & Early Access courses
System Settings
Manage Administrators
Audit Log

Common Tasks — Quick Lookup

I want to…Go to…
Find a booking by reference numberCommand Palette (Cmd K) → type the ref
See who is booked on a course todayDashboard → Roster · Today (right rail)
Email all delegates on a specific dateCourses → Edit → Dates tab → View Bookings → Message All Delegates
Check if a customer received their confirmationComms Log → search by their email
Create an IST session for a customerLogin as Customer → find customer → Login → Create IST Sessions
Add or remove loyalty pointsLoyalty Points → Manage (next to customer) → Adjust Points
Clone a course for a new termCourses → Edit → Clone Course button
Change the booking confirmation email wordingSettings → Email Templates → BookingConfirmation → Edit
Add a new training locationSettings → Reference Data → Locations & Regions → Add
Add a new teacherSettings → Reference Data → Teachers → Add teacher
Review what an admin has been doingSettings → Audit Log → filter by Admin User
See all outstanding invoice bookingsBookings → filter Status = Invoice Pending
Check fill rates across all upcoming datesDashboard → Upcoming (right rail) or Calendar view
Download a delegate list for a course dateCourses → Edit → Dates → View Bookings → Export CSV
Move delegates to a different dateBookings → View → Reassign Date button (confirmed bookings, non-session-based)
View course feedback / survey resultsSettings → Feedback → click course date row
Export all survey responses to ExcelSettings → Feedback → Export Excel (all dates), or open a date and Export Excel
Mark a deposit balance as paid (offline payment)Bookings → View → payment section → Mark Balance Paid
Enable deposit paymentsSettings → System Settings → Deposits Enabled → Enable
Add a kit list to a course sectionSettings → Reference Data → Sections tab → Edit section → Kit List field
See what a customer needs to bring to a courseCustomer sees it on Account → Booking Detail → Course Details tab
Give a Gold/Platinum customer early access to an unpublished courseCourses → Edit → check Hidden → enable Member Preview → Save
Book an Early Access course on behalf of a Gold/Platinum customerLogin as Customer → find customer → Login → Private Courses card
Create an IST session billed by invoiceLogin as Customer → Create IST Sessions → select Invoice mode → confirm
Update IST invoice payment bank detailsSettings → System Settings → Invoice tab → IST Invoice Payment Instructions
Export confirmed transactions for Xero / QuickBooksReports → Finance Export → choose format → download
Send a one-off payment chase for an overdue invoice or balanceBookings → View → Send Payment Reminder
Download all customers / all courses as ExcelCustomers → Export All, or Courses → Export
Populate the Privacy Policy and Cookie Policy pagesSettings → System Settings → Invoice tab → Company Name, Company Address, Data Controller Name, Privacy Contact Email
BOBSTAAppendix C · Role Capabilities & Common Tasks · Page 24
Need help or found an issue?
Contact your BOBSTA administrator, or email the support team directly.
Get in touch
support@bobsta.co.uk
BOBSTA
BESPOKE EVENT SOFTWARE
BOBSTA Seminar Booking Administrator Manual
v1.6 · June 2026 · Confidential — Admin Use Only