Welcome to CultConnect!

This page is an overview of the CultConnect documentation and related resources.

Basics

What is CultConnect

Connect your PMS/CM/CRS to CultSwitch via our CultConnect interface. CultConnect facilitates development teams with a fast and easy connection through the API, offering integration between the suppliers (PMS, CM, CRM, etc.) and CultSwitch for many thousands of properties.

Guidelines

CultConnect supports TLSv1.2 and above. The production URI MUST implement the HTTPS protocol.

CultConnect does NOT support self-signed SSL certificates.

Swagger API documentation     :     https://cultconnect.cultuzz.com/swagger-ui/index.html

Retrieve Mappings API

What is the Retrieve Mappings API?

The mapping API will be used to get information about rooms and products from CultSwitch. This information will be used by suppliers for feeding availability, prices and restrictions.

CultSwitch supports two Types of Retrieve Mappings API

Retrieve Rooms API

The suppliers will use this API to retrieve a list of available rooms and their configurations.

The CultConnect will return a JSON response which contains a list of all active rooms and their configurations.

Endpoint

POST     https://cultconnect.cultuzz.com/v1/rooms

Retrieve Rooms RQ Example


{ "credentials": { "id": 123, "duty_code": "cb81223701a2b8c", "user": "15786" }, "hotel_code": 121368, "language": "en" }

Retrieve Rooms Specifications

  • A second numeric value or 'n' indicates that the element or attribute can repeat, where 'n' signifies no limit

  • R = required / O = optional


Retrieve Rooms element

Child element / Attribute Data type Description
credentials Child element R This element is required to authenticate the request.
@hotel_code Integer R Identifies the hotel for which information is being requested.
@language String O Standard 2-character ISO code, e.g., "en.".


Credentials element

Credentials module given here.



Retrieve Rooms Response

If the request succeeds, it includes the rooms as defined in the CultSwitch. Otherwise, an error element with the respective error message is returned.



Retrieve Rooms example

{
  "success": true,
  "hotel_code": 121368,
  "language": "en",
  "rooms": [
    {
      "id": 367552,
      "description": {
        "name": "\nDoubleroom en"
      },
      "occupancy": {
        "min": 1,
        "standard": 2,
        "max": 3
      }
    },
    {
      "id": 406580,
      "description": {
        "name": "Apparetment-Booking.com",
        "description": "

Apparetment-Booking.com

" }, "occupancy": { "min": 1, "standard": 3, "max": 3 } } ], "processing_times": { "start_time": "2024-08-19 09:53:34.357", "end_time": "2024-08-19 09:53:34.691", "csuuid": "8b1a9c44-4239-4ca3-970a-0d1c2b212515-1972776037" } }


RoomsRetrieve Request element

Child element / Attribute Data type Description
@success Boolean R Specifies whether the request was successful (true) or failed (false).
@hotel_code Integer R Requested hotel_code.
@language String R Standard 2-character ISO code, e.g., "en.".
rooms Element collection
(1..n)
R Collection of rooms related to the specified hotel.
processing_times Child element O Request processing time and request identification
error Child element O An error element with the respective error message if the request fails to process.


rooms element

Child element / Attribute Data type Description
@id Integer R RoomID.
description Child element R Identifies the rooms name and descriptions available for hotel room.
occupancy Child element R Specifies the room occupancies.


description element

Child element / Attribute Data type Description
@name String R name indicates name of room .
@description String O description indicates description of room.


occupancy element

Child element / Attribute Data type Description
@min Integer R The minimum occupancy of a room.
@standard Integer R The standard occupancy of room.
@max Integer R The maximum occupancy of room.


Processing_time element

Processing_time module given here.



Error element

Error module given here.

Retrieve Products API

The suppliers will use this API to retrieve a list of available products and their configurations.

The CultConnect will return a JSON response which contains a list of all active products and their configurations.

Endpoint

POST     https://cultconnect.cultuzz.com/v1/products

Retrieve Products Example


{ "credentials": { "id": 123, "duty_code": "cb81223701a2b8c", "user": "63730" }, "hotel_code": 121368, "language": "en" }

Retrieve Products Specifications

  • A second numeric value or 'n' indicates that the element or attribute can repeat, where 'n' signifies no limit.

  • R = required / O = optional


Retrieve Products element

Child element / Attribute Data type Description
credentials Child element R This element is required to authenticate the request.
@hotel_code Integer R Identifies the hotel for which information is being requested.
@language String O Standard 2-character ISO code, e.g., "en.".




Retrieve Products Response

If the request succeeds, it includes the products as defined in the CultSwitch. Otherwise, an error element with the respective error message is returned.



Retrieve Products Response example

{
  "success": true,
  "hotel_code": 121368,
  "language": "en",
  "products": [
    {
      "id": 1537378,
      "description": {
        "name": "Deluxe Double Room with Sea View-Booking.com_response",
        "description": "

Single room-cs

" }, "occupancy": { "min": 1, "standard": 2, "max": 3 }, "room": { "id": 367552, "description": { "name": "\nDoubleroom en" } }, "refundable": true, "meal_plan_code": 1004, "cancel_penalties": [ { "deadline": { "time_unit": "Day", "unit_multiplier": 1, "drop_time": "BeforeArrival" }, "fee": { "basis_type": "Nights", "nights":2, "percentage": 100 } } ], "services": [ { "name": "Very Good Product", "type": "All inclusive", "meal_plan_code": 1, "price_mode": "Per person per night" }, { "name": "Very Good Product", "type": "All inclusive", "meal_plan_code": 1, "price_mode": "Per item" }, { "name": "Very Good Product", "type": "Breakfast", "meal_plan_code": 11, "price_mode": "Per person per night" }, { "name": "Very Good Product", "type": "ADDITIONAL_AMENITY", "price_mode": "Per night" } ] }, { "id": 1542886, "description": { "name": "Single room" }, "occupancy": { "min": 1, "standard": 1, "max": 2 }, "room": { "id": 377072, "description": { "name": "\nSingleRoom" } }, "cancel_penalties": [ { "deadline": { "time_unit": "Day", "unit_multiplier": 3, "drop_time": "BeforeArrival" }, "fee": { "basis_type": "FullStay", "percentage": 100 } }, { "deadline": { "time_unit": "Day", "unit_multiplier": 3, "drop_time": "BeforeArrival" }, "fee": { "basis_type": "FullStay", "amount": 100 } } ] } ], "services": [ { "id": 2395582, "name": "MealProd25", "type": "Bed & breakfast", "meal_plan_code": 3, "price_mode": "Per item", "price_per_unit": "1100" }, { "id": 2395616, "name": "Meal02", "type": "American", "meal_plan_code": 2, "price_mode": "Per stay", "price_per_unit": "22200" }, { "id": 2395984, "name": "MealProd26", "type": "All inclusive", "meal_plan_code": 1, "price_mode": "Per stay", "price_per_unit": "11100" }, { "id": 2396488, "name": "Meal 100", "type": "All inclusive", "meal_plan_code": 1, "price_mode": "Per stay", "price_per_unit": "11100" }, { "id": 2429374, "name": "TEST EXTRA", "type": "ADDITIONAL_AMENITY", "price_mode": "Per night", "price_per_unit": "1000" }, { "id": 2431152, "name": "node meal plan", "type": "Bed & breakfast", "meal_plan_code": 3, "price_mode": "Per item", "price_per_unit": "300" }, { "id": 2431154, "name": "node.js extra", "type": "City Tax", "price_mode": "Per night", "price_per_unit": "300" } ], "response_times": { "start_time": "2024-08-19 10:59:21.681", "end_time": "2024-08-19 10:59:22.044", "csuuid": "291f141a-9da2-4252-b379-12b55c4f17dd-10450367" } }


Products Retrieve Response element

Child element / Attribute Data type Description
@success Boolean R Specifies whether the request was successful (true) or failed (false).
@hotel_code Integer R Requested hotel_code.
@language String R Standard 2-character ISO code, e.g., "en.".
products Element collection
(1..n)
R Collection of products related to the specified hotel.
services Element Collection
(1..n)
O Collection of services related to this specified hotel.
processing_times Child element O Request processing time and request identification
error Child element O It contains the respective error message if the request fails to process.


products element

Child element / Attribute Data type Description
@id Integer R product id.
description Child element R product name and descriptions.
occupancy Child element R Specifies the product occupancies.
room Child element R product related room details.
@meal_plan_code Integer O meal plan code for product see the complete list of meal plan codes here.
@refundable Boolean R Specified rate is refundable or not.
cancel_penalties Element collection
(1..n)
O cancel policies specified by hotel.
services Element Collection
(1..n)
O Collection of services related to this specified product.


description element

Child element / Attribute Data type Description
@name String R name indicates name of product .
@description String O description indicates description of product.


occupancy element

Child element / Attribute Data type Description
@min Integer R minimum occupancy of product.
@standard Integer R standard occupancy of product.
@max Integer R maximum occupancy of product.


room element

Child element / Attribute Data type Description
@id Integer R product related roomid.
description Child Element R standard occupancy of product.


description element

Child element / Attribute Data type Description
@name String R name indicates name of room .
@description String O description indicates description of room.


cancel_penalties element

Child element / Attribute Data type Description
deadline Child Element R Cancel policy description .
fee Child Element R Cancel policy payment details.


deadline element

Child element / Attribute Data type Description
@time_unit String R Specifies "Day" or "Month" or "Hour" or "Week".
@unit_multiplier Integer R Cancel policy duration.
@drop_time String R Specifies "BeforeArrival" or "AfterBooking" or "AfterConfirmation".


fee element

Child element / Attribute Data type Description
@nights Integer O Number of nights specified, If basis_type is Nights.
@basis_type String R Specifies whether "FullStay" or "Nights".
@amount Double O Fee amount for cancellation.
@percentage Double O Percentage amount for cancellation.

Inventory and Rates API

  • Use the Inventory and Rates API to set availability, pricing and restrictions for a property's rooms on CultSwitch.
  • .CultSwitch accepts inventory only at the room level, while prices and restrictions can be provided at both room and product levels, based on your choice.
  • CultSwitch supports two pricing types, namely:
  • Standard.
  • Occupancy-Based Pricing (OBP).
  • Inventory

    Use this API to set inventory for a property's rooms on CultSwitch.

    Endpoint

    POST     https://cultconnect.cultuzz.com/v1/inventory

    Inventory Example


    { "credentials": { "id": 123, "duty_code": "cb81223701a2b8c", "user": "15786" }, "hotel_code": 90544, "availabilities": [ { "room_id": 237328, "from": "2024-08-19", "to": "2024-08-22", "availability": 0 }, { "room_id": 237328, "from": "2024-09-19", "to": "2024-09-20", "availability": 5 } ] }

    Retrieve Products Specifications

    • A second numeric value or 'n' indicates that the element or attribute can repeat, where 'n' signifies no limit.

    • R = required / O = optional


    Inventory element

    Child element / Attribute Data type Description
    credentials Child element R This element is required to authenticate the request.
    @hotel_code Integer R The code for the property whose availability is being updated.
    availabilities Element Collection
    (1..n)
    R set inventory for all rooms or selected rooms.


    Credentials element

    Credentials module given here.



    Availabilities element

    Child element / Attribute Data type Description
    @room_id Integer R Identifies the room for which the data is being updated.
    @from Date R The start date for which the availability update is being set. Date format id "yyyy-MM-dd".
    @to Date R The end date for which the availability update is being set. Date format is "yyyy-MM-dd". The to date is "exclusive".
    @availability Integer R The number of rooms available. The value of @availability should be an integer value greater than or equal to 0. Negative values are not acceptable.


    Inventory Response

    If the request succeeds, it includes the rooms as defined in CultSwitch. Otherwise, an error element with the respective error message is returned.



    Inventory Response examples

    {
      "success": true,
      ""
      "processing_times": {
        "start_time": "2024-08-20 05:09:31.355",
        "end_time": "2024-08-20 05:09:31.454",
        "csuuid": "abf06448-501b-41e4-95aa-845d01254555-1855138232"
      }
    }
    
    {
      "success": false,
      "error": {
        "code": 1142,
        "message": "Update is not possible. Data are accepted by another source only."
      },
      "processing_times": {
        "start_time": "2024-08-20 05:21:10.649",
        "end_time": "2024-08-20 05:21:10.649",
        "csuuid": "359cf0fc-57bc-475f-b2a9-f63069927460-1081882311"
      }
    }
                                                                    


    Inventory Response element

    Child element / Attribute Data type Description
    @success Boolean R Specifies whether the request was successful (true) or failed (false).
    processing_times Child element O Request processing time and request identification
    error Child element O An error element with the respective error message if the request fails to process.


    Processing_time element

    Processing_time module given here.



    Error element

    Error module given here.

    Room settings

    Use this API to set pricing and restrictions for a property's rooms on CultSwitch.

    Endpoint

    POST     https://cultconnect.cultuzz.com/v1/room_settings

    Room Settings Example


    { "credentials": { "id": 123, "duty_code": "string", "user": "63730" }, "hotel_code": 90544, "room_settings": [ { "room_id": 237328, "from": "2024-08-20", "to": "2024-08-25", "currency": "string", "week_days": { "sun": true, "mon": true, "tue": true, "weds": true, "thur": true, "fri": true, "sat": true }, "base_price": 0, "occupancy_prices": [ { "occupancy": 0, "price": 0 } ], "stop_sell": 0, "closed_to_arrival": 0, "closed_to_departure": 0, "min_los": 0, "max_los": 0 }, { "room_id": 237330, "from": "2024-09-20", "to": "2024-09-25", "currency": "string", "week_days": { "sun": true, "mon": true, "tue": true, "weds": true, "thur": true, "fri": true, "sat": true }, "base_price": 0, "occupancy_prices": [ { "occupancy": 0, "price": 0 } ], "stop_sell": 0, "closed_to_arrival": 0, "closed_to_departure": 0, "min_los": 0, "max_los": 0 } ] }

    Room settings Specifications

    • A second numeric value or 'n' indicates that the element or attribute can repeat, where 'n' signifies no limit.

    • R = required / O = optional


    Room settings element

    Child element / Attribute Data type Description
    credentials Child element R This element is required to authenticate the request.
    @hotel_code Integer R Hotel code of the property whose price and restrictions are being updated.
    room_settings Element Collection
    (1..n)
    R set pricing and restrictions for all rooms or selected rooms


    credentials element

    credentials module given here.



    room_settings element

    Child element / Attribute Data type Description
    @room_id Integer R Identifies the room for which the data is being updated.
    @from Date R The start date for which the update is being set. Date format is "yyyy-MM-dd".
    @to Date R The end date for which the update is being set.Date format is "yyyy-MM-dd". End date is exclusive.
    @currency String R Standard 3 character ISO currency code of the price eg "EUR".
    week_days Child Element R Weekdays are used to communicate which days of the week the update needs to be considered.
    @base_price Double O/R Base price applied for from and to dates using specified roomid
    occupancy_prices Element Collection
    (1..n)
    O/R Occupancy prices are applied for specified room.
    @stop_sell Integer O Stop sell for room for specified date range. Supported values: 0 or 1. The default value is 0. A value of 1 indicates a stop sell.
    @closed_to_arrival Integer O Closed to arrival for room for specified date range. Supported values: 0 or 1. The default value is 0. A value of 1 indicates that the room is closed to arrival.
    @closed_to_departure Integer O Closed to departure for room for specified date range. Supported values: 0 or 1. The default value is 0. A value of 1 indicates that the room is closed to departure.
    @min_los Integer O Minimum length of stay. The default value is 1.
    @max_los Integer O Maximum length of stay. The default value is 999.


    weekdays element

    Child element / Attribute Data type Description
    @sun Boolean R true or false.
    @mon Boolean R true or false.
    @tue Boolean R true or false.
    @weds Boolean R true or false.
    @thur Boolean R true or false.
    @fri Boolean R true or false.
    @sat Boolean R true or false.


    occupancy_prices element

    Child element / Attribute Data type Description
    @occupancy Integer
    (1...n)
    R The occupancy the rate is defined for.
    @price Double R This element includes the amount values that should be specified per occupancy.


    Room settings Response

    If the request succeeds, it includes the rooms as defined in CultSwitch. Otherwise, an error element with the respective error message is returned.



    Room settings Response examples

    {
      "success": true,
      ""
      "processing_times": {
        "start_time": "2024-08-20 05:09:31.355",
        "end_time": "2024-08-20 05:09:31.454",
        "csuuid": "abf06448-501b-41e4-95aa-845d01254555-1855138232"
      }
    }
    
    {
      "success": false,
      "error": {
        "code": 1142,
        "message": "Update is not possible. Data are accepted by another source only."
      },
      "processing_times": {
        "start_time": "2024-08-20 05:21:10.649",
        "end_time": "2024-08-20 05:21:10.649",
        "csuuid": "359cf0fc-57bc-475f-b2a9-f63069927460-1081882311"
      }
    }
                                                                    


    Room settings Response element

    Child element / Attribute Data type Description
    @success Boolean R Specifies whether the request was successful (true) or failed (false).
    processing_times Child element O Request processing time and request identification
    error Child element O An error element with the respective error message if the request fails to process.


    Processing_time element

    Processing_time module given here.



    Error element

    Error module given here.

    Product settings

    Use this API to set pricing and restrictions for a property's products on CultSwitch.

    Endpoint

    POST     https://cultconnect.cultuzz.com/v1/product_settings

    Product Settings Example


    { "credentials": { "id": 123, "duty_code": "string", "user": "63730" }, "hotel_code": 90544, "override": true, "product_settings": [ { "product_id": 237328, "from": "2024-08-20", "to": "2024-08-25", "currency": "string", "week_days": { "sun": true, "mon": true, "tue": true, "weds": true, "thur": true, "fri": true, "sat": true }, "base_price": 0, "occupancy_prices": [ { "occupancy": 0, "price": 0 } ], "stop_sell": 0, "closed_to_arrival": 0, "closed_to_departure": 0, "min_los": 0, "max_los": 0 }, { "product_id": 237330, "from": "2024-09-20", "to": "2024-09-25", "currency": "string", "week_days": { "sun": true, "mon": true, "tue": true, "weds": true, "thur": true, "fri": true, "sat": true }, "base_price": 0, "occupancy_prices": [ { "occupancy": 0, "price": 0 } ], "stop_sell": 0, "closed_to_arrival": 0, "closed_to_departure": 0, "min_los": 0, "max_los": 0 } ] }

    Product settings Specifications

    • A second numeric value or 'n' indicates the element or attribute can repeat where 'n' signifies no limit

    • R = required / O = optional


    Product settings element

    Child element / Attribute Data type Description
    credentials Child element R This element is required to authenticate the request.
    @hotel_code Integer R Hotel code of the property whose price and restrictions are being updated.
    @override Boolean R If override is set to true, the system removes existing settings. By default it is false.
    product_settings Element Collection
    (1..n)
    R set pricing and restrictions for all products or selected products


    credentials element

    credentials module given here.



    product_settings element

    Child element / Attribute Data type Description
    @product_id Integer R price and restrictions are applied for this product.
    @from Date R The start date for which the update is being set. Date format is "yyyy-MM-dd".
    @to Date R The end date for which the update is being set. Date format is "yyyy-MM-dd". End date is exclusive.
    @currency String R Standard 3 character ISO currency code of the price eg "EUR".
    week_days Child Element R Price and restrictions are applied for specified weekdays.
    @base_price Double O/R Base price applied for from and to dates using specified productid
    occupancy_prices Element Collection
    (1..n)
    O/R Occupancy prices are applied for specified productid.
    @stop_sell Integer O Stop sell for product for specified date range. Supported values: 0 or 1. The default value is 0. A value of 1 indicates a stop sell.
    @closed_to_arrival Integer O Closed to arrival for product for specified date range. Supported values: 0 or 1. The default value is 0. A value of 1 indicates that the product is closed to arrival.
    @closed_to_departure Integer O Closed to departure for product for specified date range. Supported values: 0 or 1. The default value is 0. A value of 1 indicates that the product is closed to departure.
    @min_los Integer O Minimum length of stay. The default value is 1
    @max_los Integer O Maximum length of stay. The default value is 999.


    weekdays element

    Child element / Attribute Data type Description
    @sun Boolean R true or false.
    @mon Boolean R true or false.
    @tue Boolean R true or false.
    @weds Boolean R true or false.
    @thur Boolean R true or false.
    @fri Boolean R true or false.
    @sat Boolean R true or false.


    occupancy_prices element

    Child element / Attribute Data type Description
    @occupancy Integer
    (1...n)
    R The occupancy the rate is defined for.
    @price Double R This element includes the amount values that should be specified per occupancy.


    Product settings Response

    If the request succeeds, it returns without errors. Otherwise, an error element with the respective error message is returned.



    Product settings Response examples

    {
      "success": true,
      ""
      "processing_times": {
        "start_time": "2024-08-20 05:09:31.355",
        "end_time": "2024-08-20 05:09:31.454",
        "csuuid": "abf06448-501b-41e4-95aa-845d01254555-1855138232"
      }
    }
    
    {
      "success": false,
      "error": {
        "code": 1142,
        "message": "Update is not possible. Data are accepted by another source only."
      },
      "processing_times": {
        "start_time": "2024-08-20 05:21:10.649",
        "end_time": "2024-08-20 05:21:10.649",
        "csuuid": "359cf0fc-57bc-475f-b2a9-f63069927460-1081882311"
      }
    }
                                                                    


    Product settings Response element

    Child element / Attribute Data type Description
    @success Boolean R Specifies whether the request was successful (true) or failed (false).
    processing_times Child element O Request processing time and request identification
    error Child element O An error element with the respective error message if the request fails to process.


    Processing_time element

    Processing_time module given here.



    Error element

    Error module given here.

    Reservations API

    Use the Reservations API to retrieve a list of reservations, modifications and cancellations for hotels since the last request was sent to CultSwitch. This API is also used to send confirmation messages (acknowledgements) to CultSwitch.

    Reservations

    Use this API to retrieve a list of reservations, modifications and cancellations for hotels since the last request was sent to CultSwitch. The CultConnect API will return a JSON response containing the list of reservations, modifications and cancellations.

    Endpoint

    POST     https://pcisafe5.cultuzz.com/v1/reservations

    Reservation request example


    { "credentials": { "id": 123, "duty_code": "string", "user": "63730" }, "hotel_code": 121368, "booking_id": 12775465, "version":1.0 }

    Reservation Specifications

    • A second numeric value or 'n' indicates that the element or attribute can repeat where 'n' signifies no limit

    • R = required / O = optional


    Reservation element

    Child element / Attribute Data type Description
    credentials Child element R This element is required to authenticate the request.
    @hotel_code Integer R Identifies the hotel for which information is being requested.
    @booking_id Long O If booking_id is specified, the result contains the booking details for the specified booking.
    @version Double O Always "1.0".


    Credentials element

    Credentials module given here.



    Reservation Response

    If the request succeeds, it returns list of reservations. Otherwise, an error element with the respective error message is returned.



    Reservation response examples

    {
      "success": true,
      "reservations": [
        {
          "booking_id": 0,
          "hotel_code": 0,
          "status": "string",
          "booking_date": "2024-08-20 00:50:00",
          "modification_date": "2024-08-20 12:55:50",
          "currency": "string",
          "total_price": "string",
          "travel_period": {
            "arrival": "2024-08-20",
            "departure": "2024-08-20"
          },
          "guest_count": {
            "adults": 0,
            "children": [
              {
                "count": 0,
                "age": 0
              }
            ]
          },
          "cancellation_details": {
            "cancellation_date": "2024-08-20 19:50:50",
            "cancellation_reason": "string",
            "cancelled_by": "string"
          },
          "ota_details": {
            "booking_id": "string",
            "id": 0,
            "source_of_booking": "string",
            "booking_date_time": "2024-08-20",
            "transaction_number": "string"
          },
          "booked_rooms": [
            {
              "room_id": 0,
              "room_name": "string",
              "product_id": 0,
              "product_name": "string",
              "units": 0,
              "services": {
                "name": "string",
                "type": "string",
                "price_mode": "string",
                "units": 0,
                "price_per_unit": "string",
                "total_price": "string",
                "persons": 0
              },
              "days": [
                {
                  "day": "2024-08-20",
                  "price": "string",
                  "addons": {
                    "addons": [
                      {
                        "persons": 0,
                        "price_per_unit": "string",
                        "type": "string"
                      }
                    ]
                  }
                }
              ],
              "guest_references": [
                {
                  "id": 0
                }
              ]
            }
          ],
          "services": [
            {
              "name": "string",
              "type": "string",
              "price_mode": "string",
              "units": 0,
              "price_per_unit": "string",
              "total_price": "string",
              "persons": 0
            }
          ],
          "room_level_addons": [
            {
              "room_id": 0,
              "addons": {
                "addons": [
                  {
                    "persons": 0,
                    "price_per_unit": "string",
                    "type": "string"
                  }
                ]
              }
            }
          ],
          "stay_level_addon": {
            "addons": [
              {
                "persons": 0,
                "price_per_unit": "string",
                "type": "string"
              }
            ]
          },
          "booker": {
            "id": 0,
            "name": "string",
            "surname": "string",
            "phone": "string",
            "mail": "string",
            "address": {
              "address_line": [
                "string"
              ],
              "street_number": "string",
              "country": "string",
              "country_code": "string",
              "postal_code": "string",
              "state_prov": "string",
              "city": "string",
              "company_name": "string",
              "street": "string",
              "title": "string"
            },
            "billing_address": {
              "address_line": [
                "string"
              ],
              "street_number": "string",
              "country": "string",
              "country_code": "string",
              "postal_code": "string",
              "state_prov": "string",
              "city": "string",
              "company_name": "string",
              "street": "string",
              "title": "string"
            }
          },
          "guest_details": [
            {
              "id": 0,
              "guest_count": {
                "adults": 0,
                "children": [
                  {
                    "count": 0,
                    "age": 0
                  }
                ]
              },
              "guests": [
                {
                  "name": "string",
                  "surname": "string",
                  "phone": "string",
                  "mail": "string",
                  "address": {
                    "address_line": [
                      "string"
                    ],
                    "street_number": "string",
                    "country": "string",
                    "country_code": "string",
                    "postal_code": "string",
                    "state_prov": "string",
                    "city": "string",
                    "company_name": "string",
                    "street": "string",
                    "title": "string"
                  }
                }
              ]
            }
          ],
          "reservation_extra_info": {
            "booker": {
              "affiliations": [
                {
                  "name": "string",
                  "number": "string",
                  "numbertype": "string",
                  "type": "string"
                }
              ]
            },
            "flags": [
              {
                "name": "string"
              }
            ],
            "payer": {
              "payments": [
                {
                  "amount": "string",
                  "currency": "string",
                  "payment_type": "string",
                  "payout_type": "string"
                }
              ]
            },
            "guests": [
              {
                "services": [
                  {
                    "name": "string",
                    "text": "string"
                  }
                ]
              }
            ]
          },
          "remarks": {
            "channel": [
              "string"
            ],
            "guest": [
              "string"
            ],
            "room": [
              "string"
            ]
          },
          "cc_data": {
            "card_number": "string",
            "card_type": "string",
            "cardholder_name": "string",
            "expiration_date": "string",
            "cvv": "string",
            "is_cc_valid": true,
            "sent_time": "2024-08-20",
            "sent_to_channel": true
          }
        }
      ],
     "error": {
        "code": 828,
        "message": "Invalid Object ID"
      },
      "processing_times": {
        "start_time": "2024-08-20",
        "end_time": "2024-08-20",
        "csuuid": "string"
      }
    }
                                                                    


    Reservation response element

    Child element / Attribute Data type Description
    @success Boolean R Specifies whether the request was successful (true) or failed (false).
    reservations Element Collection
    (1..n)
    R List of reservations.
    processing_times Child element O Request processing time and request identification
    error Child element O An error element with the respective error message if the request fails to process.


    Reservations element

    Child element / Attribute Data type Description
    @booking_id Long R reservation unique id.
    @hotel_code Integer R reservation hotel id.
    @status String R Supported values are
    Booking = "new"
    Modification = "modified"
    Cancellation = "cancelled" .
    @booking_date DateTime R This is the date and time when the reservation was first made. Format like "yyyy-MM-dd HH:mm:ss" (i.e '2024-08-20 12:55:50')
    @modification_date DateTime O This indicates the last date and time when the reservation was last modified. Format like "yyyy-MM-dd HH:mm:ss" (i.e '2024-08-20 12:55:50')
    @currency String R Standard 3 character ISO currency code of the price eg "EUR".
    @total_price Double R Total price for the reservation
    travel_period Child Element R Guest travel period, i.e., arrival and departure dates.
    guest_count Child Element R The total number of adults and children included in the reservation.
    cancellation_details Child Element O Cancellation details
    ota_details Child Element R The source of the reservation. Details of the booking platform will be provided.
    booked_rooms Element Collection
    (1..n)
    R It represents day-level unit prices, along with the add-on details for each room and product included in the bookings
    services Element Collection
    (1..n)
    O Extra services booking in the reservation.
    room_level_addons Element Collection
    (1..n)
    O Room level add-ons.
    stay_level_addon Child Element O Stay level add-ons.
    booker Child Element R Booker details.
    guest_details Element Collection
    (1..n)
    R Guest details.
    reservation_extra_info Child Element O Reservation extra details.
    remarks Child Element O Reservation remarks details.
    cc_data Child Element O Credit Card details.


    travel_period element

    Child element / Attribute Data type Description
    @arrival Date R Arrival date. Format is "yyyy-MM-dd".
    @departure Date R Departure date. Format is "yyyy-MM-dd".


    guest_count element

    Child element / Attribute Data type Description
    @adults Integer R Total number of adults in the reservation.
    children Element Collection
    (1..n)
    O Total number of children and their ages.


    Children element

    Child element / Attribute Data type Description
    @count Integer R Number of children.
    @age Integer R Child age.


    cancellation_details element

    Child element / Attribute Data type Description
    @cancellation_date DateTime R This indicates the last date and time when the reservation was cancelled. Format like "yyyy-MM-dd HH:mm:ss" (i.e '2024-08-20 12:55:50')
    @cancellation_reason String O The reason for the cancellation of the reservation.
    @cancelled_by String O Who cancelled reservation.


    ota_details element

    Child element / Attribute Data type Description
    @booking_id String R OTA booking ID.
    @id Integer R OTA ID.
    @source_of_booking String R Name of the OTA.
    @booking_date_time DateTime R Booking time in OTA.
    @transaction_number String O Transaction number from OTA


    booked_rooms element

    Child element / Attribute Data type Description
    @room_id Integer R Booked roomtype code.
    @room_name String R Booked roomtype name.
    @product_id Integer R Booked rate ID.
    @product_name String R Booked rate name.
    @units Integer R The number of units booked for this room and product combination.
    services Child Element O Additional services information will be provided.
    days Element Collection
    (1..n)
    R The total amount of a room for each day.
    guest_references Element Collection
    (1..n)
    R Guest details booked this room.


    services element

    Child element / Attribute Data type Description
    @id Integer R Unique identification for these service.
    @name String R Name of the service.
    @type String R Type of services, i.e., Breakfast, Spa, etc
    @price_mode String O Service price model.We support "Per night", "Per stay", "Per person per night", "Per item".
    @meal_plan_code Integer R Service code.
    @units Integer O Total number of units booked in the service.
    @price_per_unit Double O Individual unit price.
    @total_price Double O Total price off this service.
    @persons Integer O Persons.


    days element

    Child element / Attribute Data type Description
    @day Date R Effective day for the room. Format is "yyyy-MM-dd".
    @price Double R Total amount applied for room on this day. Price keep 2 decimal places.
    addons Child Element O Add-ons.


    addons element

    Child element / Attribute Data type Description
    addons Element Collection
    (1..n)
    R List of add-ons booked.


    addons element

    Child element / Attribute Data type Description
    @persons Integer O Number persons
    @price_per_unit String O Price per unit.
    @type String O Type of add-on.


    guest_references element

    Child element / Attribute Data type Description
    @id Integer R Guest details reference number.


    room_level_addons element

    Child element / Attribute Data type Description
    @room_id Integer R add-ons related to room.
    addons Child Element R add-ons related to room.


    stay_level_addon element

    Child element / Attribute Data type Description
    addons Element Collection
    (1..n)
    O Collection of add-ons.


    booker element

    Child element / Attribute Data type Description
    @id Integer R Booker ID for the reservation.
    @name String R Name of the booker.
    @surname String O Surname of the booker.
    @phone String R Phone number of the booker.
    @mail String R Email id of the booker.
    address Child Element R Booker address information.
    billing_address Child Element O Billing address.


    address | billing_address element

    Child element / Attribute Data type Description
    address_line String Collection
    (1..n)
    O One or more address lines for the customer.
    @street_number String O Street number of customer.
    @country String O Booker country.
    @country_code String O Booker Country code.
    @postal_code String O Postal code of booker.
    @state_prov String O State of booker.
    @city String O City of booker.
    @company_name String O Company name of booker.
    @street String O Street of booker.
    @title String O Booker title.


    guest_details element

    Child element / Attribute Data type Description
    @id Integer R Guest details reference number. Which is provided at "guest_references".
    guest_count Child Element R Guest details guest count information.
    guests Element Collection
    (1..n)
    R Guest Details information.


    guests element

    Child element / Attribute Data type Description
    @name String R Guest Name.
    @surname String O Guest surname.
    @phone String O Guest phone number.
    @mail String O Guest email id.
    address Child Element O Guest address.


    reservation_extra_info element

    Child element / Attribute Data type Description
    booker Child Element O Booker extra information.
    flags Element Collection
    ()1..n
    O Extra information flags.
    payer Child Element O Payer extra information.
    guests Element Collection
    (1..n)
    O Guests extra information.


    reservation_extra_info/booker element

    Child element / Attribute Data type Description
    affiliations Element Collection
    (1..n)
    O Booker affiliations information.


    affiliations element

    Child element / Attribute Data type Description
    @name String O Name of the affiliation
    @number String O Number of the affiliation.
    @numbertype String O Numbertype of the affiliation.
    @type String O Type of the affiliation.


    flags element

    Child element / Attribute Data type Description
    @name String O Name of the flag.


    payer element

    Child element / Attribute Data type Description
    payments Element Collection
    (1..n)
    O Payments information.


    payments element

    Child element / Attribute Data type Description
    @amount Double O Payment amount.
    @currency String O Standard 3 character ISO currency code of the price eg "EUR".
    @payment_type String O Payment type.
    @payout_type Double O Payout type.


    reservation_extra_info/guests element

    Child element / Attribute Data type Description
    services Element Collection
    (1..n)
    O reservation extra information services.


    services element

    Child element / Attribute Data type Description
    @name String O Name of the service.
    @text String O Service description.


    remarks element

    Child element / Attribute Data type Description
    channel String Collection
    (1..n)
    O Channel remarks.
    guest String Collection
    (1..n)
    O Guest remarks.
    room String Collection
    (1..n)
    O Room remarks.


    cc_data element

    Child element / Attribute Data type Description
    card_number String R Credit card number
    card_type String R Credit card type.
    cardholder_name String R Card Holder name.
    expiration_date String R Credit card expiration date.
    cvv String O Card cvv.
    is_cc_valid String O Credit valid or not.
    sent_time String O Credit card sent time.
    sent_to_channel Boolean O Card sent to channel. Specify true or false.

    Processing_time element

    processing_time module given here.



    Error element

    Error module given here.

    Booking confirmation

    Use this API to acknowledge successfully imported reservations. CultSwitch will continue providing the same reservation along with new reservations until you successfully acknowledge receipt of the reservations. The CultConnect will return a JSON response.

    Endpoint

    POST     https://cultconnect.cultuzz.com/v1/booking_confirmation

    Booking confirmation request Example


    { "credentials": { "id": 0, "duty_code": "string", "user": "string" }, "hotel_code": 0, "confirmation_bookings": [ { "booking_id": 0, "status": "string" } ] }


    Booking confirmation request element

    Child element / Attribute Data type Description
    credentials Child element R This element is required to authenticate the request.
    @hotel_code Integer R Identifies the hotel for which information is being requested.
    Confirmation_bookings Element Collection
    (1..n)
    R List of bookings with status.


    Credentials element

    Credentials module given here.



    Confirmation_bookings element

    Child element / Attribute Data type Description
    booking_id Long R Specifies the booking ID to be acknowledged.
    @status String R Supported values are
    Booking = "new"
    Modification = "modified"
    Cancellation = "cancelled" .

    Booking confirmation response Example


    { "success": true, "" "processing_times": { "start_time": "2024-08-20 05:09:31.355", "end_time": "2024-08-20 05:09:31.454", "csuuid": "abf06448-501b-41e4-95aa-845d01254555-1855138232" } } { "success": false, "error": { "code": 1142, "message": "Update is not possible. Data are accepted by another source only." }, "processing_times": { "start_time": "2024-08-20 05:21:10.649", "end_time": "2024-08-20 05:21:10.649", "csuuid": "359cf0fc-57bc-475f-b2a9-f63069927460-1081882311" } }


    Booking confirmaton response element

    Child element / Attribute Data type Description
    @success Boolean R Specifies whether the request was successful (true) or failed (false).
    processing_times Child element O Request processing time and request identification
    error Child element O An error element with the respective error message if the request fails to process.


    Processing_time element

    Processing_time module given here.



    Error element

    Error module given here.

    Overview

    All requests to CultConnect must contain credentials , which are used for authentication purposes. An example of a complete credentials message can be found below.

    Credentials Examples


    "credentials":
    {
    "id":0,
    "duty_code":"string",
    "user":"string"
    }

    Credentials Specifications

    • A second numeric value or 'n' indicates that the element or attribute can repeat, where 'n' signifies no limit

    • R = required / O = optional



    Credentials element

    Child element / Attribute Data type Description
    @id Integer R Unique ID for supplier for authentication.
    @duty_code String R An authority code assigned to a supplier.
    @user String O Identifies the user from the supplier who made this request.

    Ping API

    This endpoint will be used to check the connectivity of API using a hotel code that is provided by the user.


    Endpoint

    POST     https://cultconnect.cultuzz.com/v1/ping

    PingRQ Example


    { "credentials": { "id": 123, "duty_code": "cb81223701a2b8c", "user": "15786" }, "hotel_code": 121368 }

    PingRQ Specifications

    • A second numeric value or 'n' indicates that the element or attribute can repeat, where 'n' signifies no limit

    • R = required / O = optional


    PingRequest element

    Child element / Attribute Data type Description
    credentials Child element R This element is required to authenticate the request.
    @hotel_code Integer R Identifies the hotel for which information is being requested.


    Credentials element

    Credentials module given here.



    PingResponse

    If the request succeeds, the hotel data will be provided as a response. Otherwise, an error element with the respective error message is returned.



    PingResponse example

     
    {
      "success": true,
      "hotel_data": {
        "hotel_code": 121368,
        "name": "CultswitchBhaskar_Mani",
        "street": "3rd Dwarkangar",
        "post_code": "530014",
        "place": "visakhapatnam",
        "country_name": "India",
        "currency": "EUR",
        "email": "manibhaskarreddy.sannapu@cultuzz.com",
        "fax": "+91 9550387685",
        "telephone": "+91 95503 87685"
      },
      "processing_times": {
        "start_time": "2024-08-12 12:54:49.192",
        "end_time": "2024-08-12 12:54:49.270",
        "csuuid": "ad84806e-8e96-4efa-8722-6e5e40a0c732-2145736823"
      }
    }
    								


    PingResponse element

    Child element / Attribute Data type Description
    @success Boolean R Specifies whether the request was successful (true) or failed (false).
    hotel_data Child element O If success true requested hotel data will be provided here
    processing_times Child element O Request processing time and request identification
    error Child element O An error element with the respective error message if the request fails to process.


    hotel_data element

    Child element / Attribute Data type Description
    @hotel_code Integer R Respective hotel code
    @name String R Respective hotel name
    @street String R Hotel street number
    @post_code String R Hotel postal code
    @place String R Hotel location
    @country_name String R Hotel country
    @currency String R Standard 3 character ISO currency code of the price eg "EUR"
    @email String R Email address specified by Hotel
    @fax String O Fax number
    @telephone String R Hotel telephone


    processing_times element

    Child element / Attribute Data type Description
    @start_time String R Request start time.
    @end_time String R Request completed time.
    @csuuid String R Unique identification for request


    Error element

    Error module given here.

    Error Handling

    Error responses example

    {
      "success": false,
      "error": {
        "code": 16,
        "message": "Agent authentication is invalid."
      },
      "processing_times": {
        "start_time": "2024-10-09 11:22:32.642",
        "end_time": "2024-10-09 11:22:32.642",
        "csuuid": "40fde4e8-0d9f-4378-8d09-d4e0d76fa4b5-1305036399"
      }
    }
    							
    {
      "success": false,
      "error": {
        "code": 828,
        "message": "Invalid Object ID"
      },
      "processing_times": {
        "start_time": "2024-10-09 11:24:27.746",
        "end_time": "2024-10-09 11:24:27.746",
        "csuuid": "73e234da-28e8-4b53-9bfc-a43607ce0240-1227529952"
      }
    }
    							


    Error element

    Child element / Attribute Data type Description
    @code Integer R CultSwitch error code.
    @message String R Error message occured while processing request.