Skip to main content

Maintenance Logs

Track scheduled and completed maintenance activities on facility resources.

Last updated: 2026-01-26 Where to find it: Facilities API > Maintenance Who can use it: Developers, integrators Prerequisites: API credentials Help link: /maintenance-logs

Use Cases

  • Scheduled Maintenance: Greens aeration, cart service, simulator calibration
  • Unscheduled Repairs: Equipment breakdowns, weather damage
  • Audit Trail: Who logged what maintenance and when

Log Properties

FieldTypeDescription
idnumberUnique identifier
resourceIdnumber?Linked facility resource
courseIdnumber?Optional course reference
maintenanceTypestring?Type (e.g., GREENS, BUNKERS, IRRIGATION)
descriptionstring?Detailed description
startTimeDateTimeMaintenance start
endTimeDateTime?Maintenance end
recordedBystring?Staff member who logged it
recordedAtDateTimeWhen the log was created

REST API

List Maintenance Logs

GET /maintenance-logs?tenantId=1&clubId=10&resourceId=42

Query Parameters:

  • tenantId (required) - Tenant scope
  • clubId (optional) - Club scope
  • resourceId (optional) - Filter by resource
  • courseId (optional) - Filter by course

Get Single Log

GET /maintenance-logs/123?tenantId=1

Create Maintenance Log

POST /maintenance-logs?tenantId=1&clubId=10
Content-Type: application/json

{
"resourceId": 42,
"maintenanceType": "GREENS",
"description": "Core aeration and top dressing on holes 1-9",
"startTime": "2025-01-15T06:00:00Z",
"endTime": "2025-01-15T14:00:00Z",
"recordedBy": "superintendent@club.example"
}

Update Log

PUT /maintenance-logs/123?tenantId=1
Content-Type: application/json

{
"endTime": "2025-01-15T16:00:00Z",
"description": "Extended due to weather delay"
}

Delete Log

DELETE /maintenance-logs/123?tenantId=1

GraphQL API

Query Logs

query MaintenanceLogs {
maintenanceLogs(tenantId: 1, clubId: 10, resourceId: 42) {
id
maintenanceType
description
startTime
endTime
recordedBy
}
}

Create Log

mutation CreateMaintenanceLog {
createMaintenanceLog(
tenantId: 1
clubId: 10
data: {
resourceId: 42
maintenanceType: "GREENS"
description: "Core aeration"
startTime: "2025-01-15T06:00:00Z"
}
) {
id
maintenanceType
startTime
}
}

Scoping

Maintenance logs are scoped through their linked resource:

MaintenanceLog → FacilityResource → tenantId/clubId

When creating a log, the service validates that the resourceId belongs to the specified tenant/club scope.

Common Maintenance Types

TypeDescription
GREENSGreens maintenance (mowing, aeration, top dressing)
BUNKERSBunker maintenance (raking, sand replenishment)
IRRIGATIONIrrigation system maintenance
CART_SERVICEGolf cart service and maintenance
SIMULATOR_CALIBRATIONSimulator calibration and updates
GENERALGeneral facility maintenance

Expected outcome

  • Maintenance logs are tracked for all resources.
  • Audit trail shows who logged what and when.
  • Logs are properly scoped by tenant/club.