# System Specification – Building a New Site

HTML version: [System Specification – Building a New Site](https://support.gladstonesoftware.cloud/plus2/system-specification-building-a-new-site)

## Problem
Before Gladstone builds your new database (Plus2, 360 and Go), you need to make the decisions collected in the system specification document: core settings, users, statuses, user fields, price levels, payment methods, products and bookable areas.

## Resolution

1. **Agree the core settings**

   | Setting | Guidance |
   |---|---|
   | Database / site prefix | 3–4 characters (for example, an abbreviation of the organisation). Internal only. For multi-site databases also agree a unique **site code** per site for resource and product IDs (see [Naming Conventions for Plus2 IDs and Descriptions](naming-conventions-for-plus2-ids-and-descriptions.md)). |
   | Booking sheet opening period | How far ahead bookings can be scheduled; usually one year (longer if, for example, elections are booked years ahead). Recurring classes extend a day at a time as the window rolls forward. |
   | Bank account, sort code, **service user number (SUN)** | Supplied by finance. |
   | DD collection runs | Number of runs per month and the collection date(s) (for example, the 1st). |
   | GB Group (address, bank, email/phone validation) | Enter credentials in **live only**; leave test without, to save credits and allow fake details. A bank-validation licence is needed if the site sells DD; email/phone validation is optional. |
   | Create card when adding members | Usually **No** (only for card printers); cards are added when scanned. |
   | Show priority subscription | Yes: orders a member's subscriptions by priority (for example, paid membership above a gym-induction access subscription). |
   | Display mugshot | Yes: photo on the record; the webcam freeze frame takes the picture after about 5 seconds. |
   | Duplicate receipt for refunds | Optional; receipts can always be reprinted. |
   | POS readings by payment method | Staff declare each method (for example, card, cheque) so the PDQ total can be matched. Keep cheque or cash available for any exceptions (for example, a block booker paying by cheque). |
   | Overs and unders | Allowed till variance (for example, £5). |
   | Receipts for no-sales / zero transactions | Usually No, to save till roll. |
   | Plus2 licences | Number of concurrent Plus2 users. Plus2 cannot use a shared generic login, so count everyone who needs the booking sheet. |
   | Account/help email and phone | Shown on Go for customer queries; choose a monitored mailbox. Booking and membership queries can have separate contacts. |
   | Alert list | Switch on if waiting lists will be used; choose which classes later. |

2. **Define user groups and users**
   - See [Managing Users and User Groups in Plus2](plus2-users-and-user-groups.md).
   - Most sites use three levels, for example **Super user**, **Admin** (duty managers: for example private lesson payments through the till, the misc/variable price button) and **Basic** (front of house).
   - Send Gladstone a list of users (including casual staff) so accounts can be created; the site then learns to add users, unlock accounts and reset passwords itself (see [Managing Gladstone 360 User Accounts and Passwords](../gladstone360/managing-gladstone-360-user-accounts-and-passwords.md)).
   - **Go Operator roles** (for example, Operator Admin: Admin/Advanced, Operator Standard: Standard/Limited) are assigned in `GMC > Security Configuration > Permissions`. Give each user **one** role; combining roles has suppressed access. See [Block Booking Permissions in Go Operator](../gooperator/block-booking-permissions-in-go-operator.md) for the Centre Management permissions and [Gladstone 360 Permission Reference Overview](../gladstone360/gladstone-360-permission-reference-contacts-pos-and-check-in.md) for individual 360 permissions.

3. **Tidy the titles**
   - See [Setting Up Titles, User Fields and Screen Profiles in Plus2](setting-up-titles-user-fields-and-screen-profiles-in-plus2.md).
   - Remove gender-specific duplicates (for example, *Dr (male)*, *Dr (female)*). Email salutations combine title and name, so a plain *Dr* works for any gender.
   - A typical list: Dr, Mr, Mrs, Miss, Ms, Mx, Prefer not to say, Other.

4. **Choose the statuses**
   - See [Setting Up Member Statuses in Plus2](setting-up-member-statuses-in-plus2.md).
   - Status controls how a record is treated (booking and entry restrictions, online joining behaviour); price level controls what they pay. Typical set:
     - **Live / Current member**, **Non-member / Pay as you go**, **Ad hoc booker** (one-off hires such as parties, same rights as a non-member but reportable separately), **Block booker**, **Swimming lessons** and **Private swimming lessons** (a record has one status, so use the primary relationship, for example a gym DD member keeps the member status).
     - **Lapsed** (cancelled at the bank or given notice, still paying until the end date), **Cancelled**, **Expired** (annual not renewed), **Deceased** (for example, from a bank rejection; delete bank details).
     - **Frozen** (one level if there is no charged holiday freeze), **Suspended** (for example, after a three-strike no-show rule). For 360 freeze workflows the Plus2 freeze status (for example, ID `FREEZ`, "Current – Freeze") must have **Freeze Subscriptions** and **Collect Sales** both ticked; 360 supports freezes only when a freeze workflow is configured (see [Building a Gladstone 360 Freeze Contact Workflow](../gladstone360/creating-a-membership-freeze-in-g360-and-plus2.md)).
     - **DD enquiry**: set when a DD fails; a debt is created that the customer can pay online. The status does not reset itself when the debt is paid unless a script is set up (see Notes).
     - **Pending eligibility**: for discounted memberships needing proof (see [Gladstone Go – Joining Online, Pay-as-You-Go and Eligibility Checks](../gooperator/gladstone-go-joining-linked-members-shared-memberships-and-primary-payee.md)).
     - **Lead**, **Prospect**, **Purge**: for the Prospects module (see step 5).
   - Give each status a colour; use bright colours (for example, red) for problem statuses.

5. **Plan the Prospects module (if applicable)**
   - The 360 **Prospects** module is a task list: leads are assigned to staff (or left unassigned for anyone), followed up, and given an **outcome** (for example, dropout reason such as price or competitor, or a follow-up like a site tour).
   - Status flow: **Lead** → **Prospect** → current member, pay as you go, or **Purge** (dropped out). Purge records can be deleted periodically in a data cleanse.
   - Leads and prospects can still book as pay-as-you-go; a one-off purchase does not change their status, but you can report on prospects who have bought something and follow them up.
   - Creating leads automatically from a website enquiry form needs an **API** integration (bespoke, chargeable unless included in the contract).

6. **Choose the user fields**
   - Up to about 50 user fields. Typical: emergency contact name and number, **cancellation reasons** and freeze reasons (use pick-lists, not free text, so they are reportable), how did you hear about us, medical conditions/disability, health declaration, photography consent, and **customer segmentation** (for example, local group, parent, alumni, commercial hirer).
   - User fields cannot be limited to certain subscription types; they exist on every record but need not be completed.
   - For discounted memberships needing proof, add an eligibility field plus a review/expiry date so renewals can be reported on.
   - For block bookings, record photography consent against the block booker and make them responsible for individual attendees' consent.
   - Terms and conditions and marketing consent are already built in.

7. **Set the price levels**
   - One **default** price level (usually **Adult**), which unknown customers pay. Add others by age, for example **Concession** (60+), **Junior** (for example, 1–17), **Infant** (under 1, free).
   - Discounts for students, corporate groups and similar come from the **membership** via price level overrides, not from separate customer price levels. Create the override levels (for example, **Inclusive**, **Staff**, **Blue light**, spare **Discount 1/2**) at build time: adding a price level later means ticking it on every product (including every resource product).
   - Order the IDs so customer levels (1 …) sit above override levels (2 …). Override levels are never assigned to a record. See [Planning and Creating Price Levels in Plus2](planning-and-creating-price-levels-in-plus2.md) and [Price Level Override (PLO)](price-level-override-plo.md).

8. **Set the payment methods**
   - See [Setting Up Payment Methods in Plus2](setting-up-payment-methods-in-plus2.md).
   - Typical: card, cheque, direct debit, **invoice**, **BACS / bank transfer** (paying invoices, usually block bookings; non-banked), vouchers/complimentary, and **GSP** (Gladstone Pay, replacing a "web" method, for online transactions). Cash can be removed if the site is cashless.
   - Discounts are applied at the till by item or basket and can be restricted to senior roles by permission.
   - If the site will use **Go Operator Block Bookings**, tick **Default for Hosts** on the **Invoicing** payment method (Plus2 `Configuration > Financials > Payment Methods`, double-click **Invoicing**). Without it every block booking fails with *"Payment method Cash is not an invoicing account…"* (see [Fixing "Payment method Cash is not an invoicing account"](../gooperator/payment-method-cash-is-not-an-invoicing-account-error.md)).

9. **Set up products, departments and add-ons**
   - Finance supplies the departments and cost centres; every product maps to a department, which maps to a cost centre. See [Setting Departments, Cost Centres and Tax in Plus2](setting-departments-cost-centres-and-tax-in-plus2.md).
   - For hires, add **variable-price buttons** for add-ons such as staffing, set-up or catering (default £0 or a typical price, editable), each with its own department.

10. **Decide bookable areas, resources and block bookings**
    - Every bookable area, split into sections that may be booked separately; include areas that might be charged for later (see [Creating Booking Sheets in Plus2](creating-booking-sheets-in-plus2.md)).
    - The naming standard, site codes, shared vs site-specific products, and whether resources share calendars (see [Building Bookable Resources in Plus2: Overview](resource-naming-multi-site-configuration-and-build-qa.md)).
    - How block bookings will be run: legacy Plus2 hosted reservations (see [Configuring Block Bookings in Plus2](configuring-block-bookings-in-plus2.md)) or Go Operator Block Bookings with the Invoicing Module (see [Setting Up Block Bookings in Go Operator](../gooperator/setting-up-block-bookings-in-go-operator.md) and [Invoicing Module and Pay by Link (GladstonePay)](../gooperator/invoicing-module-and-pay-by-link-gladstonepay.md)). For Go, block bookers need an **invoicing account** on their Plus2 record, Block Bookings must be enabled by Gladstone Software Support, and the Block Booking email template must be set up.
    - Who owns resources, calendars, booking sheets and block bookings after go-live, and who approves credit limits and tax overrides (see [Plus2 Resource Build QA and Go-Live Handover](plus2-resource-build-qa-and-go-live-handover.md)).

## Notes

- The **system specification document** collects the decisions Gladstone needs to build a new customer database. Gladstone works through it with the site, highlights anything outstanding, and sends a follow-up list. Items marked for finance (bank details, SUN) or marketing are completed later.
- **Optional DD automation (bespoke script)**: a daily script can manage failed DDs: set DD enquiry, add a debt and email the customer with a pay-by date; after that date, if the debt is unpaid, clear it, set Cancelled/Lapsed/Suspended and delete bank details; if the debt has been paid, set the member back to current. It can also handle cancellations at the bank (delete bank details, remove the subscription, set pay as you go). Sites still usually run a mid-month report of outstanding debts.
- The full DD status set and rejection handling are covered in [Direct Debit Set-Up in Plus2](direct-debit-set-up-in-plus2.md).
- Volume discounts for block bookers (for example, 10% off for many weeks) are usually applied manually rather than with a price level.
- Block bookings do not migrate from other systems; only customers do. They can be re-created on live before go-live (see [Block Bookings (Plus2 Hosted Reservations) and Invoicing](../gooperator/block-bookings-plus2-hosted-reservations-and-invoicing.md)).
- Related: [Planning a New Site Build in Plus2](planning-a-new-site-build-in-plus2.md) (build order); [Gladstone 360 – Permissions and GMC Configuration](../gladstone360/gladstone-360-permissions-and-gmc-configuration.md); [Gladstone 360 Permission Reference Overview](../gladstone360/gladstone-360-permission-reference-contacts-pos-and-check-in.md); [Gladstone Go Operator Configuration Overview](../gooperator/gladstone-go-operator-configuration-and-cross-product-impact.md); [Configuring Plus2: Overview and Cross-Product Impact](plus2-configuration-and-cross-product-impact.md); [Building Bookable Resources in Plus2: Overview](resource-naming-multi-site-configuration-and-build-qa.md); [Block Bookings (Plus2 Hosted Reservations) and Invoicing](../gooperator/block-bookings-plus2-hosted-reservations-and-invoicing.md); [Block Bookings in Go Operator (Centre Management)](../gooperator/block-bookings-in-go-operator-centre-management.md).
