Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This is an optional function. This is to create or update the inventory of apartments from the Owner’s system to the Channel Manager.

Endpoint: https://ws.icnea.net/inventory_update.aspx

Status
colourBlue
titlePOST
https://ws.icnea.net/inventory_update.aspx

Use this API to create, update or delete a listing.

BODY PARAMS
Code Block
languagexml
<inventory_update>
  <link>
    <user>integer(4)</user>
    <password>character(20)</password>
  </link>
  <lodgings>
    <lodging>
      <lodging_id>integer(8)</lodging_id>    
      <lodging_action>add/update/cancel</lodging_action>
      <lodging_type>hotel/apartment/villa/hostel</lodging_type>
      <lodging_company_name>character(50)</lodging_company_name>
      <lodging_public_name>character(50)</lodging_public_name>
      <lodging_address>character(50)</lodging_address>
      <lodging_address_type>character(50)</lodging_address_type>
      <lodging_address_number>character(50)</lodging_address_number>
      <lodging_address_number_type>character(50)</lodging_address_number_type>
      <lodging_address_block>character(50)</lodging_address_block>
      <lodging_address_portal>character(50)</lodging_address_portal>
      <lodging_address_staircase>character(50)</lodging_address_staircase>
      <lodging_address_floor>character(50)</lodging_address_floor>
      <lodging_address_door>character(50)</lodging_address_door>
      <lodging_address_plus>character(50)</lodging_address_plus>
      <lodging_city>character(50)</lodging_city>
      <lodging_zip>character(50)</lodging_zip>
      <lodging_country>iso3166 </lodging_country>
      <lodging_region>character(50)</lodging_region>
      <lodging_telephone>character(50)</lodging_telephone>
      <lodging_email>character(50)</lodging_email>
      <lodging_contact>character(50)</lodging_contact>
      <lodging_category>character(50)</lodging_category>
      <lodging_latitude>decimal</lodging_latitude>
      <lodging_longitude>decimal</lodging_longitude>
      <lodging_standard_capacity>integer</lodging_standard_capacity>
      <lodging_maximum_capacity>integer</lodging_maximum_capacity>    
      <lodging_surface>integer (m2)</lodging_surface>
      <lodging_number_of_rooms>integer</lodging_number_of_rooms>
      <lodging_number_of_bathrooms>integer</lodging_number_of_bathrooms>
      <lodging_number_of_toilets>integer</lodging_number_of_toilets>
      <lodging_number_of_single_beds>integer</lodging_number_of_single_beds>
      <lodging_number_of_double_beds>integer</lodging_number_of_double_beds>
      <lodging_number_of_sofa_beds>integer</lodging_number_of_sofa_beds>
      <lodging_number_of_bunk_beds>integer</lodging_number_of_bunk_beds>  
      <lodging_booking_fee>decimal</lodging_booking_fee>
      <lodging_cleaning_fee>decimal</lodging_cleaning_fee>
      <lodging_booking_deposit>decimal</lodging_booking_deposit>
      <lodging_minimum_advance_reservation>integer</lodging_minimum_advance_reservation>      
      <lodging_distance_to_city_centre>decimal(km)</lodging_distance_to_city_centre>
      <lodging_distance_to_airport>decimal(km)</lodging_distance_to_airport>
      <lodging_distance_to_harbour>decimal(km)</lodging_distance_to_harbour>
      <lodging_distance_to_railway_station>decimal(km)</lodging_distance_to_railway_station>
      <lodging_distance_to_public_transport>decimal(km)</lodging_distance_to_public_transport>
      <lodging_distance_to_hospital>decimal(km)</lodging_distance_to_hospital>
      <lodging_distance_to_pharmacy>decimal(km)</lodging_distance_to_pharmacy>
      <lodging_distance_to_market>decimal(km)</lodging_distance_to_market>
      <lodging_distance_to_ski_slope>decimal(km)</lodging_distance_to_ski_slope>
      <lodging_distance_to_beach>decimal(km)</lodging_distance_to_beach>
      <lodging_distance_to_golf>decimal(km)</lodging_distance_to_golf>
      <lodging_distance_to_public_park>decimal(km)</lodging_distance_to_public_park>
      <lodging_distance_to_historic_district>decimal(km)</lodging_distance_to_historic_district>
      <lodging_legal_registration_number>character(50)</lodging_legal_registration_number>
      <lodging_cadastral_reference_number>character(50)</lodging_cadastral_reference_number>
      <lodging_remarks>decimal</lodging_remarks>
      <lodging_online_booking>decimal</lodging_online_booking>
      <lodging_arrival_time_from>decimal</lodging_arrival_time_from>
      <lodging_arrival_time_to>decimal</lodging_arrival_time_to>
      <lodging_departure_time_from>decimal</lodging_departure_time_from>
      <lodging_departure_time_to>decimal</lodging_departure_time_to>           
      <lodging_cancellation_policies>
        <lodging_cancellation_policy>
          <days_prior>integer</days_prior>
          <refund_percentage>integer</refund_percentage>
        </lodging_cancellation_policy>
      </lodging_cancellation_policies>     
      <lodging_descriptions>
        <lodging_description>
          <description_id>integer </description_id>
          <language>iso639-1</language>
          <headline>character(50)</headline>
          <text>character(4000)</text>
        </lodging_description>
      </lodging_descriptions>
      <lodging_images>
        <lodging_image>
          <image_url>character(50)</image_url>          
        </lodging_image>
      </lodging_images>
      <lodging_equipment>
        ...
      </lodging_equipment>
      <lodging_services>
        ...
      </lodging_services>
      <lodging_surroundings>
        ...
      </lodging_surroundings>
      <lodging_location>
        ...
      </lodging_location>
      <lodging_restrictions>
        ...
      </lodging_restrictions>
      <lodging_recommendations>
        ...
      </lodging_recommendations>      
      <lodging_rooms>
        <lodging_room>
          <room_id>integer </room_id>
          <room_name>character(50)</room_name>
          <room_units>
            <room_id>character(50)</room_id>
            <room_unit>character(50)</room_unit>
          </room_units>
          <room_descriptions>
            <room_description>
              <language>iso639-1</language>
              <text>character(1000)</text>
            </room_description>
          </room_descriptions>
          <room_images>
            <room_image>
              <room_id>integer</room_id>
              <image_url>character(50)</image_url>
            </room_image>
          </room_images>        
          <room_equipment>
            ...
          </room_equipment>
          <room_rates>
            <room_rate>
              <rate_id>integer</rate_id>
              <rate_persons>integer</rate_persons>   
              <rate_name>character(50)</rate_name>
              <rate_cancel>character(50)</rate_cancel>         
              <rate_descriptions>
                <rate_description>
                  <language>iso639-1</language>
                  <text>character(50)</text>
                </rate_description>
              </rate_descriptions>
            </room_rate>
          </room_rates>
        </lodging_room>
      </lodging_rooms>      
    </lodging>
</inventory_update>

parameter

type

description

Is mandatory?

lodging_id

lodging_type

lodging_company_name

lodging_public_name

lodging_address

lodging_address_number

lodging_address_staircase

lodging_address_floor

lodging_address_door

lodging_address_type

lodging_address_plus

lodging_city

lodging_zip

lodging_country

lodging_region

lodging_telephone

lodging_email

lodging_category

Action

Code Block
languagexml
<lodging_id>integer(8)</lodging_id>    
<lodging_action>add/update/cancel</lodging_action>
  • You can create a new property sending “add” as the lodging_action. In this case, you don’t need to send the lodging_id, since it will be created in Icnea.

  • You can update a property sending “update” as the lodging_action or not puting the lodging_action field. You need to send lodging_id.

  • You can delete a property sending “cancel” as the lodging_action. You need to send lodging_id.

Warning

If you try to delete a property with reservations in future dates, you will get an error.

Info

If you don’t send any <lodging_action> the system will try to update the property in the <lodging_id> node.

Cancellation policies

Code Block
languagexml
<lodging_cancellation_policy>
  <days_prior>integer</days_prior>
  <refund_percentage>integer</refund_percentage>
</lodging_cancellation_policy>

There can be up to 3 cancellation policies for a listing.

Images

Code Block
languagexml
<lodging_image>
  <image_url>character(50)</image_url>  
</lodging_image>

There can be up to 48 photos. If you send more photos, they will not be saved in the system.

Each photo will be cropped to have different sizes (so that we can use the most accurate and optimitzed in each instance).

We recommend that the photos are 2100x1575px or bigger, so that they can be always the maximum size and quality in Icnea and the OTAs.

The minimum size is 700x525px.

Amenities

Code Block
languagexml
<lodging_equipment>...</lodging_equipment>
<lodging_services>...</lodging_services>
<lodging_surroundings>...</lodging_surroundings>
<lodging_location>...</lodging_location>
<lodging_restrictions>...</lodging_restrictions>
<lodging_recommendations>...</lodging_recommendations>
<room_equipment>...</room_equipment>

The amenities will be a boolean true/false for each one.

The list of amenities for each category can be found here.

The <room_equipment> node is inside the <lodging_rooms> but, for vacation rentals properties, this will be the lodging equipment as well. It is separated in another node for the hotel property type.

...

Response with success:

Code Block
languagexml
<inventory_update_response>
  <ok>lodging_id </ok>
</inventory_update_response>

Response with error:

Code Block
languagexml
<inventory_update_response>
  <ko>character(500)</ko>
</inventory_update_response>