Skip to main content

Facilities Service

The Facilities Service manages physical assets and resources at golf clubs, including courses, driving ranges, simulators, carts, and courts.

Purpose

Provides a centralized facility management system that can be shared across multiple modules:

  • Tee Time - booking facilities for tee times
  • Sport Club Ledger (SCL) - facility inventory management
  • Member Club Admin (MCA) - administrative oversight

Key Features

FeatureDescription
Multi-tenantAll queries scoped by tenantId, optional clubId
Resource TypesGolf courses, driving ranges, simulators, carts, courts
Maintenance LogsTrack scheduled and completed maintenance
Resource UsageTrack booking assignments to resources
Availability CheckQuery available resources for a time window
Soft DeleteResources are deactivated, not permanently deleted
Dual APIREST endpoints + GraphQL resolvers
ProjectPathDescription
facilities-apiapps/facilities/facilities-apiNestJS gateway application
facilities-servicelibs/facilities/facilities-serviceCore service module
facilities-datalibs/prisma/facilities-dataPrisma data layer

Getting Started

# Serve the API locally
pnpm nx serve facilities-api

# Run unit tests
pnpm nx run facilities-service:test:unit --runInBand

# Build the service
pnpm nx build facilities-service

Swagger Documentation

Interactive API documentation is available at: