# Key Collection API Per-Property Methods

This section describes methods used to set/retrieve check-in methods for properties.

## Retrieve existing check-in methods

### HTTP Request


```http
GET https://supply-xml.booking.com/checkin-methods-api/properties/{property_id}
```

### Response

Response contains a json with existing check-in methods for property.

### Response example


```json
    {
        "data": {
            "checkin_methods": [
                {
                    "additional_info": {
                        "instruction": {
                            "how": "phone",
                            "when": "day_of_arrival"
                        }
                    },
                    "stream_variation_name": "primary_checkin_method",
                    "external_references": [
                        {
                            "sequence": 1,
                            "references": {
                                "photo_id": 123
                            },
                            "type": "image_service"
                        }
                    ],
                    "checkin_method": "instruction_will_send"
                },
                {
                    "additional_info": {},
                    "stream_variation_name": "alternative_checkin_method",
                    "external_references": [],
                    "checkin_method": "someone_will_meet"
                }
            ]
        },
        "errors": [],
        "meta": {
            "ruid": "UmFuZG9tSVYkc2RlIyh9Yf+oYkeY5KL25YFD5Le53TTRjZU5LAgceUer11ZbZ2SuXw1bU++TJRqesJ7iKPJKsY/BsP+qtSp4D2pU0mFmWWM="
        },
        "warnings": []
    }
```

## Set check-in methods for property

### HTTP Request


```http
POST https://supply-xml.booking.com/checkin-methods-api/properties/{property_id}
```

### Response

Response contains a "success" flag indicating that request finished successfully

### Request body fields

All the check-in methods must be passed as JSON-array, each of it's elements can contain the next structure.

| Field | Subfield | Type | Description | Example |
|  --- | --- | --- | --- | --- |
| checkin_methods |  | Array | JSON-array, each of it's elements describes one of the Check-In Methods | Check out the [request example](/connectivity/docs/checkin-methods-api/per-property-calls#request-example) |
|  | stream_variation_name | String | One of stream variation names that you received from the [stream-variations call](/connectivity/docs/checkin-methods-api/generic-calls/#retrieve-stream-variations) | primary_checkin_method |
|  | checkin_method | String | One of check-in method names that you received from the [check-in-methods call](/connectivity/docs/checkin-methods-api/generic-calls/#retrieve-check-in-methods) | instruction_will_send |
|  | additional_info | Object | Object containing additional info for check-in method. Each method may have specific fields. Check out [Check-In Method Descriptions] | `"instruction": { "how": "phone", "when": "day_of_arrival"}` |
|  | external_references | Array | Array of external references. Check [external reference structure](/connectivity/docs/checkin-methods-api/external-references/#external_references-structure) for more details |  |


### HTTP Request


```http
POST https://supply-xml.booking.com/checkin-methods-api/properties/{property_id}
```

### Request example


```json
{
	"checkin_methods": [
		{
			"stream_variation_name": "primary_checkin_method",
			"checkin_method": "instruction_will_send",
			"additional_info": {
				"instruction": {
					"how": "phone",
					"when": "day_of_arrival"
				}
			},
			"external_references": [
				{
					"sequence": 1,
					"type": "image_service",
					"references": {
						"photo_id": 57216095
					}
				}
			]
		},
		{
			"stream_variation_name": "alternative_checkin_method",
			"checkin_method": "lock_box",
			"additional_info": {
				"brand_name": "The Forever Lock",
				"other_text": {
					"lang": "en",
					"text": "In case you were not able to reach property using main method - there is a key lock where you can pick up keys."
				},
				"location": {
					"off_location": 1,
					"address": "Herengracht 597",
					"city": "Amsterdam",
					"zip": "1017CE"
				}
			}
		}
	]
}
```

### Response example


```json
    {
        "data": {
            "success": 1
        },
        "meta": {
            "ruid": "UmFuZG9tSVYkc2RlIyh9Yf+oYkeY5JO2QP7vTimO3foL/IrLnYeLDE+a10yDY0ruFsyPuR7V0PNnMRKEVKy6VC51e6pXmGauljtKRWbgRXs="
        },
        "warnings": [],
        "errors": []
    }
```