# Naming Conventions for Plus2 IDs and Descriptions

HTML version: [Naming Conventions for Plus2 IDs and Descriptions](https://support.gladstonesoftware.cloud/plus2/naming-conventions-for-plus2-ids-and-descriptions)

## Problem
Administrators need consistent IDs and descriptions for resources, products, activities, reservations and block bookings across every site, so records group and sort sensibly and descriptions read well online.

## Resolution

1. **Agree the naming standard before building**
   - Use consistent IDs and descriptions across all sites.
   - IDs are for administration and grouping; **descriptions can appear online**, so write them for customers.
   - Replace placeholders such as `[SITE_CODE]` with locally approved values.

2. **Name resource products**
   - Pattern: `Z[SITE_CODE][RESOURCE_CODE][SEQ]`, e.g. `ZABMEET01`.
   - `Z` marks a resource product (typing `Z` in the ID search lists them all).
   - `[SITE_CODE]` identifies the site; `[RESOURCE_CODE]` is a short label such as `POOL`, `HALL` or `MEET`; `[SEQ]` distinguishes several of the same type.
   - No spaces, consistent capitals, leading zeros (`01`, `02`, `03`) for sorting.
   - Keep IDs short (about **10 characters**); confirm the field limit before bulk creation.
   - Always prefix site-specific items with the site code so they group together in lists.

3. **Name other Plus2 records**

   | Record | Example pattern |
   |---|---|
   | Price product | `ASUB1M0002` = all-site (A), subscription (SUB), one month (1M), sequence (0002) |
   | Activity | Site initials + `ACT` + number, e.g. `ABCACT0001`; reuse it as the activity's price product ID |
   | Reservation (class/session) | Site code + weekday number (1 = Monday) + start time (`0630`) + `R` + 3-letter activity (`GYM`) + month/year created (`0925`) |
   | Time band | Start time, e.g. `1400`; paste the ID into the description to find it easily |

4. **Name block bookings and hosted reservations**
   - Use a documented compact pattern so staff can read the booking without opening it. Useful parts: site code, customer or organisation code, weekday number, block-booking marker (e.g. `BB`), activity code, start time, and start month/year or cycle.
   - Example (Plus2): site + weekday + `1200` + `BB` + `FTB` + `0825`. Plus2 reservation IDs are limited to **15 characters** and must be unique.
   - In Go Operator block bookings the equivalent field is **Reservation ID** (formerly "Activity ID"). It's optional: leave it blank and Go generates one, or enter your own code (it must be unique).

5. **Write descriptions**
   - Use full names (`Main Pool`, `Teaching Pool 1`, `Studio 2`, `Meeting Room 03`), meaningful to staff and to customers online.

6. **Set a sort order with description prefixes (if applicable)**
   - Admin lists sort **alphabetically by description** (no drag-and-drop). If a set order is needed, agree a numeric hierarchy.
   - Prefix descriptions with it, keeping related areas together and high-use sheets before low-use ones:

     ```text
     1.1 Main Pool
     1.2 Teaching Pool
     2.1 Main Hall
     3 Studios
     4.1 Meeting Room 01
     ```

   - Document the scheme rather than renaming items ad hoc.
   - Before renaming live records, check whether the prefix also shows on the front desk or online.

## Notes

- **Never put personal data in an ID.**
- Go Operator block bookings are covered in [Creating a Block Booking in Go Operator](../gooperator/creating-a-block-booking-in-go-operator.md).
- Related: [Configuring Multiple Sites in One Plus2 Database](configuring-multiple-sites-in-one-plus2-database.md); [Creating Resource Products in Plus2](creating-resource-products-in-plus2.md); [Plus2 Resource Build QA and Go-Live Handover](plus2-resource-build-qa-and-go-live-handover.md).
