GolfGlobe365 GAMP
Endpoints

Booking Endpoints

Booking Endpoints

Create, manage, and retrieve golf course bookings. Standard bookings support up to 4 players. For larger groups, use the Group Bookings endpoints.

Create a Booking

Code
POST /bookings

Creates a new golf course booking.

Request Body

JSONCode
{ "courseId": "abc123def456", "date": "2026-07-15", "teeTime": "08:30", "players": 2, "leadPlayer": { "firstName": "Michael", "lastName": "Rodriguez", "email": "[email protected]", "phone": "+34 600 123 456" }, "agencyBookingReference": "TRV-2026-00123", "specialRequests": "Buggy required" }

Required Fields

FieldTypeDescription
courseIdstringCourse document ID
datestringBooking date (YYYY-MM-DD)
teeTimestringRequested tee time (HH)
playersintegerNumber of players (1-4)
leadPlayerobjectLead player details (firstName, lastName, email required)

Response

JSONCode
{ "data": { "id": "bk_abc123", "status": "confirmed", "bookingReference": "GG365-2026-12345", "agencyBookingReference": "TRV-2026-00123", "course": { "id": "abc123def456", "name": "Marbella Golf Country Club" }, "date": "2026-07-15", "teeTime": "08:30", "players": 2, "leadPlayer": { "firstName": "Michael", "lastName": "Rodriguez", "email": "[email protected]" }, "createdAt": "2026-06-01T14:22:33Z" } }

For online courses, the booking is confirmed immediately. For offline courses, the booking enters a pending state until confirmed by the golf course.

List Agency Bookings

Code
GET /bookings

Returns all bookings for the authenticated agency.

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
pageSizeintegerItems per page (default: 20, max: 100)
statusstringFilter by status (confirmed, pending, cancelled)
startDatestringFilter bookings on or after this date (YYYY-MM-DD)
endDatestringFilter bookings on or before this date (YYYY-MM-DD)

Response

JSONCode
{ "data": [ { "id": "bk_abc123", "status": "confirmed", "bookingReference": "GG365-2026-12345", "agencyBookingReference": "TRV-2026-00123", "course": { "id": "abc123def456", "name": "Marbella Golf Country Club" }, "date": "2026-07-15", "teeTime": "08:30", "players": 2, "createdAt": "2026-06-01T14:22:33Z" } ], "meta": { "pagination": { "page": 1, "pageSize": 20, "totalItems": 128, "totalPages": 7 } } }

Get Booking Details

Code
GET /bookings/{id}

Returns details of a specific booking.

ParameterTypeDescription
idstringBooking ID

Returns the same structure as the create booking response.

Update a Booking

Code
PUT /bookings/{id}

Updates an existing booking. Only certain fields can be modified.

Request Body

JSONCode
{ "players": 3, "specialRequests": "Updated: Buggy for all players", "agencyBookingReference": "TRV-2026-00123-v2" }

Modifiable Fields

FieldDescription
playersNumber of players
specialRequestsSpecial requests or notes
agencyBookingReferenceYour internal reference

Cancel a Booking

Code
DELETE /bookings/{id}

Cancels an existing booking. Cancellation fees may apply depending on the course's cancellation policy. Use GET /courses/{id}/terms to check the cancellation policy before cancelling.

Response

JSONCode
{ "data": { "id": "bk_abc123", "status": "cancelled", "bookingReference": "GG365-2026-12345", "cancellationDate": "2026-06-05T09:12:45Z" } }

Cancellation policies vary by course. Check GET /courses/{id}/terms for the applicable cancellation tiers and refund percentages.

Last modified on