1In one sentence#
The Core module is the shared foundation every other part of LumosCRM is built on — the People records behind clients, contacts, and staff; the global search that finds anything in two keystrokes; the entity pickers that connect records across modules; secure file storage; the editable option-sets; and the cross-cutting guarantees (encryption, audit logging, per-user data scoping) that make the whole product consistent and trustworthy.
You never visit a "Core" screen — but you rely on it on every screen.
2Who it's for#
Everyone, indirectly. Core is what makes the CRM feel like one coherent system rather than a set of disconnected tools.
3People — the person behind every record#
At the centre of LumosCRM is the People entity: a single, clean record of a human being. A Client is a People record with a business profile around it; a vendor contact, a guest, an emergency contact, a staff member — all are People. Storing identity once, separately from role-specific business data, means a person's name, language, and details stay consistent wherever they appear.
A People record holds:
- Name — first, last, and preferred name (with a computed display name)
- Personal details — gender, date of birth, nationality (one or more), primary language, timezone
- Avatar — a profile image (with a derived URL)
- Staff role — for people who are staff, their function: primary/secondary manager, concierge, lifestyle advisor, travel specialist, event planner, compliance officer, finance, or admin
Around each person sit contact methods (multiple emails, phones, messaging handles, with a primary) and addresses (residential, billing, etc.).
Because identity is centralised, the same person can be a client, appear as someone else's emergency contact, and be a vendor's named contact — without duplication.
4Global search — find anything, fast#
A ⌘K global search spans the whole CRM. Type a name, a code, or a phrase and get ranked results across clients, requests, vendors, invoices, events, and documents — each result badged by type and linking straight to the record. Every module contributes its own results, and results respect the user's permissions and data scope, so search never reveals something a user isn't allowed to see.
5Entity pickers & lookups — the connective tissue#
Throughout the CRM, when you need to attach one record to another — pick the client for an invoice, the vendor for a request, the manager for an event — you use a smart entity picker. Behind it is a generic lookup service that each module plugs into, returning searchable, filterable, pre-enriched results (for example, picking a client pre-fills its preferred currency on a new invoice). This is what makes records link cleanly across modules instead of being re-typed.
6Secure file storage#
A shared storage service handles uploads, downloads, and deletion for every module, with encryption and classification-aware handling. It's the common, secure plumbing beneath avatars, attachments, and the Document Vault.
7Editable option-sets#
The dropdown choices across the product — tiers, statuses, categories, types, terms — are database-backed option-sets that administrators edit in Settings (no code changes). Core provides the engine (with caching and sensible fallbacks) that serves these lists to every module. (See the Settings module.)
8Cross-cutting guarantees — the same everywhere#
These platform-wide behaviours are why every module feels consistent and trustworthy:
| Guarantee | What it means |
|---|---|
| Audit logging | Changes across the CRM are recorded with who, what, and when — permanently. |
| Encryption at rest | Sensitive fields (notes, tax IDs, document references, message bodies) are encrypted. |
| Per-user data scoping (self-scoping) | Users see only the records they own or are assigned, applied uniformly across modules. |
| Soft deletes | Records are recoverable rather than destroyed where appropriate. |
| Consistent UI shell | The same navigation, headers, drawers, completion rings, and badges across every module. |
| Workspace settings | Workspace-level configuration shared across the product. |
9Use cases & scenarios#
Use case A — One person, many hats#
A client's spouse is added as an emergency contact and later becomes a named contact for a vendor. It's the same People record throughout — update their phone number once, and it's right everywhere.
Use case B — Find it in two keystrokes#
A handler can't remember a client's name but knows the request was about a yacht. They press ⌘K, type "yacht," and jump straight to the request — search reached across modules to find it.
Use case C — Consistent, safe connections#
Creating an invoice, the user picks the client from a lookup; the client's preferred currency is pre-filled, and only clients they're allowed to see appear in the picker.
10Glossary#
| Term | Meaning |
|---|---|
| People | The central person record behind clients, contacts, guests, and staff. |
| Global search (⌘K) | Cross-module search for any record. |
| Entity picker / lookup | The component and service for attaching one record to another. |
| Option-set | An editable dropdown list used across modules. |
| Self-scoping | The platform-wide rule limiting users to their own records. |
| Audit log | The permanent, cross-module record of changes. |
This document describes the Core platform foundation as currently built: the People entity and its contacts/addresses, global search, entity lookups, secure storage, option-sets, and the cross-cutting guarantees (audit, encryption, data scoping) shared by every module.