# Self-certification tutorial: Property API

In this tutorial, you will use the Property API to:

* Create a property
* Read back the property details
* Update the property details
* Contact connectivity support to validate your integration and enable live/production property access


### Who is this for?

You should follow this if you are a developer who has completed the integration of Property API’s details endpoints and is looking to start using this with live properties in production.

### Before you start

As a part of this guide, you will be creating a test property. Therefore, if you have reached your limit of test properties you will need to contact [Connectivity Support](https://portal.connectivity.booking.com/s/CaseForm?language=en_US).

### Step 1 - Create a property

With your new Property API integration, create a property within your system that will trigger a request to the create property endpoint listed below. Save the RUID to include in your report to connectivity support (see below).

#### Sample request


```http
POST
https://supply-xml.booking.com/property-api/properties
```

##### Header parameter

The following table describes the elements you can add in the header:

| Header | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `Content-Type: application/json` | Specifies the expected content type. | string | required |  |
| `Accept-Version` | Specify the version number to get the API functionality specific to that version. | string | optional | Currently supports the value:  1.0 |


##### Request body

The following is a request body example:


```json
{
  "position": {
    "latitude": 52.388418,
    "longitude": 4.619941
  },
  "check_in": {
    "from": "12:30"
  },
  "check_out": {
    "from": "10:00",
    "until": "10:30"
  },
  "property_name": "Floating hotel",
  "property_category": 30,
  "primary_language": "en-gb",
  "languages_spoken": [
    "en-gb",
    "nl",
    "ms"
  ],
  "room_count": 8,
  "floor_count": 1,
  "provider_property_id": "flotella003",
  "stars": "4",
  "target": "test",
  "physical_address": {
    "city_name": "Overveen",
    "country_code": "NL",
    "postal_code": "2051",
    "address_line": "Zandvoort",
    "display_address": true
  },
  "translations": [
    {
      "city_name": "Overveen",
      "address_line": "Zandvoort",
      "language_code": "es",
      "property_name": "Floating hotel"
    }
  ],
  "legal_entity_id": "78775"
}
```

##### Response body

The following is a response body example:


```json
{
  "data": {
    "property_id": 10664256
  },
  "warnings": [],
  "meta": {
    "ruid": "08240512-21g4-4575-p94g-e76me888fwq4"
  }
}
```

### Step 2 - Read the property

Using your system, trigger a read request of the property you have just created. Save the RUID to include in your report to connectivity support.

#### Sample request


```http
GET
https://supply-xml.booking.com/property-api/properties/{propertyID}
```

##### Header parameter

The following table describes the elements you can add in the header:

| Header | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `Accept-Version` | Specify the version number to get the API functionality specific to that version. | string | optional | Currently supports the value:  1.0 |


##### Response body


```json
{
  "data": {
    "position": {
      "latitude": 52.388418,
      "longitude": 4.619941
    },
    "check_in": {
      "from": "12:00"
    },
    "check_out": {
      "from": "09:30",
      "until": "10:30"
    },
    "property_name": "Floating hotel",
    "property_category": 30,
    "primary_language": "en-gb",
    "languages_spoken": [
      "en-gb",
      "ms",
      "nl"
    ],
    "room_count": 8,
    "floor_count": 1,
    "provider_property_id": "flotella003",
    "stars": "4",
    "target": "test",
    "currency_code": "EUR",
    "property_id": 10664256,
    "status": "Test Hotel",
    "physical_address": {
      "city_name": "Overveen",
      "country_code": "nl",
      "postal_code": "2051",
      "address_line": "Zandvoort",
      "display_address": true
    },
    "translations": [
      {
        "city_name": "Overveen",
        "address_line": "Zandvoort",
        "language_code": "es",
        "property_name": "Floating hotel"
      }
    ],
    "legal_entity_id": "78775"
  },
  "meta": {
    "ruid": "2ccea0cc-9a0b-4179-9c20-9436e50cc070"
  }
}
```

### Step 3 - Update the property

Using your system, trigger an update request using the endpoint listed below. Save the RUID to include in your report to connectivity support.

##### Sample request


```http
PATCH
https://supply-xml.booking.com/property-api/properties/{propertyID}
```

##### Header parameter

The following table describes the elements you can add in the header:

| Header | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `Accept-Version` | Specify the version number to get the API functionality specific to that version. | string | optional | Currently supports the value:  1.0 |


##### Request body

The following is a request body example:


```json
{
  "check_in": {
    "from": "12:00"
  },
  "check_out": {
    "from": "09:30"
  },
  "languages_spoken": [
    "en-gb",
    "nl",
    "ms",
    "de",
    "fr",
    "pl"
  ]
}
```

##### Response body


```json
{
  "data": {
    "property_id": 10664256
  },
  "warnings": [],
  "meta": {
    "ruid": "1c9bff15-h4742-9l08-2ew3-df4fd1f1166b"
  }
}
```

### Step 4 - Send the RUIDs to Booking.com

Send via your organization’s domain email the RUID values obtained in the response bodies of the POST, GET, and PATCH requests to [Connectivity Support](https://portal.connectivity.booking.com/s/CaseForm?language=en_US) for validation and certification.

#### Email template

I would like to be certified for production use of Property Details endpoint. Please find the RUIDs for all of the steps in the tutorial.

p
I look forward to hearing from you.