### Booking Response Example Source: https://third-party.playtomic.io/endpoints/bookings Example of a successful response when retrieving bookings, detailing the structure of a single booking object. ```json [ { "booking_id": "booking-id", "object_id": "object-id", "tenant_id": "tenant-id", "resource_id": "resource-id", "resource_name": "Padel Single Court 1", "sport_id": "PADEL", "booking_start_date": "2025-08-02T11:30:00", "booking_end_date": "2025-08-02T11:45:00", "duration": 900000, "origin": "MANAGER", "price": "0 EUR", "booking_type": "RECURRING_BOOKING", "payment_status": "PENDING", "participant_info": { "owner_id": "234", "participants": [ { "participant_id": "234", "name": "Test owner", "email": "testOwner@email.com", "accepts_commercial_communications": true, "participant_type": "CUSTOMER" } ] }, "coach_ids": null, "is_canceled": false, "status": "FINISHED" } ] ``` -------------------------------- ### Example JSON Response for Get Players Source: https://third-party.playtomic.io/endpoints/players This is an example of the JSON response structure when retrieving a list of players. It includes pagination information and an array of player objects, each potentially containing details about benefits, wallets, and sports. ```json { "has_more": true, "next_cursor_id": "AAAAAAAAAAAAAAAAAAAAAAAA", "last_modified": "2025-10-15T07:01:58", "data": [ { "player_id": "123", "birth_date": null, "last_registration_date": "2025-05-21T09:28:45", "accepts_commercial_communications": false, "name": "Test player", "email": "testPlayer@email.com", "phone": "+34 123456789", "gender": null, "sports": [], "benefits": [ { "benefit_id": "acd6c2ba-c56f-4cb0-aad6-7e958a7ee3de", "name": "TEST ADVANCE NO MEMBERSHIP", "type": "ASSIGNED", "expires_at": null } ], "wallets": [] }, { "player_id": "234", "birth_date": "1970-01-01", "last_registration_date": "2022-07-27T14:39:11", "accepts_commercial_communications": false, "name": "Test player 2", "email": "testPlayer2@email.com", "phone": "+34 223456789", "gender": "MALE", "sports": [], "benefits": [], "wallets": [ { "wallet_id": "amw:3aa9a616-c6d5-45ce-b2dd-3cf45e6805ba", "name": "Club wallet", "balance": "9987.5 EUR" } ] }, { "player_id": "345", "birth_date": "1971-01-01", "last_registration_date": "2022-07-27T14:19:01", "accepts_commercial_communications": false, "name": "Some player", "email": "someplayer@email.com", "phone": "+46 1243252385923", "gender": "MALE", "sports": [], "benefits": [], "wallets": [ { "wallet_id": "amw:98323c06-e30f-4e68-be33-2644dbcb4c67", "name": "Club wallet", "balance": "12.5 EUR" } ] }, { "player_id": "456", "birth_date": null, "last_registration_date": "2024-02-05T14:03:44", "accepts_commercial_communications": false, "name": "Some player 2", "email": "someplayer2@email.com", "phone": "+4 2243252385923", "gender": "MALE", "sports": [ { "sport_id": "PADEL", "level_value": 2.20 } ], "benefits": [ { "benefit_id": "8051cd7a-ec17-4f59-95a5-ebbd4aa5bd4c", "name": "SIMPLE PRICE 50% DISCOUNT", "type": "SOLD", "expires_at": "2024-02-05T14:03:44" } ], "wallets": [ { "wallet_id": "amw:3361ce61-0a36-4951-862c-1e9b7b69a11f", "name": "wallet app offers", "balance": "1 EUR" }, { "wallet_id": "amw:0fb86581-381a-46db-9e9b-0f632b6e42ab", "name": "test", "balance": "100 EUR" } ] } ] } ``` -------------------------------- ### Player JSON Response Example Source: https://third-party.playtomic.io/endpoints/players This is an example of a successful JSON response when retrieving player data, including sports, benefits, and wallets. ```json { "player_id": "", "birth_date": null, "last_registration_date": "2024-02-05T14:03:44", "accepts_commercial_communications": false, "name": "Some player 2", "email": "someplayer2@email.com", "phone": "+4 2243252385923", "gender": "MALE", "sports": [ { "sport_id": "PADEL", "level_value": 2.20 } ], "benefits": [ { "benefit_id": "8051cd7a-ec17-4f59-95a5-ebbd4aa5bd4c", "name": "SIMPLE PRICE 50% DISCOUNT", "type": "SOLD", "expires_at": "2024-02-05T14:03:44" } ], "wallets": [ { "wallet_id": "amw:3361ce61-0a36-4951-862c-1e9b7b69a11f", "name": "wallet app offers", "balance": "1 EUR" }, { "wallet_id": "amw:0fb86581-381a-46db-9e9b-0f632b6e42ab", "name": "test", "balance": "100 EUR" } ] } ``` -------------------------------- ### Get Bookings Source: https://third-party.playtomic.io/endpoints/bookings Retrieves a list of bookings with specified filters. Ensure the Authorization header is correctly set with a valid token. ```bash curl --request GET \ --url "https://thirdparty.playtomic.io/api/v1/bookings?tenant_id=tenant-id&start_booking_date=2025-08-01T00:16&end_booking_date=2025-08-15T00:16&page=0&size=20" \ --header "content-type: application/json" \ --header "Authorization: Bearer " ``` -------------------------------- ### Get Bookings Source: https://third-party.playtomic.io/endpoints/bookings Retrieves a list of bookings. You can filter bookings by specifying a start and end date. Pagination is supported using 'page' and 'size' parameters. ```APIDOC ## GET /bookings ### Description Retrieves a list of bookings with optional date filtering and pagination. ### Method GET ### Endpoint /api/v1/bookings ### Parameters #### Query Parameters - **tenant_id** (string) - Required - The ID of the tenant. - **start_booking_date** (string) - Optional - The start date for filtering bookings (ISO 8601 format). - **end_booking_date** (string) - Optional - The end date for filtering bookings (ISO 8601 format). - **page** (integer) - Optional - The page number for pagination. Defaults to 0. - **size** (integer) - Optional - The number of items per page. Defaults to 20. ### Request Example ```json { "example": "curl --request GET \ --url \"https://thirdparty.playtomic.io/api/v1/bookings?tenant_id=tenant-id&start_booking_date=2025-08-01T00:16&end_booking_date=2025-08-15T00:16&page=0&size=20\" \ --header \"content-type: application/json\" \ --header \"Authorization: Bearer \"" } ``` ### Response #### Success Response (200) - **booking_id** (string) - Unique identifier for the booking. - **object_id** (string) - Identifier for the object associated with the booking. - **tenant_id** (string) - The ID of the tenant. - **resource_id** (string) - Identifier for the resource booked. - **resource_name** (string) - Name of the resource booked. - **sport_id** (string) - Identifier for the sport. - **booking_start_date** (string) - The start date and time of the booking (ISO 8601 format). - **booking_end_date** (string) - The end date and time of the booking (ISO 8601 format). - **duration** (integer) - The duration of the booking in milliseconds. - **origin** (string) - The origin of the booking (e.g., MANAGER). - **price** (string) - The price of the booking (e.g., '0 EUR'). - **booking_type** (string) - The type of booking (e.g., RECURRING_BOOKING, TOURNAMENT, PUBLIC_CLASS). - **payment_status** (string) - The payment status of the booking (e.g., PENDING). - **participant_info** (object) - Information about the participants. - **owner_id** (string) - The ID of the booking owner. - **participants** (array) - A list of participant objects. - **participant_id** (string) - ID of the player. - **family_member_id** (string) - ID of the family member, if included. - **name** (string) - Name of the player. - **email** (string) - Email of the player if they are Playtomic users. - **accepts_commercial_communications** (boolean) - True if the player accepted marketing communications. - **participant_type** (string) - Type of participant (GUEST, CUSTOMER, CONTACT). - **coach_ids** (array or null) - List of coach IDs, if applicable. - **is_canceled** (boolean) - True if the booking is canceled. - **status** (string) - The status of the booking (e.g., FINISHED). - **activity_id** (string) - Identifier for the activity, included for TOURNAMENT and PUBLIC_CLASS booking types. #### Response Example ```json [ { "booking_id": "booking-id", "object_id": "object-id", "tenant_id": "tenant-id", "resource_id": "resource-id", "resource_name": "Padel Single Court 1", "sport_id": "PADEL", "booking_start_date": "2025-08-02T11:30:00", "booking_end_date": "2025-08-02T11:45:00", "duration": 900000, "origin": "MANAGER", "price": "0 EUR", "booking_type": "RECURRING_BOOKING", "payment_status": "PENDING", "participant_info": { "owner_id": "234", "participants": [ { "participant_id": "234", "name": "Test owner", "email": "testOwner@email.com", "accepts_commercial_communications": true, "participant_type": "CUSTOMER" } ] }, "coach_ids": null, "is_canceled": false, "status": "FINISHED" } ] ``` ### Errors #### Status Code | Error | Description ---|---|--- **400** | `DATES_IN_WRONG_ORDER` | The date filter you have requested has a end date that is previous to the start date in the date range. **400** | `MISSING_DATE_PARAMS` | You have not included any date range filter in the request. **401** or **403** | - | Either you have not set the authorization header or the token has expired. ``` -------------------------------- ### Get Bookings Source: https://third-party.playtomic.io/endpoints/bookings Retrieves a list of bookings. By default, it returns the first 100 results in descending order of `booking_start_date` if no pagination or sorting parameters are provided. ```APIDOC ## GET /bookings ### Description Retrieves a list of bookings with optional filtering and pagination. ### Method GET ### Endpoint /bookings ### Query Parameters - **page** (Integer) - Optional - The page number to retrieve. - **size** (Integer) - Optional - The number of results per page. - **sort** (String) - Optional - The field to sort by (e.g., `start_booking_date`). ### Response #### Success Response (200) A list of `Booking` objects. Each object contains details such as `booking_id`, `object_id`, `tenant_id`, `resource_id`, `resource_name`, `sport_id`, `booking_start_date`, `booking_end_date`, `duration`, `origin`, `price`, `booking_type`, `payment_status`, `participant_info`, `coach_ids`, `course_id`, `course_name`, `activity_id`, `activity_name`, and `is_canceled`. **Booking Object Fields:** - **booking_id** (String) - Yes - ID of the booking. - **object_id** (String) - Yes - Internal ID related to Playtomic products. - **tenant_id** (String) - Yes - ID of the venue/club. - **resource_id** (String) - Yes - ID of the court. - **resource_name** (String) - Yes - The name of the court. - **sport_id** (String) - Yes - The type of sport (e.g., `PADEL`, `TENNIS`). - **booking_start_date** (Date UTC) - Yes - Date when the booking starts (Format: `YYYY-MM-DDTHH:MM:SS`). - **booking_end_date** (Date UTC) - Yes - Date when the booking ends (Format: `YYYY-MM-DDTHH:MM:SS`). - **duration** (Long) - Yes - Difference in microseconds between start and end dates. - **origin** (String) - Yes - Source of the booking (e.g., `ANEMONE`, `APP_ANDROID`). - **price** (String [Money]) - Yes - The price of the booking (e.g., `10 EUR`). - **booking_type** (String) - Yes - Type of booking (e.g., `REGULAR_BOOKING`, `LEAGUE_MATCH`). - **payment_status** (String) - No - Payment status (e.g., `UNPAID`, `PAID`, `REFUNDED`). - **participant_info** (Object) - No - Information about participants. - **coach_ids** (List [String]) - No - IDs of coaches linked to the booking. - **course_id** (String) - No - ID of the course, if applicable. - **course_name** (String) - No - Name of the course, if applicable. - **activity_id** (String) - No - ID of the activity, if applicable. - **activity_name** (String) - No - Name of the activity, if applicable. - **is_canceled** (Boolean) - No - Flag indicating if the booking was canceled. #### Response Example ```json [ { "booking_id": "bk_12345", "object_id": "obj_abcde", "tenant_id": "ten_fghij", "resource_id": "res_klmno", "resource_name": "Court 1", "sport_id": "PADEL", "booking_start_date": "2023-10-27T10:00:00", "booking_end_date": "2023-10-27T11:00:00", "duration": 3600000000, "origin": "WEB", "price": "50 EUR", "booking_type": "REGULAR_BOOKING", "payment_status": "PAID", "participant_info": { "owner_id": "usr_pqrst", "participants": [ { "user_id": "usr_uvwxy", "name": "Player One" } ] }, "coach_ids": [], "course_id": null, "course_name": null, "activity_id": null, "activity_name": null, "is_canceled": false } ] ``` ``` -------------------------------- ### Get Player Details with Includes Source: https://third-party.playtomic.io/endpoints/players Use this endpoint to retrieve a player's details along with their associated sports, benefits, and wallets. Ensure the 'include' parameter is correctly set for the desired data. ```bash curl --request GET \ --url "https://thirdparty.playtomic.io/api/v1/venue//players/?&include=BENEFITS,WALLETS,SPORTS" \ --header "content-type: application/json" \ --header "Authorization: Bearer " ``` -------------------------------- ### Get Player List Source: https://third-party.playtomic.io/endpoints/players Retrieves a list of players associated with a specific venue. Supports cursor-based pagination and allows inclusion of additional player data like benefits, sports, and wallets. ```APIDOC ## GET /api/v1/venues/{venue_id}/players ### Description Returns a list of players from the venue (most recent first) using cursor-based pagination with a `limit` parameter and the response is a list object that wraps the results with additional metadata. ### Method GET ### Endpoint `/api/v1/venues/{venue_id}/players` ### Parameters #### Path Parameters - **venue_id** (String) - Required - ID of the venue/club. #### Query Parameters - **limit** (Int) - Optional - Max objects to return (Max `100`, default `20`). - **cursor_id** (String) - Optional - Defines the place in the list. Use `next_cursor_id` from previous response. - **include** (List [String]) - Optional - Optional data to include: `BENEFITS`, `SPORTS`, `WALLETS`. ### Response #### Success Response (200) A list object that contains an object with the following structure in its `data` field of type list. - **player_id** (String) - Yes - ID the player. - **name** (String) - Yes - Full name of the player. - **email** (String) - No - Email address of the player. - **phone** (String) - No - Phone number of the player. - **birth_date** (String) - No - Birth date of the player. Format: `YYYY-MM-DD`. - **gender** (String) - No - Possible values: `MALE`, `FEMALE`, `HIDDEN`. - **last_registration_date** (Date (UTC)) - Yes - Date when the player last registered at this venue. Format: `YYYY-MM-DDTHH:MM:SS`. - **accepts_commercial_communications** (Boolean) - Yes - `true` if the player has explicitly accepted to receive marketing communications from the venue. Otherwise, `false`. - **sports** (List [Sport]) - No - List of sports played by the player with their respective levels. See Sport Model below. - **benefits** (List [Benefit]) - No - List of benefits (categories & memberships) the player has at the venue. See Benefit Model below. - **wallets** (List [Wallet]) - No - List of wallets the player has at the venue. See Wallet Model below. ### Errors Status Code | Error | Description ---|---|--- **400** | `INVALID_CURSOR_ID` | Invalid `cursor_id`. **401** or **403** | - | Either you haven't set the authorization header or the token has expired. ``` -------------------------------- ### Get Players in a Venue (CURL) Source: https://third-party.playtomic.io/endpoints/players Use this endpoint to retrieve a list of players associated with a specific venue. You can control the number of results and include additional player data like benefits, wallets, and sports. Ensure your authorization token is valid. ```bash curl --request GET \ --url "https://thirdparty.playtomic.io/api/v1/venue//players?limit=4&include=BENEFITS,WALLETS,SPORTS" \ --header "content-type: application/json" \ --header "Authorization: Bearer " ``` -------------------------------- ### Get Player Information Source: https://third-party.playtomic.io/endpoints/players Retrieves detailed information about a specific player within a venue. You can optionally include associated benefits, sports, and wallet information. ```APIDOC ## GET /api/v1/venues/{venue_id}/players/{player_id} ### Description Retrieves detailed information about a specific player within a venue. You can optionally include associated benefits, sports, and wallet information. ### Method GET ### Endpoint /api/v1/venues/{venue_id}/players/{player_id} ### Parameters #### Path Parameters - **venue_id** (String) - Required - ID of the venue/club. - **player_id** (String) - Required - ID of the player. #### Query Parameters - **include** (List [String]) - Optional - Optional data to include: BENEFITS, SPORTS, WALLETS. ### Request Example ```json { "example": "curl --request GET \ --url \"https://thirdparty.playtomic.io/api/v1/venue//players?limit=4&include=BENEFITS,WALLETS,SPORTS\" \ --header \"content-type: application/json\" \ --header \"Authorization: Bearer \"" } ``` ### Response #### Success Response (200) - **has_more** (Boolean) - Indicates if there are more results than returned. - **next_cursor_id** (String) - The cursor ID for fetching the next page of results. - **last_modified** (String) - The timestamp of the last modification. - **data** (Array) - An array of player objects. - **player_id** (String) - The unique identifier for the player. - **birth_date** (String) - The player's birth date. - **last_registration_date** (String) - The date of the player's last registration. - **accepts_commercial_communications** (Boolean) - Whether the player accepts commercial communications. - **name** (String) - The player's name. - **email** (String) - The player's email address. - **phone** (String) - The player's phone number. - **gender** (String) - The player's gender. - **sports** (Array) - A list of sports associated with the player. - **sport_id** (String) - The ID of the sport. - **level_value** (Number) - The player's level in the sport. - **benefits** (Array) - A list of benefits associated with the player. - **benefit_id** (String) - The unique identifier for the benefit. - **name** (String) - The name of the benefit. - **type** (String) - The type of benefit. - **expires_at** (String) - The expiration date of the benefit. - **wallets** (Array) - A list of wallets associated with the player. - **wallet_id** (String) - The unique identifier for the wallet. - **name** (String) - The name of the wallet. - **balance** (String) - The current balance of the wallet. #### Response Example ```json { "has_more": true, "next_cursor_id": "AAAAAAAAAAAAAAAAAAAAAAAA", "last_modified": "2025-10-15T07:01:58", "data": [ { "player_id": "123", "birth_date": null, "last_registration_date": "2025-05-21T09:28:45", "accepts_commercial_communications": false, "name": "Test player", "email": "testPlayer@email.com", "phone": "+34 123456789", "gender": null, "sports": [], "benefits": [ { "benefit_id": "acd6c2ba-c56f-4cb0-aad6-7e958a7ee3de", "name": "TEST ADVANCE NO MEMBERSHIP", "type": "ASSIGNED", "expires_at": null } ], "wallets": [] } ] } ``` ``` -------------------------------- ### Cursor-Based Pagination Response Example Source: https://third-party.playtomic.io/conventions This JSON response structure is used for cursor-based pagination. It includes a `next_cursor_id` for subsequent requests and a `has_more` flag to indicate if further data is available. The `last_modified` field shows the cache generation time. ```json { "has_more": true, "next_cursor_id": "cursor-id-1234", "last_modified": "1970-01-01T00:00:00", "data": [ , ..., ] } ``` -------------------------------- ### Get Player by ID Source: https://third-party.playtomic.io/endpoints/players Retrieves detailed information about a specific player using their unique ID. The response can be extended to include sports, benefits, and wallet information by using the `include` query parameter. ```APIDOC ## GET /venue//players/ ### Description Retrieves detailed information about a specific player. ### Method GET ### Endpoint `/venue//players/` ### Query Parameters - **include** (String) - Optional - Comma-separated list of related data to include in the response. Possible values: `BENEFITS`, `WALLETS`, `SPORTS`. ### Request Example ```bash curl --request GET \ --url "https://thirdparty.playtomic.io/api/v1/venue//players/?&include=BENEFITS,WALLETS,SPORTS" \ --header "content-type: application/json" \ --header "Authorization: Bearer " ``` ### Response #### Success Response (200) - **player_id** (String) - Yes - ID the player. - **name** (String) - Yes - Full name of the player. - **email** (String) - No - Email address of the player. - **phone** (String) - No - Phone number of the player. - **birth_date** (String) - No - Birth date of the player. Format: `YYYY-MM-DD`. - **gender** (String) - No - Possible values: `MALE`, `FEMALE`, `HIDDEN`. - **last_registration_date** (Date) - Yes - Date when the player last registered at this venue. Format: `YYYY-MM-DDTHH:MM:SS`. - **accepts_commercial_communications** (Boolean) - Yes - `true` if the player has explicitly accepted to receive marketing communications from the venue. Otherwise, `false`. - **sports** (List[Sport]) - No - List of sports played by the player with their respective levels. - **benefits** (List[Benefit]) - No - List of benefits (categories & memberships) the player has at the venue. - **wallets** (List[Wallet]) - No - List of wallets the player has at the venue. #### Response Example ```json { "player_id": "", "birth_date": null, "last_registration_date": "2024-02-05T14:03:44", "accepts_commercial_communications": false, "name": "Some player 2", "email": "someplayer2@email.com", "phone": "+4 2243252385923", "gender": "MALE", "sports": [ { "sport_id": "PADEL", "level_value": 2.20 } ], "benefits": [ { "benefit_id": "8051cd7a-ec17-4f59-95a5-ebbd4aa5bd4c", "name": "SIMPLE PRICE 50% DISCOUNT", "type": "SOLD", "expires_at": "2024-02-05T14:03:44" } ], "wallets": [ { "wallet_id": "amw:3361ce61-0a36-4951-862c-1e9b7b69a11f", "name": "wallet app offers", "balance": "1 EUR" }, { "wallet_id": "amw:0fb86581-381a-46db-9e9b-0f632b6e42ab", "name": "test", "balance": "100 EUR" } ] } ``` ### Errors - **401** or **403**: Authentication or authorization error (missing or expired token). - **404**: Player not found in the venue. ``` -------------------------------- ### Create Authentication Token (cURL) Source: https://third-party.playtomic.io/endpoints/auth Use this cURL command to create an authentication token. This is the only endpoint that does not require an Authorization header. Ensure you replace placeholders with your actual client ID and secret. ```bash curl --request POST \ --url "https://thirdparty.playtomic.io/api/v1/oauth/token" \ --header "content-type: application/json" \ --data "{\"client_id\": \"\", \"secret\": \"\"}" ``` -------------------------------- ### Create Authentication Token Source: https://third-party.playtomic.io/endpoints/auth This endpoint is used to create an authentication token. It is the only endpoint that does not require an `Authorization` header. Tokens expire after 1 hour. ```APIDOC ## POST /api/v1/oauth/token ### Description Creates an authentication token. This is the only call that does not require the `Authorization` header. Tokens expire after 1 hour. ### Method POST ### Endpoint `https://thirdparty.playtomic.io/api/v1/oauth/token` ### Parameters #### Request Body - **client_id** (String) - Required - Unique identifier of your credentials (sent via email). - **secret** (String) - Required - Your password (sent via email). ### Response (200) - **token** (String) - The Bearer token for future requests. Expires in 1 hour. - **token_type** (String) - Always returns `BEARER`. - **expires_in** (Int) - Number of seconds until expiration (3600). ### Errors - **400** - `MISSING_PARAMETERS`: Missing some of the parameters in the request. - **401** - `UNAUTHORIZED`: Wrong credentials. ### Request Example ```json { "client_id": "", "secret": "" } ``` ### Response Example ```json { "token": "eyJhbGciOiJIUz...", "token_type": "BEARER", "expires_in": 3600 } ``` ``` -------------------------------- ### Authentication Token Response Source: https://third-party.playtomic.io/endpoints/auth This is the JSON response received after successfully creating an authentication token. The token is valid for 1 hour. ```json { "token": "eyJhbGciOiJIUz...", "token_type": "BEARER", "expires_in": 3600 } ``` -------------------------------- ### Retrieve Bookings Source: https://third-party.playtomic.io/endpoints/bookings Retrieves a list of bookings based on specified filters. Note that historical data is limited to the past three months. ```APIDOC ## GET /api/v1/bookings ### Description Retrieves a list of bookings based on filters. We only keep bookings until three months in the past. Bookings older than that won't be returned. ### Method GET ### Endpoint `/api/v1/bookings` ### Parameters #### Query Parameters - **tenant_id** (String) - Required - ID of the venue/club where the booking takes place. - **booking_id** (List[String]) - Optional - List of specific booking IDs. Ignores other filters if used. - **start_booking_date** (Date (UTC)) - Conditional - Required if `booking_id` is not used. Format: `YYYY-MM-DDTHH:MM:SS`. - **end_booking_date** (Date (UTC)) - Conditional - Required if `booking_id` is not used. Format: `YYYY-MM-DDTHH:MM:SS`. Max range 365 days. - **participant_id** (String) - Optional - ID of a player. By using this filter, you will find the bookings in which this person is one of the players. - **booking_type** (String) - Optional - Possible values: `REGULAR_BOOKING`, `RECURRING_BOOKING`, `OPEN_MATCH`, `LEAGUE_MATCH`, `PRIVATE_CLASS`, `COURSE_CLASS`, `TOURNAMENT`, `PUBLIC_CLASS`. - **sport_id** (String) - Optional - Possible values: `PADEL`, `TENNIS`, `PICKLEBALL`, `FOOTBALL7`, `FUTSAL`, `FOOTBALL_OTHERS`, `PADBOL`, `SQUASH`, `BADMINTON`, `BEACH_TENNIS`, `BEACH_VOLLEY`, `BASKETBALL`, `VOLLEYBALL`, `CRICKET`, `TABLE_TENNIS`. - **status** (String) - Optional - Possible values: `PENDING`, `IN_PROGRESS`, `FINISHED`, `CANCELED`. - **page** (Int) - Optional - Page number (default `0`). - **size** (Int) - Optional - Results per page (max `200`). ### Response #### Success Response (200) - **bookings** (List[Object]) - A list of booking objects. - **pagination** (Object) - Pagination details. #### Response Example { "bookings": [ { "booking_id": "bkg_12345", "tenant_id": "tnt_abcde", "start_date": "2023-10-27T10:00:00Z", "end_date": "2023-10-27T11:00:00Z", "player_ids": ["player_xyz", "player_uvw"] } ], "pagination": { "currentPage": 0, "pageSize": 10, "totalItems": 50, "totalPages": 5 } } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.