Resources

Adds the ability to see and edit resource allocations

To use this capability, add octo/resources to your Octo-Capabilities header.

Resources are allocated to each booking and determine availability for resource-based products (for example vehicles, rooms, or seat maps).

Even for products that rely on resources, this capability is optional. If you do not provide resource selections, allocations are assigned automatically.

Operations below use the /octo prefix.

Check Available Resources

get

Retrieve available resources for a specific availability.

Responses
200

Successful response

application/json

From capability octo/resources.

resourceIdstringRequired

Resource identifier.

Example: res_bus_12
namestringOptional

Name value.

Example: Coach 12
remainingintegerOptional

Remaining numeric value.

Example: 24
totalintegerOptional

Total numeric value.

Example: 30
statusstringRequired

Current status value.

Example: AVAILABLE
startstringOptional

Start value.

Example: 2026-03-01T08:30:00-08:00
endstringOptional

End value.

Example: 2026-03-01T12:30:00-08:00
resourceGroupIdstringOptional

Resource group identifier.

Example: resource_group_front_row
get
/availability/resources
200

Successful response

Check Available Resources

post

Retrieve available resources for a specific availability.

Body

From capability octo/resources.

availabilityIdstringOptional

Availability identifier (local date or local date-time).

Example: 2026-05-14T09:00:00-04:00
dropoffPointIdstring · uuidOptional

From capability octo/pickups. Selected dropoff point UUID.

Example: 8d7a2fd8-f8f8-4e61-bbaf-5adac58f5d46
pickupPointIdstring · uuidOptional

From capability octo/pickups. Selected pickup point UUID.

Example: 1cfe2c68-4a91-4df8-8d69-4b393d469caf
Responses
200

Successful response

application/json

From capability octo/resources.

resourceIdstringRequired

Resource identifier.

Example: res_bus_12
namestringOptional

Name value.

Example: Coach 12
remainingintegerOptional

Remaining numeric value.

Example: 24
totalintegerOptional

Total numeric value.

Example: 30
statusstringRequired

Current status value.

Example: AVAILABLE
startstringOptional

Start value.

Example: 2026-03-01T08:30:00-08:00
endstringOptional

End value.

Example: 2026-03-01T12:30:00-08:00
resourceGroupIdstringOptional

Resource group identifier.

Example: resource_group_front_row
post
/availability/resources
200

Successful response

Returns resources grouped by resourceGroupId for a single availabilityId.

Request Fields

For GET, send these as query parameters. For POST, send them in the JSON body.

Response Fields

Response is an array of resource-group objects.

Seat Object

Used in resource.seats[], availableSeats[], selectedSeats[], and booking allocation seats[].

Seller Object (driver/guide)

See the resource operations above for response payload examples.

Each booking must allocate enough resources from every required resource group. When resourceGroup.split is false, one resource in that group must cover the full requested size.

Booking Reservation / Update

Resource allocations are accepted on all booking write routes that call booking create/update logic:

  • POST /bookings

  • PATCH /bookings/{uuid}

  • POST /bookings/{uuid}/confirm

Request resourceAllocations[].paxCount and resourceAllocations[].seatIds are ignored by current booking write parsing. Pax and seat assignment are computed server-side from allocation/unit data.

When resourceAllocations is present and non-empty, allocations not included in the submitted list are removed from the booking. Sending resourceAllocations: [] is currently a no-op (existing allocations remain unchanged).

resourceAllocations is appended to serialized booking objects on:

  • POST /bookings

  • PATCH /bookings/{uuid}

  • POST /bookings/{uuid}/confirm

  • GET /bookings/{uuid}

  • GET /bookings

  • POST /bookings/{uuid}/cancel

  • POST /bookings/{uuid}/extend

The same booking-response additions are also present in any other response that serializes a booking object.

Base booking schema: Bookings.

Added Availability Field

This capability also adds hasResources to serialized availability objects returned by:

  • POST /availability

  • POST /availability/batch

  • booking.availability inside serialized booking responses

Base availability schema: Availability.

hasResources is added to /availability responses, not /availability/calendar responses.

Schema Additions (JSON)

These are additive fragments showing only fields introduced by this capability.

Availability

AvailabilityBatchRow

AvailabilityResourcesRequest

Booking

BookingWriteRequest

PackageAvailability

Last updated