Firestore Collections
Reference of primary Firestore collections used by the application.
Core entities
| Collection | Document ID | Key fields |
|---|---|---|
users | Firebase Auth UID | email, role, department, branch, portalAccess |
assets | Auto-generated | name, serialNumber, status, assignedTo, purchaseCost |
assetRequests | Auto-generated | status, requestedBy, requestedFor, workflowStage |
departments | Auto-generated | name, branch, zone, location |
locations | Auto-generated | name, city, branchType, status |
organizations | Auto-generated | name, type |
Site map
| Collection | Document ID pattern | Key fields |
|---|---|---|
siteMapNodes | floor-{locationId}-{zoneSlug}-{n} | type, zoneName, floorNumber, floorPlan |
Node types: floor (primary), legacy building/zone cleaned up automatically.
Settings documents
| Path | Purpose |
|---|---|
settings/rolePermissions | Role & permission matrix |
settings/mapDesigner | Site map user overrides |
settings/auth | SSO provider config |
settings/security | Password policy, session timeout |
settings/assetRequestWorkflow | Workflow stages & notifications |
settings/authEmailTemplates | Email template content |
settings/relianceSeed | Demo seed status flag |
settings/admin | Firebase backend config (restricted read) |
Audit & messaging
| Collection | Purpose |
|---|---|
auditLogs | Activity log entries |
userNotifications/{uid}/items | In-app notifications |
userMail/{uid}/messages | In-app mail |
mail | System mail queue (server-side, client read blocked) |
Security & auth
| Collection | Purpose |
|---|---|
userMfa/{uid} | MFA enrollment state |
passkeyCredentials/{id} | WebAuthn credentials |
passkeyLookup/{emailKey} | Email → UID lookup for passkeys |
userPasskeys/{uid}/items | User passkey registry |
Automation
| Collection | Purpose |
|---|---|
scannerIngestionRecords | Barcode/RFID scans |
networkDiscoveryJobs | Network scan jobs |
webhooks | Webhook configs |
Signatures
| Collection | Purpose |
|---|---|
signatureSessions | Mobile/agreement signing sessions |
Subcollections pattern
userNotifications/{userId}/items/{notificationId}
userMail/{userId}/messages/{messageId}
userPasskeys/{userId}/items/{credentialId}
Indexes
Defined in firestore.indexes.json. Deploy with:
firebase deploy --only firestore:indexes
Missing indexes appear as errors in browser console with a direct link to create them in Firebase Console.