### Zenoti Center Data Example Source: https://docs.zenoti.com/reference/fetch-list-of-centers-based-on-parameters Provides an example of a center object within a Zenoti API response, including its ID, name, online booking start date, and flags for service enablement. It also includes zone information. ```json { "centers": [ { "id": "35980060-5fd3-4507-b190-e116ca24f3f5", "code": "", "name": "Munnar", "display_name": "", "description": "", "online_booking_start_date": "2024-12-09T00:00:00", "enable_parallel_services_at_center": true, "zone": { "id": "..." } } ] } ``` -------------------------------- ### GET /v1/signals/adoptions Source: https://docs.zenoti.com/changelog/api-change-log-september-20-2023 Fetches adoption signals data, including the name of adoption signals, URLs to setup guides and help articles, and adoption signal details for a center or organization. ```APIDOC ## GET /v1/signals/adoptions ### Description Fetches adoption signals data, including names, setup guide URLs, help article links, and details for a center or organization. ### Method GET ### Endpoint `{api_url}/v1/signals/adoptions` ### Parameters #### Query Parameters - **center_id** (string) - Optional - The ID of the center to filter signals. - **organization_id** (string) - Optional - The ID of the organization to filter signals. ### Response #### Success Response (200) - **adoptionSignals** (array) - A list of adoption signal objects. #### Response Example ```json { "adoptionSignals": [ { "signalName": "New Feature Adoption", "setupGuideUrl": "http://example.com/setup", "helpArticleUrl": "http://example.com/help", "details": "Information about the signal." } ] } ``` ``` -------------------------------- ### Zenoti Service Configuration Example Source: https://docs.zenoti.com/reference/list-all-templates This JSON snippet illustrates the configuration of a service within the Zenoti platform. It includes details like recovery time, pricing, validity, and various flags controlling its behavior and applicability. Dependencies include the pricing model and service identifiers. ```json { "RecoveryTime": 0, "Code": null, "CampaignInfo": null, "PreRequisites": null, "EnforcePreRequisites": false, "ClubPreRequisites": false, "ValidityDays": null, "BookingOrder": null, "ValidityDaysAsPreRequisite": null, "tips_enabled": false, "EnableCatalogServiceFrequency": false, "CatalogServiceFrequency": 0, "EnforceDeposit": false, "Segments": null, "Deposit": null, "isCoupleService": false, "SkipTherapistSelection": false, "IsGuestCustomizable": false, "IsGuestSpecificPrice": false, "PrerequisiteType": 0, "CanBook": false, "ServiceIdForPrerequisite": null, "RestrictSaleAsGiftCard": false, "is_amenity_service": null, "capacity_consumption": null, "allowed_genders": null, "HasDemandPricing": false, "EnableScheduledBookingsInCatalog": false, "IsMandatory": false, "AllowDirectBooking": false, "RequestedTherapist": null, "RequestedTherapistGender": null } ] ``` -------------------------------- ### Website Zenoti Configuration Source: https://docs.zenoti.com/reference/fetch-list-of-centers-based-on-parameters This section details the structure for website configuration, including additional information and GO settings. ```APIDOC ## Website Zenoti Configuration Details ### Description This endpoint provides detailed configuration settings for a website within Zenoti. It includes options for additional information such as tax numbers and service availability, as well as GO settings like self-check-in and auto-pay. ### Method GET ### Endpoint /websites/zenoti ### Parameters #### Query Parameters - **id** (string) - Required - The unique identifier for the website. #### Request Body This endpoint does not accept a request body. ### Response #### Success Response (200) - **additional_info** (object) - Contains additional configuration details like tax numbers and service availability. - **service_tax_no** (string) - Service tax identification number. - **tin** (string) - Taxpayer Identification Number. - **vat** (string) - Value Added Tax number. - **cst** (string) - Central Sales Tax number. - **can_book** (boolean) - Indicates if booking is allowed. - **collect_feedback** (boolean) - Indicates if feedback collection is enabled. - **services_available** (boolean) - Indicates if services are available. - **available_services** (object) - Details of available services. - **unavailable_services** (object) - Details of unavailable services. - **categories_available** (boolean) - Indicates if categories are available. - **available_categories** (object) - Details of available categories. - **unavailable_categories** (object) - Details of unavailable categories. - **is_add_ons_available** (boolean) - Indicates if add-ons are available. - **feedback_link** (string) - URL for feedback. - **feedback_label** (string) - Label for the feedback link. - **is_global_tokenization_supported** (boolean) - Indicates if global tokenization is supported. - **is_auto_pay_enabled_at_center** (boolean) - Indicates if auto-pay is enabled at the center. - **cancellation_fee_duration** (integer) - Duration for cancellation fee in minutes. - **is_center_amenities_enabled** (boolean) - Indicates if center amenities are enabled. - **center_amenities** (object) - Details of center amenities. - **go_settings** (object) - Contains GO (Guest Operations) related settings. - **enable_self_checkin** (boolean) - Enables self check-in for guests. - **enable_auto_pay** (boolean) - Enables automatic payment processing. - **enable_self_pay** (boolean) - Enables self-payment for guests. #### Response Example ```json { "additional_info": { "service_tax_no": "", "tin": "", "vat": "", "cst": "", "can_book": true, "collect_feedback": true, "services_available": true, "available_services": {}, "unavailable_services": {}, "categories_available": true, "available_categories": {}, "unavailable_categories": {}, "is_add_ons_available": true, "feedback_link": "", "feedback_label": "", "is_global_tokenization_supported": true, "is_auto_pay_enabled_at_center": true, "cancellation_fee_duration": 60, "is_center_amenities_enabled": true, "center_amenities": {} }, "go_settings": { "enable_self_checkin": false, "enable_auto_pay": false, "enable_self_pay": false } } ``` ``` -------------------------------- ### Zenoti API Session Object Structure Source: https://docs.zenoti.com/reference/fetch-user-registrations-for-classesworkshops Details the structure of the 'sessions' object within the Zenoti API, which is an array of session objects. Each session object includes its ID, GUID, name, and start time, with specified data types and example values. ```json "sessions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "example": 86, "default": 0 }, "guid": { "type": "string", "example": "b48645c3-dafd-486e-b579-da650bd09aa7" }, "name": { "type": "string", "example": "AgClass1" }, "start_time": { "type": "string", "example": "2022-10-07T13:00:00" } } } } ``` -------------------------------- ### Zenoti Session Data Example Source: https://docs.zenoti.com/reference/fetch-user-registrations-for-classesworkshops This snippet shows the structure of session data within the Zenoti project. It includes details like session ID, GUID, name, start and end times (local and UTC), status, instructor ID, center ID, and other relevant flags and information. ```json { "id": 96, "guid": "9b564d6e-cbce-4851-8268-c3009822ba49", "name": "Agclass3", "start_time": "2022-10-08T18:00:00", "end_time": "2022-10-08T18:15:00", "start_time_utc": "2022-10-08T12:30:00", "end_time_utc": "2022-10-08T12:45:00", "session_status": 0, "instructor_id": "402e2fc9-ba66-42ce-b818-4f1dc425b444", "instructors": [ { "id": "402e2fc9-ba66-42ce-b818-4f1dc425b444", "is_primary": true } ], "center_id": "a11f578a-1b81-4de0-8834-915f79e5362b", "class_id": 9, "cancellation_fee_window": null, "cancellation_fee": null, "description": null, "html_description": null, "is_instructor_substituted": false, "student_virtual_link": "", "is_virtual_class": false, "virtual_type": 0, "feedback_status": 0 } ``` -------------------------------- ### Zenoti API - Pagination Information Example Source: https://docs.zenoti.com/reference/list-all-packages-of-a-center This JSON example shows the structure for pagination details in Zenoti API responses. It includes fields for total items, current page number, and items per page, essential for handling large datasets. ```json { "total": { "type": "integer", "example": 27, "default": 0 }, "page": { "type": "integer", "example": 1, "default": 0 }, "size": { "type": "integer", "example": 10, "default": 0 } } ``` -------------------------------- ### Zenoti API - Product and Pricing Example Source: https://docs.zenoti.com/reference/list-all-packages-of-a-center This JSON snippet illustrates the structure for product and pricing information within the Zenoti API. It includes fields for currency, sale price, and auto-renewal status, which are crucial for product management. ```json { "currency_id": { "type": "integer", "example": 61, "default": 0 }, "sale_price": { "type": "integer", "example": 100, "default": 0 }, "tax_id": {}, "auto_renewal": { "type": "boolean", "example": false, "default": true } } ``` -------------------------------- ### Zenoti API Collections Report Request Body Examples (JSON) Source: https://docs.zenoti.com/reference/fetch-collections-report Provides example JSON request bodies for the Zenoti API's 'Get collections report' endpoint. These examples cover valid scenarios, invalid center models, and invalid date ranges. They are useful for understanding the expected input structure and for testing API integrations. ```json { "start_date": "2021-12-12 00:00:00", "end_date": "2021-12-23 23:59:59", "centers": { "ids": [], "is_all": true, "type": 2 }, "payment_types": [ -1 ], "sale_types": [ -1 ], "invoice_centers_type": [ -1 ], "liability_centers_type": [ -1 ], "collection_centers_type": [ -1 ] } ``` ```json { "start_date": "2021-12-12 00:00:00", "end_date": "2021-12-23 23:59:59", "centers": { "ids": [], "is_all": false, "type": null }, "payment_types": [ -1 ], "sale_types": [ -1 ], "invoice_centers_type": [ -1 ], "liability_centers_type": [ -1 ], "collection_centers_type": [ -1 ] } ``` ```json { "start_date": "2021-12-12 00:00:00", "end_date": "2021-12-23 23:59:59", "centers": { "ids": [], "is_all": true, "type": null }, "payment_types": [ -1 ], "sale_types": [ -1 ], "invoice_centers_type": [ -1 ], "liability_centers_type": [ -1 ], "collection_centers_type": [ -1 ] } ``` ```json { "start_date": "2021-12-23 00:00:00", "end_date": "2021-12-12 23:59:59", "centers": { "ids": [], "is_all": true, "type": null }, "payment_types": [ -1 ], "sale_types": [ -1 ], "invoice_centers_type": [ -1 ], "liability_centers_type": [ -1 ], "collection_centers_type": [ -1 ] } ``` ```json { "start_date": "2024-04-02 00:00:00", "end_date": "2024-09-04 23:59:59", "centers": { "ids": [], "is_all": true, "type": 2 }, "payment_types": [ -1 ], "sale_types": [ -1 ], "invoice_statuses": [ -1 ] } ``` -------------------------------- ### Zenoti Website Configuration Source: https://docs.zenoti.com/reference/enroll-or-register-a-guest-for-a-class-session-by-an-admin This section details the configuration options available for Zenoti websites, including discount settings and service applicability. ```APIDOC ## GET /websites/zenoti ### Description Retrieves the configuration details for a Zenoti website. ### Method GET ### Endpoint /websites/zenoti ### Parameters ### Request Example ```json {} ``` ### Response #### Success Response (200) - **Configuration** (object) - Contains detailed website configuration settings. - **DiscountSettings** (object) - Settings related to discounts. - **PeakDiscount** (integer) - Discount for peak hours. - **OffPeakDiscount** (integer) - Discount for off-peak hours. - **PostCreditPeakDiscount** (integer) - Discount applied after peak credit. - **PostCreditOffPeakDiscount** (integer) - Discount applied after off-peak credit. - **AllServices** (boolean) - Whether discounts apply to all services. - **IsAddOn** (boolean) - Whether the discount is an add-on. #### Response Example ```json { "Configuration": { "DiscountSettings": { "PeakDiscount": { "type": "integer", "example": 7, "default": 0 }, "OffPeakDiscount": { "type": "integer", "example": 8, "default": 0 }, "PostCreditPeakDiscount": { "type": "integer", "example": 9, "default": 0 }, "PostCreditOffPeakDiscount": { "type": "integer", "example": 10, "default": 0 }, "AllServices": { "type": "boolean", "example": true, "default": true }, "IsAddOn": { "type": "boolean", "example": true, "default": true } } } } ``` #### Error Response (400) - **Result** (object) - An empty object indicating an error. #### Error Response Example ```json { "Result": {} } ``` ``` -------------------------------- ### Service Pricing and Configuration Source: https://docs.zenoti.com/reference/list-all-templates This section details the structure for service pricing, including currency, sales, taxes, and discounts. It also covers service duration and add-on configurations. ```APIDOC ## Service Pricing and Configuration ### Description Provides details on how service prices are structured, including various components like base price, taxes, discounts, and final price. It also includes information about the service duration and whether a service can be configured as an add-on. ### Method N/A (This is a documentation of data structure, not an endpoint) ### Endpoint N/A ### Parameters #### Request Body (Example Structure) - **Price** (object) - Contains pricing details for the service. - **CurrencyId** (integer) - The ID of the currency used. - **Sales** (integer) - The sales amount. - **SalePrice** (integer) - The sale price. - **Tax** (integer) - The tax amount. - **Final** (integer) - The final calculated price. - **Final1** (integer) - A secondary final price field. - **Final2** (integer) - A tertiary final price field. - **Discount** (integer) - The discount amount. - **Tip** (integer) - The tip amount. - **RoundingCorrection** (integer) - The rounding correction amount. - **can_be_waived** (boolean) - Indicates if the price can be waived. - **Duration** (integer) - The duration of the service in minutes. - **IsAddOn** (boolean) - Indicates if the service is an add-on. ### Request Example ```json { "Price": { "CurrencyId": 0, "Sales": 0, "SalePrice": 0, "Tax": 0, "Final": 6, "Final1": 0, "Final2": 0, "Discount": 0, "Tip": 0, "RoundingCorrection": 0, "can_be_waived": false }, "Duration": 60, "IsAddOn": false } ``` ### Response #### Success Response (200) - **Price** (object) - The pricing details of the service. - **Duration** (integer) - The duration of the service. - **IsAddOn** (boolean) - Whether the service is an add-on. #### Response Example ```json { "Price": { "CurrencyId": 0, "Sales": 0, "SalePrice": 0, "Tax": 0, "Final": 6, "Final1": 0, "Final2": 0, "Discount": 0, "Tip": 0, "RoundingCorrection": 0, "can_be_waived": false }, "Duration": 60, "IsAddOn": false } ``` ``` -------------------------------- ### Get Zenoti Group Invoice Details (OpenAPI) Source: https://docs.zenoti.com/reference/get-group-invoice-details This snippet defines the OpenAPI specification for the GET endpoint to retrieve group invoice details. It includes the path, parameters, and example responses for a successful request. Authentication is required via an API key. ```json { "openapi": "3.1.0", "info": { "title": "Zenoti API", "version": "1.0" }, "servers": [ { "url": "https://api.zenoti.com" } ], "components": { "securitySchemes": { "sec0": { "type": "apiKey", "name": "Authorization", "in": "header", "x-default": "apikey " } } }, "security": [ { "sec0": [] } ], "paths": { "/v1/group_invoices/{group_invoice_id}": { "get": { "summary": "Get group invoice details", "description": "This API provides details of group invoices.", "operationId": "get-group-invoice-details", "parameters": [ { "name": "group_invoice_id", "in": "path", "description": "Represents the group invoice identifier", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Scenario 3: Response with valid request": { "value": "{\n \"group_invoice\": {\n \"id\": \"d7890b60-a99a-411d-9111-6c4e6d9a2d83\",\n \"is_surprise\": false,\n \"invoices\": [\n {\n \"id\": \"4ab3484e-3871-4aa7-b880-898129890a5b\",\n \"receipt_number\": \"32739\",\n \"invoice_date\": \"2025-02-27\",\n \"center_id\": \"a11f578a-1b81-4de0-8834-915f79e5362b\",\n \"appointment_group_id\": \"0625b7b7-7b1b-49b8-b8b2-ea4bf38054ac\",\n \"guest\": {\n \"id\": \"9c13f561-259e-4003-b75b-87262d0d6509\"\n }\n },\n {\n \"id\": \"13b65711-3919-4e57-8828-cae5f55cca3d\",\n \"receipt_number\": \"32738\",\n \"invoice_date\": \"2025-02-27\",\n \"center_id\": \"a11f578a-1b81-4de0-8834-915f79e5362b\",\n \"appointment_group_id\": \"d995a59b-bec1-4cec-bd8b-1ee42c8468bf\",\n \"guest\": {\n \"id\": \"b793463d-2f03-43e5-ae47-a5a1c1be0de6\"\n }\n }\n ]\n },\n \"error\": null\n}" } }, "schema": { "type": "object", "properties": { "group_invoice": { "type": "object", "properties": { "id": { "type": "string", "example": "d7890b60-a99a-411d-9111-6c4e6d9a2d83" }, "is_surprise": { "type": "boolean", "example": false, "default": true }, "invoices": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "example": "4ab3484e-3871-4aa7-b880-898129890a5b" }, "receipt_number": { "type": "string", "example": "32739" }, "invoice_date": { "type": "string", "example": "2025-02-27" }, "center_id": { "type": "string", "example": "a11f578a-1b81-4de0-8834-915f79e5362b" }, "appointment_group_id": { "type": "string", "example": "0625b7b7-7b1b-49b8-b8b2-ea4bf38054ac" }, "guest": { "type": "object", "properties": { "id": { "type": "string", "example": "9c13f561-259e-4003-b75b-87262d0d6509" } } } } } } } }, "error": {} } } } } }, "400": { "description": "400" } } } } } } ``` -------------------------------- ### Get GC Templates Invalid Type Example (JSON) Source: https://docs.zenoti.com/reference/list-all-templates This example demonstrates the expected JSON response when attempting to retrieve gift card (GC) templates with an invalid GC type. The response includes an error code and a descriptive message indicating the issue. ```json { "code": 502, "message": "invalid gift_card_type" } ``` -------------------------------- ### Zenoti Service Configuration Example Source: https://docs.zenoti.com/reference/list-all-packages-of-a-center This snippet shows the configuration for a service, including its ID, type, quantity, and revenue recognition settings. It is part of a larger data structure likely used for managing service offerings. ```json { "id": "6f7c8b4c-4344-4375-8af5-a0ecc673d568", "item_type": 2, "quantity": 4, "order": -1, "recognize_revenue": true } ``` -------------------------------- ### Appointment Started API Response Example (JSON) Source: https://docs.zenoti.com/reference/appointment-started This JSON object represents the data returned when an appointment's status is updated to 'started'. It includes invoice details, appointment group ID, center ID, and a list of appointments with their respective details like service name, start/end times, therapist information, and progress. ```json { "invoice_id": "413c2fbe-e3a9-4638-a9c6-1369c8eccaf5", "invoice_number": "4901", "appointment_group_id": "1832089f-d2bc-402e-a56f-249e70492e2a", "center_id": "9a895b3c-1994-42c0-bc61-efda4a6e2828", "appointments": [ { "id": "01d2dbac-51ad-4a5c-a252-40eaf47dd3a0", "invoice_item_id": "40a64c18-ae1e-4c5d-913c-0072763acd09", "service_name": "Service with segments", "service_id": "0e76466a-c514-447d-ac07-e04c0b86fdca", "start_time": "2022-02-21T18:30:00", "end_time": "2022-02-21T19:30:00", "serviceduration_in_miutes": 120, "has_add_ons": true, "is_add_on": false, "therapist_name": "RENU K", "TherapistId": "461ac926-2553-49f8-b9bd-0f7b6518daaa", "is_recurring": false, "appointment_type": 2, "therapist_request_type": 4, "room_name": "", "equipment_name": "", "room_id": "", "equipment_id: "", "appointment_progress": 1 } ] } ``` -------------------------------- ### GET /websites/zenoti Source: https://docs.zenoti.com/reference/fetch-list-of-centers-based-on-parameters Retrieves a list of centers based on provided filters. This example shows retrieving centers for a specific zone with a valid base center ID. ```APIDOC ## GET /websites/zenoti ### Description Retrieves a list of centers for a given zone. This endpoint is useful for filtering centers based on location and other attributes. ### Method GET ### Endpoint /websites/zenoti ### Parameters #### Query Parameters - **zone_id** (string) - Required - The ID of the zone to filter centers by. - **base_center_id** (string) - Required - The ID of the base center to use for filtering. - **filter_distance** (number) - Optional - The distance to filter centers by. - **distance_type** (string) - Optional - The unit of measurement for `filter_distance` (e.g., 'Kilometers', 'Miles'). ### Request Example ``` GET /websites/zenoti?zone_id=397f93c2-9bf6-4ec6-a0d7-b87b16069d94&base_center_id=35980060-5fd3-4507-b190-e116ca24f3f5&filter_distance=5&distance_type=Kilometers ``` ### Response #### Success Response (200) - **centers** (array) - An array of center objects matching the query. - **id** (string) - The unique identifier for the center. - **name** (string) - The name of the center. - **zone** (object) - Information about the zone the center belongs to. - **id** (string) - The zone ID. - **name** (string) - The zone name. - **country** (object) - Information about the country the center is located in. - **id** (number) - The country ID. - **code** (string) - The country code. - **name** (string) - The country name. - **location** (object) - Geographical location details of the center. - **lattitude** (number) - The latitude of the center. - **longitude** (number) - The longitude of the center. - **time_zone** (object) - Time zone information for the center. - **name** (string) - The name of the time zone. - **currency** (object) - Currency details for the center. - **name** (string) - The currency name. - **code** (string) - The currency code. - **address_info** (object) - Address details of the center. - **city** (string) - The city where the center is located. - **contact_info** (object) - Contact information for the center. - **phone_1** (string) - The primary phone number. - **email** (string) - The contact email address. - **additional_info** (object) - Additional settings and information for the center. - **is_global_tokenization_supported** (boolean) - Indicates if global tokenization is supported. - **is_auto_pay_enabled_at_center** (boolean) - Indicates if auto-pay is enabled at the center. #### Response Example ```json { "centers": [ { "id": "35980060-5fd3-4507-b190-e116ca24f3f5", "code": "", "name": "Munnar", "display_name": "", "description": "", "online_booking_start_date": "2024-12-09T00:00:00", "enable_parallel_services_at_center": true, "zone": { "id": "397f93c2-9bf6-4ec6-a0d7-b87b16069d94", "name": "AP south zone" }, "country": { "id": 95, "code": "IN", "name": "India", "phone_code": 91, "nationality": "Indian" }, "state": { "id": -1, "code": "", "name": "Select State", "short_name": "" }, "location": { "lattitude": 18.2428951441261, "latitude": 18.2428951441261, "longitude": 79.1006559728005, "time_zone": { "id": 68, "name": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi", "standard_name": "India Standard Time", "symbol": "India Standard Time" } }, "currency": { "id": 61, "name": "Indian Rupee", "code": "INR", "symbol": "20B9" }, "address_info": { "address_1": "", "address_2": "", "city": "Others", "zip_code": "" }, "settings": null, "contact_info": { "phone_1": null, "phone_2": null, "email": "" }, "additional_info": { "service_tax_no": "", "tin": "", "vat": "", "cst": "", "can_book": false, "collect_feedback": true, "services_available": true, "available_services": null, "unavailable_services": null, "categories_available": true, "available_categories": null, "unavailable_categories": null, "is_add_ons_available": false, "feedback_link": "", "feedback_label": "", "is_global_tokenization_supported": false, "is_auto_pay_enabled_at_center": false, "cancellation_fee_duration": 60, "is_center_amenities_enabled": false, "center_amenities": null }, "go_settings": { "enable_self_checkin": false, "enable_auto_pay": false, "enable_self_pay": false, "allow_self_checkin_before": 60, "allow_self_checkin_within_radius": 100 }, "culture_code_at_center": "af", "is_fbe_enabled": false, "is_hc_call_center": false, "distance_to_provided_location": 5.9458418096516885, "distance_type": "Kilometers" } ], "error": null, "requested_centers": [], "page_info": { "total": 9, "page": 1, "size": 10 } } ``` ``` -------------------------------- ### List Opportunities API Response Example - JSON Source: https://docs.zenoti.com/reference/list-all-opportunities Provides an example of the JSON response structure for listing opportunities. This includes details about individual opportunities, guest information, and associated invoices. The response also contains a total record count. ```json { "opportunities": [ { "opportunity_id": "86c10c18-46e2-48a2-97da-08d43e430bde", "opportunity_no": 69, "opportunity_title": "28-March", "center_name": "CME MGM", "sales_owner": "Chennai_mgr mgr", "stage_name": "Prospect", "creation_date": "2018-04-03T04:00:01", "followup_date": "2018-04-04T00:00:00", "price": null, "call_status": null, "guest": { "guest_id": "6dbb590f-5eba-403c-ab04-c5a55dd3521c", "guest_name": "Kirity Chennai 2", "guest_code": "G892537", "phone_number": "9493467838" }, "invoices": [ { "invoice_id": "3d6b3587-a439-4fa9-94e5-3b06cc8a17c7", "invoice_no": "Pro17108" } ] }, { "opportunity_id": "db66fd6d-ae9e-489b-8ffa-cff7f06aaf75", "opportunity_no": 47, "opportunity_title": "Vaquita.2 before campaign", "center_name": "CME MGM", "sales_owner": "Chennai_mgr mgr", "stage_name": "Prospect", "creation_date": "2017-08-23T12:32:34", "followup_date": "2017-08-27T00:00:00", "price": null, "call_status": null, "guest": { "guest_id": "6dbb590f-5eba-403c-ab04-c5a55dd3521c", "guest_name": "Kirity Chennai 2", "guest_code": "G892537", "phone_number": "9493467838" }, "invoices": [ { "invoice_id": "3d6b3587-a439-4fa9-94e5-3b06cc8a17c0", "invoice_no": "Pro17109" } ] } ], "total_records": 188 } ``` -------------------------------- ### Create Zenoti Guest - Maximum Parameters (JSON) Source: https://docs.zenoti.com/reference/create-a-guest This JSON example illustrates the creation of a Zenoti guest profile with all supported parameters. It includes detailed personal, contact, address, and preference information, along with tags, referral details, and primary employee assignment. ```json { "id": "5b98db4c-8424-466e-97f8-2e54d529abcd" "code": "CN001", "center_id": "b5ed4fbb-4c05-4195-b313-1320b620224b", "personal_info": { "user_name": "simonsimu", "first_name": "simon", "last_name": "simon", "middle_name": "simon", "email": "simon@simon.com", "mobile_phone": { "country_code": 95, "number": "7777788888" }, "work_phone": { "country_code": 95, "number": "7777799999" }, "home_phone": { "country_code": 95, "number": "7777799999" }, "gender": 1, "date_of_birth": "1997-08-02T00:00:00", "is_minor": false, "nationality_id": 95, "anniversary_date": "2018-11-06T00:00:00", "lock_guest_custom_data": false, "pan": "" }, "address_info": { "address_1": "aaaaaaaaa", "address_2": "bbbbbbbbb", "city": "cccccccccc", "country_id": 95, "state_id": -2, "state_other": "mystate", "zip_code": "502032" }, "preferences": { "receive_transactional_email": true, "receive_transactional_sms": true, "receive_marketing_email": true, "receive_marketing_sms": true, "recieve_lp_stmt": true, "preferred_therapist": { "id": "4a98db4c-8424-466e-97f8-2e54d529fdbd", "name": null } }, "login_info": { "password": "Api@Zenoti#12" }, "tags": [ "CHECKED_IN", "MH Test" ], "referral": { "referral_source": { "id": "57cdad4d-7045-40b3-885b-d0c191c75113", "name": null }, "referred_by": { "id": "02be89a4-1250-45a6-80a1-34b286e68228", "name": null } }, "primary_employee": { "id": "4a98db4c-8424-466e-97f8-2e54d529fdbd", "name": null } } ``` -------------------------------- ### GET /v1/guests/{guest_id}/relationships Source: https://docs.zenoti.com/reference/list-all-relationships-belonging-to-a-guest This API retrieves all the relationships of a guest. For example, spouse, friend, etc. This allows you to view a list of all the family members of the guest. ```APIDOC ## GET /v1/guests/{guest_id}/relationships ### Description This API retrieves all the relationships of a guest. For example, spouse, friend, etc. This allows you to view a list of all the family members of the guest. ### Method GET ### Endpoint https://api.zenoti.com/v1/guests/{guest_id}/relationships ### Parameters #### Path Parameters - **guest_id** (string) - Required - Unique 32-character identifier of the guest. #### Request Body None ### Request Example None ### Response #### Success Response (200) - **guest_relationships** (array) - A list of guest relationships. - **id** (integer) - The ID of the relationship. - **guest** (object) - Details of the guest associated with the relationship. - **id** (string) - The guest's unique identifier. - **name** (string) - The guest's name. - **relationship** (object) - Details of the relationship type. - **id** (string) - The relationship type identifier. - **name** (string) - The name of the relationship type (e.g., "Friend", "Spouse"). - **allow_sharing_accounts** (boolean) - Indicates if account sharing is allowed for this relationship. - **error** (object) - Null if successful, otherwise contains error details. #### Response Example ```json { "guest_relationships": [ { "id": 1, "guest": { "id": "8ce57cee-b2ee-4537-8f50-84ea37e3a8a7", "name": "nomem user" }, "relationship": { "id": "bb91a992-0313-4a50-b4d9-71cc27cfc218", "name": "Friend" }, "allow_sharing_accounts": true }, { "id": 2, "guest": { "id": "ef6a4b6a-8fd7-43cc-babd-dfc80da0da3b", "name": "Pkg Transfer" }, "relationship": { "id": "f1409a17-0cd9-4219-9647-f64e3f402c13", "name": "Spouse" }, "allow_sharing_accounts": true } ], "error": null } ``` ``` -------------------------------- ### Create Zenoti Guest - Minimum Parameters (JSON) Source: https://docs.zenoti.com/reference/create-a-guest This JSON example demonstrates the creation of a Zenoti guest profile using only the minimum required parameters. It includes basic personal information and a mobile phone number. Other fields are left empty or set to default values. ```json { "id": "7ffbeb62-efd0-435c-b98b-2475c311868b", "code": "", "center_id": "b5ed4fbb-4c05-4195-b313-1320b620224b", "personal_info": { "user_name": "", "first_name": "abcd", "last_name": "efgh", "middle_name": "", "email": "", "mobile_phone": { "country_code": 95, "number": "7777788888" }, "work_phone": null, "home_phone": null, "gender": 0, "date_of_birth": "0001-01-01T00:00:00", "is_minor": false, "nationality_id": -1, "anniversary_date": "0001-01-01T00:00:00", "lock_guest_custom_data": false, "pan": "" }, "address_info": { "address_1": "", "address_2": "", "city": "", "country_id": -1, "state_id": -1, "state_other": "", "zip_code": "" }, "preferences": { "receive_transactional_email": false, "receive_transactional_sms": false, "receive_marketing_email": false, "receive_marketing_sms": false, "recieve_lp_stmt": true, "preferred_therapist": null }, "tags": null, "referral": null, "primary_employee": null } ```