Skip to main content

Golf Cart API Surface

REST

EndpointDescription
GET /golf-cartsList carts (filters: tenantId, clubId, condition, cartType, lowBattery, skip, take)
GET /golf-carts/:idGet cart by id (scope by tenantId)
POST /golf-cartsCreate cart (creates facility resource + cart details)
PUT /golf-carts/:idUpdate cart metadata (scope by tenantId)
DELETE /golf-carts/:idSoft-delete resource + delete cart (rejects active assignment)
PUT /golf-carts/:id/batteryUpdate battery (0-100 validation)
PUT /golf-carts/:id/locationUpdate GPS + zone
PUT /golf-carts/:id/conditionUpdate condition/damage notes
GET /golf-carts/:id/assignmentsAssignment history
POST /golf-carts/:id/assignAssign to booking/player
POST /golf-carts/assignments/:id/returnReturn cart, update meters
GET /golf-carts/availableAvailable carts (type/capacity filters)
POST /golf-carts/auto-assignAuto-assign best available cart
GET /golf-carts/:id/incidentsIncident history (optional unresolved filter)
POST /golf-carts/:id/incidentsReport incident
PUT /golf-carts/incidents/:id/resolveResolve incident
GET /golf-carts/fleet/summaryFleet summary (counts, avg battery, maintenance/incident counts)
GET /golf-carts/analytics/utilizationUtilization report (windowed)
GET /golf-carts/zonesCarts by zone
GET /golf-carts/zones/summaryZone counts + in-use/available
GET /golf-carts/maintenance/predictivePredictive maintenance candidates
GET /golf-carts/service-history(via /golf-carts/:id/service-history) history by cart
POST /golf-carts/:id/schedule-maintenanceSchedule maintenance
POST /golf-carts/:id/mark-servicedMark serviced + reset flags

GraphQL (highlights)

  • Queries:
    • golfCarts(filters: GolfCartFilterInput!)
    • golfCart(id: Int!, tenantId: Int!)
    • availableCarts(...)
    • fleetSummary(tenantId: Int!, clubId: Int)
    • utilizationReport(input: UtilizationRequestInput!)
    • cartsByZone(input: ZoneQueryInput!)
    • zoneSummary(tenantId: Int!, clubId: Int)
    • predictiveMaintenance(input: PredictiveMaintenanceInput!)
  • Mutations:
    • createGolfCart, updateGolfCart, updateGolfCartBattery, updateGolfCartLocation, updateGolfCartCondition, removeGolfCart
    • assignCart, returnCart, autoAssignCart
    • reportCartIncident, resolveCartIncident
    • scheduleCartMaintenance, markServiced

See libs/facilities/facilities-service/src/lib/golf-cart.* for DTOs and resolver wiring.