# Properties objects

The Booking.com Connectivity APIs store information about the rooms and services in a property inside a `HotelInfo` element. This page describes the elements and attributes in the `HotelInfo` descendants tree.

## Related calls

* [OTA_HotelDescriptiveContentNotif](/connectivity/docs/ota-hoteldescriptivecontentnotif) – Set a property's details.
* [OTA_HotelDescriptiveInfo](/connectivity/docs/ota-hoteldescriptiveinfo) – Retrieve a property's details.


## Sample XML

The sample below is an excerpt and not a valid XML document.


```xml
<HotelInfo>
   <CategoryCodes>
     <GuestRoomInfo Quantity="100" />
     <HotelCategory ExistsCode="1" Code="20" />
   </CategoryCodes>
   <Languages>
     <Language LanguageCode="fr" />
     <Language LanguageCode="en" />
   </Languages>
   <Position Latitude="49.4092" Longitude="1.0900" />
   <Services>
     <Service Code="5" Included="false" />
     <Service Code="173" Price="14">
      <Types>
        <Type Code="5001" />
        <Type Code="5004" />
        <Type Code="5009" />
      </Types>
      <Items>
        <Item Code="5005"/>
        <Item Code="5006"/>
        <Item Code="5007"/>
        <Item Code="5009"/>
        <Item Code="5011"/>
      </Items>
      <OperationTimes>
        <OperationTime Mon='1' Tue='1' Weds='1' Thur='1' Fri='1' Sat='1' Sun='1' Start="08:00" End="10:00"/>
      </OperationTimes>
     </Service>     
   </Services>
   <OwnershipManagementInfos>
     <OwnershipManagementInfo>
       <CompanyName Code="1234" />
     </OwnershipManagementInfo>
   </OwnershipManagementInfos>
   <RelativePositions>
     <RelativePosition>
       <Transportations>
         <Transportation>
           <TPA_Extensions>
             <Route>
               <Leg>
                 <Start Type='airport' Code='AMS' />
                 <TransportType Code='5000' />
                 <Departure UponArrangement='1' />
               </Leg>
               <JourneyTime Minutes='20' />
               <Price Amount='10' CurrencyCode='EUR' />
             </Route>
           </TPA_Extensions>
         </Transportation>
         <Transportation>
           <TPA_Extensions>
             <Route>
               <Leg>
                 <Start Type='airport' Code='AMS' />
                 <TransportType Code='3' />
                 <Line Name='10'/>
                 <Departure Interval='20' />
               </Leg>
               <JourneyTime Minutes='20' />
               <Price Amount='5.5' CurrencyCode='EUR' />
             </Route>
           </TPA_Extensions>
         </Transportation>
         <Transportation>
           <TPA_Extensions>
             <Route>
               <Leg>
                 <Start Type='airport' Code='AMS' />
                 <TransportType Code='5' />
                 <Motorway Name='A2'/>
                 <Junction Name='Amsterdam Zuid' />
               </Leg>
               <JourneyTime Minutes='30' />
             </Route>
           </TPA_Extensions>
         </Transportation>
       </Transportations>
     </RelativePosition>
   </RelativePositions>
   <TPA_Extensions>
     <AcceptedPayments>
       <AcceptedPayment PaymentTypeCode="1" />
       <AcceptedPayment PaymentTypeCode="2" />
       <AcceptedPayment PaymentTypeCode="3" />
     </AcceptedPayments>
     <InvoiceDetails>
       <InvoiceTaxType Type="CPF"/>
       <InvoiceTaxNumber Code="01234567894123" />
       <InvoiceAddress Email="noreply@booking.com" />
       <CityHallInfo Id="12345678" />
       <BirthDate Date="1980-01-30" />
     </InvoiceDetails>
   </TPA_Extensions>
</HotelInfo>
```

## HotelInfo

Contains information about the types of rooms and services available in a property.

| Field | Description | Type | Required | Notes |
|  --- | --- | --- | --- | --- |
| `CategoryCodes` | See [CategoryCodes](/connectivity/docs/properties#categorycodes). | object | Optional | - |
| `Languages` | - | array of [Language](/connectivity/docs/properties#language) | Optional | - |
| `Position` | Container for child attributes. | object | Optional | - |
| `Position[@Latitude]` | Latitude of the property's location. | latitude | Optional | - |
| `Position[@Longitude]` | Longitude of the property's location. | longitude | Optional | - |
| `Services` | - | array of [Service](/connectivity/docs/properties#service) | Optional | - |
| `OwnershipManagementInfos` | - | array of [OwnershipManagementInfo](/connectivity/docs/properties#ownershipmanagementinfo) | Optional | - |
| `RelativePositions` | - | array of [RelativePosition](/connectivity/docs/properties#relativeposition) | Optional | - |
| `TPA_Extensions` | - | object | Optional | - |


## CategoryCodes

Contains general property details, such as the number of rooms and the type of property. Child of [HotelInfo](/connectivity/docs/properties#hotelinfo).

| Field | Description | Type | Required | Notes |
|  --- | --- | --- | --- | --- |
| `GuestRoomInfo` | - | object | Required | - |
| `GuestRoomInfo[@Quantity]` | The total number of sellable units at the property. | integer | Required | A "sellable unit" is the smallest possible space that a guest can book at the property. In a hotel with 200 rooms, each room is a sellable unit, and the value of `GuestRoomInfo[@Quantity]` would be `200`. In a holiday home, guests must typically book the home in its entirety, making the value `1`. |
| `HotelCategory` | - | object | Required | - |
| `HotelCategory[@Code]` | The [PCT](/connectivity/docs/codes-pct) code representing the type of property. | enum | Required | Accepts the values listed under [PCT](/connectivity/docs/codes-pct). |
| `HotelCategory[@ExistsCode]` | Indicates whether the property currently exists. | integer | Optional | Accepts these values: `1` (true), `0` (false). Default: `1` |


## Language

Contains details of languages spoken by the property's staff. Child of `Languages` (see [HotelInfo](/connectivity/docs/properties#hotelinfo)).

| Field | Description | Type | Required | Notes |
|  --- | --- | --- | --- | --- |
| `Language[@LanguageCode]` | The two-letter [BCL](/connectivity/docs/codes-bcl) code for the language. | enum | Required | Accepts the values listed under [BCL](/connectivity/docs/codes-bcl). |


## Service

Contains the details of a service the property offers. Child of `Services` (see [HotelInfo](/connectivity/docs/properties#hotelinfo)).

| Field | Description | Type | Required | Notes |
|  --- | --- | --- | --- | --- |
| `Service[@Code]` | The [Hotel Amenity Code](/connectivity/docs/codes-hac) for the service. | enum | Optional | Accepts the values listed under [HAC](/connectivity/docs/codes-hac). |
| `Service[@Included]` | Indicates whether the service is included in the room price (`true`), the service comes with an extra charge (`false`), or there is no information available to specify either way (`unknown`). | enum | Optional | Accepts: `true`, `false`, `unknown`. Default: `unknown` |
| `Service[@Price]` | The price for the service, in the property's default currency. | price | Optional | **Required** if `Service[@Code="173"]` (breakfast service). |
| `Types` | - | array of `Type` | Optional | - |
| `Type` | - | object | Optional | Currently used only for breakfast services. |
| `Type[@Code]` | The [Booking.com Breakfast Type Code](/connectivity/docs/codes-bcbt). | integer | Optional | Accepts the values listed under [BCBT](/connectivity/docs/codes-bcbt). |
| `Features` | - | array of [Feature](/connectivity/docs/properties#hotelinfo) | Optional | - |


## OwnershipManagementInfo

Contains optional details about the property's relationship to Booking.com. Child of `OwnershipManagementInfos` (see [HotelInfo](/connectivity/docs/properties#hotelinfo)).

| Field | Description | Type | Required | Notes |
|  --- | --- | --- | --- | --- |
| `OwnerShipManagementInfo``[@RelationshipTypeCode]` | The relationship type, if applicable. | integer | Optional | Only allowed for new properties. Default: empty |
| `CompanyName` | - | object | Optional |  |
| `CompanyName[@Code]` | The ID of the legal entity to which the property belongs. | integer | Optional | Only allowed for new properties. |


## RelativePosition

Container element for [transportation objects](/assets/transportation.1688080adce85d90ad21219e966d971a7a4c2c430873f5a51aabdebb583e578b.53c68abe.md).

| Field | Description | Type | Required | Notes |
|  --- | --- | --- | --- | --- |
| `Transportations` | - | array of [Transportation](/assets/transportation.1688080adce85d90ad21219e966d971a7a4c2c430873f5a51aabdebb583e578b.53c68abe.md) | Optional | - |


## TPA_Extensions

Our extensions to the [OTA](http://opentravelmodel.net/pubs/specifications/Specifications.html) standard. Child of [HotelInfo](/connectivity/docs/properties#hotelinfo).

| Field | Description | Type | Required | Notes |
|  --- | --- | --- | --- | --- |
| `AcceptedPayments` | - | array of [AcceptedPayment](/connectivity/docs/properties#acceptedpayment) | Optional | - |
| `InvoiceDetails` | See [InvoiceDetails](/connectivity/docs/properties#invoicedetails). | object | Optional | **Required** for Brazilian properties. |


## AcceptedPayment

Details of payment methods the property accepts. Child of `AcceptedPayments` (see [TPA_Extensions](/connectivity/docs/properties#tpa_extensions)).

| Field | Description | Type | Required | Notes |
|  --- | --- | --- | --- | --- |
| `AcceptedPayment[@PaymentTypeCode]` | The [Booking.com Payment Type Code](/connectivity/docs/codes-bcpt). | enum | Required | Accepts the values listed under [BCPT](/connectivity/docs/codes-bcpt). |


## InvoiceDetails

Special [identifying information](http://www.thebrazillawblog.com/understanding-cpf-and-cnpj-tax-identification-numbers/) for Brazilian properties, issued by the Brazilian tax authority. Used for invoicing. Child of [TPA_Extensions](/connectivity/docs/properties#tpa_extensions).

Note
These details are required for Brazilian properties.

| Field | Description | Type | Required | Notes |
|  --- | --- | --- | --- | --- |
| `InvoiceTaxType[@Type]` | Specifies whether the identifying number belongs to [a company or a private individual](http://www.thebrazillawblog.com/understanding-cpf-and-cnpj-tax-identification-numbers/). | enum | Required | Accepts: `CNPJ` (company), `CPF` (private individual). |
| `InvoiceTaxNumber[@Code]` | The identifying number. | integer | Required | Length depends on value of `InvoiceTaxType[@Type]`. `CNPJ` = 14 digits. `CPF` = 11 digits. |
| `InvoiceAddress[@Email]` | Email address of invoice recipient. | string | Required | - |
| `CityHallInfo[@Id]` | The 8-digit ID for the city hall which issued the `CNPJ` or `CPF` number. | integer | Required | - |
| `BirthDate[@Date]` | Date of birth of the individual providing the `CPF` number. | date | Optional | Format: `YYYY-MM-DD`. **Required** if `InvoiceTaxType[@Type="CPF"]`. |