# Managing panoramic photos (360 degrees)

This section describes how you can upload panoramic photos to your properties' photo galleries.

## Quick actions

- [Uploading panoramic photos](#uploading-panoramic-photos)
- [Retrieving panoramic photos](#retrieving-panoramic-photos)
- [Deleting a panoramic photo](#deleting-a-panoramic-photo)


## Uploading panoramic photos


```http
POST
https://supply-xml.booking.com/photo-api/properties/{property_id}/panoramic-photos
```

The `POST /properties/{property_id}/gallery/panoramic-photos` request enables you to upload a panoramic photo (2:1 ratio) to a special property-level photo gallery, which only consists of panoramic photos.

Avoid uploading duplicates
Only upload panoramic photos you have not yet uploaded, which means to only reupload a photo when the original is permanently deleted.

### Path parameters

The following table describes the elements you must add in the request path:

| Element | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `property_id` | Specifies the unique ID of the property you want to upload panoramic photos for. | integer | required |  |


### Form parameters

The following table describes the elements you must add as form data:

| Element | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `photo` | Uploads a panoramic photo file. | file | required | Ratio should be 2:1 and size should be less than 8 MB. Any file extension works: .jpg, .jpeg, or .png |


#### Response body example

The following is a successful response body example:


```json
{
    "meta": {
        "ruid": "UmFuZG9tSVYkc2RlIyh9YWxAOVlkkfvz3FlU8B/f2mdLDgni2TttvwnD+zTpEhlMjhsn0JbSKNwrKMxCosz02HWIq3ItjVyfM1BX8FO79uguquwASr6R+Jo4cJRWUteK"
    },
    "data": {
        "photo_id": "hPHcodfQWaU"
    },
    "errors": [],
    "warnings": []
}
```

#### Response body parameters

The following table describes the response elements:

| Element | Description | Type | Notes |
|  --- | --- | --- | --- |
| `data` | Contains the response data. | object |  |
| **>** `photo_id` | Specifies the ID of the uploaded panoramic photo. | string |  |
| `meta` | Contains the meta data that comes with the response. | object |  |
| **>** `ruid` | Specifies the unique ID of the request. | string | You can send this ID to Booking.com customer support if you run into an issue. This can help to understand what went wrong. |
| `warnings` | Contains potential warnings. These can help you improve your requests. | array |  |
| `errors` | Contains potential errors. These can help you understand what went wrong with your request. | array |  |


## Retrieving panoramic photos


```http
GET https://supply-xml.booking.com/photo-api/properties/{property_id}/panoramic-photos/
```

The `GET /properties/{property_id}/panoramic-photos/` request enables you to retrieve all the panoramic photos attached to a specific property.

### Path parameters

The following table describes the elements you must add in the request path:

| Element | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `property_id` | Specifies the unique ID of the property you want to retrieve the panoramic photos of. | integer | required |  |


#### Response body example

The following is a successful response body example:


```json
{
    "warnings": [],
    "meta": {
        "ruid": "UmFuZG9tSVYkc2RlIyh9YWxAOVlkkfvzrDz0XW59w6iPlL0iU8G6Gn7uN2klsb1eZ1zwhi6QZ9+2eLi9R+zikQP1wf94DO4Jl5k1UMTEUZyDE1KuxXsh1v+MPjoJ1JOP"
    },
    "data": [
        {
            "photo_id": "hAWUedeUWKDI",
            "sample": "static.booking.com/xdata/images/xphoto/2560x1280/97422200.jpg?k=c6eb6823aaf94c850ff298199a273f366ff08d40855f92a24ff6826794b77be8&o="
        },
        {
            "sample": "static.booking.com/xdata/images/xphoto/2560x1280/97423197.jpg?k=466e5090fd60121975c979ee674237586075a7b5efaf9e9242c75988c5d1572a&o=",
            "photo_id": "RyNivUmLulg"
        },
        {
            "photo_id": "k4KziztQYGI",
            "sample": "static.booking.com/xdata/images/xphoto/2560x1280/97424341.jpg?k=17f23ba8236c46f7c0796f7392b2432de3bb0218ed49212aa0eeb76b5ecef317&o="
        },
        {
            "sample": "static.booking.com/xdata/images/xphoto/2560x1280/97424567.jpg?k=377dadb231124a9a38ceddb68425548e6ad57dd9d565612bbd65e6d414f4b957&o=",
            "photo_id": "DoseGIjt0V8"
        }
    ],
    "errors": []
}
```

#### Response body parameters

The following table describes the response elements:

| Element | Description | Type | Notes |
|  --- | --- | --- | --- |
| `data` | Contains the response data. | object |  |
| **>** `photo_id` | Specifies the ID of the panoramic photo. | string |  |
| **>** `sample` | Specifies the Booking.com URL of the panoramic photo. | string |  |
| `meta` | Contains the meta data that comes with the response. | object |  |
| **>** `ruid` | Specifies the unique ID of the request. | string | You can send this ID to Booking.com customer support if you run into an issue. This can help to understand what went wrong. |
| `warnings` | Contains potential warnings. These can help you improve your requests. | array |  |
| `errors` | Contains potential errors. These can help you understand what went wrong with your request. | array |  |


## Deleting a panoramic photo


```http
DELETE https://supply-xml.booking.com/photo-api/properties/{property_id}/panoramic-photos/{photo_id}
```

The `DELETE /properties/{property_id}/panoramic-photos/{photo_id}` request enables you to delete a specific panoramic photo.

### Path parameters

The following table describes the elements you must add in the request path:

| Element | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `property_id` | Specifies the unique ID of the property you want to delete a panoramic photo for. | integer | required |  |
| `photo_id` | Specifies the unique ID of the panoramic photo you want to delete. | string | required |  |


### Response body example

The following is a successful response body example:


```json
{
    "warnings": [],
    "meta": {
        "ruid": "UmFuZG9tSVYkc2RlIyh9YWxAOVlkkfvzsp+/ljhiYL7MM5mu7mrgyM1czKeix2F/SswNq1NeVl7cH7n4Ybz6+Rpwqm7o9Wi+YiDpf5IgP71pJM4udy4wnD0jFI0LLOWr"
    },
    "errors": [],
    "data": {
        "success": 1
    }
}
```

### Response body parameters

The following table describes the response elements:

| Element | Description | Type | Notes |
|  --- | --- | --- | --- |
| `data` | Contains the response data. | object |  |
| **>** `success` | Indicates the success of the operation. | Boolean |  |
| `meta` | Contains the meta data that comes with the response. | object |  |
| **>** `ruid` | Specifies the unique ID of the request. | string | You can send this ID to Booking.com customer support if you run into an issue. This can help to understand what went wrong. |
| `warnings` | Contains potential warnings. These can help you improve your requests. | array |  |
| `errors` | Contains potential errors. These can help you understand what went wrong with your request. | array |  |