Skip to main content

Resource Usage

Track booking assignments to facility resources.

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

Purpose

Resource usage records link bookings to specific facility resources, enabling:

  • Capacity Management: Track which resources are assigned
  • Booking Association: Link tee time bookings to specific carts, simulators, etc.
  • Usage Analytics: Analyze resource utilization patterns

Usage Properties

FieldTypeDescription
idnumberUnique identifier
resourceIdnumberLinked facility resource
bookingIdnumber?Associated booking ID
assignedAtDateTimeWhen resource was assigned
releasedAtDateTime?When resource was released

REST API

List Usage Records

GET /resource-usage?tenantId=1&clubId=10&resourceId=42

Query Parameters:

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

Get Single Record

GET /resource-usage/123?tenantId=1

Create Usage Record

POST /resource-usage?tenantId=1&clubId=10
Content-Type: application/json

{
"resourceId": 42,
"bookingId": 12345,
"assignedAt": "2025-01-15T08:00:00Z"
}

Update Record (Release Resource)

PUT /resource-usage/123?tenantId=1
Content-Type: application/json

{
"releasedAt": "2025-01-15T12:00:00Z"
}

Delete Record

DELETE /resource-usage/123?tenantId=1

GraphQL API

Query Usage

query ResourceUsage {
resourceUsage(tenantId: 1, clubId: 10, resourceId: 42) {
id
resourceId
bookingId
assignedAt
releasedAt
}
}

Assign Resource

mutation CreateResourceUsage {
createResourceUsage(
tenantId: 1
clubId: 10
data: {
resourceId: 42
bookingId: 12345
assignedAt: "2025-01-15T08:00:00Z"
}
) {
id
resourceId
bookingId
}
}

Release Resource

mutation UpdateResourceUsage {
updateResourceUsage(
id: 123
tenantId: 1
data: { releasedAt: "2025-01-15T12:00:00Z" }
) {
id
releasedAt
}
}

Workflow

1. Assign Resource to Booking

When a booking is created that requires a resource (e.g., golf cart):

POST /resource-usage?tenantId=1&clubId=10
{
"resourceId": 42,
"bookingId": 12345,
"assignedAt": "2025-01-15T08:00:00Z"
}

2. Check Current Assignments

Query resources currently in use:

GET /resource-usage?tenantId=1&resourceId=42

Filter results where releasedAt is null to find currently assigned resources.

3. Release Resource

When the booking completes:

PUT /resource-usage/123?tenantId=1
{
"releasedAt": "2025-01-15T12:00:00Z"
}

Integration with Tee Time

The resource usage tracking integrates with the Tee Time booking system:

  1. Booking Created: Tee Time calls Facilities API to assign cart/simulator
  2. Booking Modified: Updates assignment if resource changes
  3. Booking Completed: Releases the assigned resource
  4. Booking Cancelled: Releases and optionally deletes the usage record

Expected outcome

  • Resource assignments are tracked per booking.
  • Usage analytics reveal utilization patterns.
  • Integration with Tee Time works seamlessly.