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.

Last updated: 2026-01-26 Where to find it: Facilities API Who can use it: Developers, integrators Prerequisites: API credentials, tenant access Help link: /intro

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
ReservationsBook facility time slots with series + waitlist support
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:

Expected outcome

  • Understand the Facilities Service capabilities.
  • Know the available resource types and features.
  • Ready to integrate with the REST and GraphQL APIs.