Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/hack4impact-umd/breastfeeding-center-gw/llms.txt

Use this file to discover all available pages before exploring further.

The BCGW Dashboard stores all of its operational data in Cloud Firestore. Data is organized into four top-level collections.
CollectionConstantContents
ClientCLIENTS_COLLECTIONUnified client profiles
JaneApptJANE_APPT_COLLECTIONJane appointment records
UsersUSERS_COLLECTIONDashboard staff accounts
InvitesINVITES_COLLECTIONPending invite tokens
All four collections contain personally identifiable information (PII) or access credentials. Firestore security rules restrict reads and writes to authenticated dashboard users. Do not share collection data outside of authorized internal use.

Client document

The Client collection holds one document per client. A single document aggregates identifiers from all external services (Jane, Acuity, Squarespace, Booqable/Stripe) so that data from different sources can be joined without duplicating records. Document ID: UUID (stored in the id field and used as the Firestore document key)
FieldTypeRequiredDescription
idstringYesFirestore document ID (UUID)
firstNamestringYesClient first name
middleNamestringNoOptional middle name
lastNamestringYesClient last name
emailstringYesPrimary matching key across all sync sources
dobstringNoDate of birth (ISO 8601)
phonestringNoPhone number
insurancestringNoInsurance information
janeIdstringNoJane patient_number — set during file upload
paysimpleIdstringNoPaysimple customer ID
squarespaceCustomerIdstringNoSquarespace customer ID — set during Squarespace sync
stripeIdstringNoStripe customer ID used for Booqable — set during Booqable sync
babyBaby[]YesArray of baby/dependent records (may be empty)
associatedClientsClient[]YesCo-attendees linked at a Jane appointment (may be empty)

Baby sub-document

Each entry in the baby array follows this structure:
FieldTypeRequiredDescription
idstringYesJane patient_number for the baby
firstNamestringYesBaby first name
middleNamestringNoOptional middle name
lastNamestringYesBaby last name
dobstringYesDate of birth (ISO 8601)

JaneAppt document

The JaneAppt collection holds one document per Jane appointment. Documents are written during the file upload process and linked to a client via clientId. Document ID: Jane appointment ID (apptId)
FieldTypeDescription
apptIdstringJane appointment ID (also the Firestore document key)
clientIdstringFirestore Client document ID of the primary client
startAtstringAppointment start time (ISO 8601)
endAtstringAppointment end time (ISO 8601)
visitTypeVisitTypeOne of HOMEVISIT, OFFICE, or TELEHEALTH
servicestringService or treatment name from Jane
clinicianstringAssigned staff member name
firstVisitbooleantrue if this was the client’s first visit

Users document

The Users collection holds one document per dashboard staff account. Documents are created when an invite is accepted. Document ID: Firebase Auth UID (auth_id)
FieldTypeRequiredDescription
auth_idstringYesFirebase Authentication UID
emailstringYesLogin email address
firstNamestringYesFirst name
lastNamestringYesLast name
pronounsstringNoOptional pronouns
phonestringNoPhone number (used for MFA)
typeRoleYesOne of VOLUNTEER, ADMIN, or DIRECTOR
Role levels control which actions a user can perform in the dashboard:
RoleLevelPermissions
VOLUNTEER0Read-only access
ADMIN1Read and write; manage clients and appointments
DIRECTOR2Full access including bulk delete and user management

Invites document

The Invites collection stores pending invite tokens that allow new staff members to create an account. Tokens are consumed on registration.

Build docs developers (and LLMs) love