Manage Airbnb accounts, listings and reservations.
Resources
Resource | Description |
---|---|
Connect an account | Authorize hoteliga API to manage an account. |
GET /v1/ChannelManager/Airbnb/Accounts | Get information for all authorized accounts. |
GET /v1/ChannelManager/Airbnb/Account/{id} | Get information for an authorized account. |
DELETE /v1/ChannelManager/Airbnb/Account/{id} | Unauthorize an account. |
GET /v1/ChannelManager/Airbnb/Listings | Get information for listings of all accounts. |
GET /v1/ChannelManager/Airbnb/Listings/{accountId} | Get information for all listings of an account. |
GET /v1/ChannelManager/Airbnb/Listing/{accountId}/{listingId} | Get the information of listing. |
PUT /v1/ChannelManager/Airbnb/Listing | Update properties listing. |
GET /v1/ChannelManager/Airbnb/AvailabilityRules/{accountId}/{listingId} | Get the availability settings of a listing. |
PUT /v1/ChannelManager/Airbnb/AvailabilityRules | Update the selected availability rules. |
POST /v1/ChannelManager/Airbnb/Inventory | Get the inventory, the prices and the restrictions of a listing for a date range. |
PUT /v1/ChannelManager/Airbnb/Inventory | Change the inventory and/or the prices and/or the restrictions of a listing. |
GET /v1/ChannelManager/Airbnb/PricingSettings/{accountId}/{listingId} | Get the pricing settings of a listing. |
PUT /v1/ChannelManager/Airbnb/PricingSettings | Update the selected pricing settings. |
GET v1/ChannelManager/Airbnb/RuleSets/{accountId} | Get the rule-sets of an account. |
POST v1/ChannelManager/Airbnb/RuleSet | Create a rule-set for an account. |
PUT v1/ChannelManager/Airbnb/RuleSet | Update a rule-set of an account. |
DELETE v1/ChannelManager/Airbnb/RuleSet/{accountId}/{ruleSetId} | Delete a rule-set. |
GET v1/ChannelManager/Airbnb/RuleSetTimeline/{accountId}/{listingId} | Get the applied rule-sets to a listing. |
POST v1/ChannelManager/Airbnb/RuleSetTimeline | Apply a rule-sets to a listing. |
PUT v1/ChannelManager/Airbnb/RuleSetTimeline | Remove applied rule-sets to a listing for a date range. |
GET v1/ChannelManager/Airbnb/Reservation/{accountId}/{confirmationCode} | Get the information of a reservation. |
GET v1/ChannelManager/Airbnb/Reservations/{accountId}/{listingId} | Get the future reservations of a listing. |
Webhooks | Notifications about asynchronous events. |
Authorize hoteliga API to manage a host account.
hoteliga API needs to be authorized in order be able to manage an account, its listings and its reservations. For this purpose you will be provided with instructions on how to do that.
Get information for all authorized accounts.
Response
The result is an array of Account objects.
Name | Type | Description |
---|---|---|
id | string | Account ID |
string | Email used in account | |
firstName | string | Host's first name |
lastName | string | Host's last name |
phone | string | Host's phone number |
pictureUrl | string | The URL of the host's profile photo, if it exists |
pictureUrlLarge | string | The URL of a different version of the host's profile photo, if it exists |
error | string | Description of error that occured |
Example Response
<?xml version="1.0" ?> <Accounts> <Account> <Id>123456</Id> <Email>test@htest.com</Id> <FirstName>Dimitris</Id> <LastName>Papadopoulos</Id> <PictureUrl>https://a0.muscache.com//user/6ff3b </PictureUrl> <PictureUrlLarge>https://a0.muscache.com//user/6ff3b </PictureUrlLarge> </Account> </Accounts>
[ { "id": "123456", "email": "test@test.com", "firstName": "Dimitris", "lastName": "Papadopoulos", "phone": null, "pictureUrl": "https://a0.muscache.com//user/6ff3b", "pictureUrlLarge": "https://a0.muscache.com//user/6ff3b", "error": null },... ]
Get information for an authorized account.
Response
The result is an Account object.
Example Response
<?xml version="1.0" ?> <Account> <Id>123456</Id> <Email>test@test.com</Id> <FirstName>Dimitris</Id> <LastName>Papadopoulos</Id> <PictureUrl>https://a0.muscache.com//user/6ff3b </PictureUrl> <PictureUrlLarge>https://a0.muscache.com//user/6ff3b </PictureUrlLarge> </Account>
{ "id": "123456", "email": "test@test.com", "firstName": "Dimitris", "lastName": "Papadopoulos", "phone": null, "pictureUrl": "https://a0.muscache.com//user/6ff3b", "pictureUrlLarge": "https://a0.muscache.com//user/6ff3b", "error": null }
Unauthorize an account.
Response
Empty response.
Get information for listings of all accounts.
Response
The result is an array of Listing objects.
Name | Type | Description |
---|---|---|
accountId | string | Account ID - Airbnb assigned |
listingId | string | Listing ID - Airbnb assigned |
name | string | Listing's name |
propertyGroup | string | Generalized group of the property types |
propertyCategory | string | Property type |
roomCategory | string | Generalized group of the property types |
bedrooms | int | Number of bedrooms |
bathrooms | decimal | Number of bathrooms |
beds | int? | Number of beds |
checkInOption | obj | How guests will check in |
approvalStatus | obj | Listing approval status. |
hasAvailability | bool | Whether the listing is listed or not |
permitOrTaxId | string | The local permit or tax ID |
apt | string | Apartment/Unit |
street | string | Street address |
city | string | City |
state | string | State, territory, district, or province |
zipCode | string | Zip or postal code |
countryCode | string | Listing's two-letter country code, capitalized. Format: ISO 3166-1 alpha-2 |
latitude | string | Latitude |
longitude | string | Longitude |
userDefinedLocation | bool | Set this field to true if you are providing lat and lng coordinates |
directions | string | Directions are only provided to confirmed guests |
personCapacity | int | Maximum number of guests that can be accommodated |
connected | string | The synchronization category the host has chosen for this listing. One of "Limited", "Full", "Undecided" or "Disconnected" |
bathroomShared | bool? | Set this field to true if bathroom is shared |
bathroomSharedWithCategory | [string]? | Who is the bathroom shared with. One or more from "host", "family_friends_roommates", "other_guests". Ignore for "entire_home" listings |
commonSpacesShared | bool? | Set this field to true if common spaces are shared |
commonSpacesSharedWithCategory | [string]? | Who is the common spaces shared with. One or more from "host", "family_friends_roommates", "other_guests". Ignore for "entire_home" listings |
totalInventoryCount | int? | This parameter only applies to listings using Room Type inventory. The total amount of rooms of a certain room type. |
propertyExternalId | string | This parameter only applies to listings using Room Type inventory. A string indicating which property this listing belongs to |
tier | string | The tier of a listing. One of "lux", "marketplace" or "plus" |
displayExactLocationToGuest | bool | Display exact location on map to guest or an approximate circle. Default is false, while guest with confirmed reservation will always see exact location |
Name | Type | Description |
---|---|---|
category | string | The type of check in the host offers. Must one of "doorman_entry", "lockbox", "smartlock", "keypad", "host_checkin", "other_checkin". |
instruction | string | The instructions for guests on how to check in. Only shared with confirmed guests. |
Name | Type | Description |
---|---|---|
statusCategory | string | Listing status. One of "new", "ready for review", "approved", or "rejected" |
notes | string | Notes on the decision. |
Example Response
<?xml version="1.0"?> <Listing> <AccountId&123546</AccountId> <ListingId&456789</ListingId> <Name>Apartment test Marousi</Name> <PropertyGroup>apartments</PropertyGroup> <PropertyCategory>entire_home</PropertyCategory> <RoomCategory>entire_home</RoomCategory> <Bedrooms>2</Bedrooms> <Bathrooms>1.0</Bathrooms> <Beds>2</Beds> <CheckInOption /> <ApprovalStatus> <StatusCategory>approved</StatusCategory> </ApprovalStatus> <HasAvailability>false</HasAvailability> <Apt /> <Street>Leoforos Kifisias 15</Street> <City>Athina</City> <ZipCode>115 24</ZipCode> <CountryCode>GR</CountryCode> <Latitude>37.998203</Latitude> <Longitude>23.768972</Longitude> <UserDefinedLocation>false</UserDefinedLocation> <Directions /> <PersonCapacity>4</PersonCapacity> <Connected>Limited</Connected> <TotalInventoryCount>4</TotalInventoryCount> <PropertyExternalId>Test name</PropertyExternalId> <Tier>marketplace</Tier> <DisplayExactLocationToGuest>false</DisplayExactLocationToGuest> </Listing> ... <Listings>
[ { "accountId": "123456", "listingId": "456789", "name": "Apartment test Marousi", "propertyGroup": "apartments", "propertyCategory": "entire_home", "roomCategory": "entire_home", "bedrooms": 2, "bathrooms": 1.0, "beds": 2, "checkInOption": { "category": null, "instruction": null }, "approvalStatus": { "statusCategory": "approved", "notes": null }, "hasAvailability": false, "permitOrTaxId": null, "apt": "", "street": "Leoforos Kifisias 15", "city": "Athina", "state": null, "zipCode": "115 24", "countryCode": "GR", "latitude": "37.998203", "longitude": "23.768972", "userDefinedLocation": false, "directions": "", "personCapacity": 4, "connected": "Limited", "bathroomSharedWithCategory": null, "commonSpacesSharedWithCategory": null, "totalInventoryCount": 4, "propertyExternalId": "Test name", "tier": "marketplace", "displayExactLocationToGuest": false },... ]
Get information for all listings of an account.
Response
The result is an array of Listing objects.
Example Response
Same as here.Get the information of listing.
Response
The result is a Listing object.
Example Response
<?xml version="1.0"?> <Listing> <AccountId>299211034</AccountId> <ListingId>39237201</ListingId> <Name>Apartment test Marousi</Name> <PropertyGroup>apartments</PropertyGroup> <PropertyCategory>entire_home</PropertyCategory> <RoomCategory>entire_home</RoomCategory> <Bedrooms>2</Bedrooms> <Bathrooms>1.0</Bathrooms> <Beds>2</Beds> <CheckInOption /> <ApprovalStatus> <StatusCategory>approved</StatusCategory> </ApprovalStatus> <HasAvailability>false</HasAvailability> <Apt /> <Street>Leoforos Kifisias 15</Street> <City>Athina</City> <ZipCode>115 24</ZipCode> <CountryCode>GR</CountryCode> <Latitude>37.998203</Latitude> <Longitude>23.768972</Longitude> <UserDefinedLocation>false</UserDefinedLocation> <Directions /> <PersonCapacity>4</PersonCapacity> <Currency>EUR</Currency> <Price>11</Price> <Connected>Limited</Connected> <TotalInventoryCount>4</TotalInventoryCount> <PropertyExternalId>Test name</PropertyExternalId> <Tier>marketplace</Tier> <DisplayExactLocationToGuest>false</DisplayExactLocationToGuest> </Listing>
{ "accountId": "123456", "listingId": "456789", "name": "Apartment test Marousi", "propertyGroup": "apartments", "propertyCategory": "entire_home", "roomCategory": "entire_home", "bedrooms": 2, "bathrooms": 1.0, "beds": 2, "checkInOption": { "category": null, "instruction": null }, "approvalStatus": { "statusCategory": "approved", "notes": null }, "hasAvailability": false, "permitOrTaxId": null, "apt": "", "street": "Leoforos Kifisias 15", "city": "Athina", "state": null, "zipCode": "115 24", "countryCode": "GR", "latitude": "37.998203", "longitude": "23.768972", "userDefinedLocation": false, "directions": "", "personCapacity": 4, "currency": "EUR", "price": "11", "connected": "Limited", "bathroomSharedWithCategory": null, "commonSpacesSharedWithCategory": null, "totalInventoryCount": 4, "propertyExternalId": "Test name", "tier": "marketplace", "displayExactLocationToGuest": false }
Update properties of listing.
Request parameters
Name | Type | Value |
---|---|---|
accountId | string | Account ID of listing to be updated |
listingId | string | ID of listing to be updated |
action | string | Update to be made.Please review the table below. |
totalInventoryCount | int? | Update the total amount of rooms of a certain room type. Valid value: > 0. |
propertyExternalId | int? | Only used with totalInventoryCount. A string indicating which property the current listing belongs to. |
hasAvailability | bool? | While this field is false, the listing will not appear on Airbnb. Do not set it to false until after the listing is published for the first time to avoid re-setting the review process. |
Action valid values
Value | Description |
---|---|
connect | Set listing to be managed through hoteliga API. This request triggers a validation check. If the listing passes the validation, it will be published. In rare cases, the "approvalStatus.statusCategory" will remain "ready_for_review" until a manual review is successfully completed. If the publish fails, read the "approvalStatus.notes", address the rejection reason(s), and re-send the request. |
disconnect | Set listing NOT to be managed through the hoteliga API. |
update | Update one or more of the following: "totalInventoryCount", "propertyExternalId", "hasAvailability" |
Example Request
<?xml version="1.0"?> <Listing> <AccountId>29924</AccountId> <ListingId>3928</ListingId> <Action>disconnect</Action> </Listing>
{ "accountId":"29924", "listingId":"3928", "action": "disconnect" }
Response
The result is the Listing object.
Example Response
Same as here.Get the availability rules of a listing.
Response
The result is an Availability Rule object.
Name | Type | Value |
---|---|---|
defaultMinNights | int | The default minimum night requirement for reservations. |
defaultMaxNights | int | The default maximum night requirement for reservations. |
minHoursAhead | int | The number of hours required for minimum notice before booking. Valid values are 0-24, 48, 72, and 168 |
allowRequestToBook | int | Bookings that do not meet the minimum notice requirement can become requests to book instead. Use -1 or 0 to prohibit requests and 1 to allow requests. The default value is -1; requests are not allowed |
maxDaysNotice | int | Defines the maximum lead time allowed before the reservation date. Supported values are 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, and 365 days. If this setting is used, all dates after the specified value are unavailable. You can also use -1 to set all days within the next 2 years to available, and 0 to set all days to unavailable |
preparationTime | int | Defines the time between reservations when bookings are not permitted. Supported values are 0, 1, and 2 days |
checkInDays | [int] | Day of week guests are allowed to check in. Value in range 0-6, representing Sunday - Saturday.If unspecified, a reservation may start on any day of the week |
checkOutDays | [int] | Day of week guests are allowed to check out. Value in range 0-6, representing Sunday - Saturday.If unspecified, a reservation may end on any day of the week |
minNightsForCheckIn | [obj] | Defines a minimum number of nights required that depends on the day the reservation starts |
Name | Type | Description |
---|---|---|
dayOfWeek | int | Day of week guests are allowed to check in. Value in range 0-6, represents Sun-Sat |
minNights | int | Minimum number of nights if the trip starts on this day |
Example Response
<?xml version="1.0"?> <AvailabilityRule> <DefaultMinNights>1</DefaultMinNights> <DefaultMaxNights>8</DefaultMaxNights> <MinHoursAhead>3</MinHoursAhead> <AllowRequestToBook>1</AllowRequestToBook> <MaxDaysNotice>30</MaxDaysNotice> <PreparationTime>0</PreparationTime> <CheckInDays> <DayOfWeek>1</DayOfWeek> <DayOfWeek>2</DayOfWeek> </CheckInDays> <CheckOutDays> <DayOfWeek>2</DayOfWeek> </CheckOutDays> <MinNightsForCheckIn> <MinNightForCheckIn> <DayOfWeek>0</DayOfWeek> <MinNights>0</MinNights> </MinNightForCheckIn> <MinNightForCheckIn> <DayOfWeek>1</DayOfWeek> <MinNights>1</MinNights> </MinNightForCheckIn> <MinNightForCheckIn> <DayOfWeek>2</DayOfWeek> <MinNights>0</MinNights> </MinNightForCheckIn> <MinNightForCheckIn> <DayOfWeek>3</DayOfWeek> <MinNights>0</MinNights> </MinNightForCheckIn> <MinNightForCheckIn> <DayOfWeek>4</DayOfWeek> <MinNights>0</MinNights> </MinNightForCheckIn> <MinNightForCheckIn> <DayOfWeek>5</DayOfWeek> <MinNights>0</MinNights> </MinNightForCheckIn> <MinNightForCheckIn> <DayOfWeek>6</DayOfWeek> <MinNights>0</MinNights> </MinNightForCheckIn> </MinNightsForCheckIn> </AvailabilityRule>
{ "defaultMinNights": 1, "defaultMaxNights": 8, "minHoursAhead": 3, "allowRequestToBook": 1, "maxDaysNotice": 30, "preparationTime": 0, "checkInDays": [ 1, 2 ], "checkOutDays": [ 2 ], "minNightsForCheckIn": [ { "dayOfWeek": 0, "minNights": 0 }, { "dayOfWeek": 1, "minNights": 1 }, { "dayOfWeek": 2, "minNights": 0 }, { "dayOfWeek": 3, "minNights": 0 }, { "dayOfWeek": 4, "minNights": 0 }, { "dayOfWeek": 5, "minNights": 0 }, { "dayOfWeek": 6, "minNights": 0 } ] }
Update the selected availability rules.
Request parameters
Name | Type | Value |
---|---|---|
accountId | string | Account ID of listing to be updated |
listingId | string | ID of listing to be updated |
defaultMinNights | int? | The default minimum night requirement for reservations. |
defaultMaxNights | int? | The default maximum night requirement for reservations. |
minHoursAhead | int? | The number of hours required for minimum notice before booking. Valid values are 0-24, 48, 72, and 168 |
allowRequestToBook | int? | Bookings that do not meet the minimum notice requirement can become requests to book instead. Use -1 or 0 to prohibit requests and 1 to allow requests. The default value is -1; requests are not allowed |
maxDaysNotice | int? | Defines the maximum lead time allowed before the reservation date. Supported values are 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, and 365 days. If this setting is used, all dates after the specified value are unavailable. You can also use -1 to set all days within the next 2 years to available, and 0 to set all days to unavailable |
preparationTime | int? | Defines the time between reservations when bookings are not permitted. Supported values are 0, 1, and 2 days |
checkInDays | [int]? | Day of week guests are allowed to check in. Value in range 0-6, representing Sunday - Saturday.If unspecified, a reservation may start on any day of the week |
checkOutDays | [int]? | Day of week guests are allowed to check out. Value in range 0-6, representing Sunday - Saturday.If unspecified, a reservation may end on any day of the week |
minNightsForCheckIn | [obj]? | Defines a minimum number of nights required that depends on the day the reservation starts |
Example Request
<?xml version="1.0"?> <AvailabilityRule> <AccountId>29976</AccountId> <ListingId>4095</ListingId> <MinHoursAhead>3</Hours> <AllowRequestToBook>1</AllowRequestToBook> <DefaultMinNights>2</DefaultMinNights> <CheckInDays> <DayOfWeek>1</DayOfWeek> <DayOfWeek>2</DayOfWeek> </CheckInDays> <MinNightsForCheckIn> <MinNightForCheckIn> <DayOfWeek>1</DayOfWeek> <MinNights>3</MinNights> </MinNightForCheckIn> <MinNightForCheckIn> <DayOfWeek>2</DayOfWeek> <MinNights>2</MinNights> </MinNightForCheckIn> </MinNightsForCheckIn> </AvailabilityRule>
{ "accountId": "123456", "listingId": "456789", "defaultMaxNights": 8, "minNightsForCheckIn": [ { "dayOfWeek": 1, "minNights": 1 } ] }
Response
The result is Ok(200 status code).
Get the inventory, the prices and the restrictions of a listing for a date range.
Request parameters
Name | Type | Value |
---|---|---|
accountId | string | Account ID of listing |
listingId | string | ID of listing |
dateFrom | date (YYYY-MM-DD) | Starting date of search |
dateTo | date (YYYY-MM-DD) | Ending date of search |
Example Request
<?xml version="1.0"?> <Inventory> <AccountId>2976</AccountId> <ListingId>405</ListingId> <DateFrom>2020-10-20</DateFrom> <DateTo>2020-10-21</DateTo> </Inventory>
{ "accountId":"2976", "listingId":"405", "dateFrom": "2020-10-20", "dateTo": "2020-10-21" }
Response
The result is an array of Inventory objects.
Name | Type | Description |
---|---|---|
date | string | Date in ISO 8601 YYYY-MM-DD format. |
dailyPrice | decimal? | Nightly price for this day. If a custom daily price is not specified, the default daily price will be returned. |
availability | string | Either "available", "unavailable" or "default". |
availabilityType | string | A detailed breakdown of the availability field. |
availabilitySubType | string | A detailed breakdown of the availabilityType field. |
availableCount | int? | This parameter only applies to listings using Room Type inventory. The total number of a specific room type. Booking a room does not remove it from this total. |
minNights | int | Minimum length of stay. |
maxNights | int | Maximum length of stay. |
closedToArrival | bool | If true, the guest cannot check in on this day. |
closedToDeparture | bool | If true, the guest cannot check out on this day. |
notes | string | Optional notes. |
Example Response
<?xml version="1.0"?> <InventoryList> <Inventory> <Date>2020-10-20</Date> <DailyPrice>52.0</DailyPrice> <Availability>available</Availability> <AvailabilityType>available</AvailabilityType> <AvailableCount>4</AvailableCount> <MinNights>2</MinNights> <MaxNights>6</MaxNights> <ClosedToArrival>false</ClosedToArrival> <ClosedToDeparture>false</ClosedToDeparture> </Inventory> <Inventory> <Date>2020-10-21</Date> <DailyPrice>52.0</DailyPrice> <Availability>available</Availability> <AvailabilityType>available</AvailabilityType> <AvailableCount>4</AvailableCount> <MinNights>1</MinNights> <MaxNights>6</MaxNights> <ClosedToArrival>true</ClosedToArrival> <ClosedToDeparture>true</ClosedToDeparture> </Inventory> </InventoryList>
[ { "date": "2020-10-20", "dailyPrice": 52.0, "availability": "available", "availabilityType": "available", "availabilitySubType": null, "availableCount": 4, "minNights": 2, "maxNights": 6, "closedToArrival": false, "closedToDeparture": false, "notes": null }, { "date": "2020-10-21", "dailyPrice": 52.0, "availability": "available", "availabilityType": "available", "availabilitySubType": null, "availableCount": 4, "minNights": 1, "maxNights": 6, "closedToArrival": true, "closedToDeparture": true, "notes": null } ]
Update the inventory and/or the prices and/or the restrictions of a listing.
Request parameters
Name | Type | Value |
---|---|---|
accountId | string | Account ID of listing |
listingId | string | ID of listing |
operations | [obj] | Array of operations requests |
Operation request
Name | Type | Value |
---|---|---|
dateFrom | date (YYYY-MM-DD) | Starting date of search |
dateTo | date (YYYY-MM-DD) | Ending date of search |
setAvailable | bool | Set to true for updating the availability. Default value is false. |
available | string | Either "available", "unavailable" or "default". |
countEligible | bool | Applies for listings using Room Type inventory. Set this to true in order to update the "count" field. |
count | int | The total number of a specific room type. Booking a room does not remove it from this total. |
setPrice | bool | Set to true for updating prices. Default value is false. |
dailyPrice | int | Nightly price for this day. |
setRestrictions | bool | Set to true for updating restrictions. Default value is false. |
minNights | int? | Minimum length of stay. Use null to unset this value. |
maxNights | int? | Maximum length of stay. Use null to unset this value. |
closedToArrival | bool? | If true, the guest cannot check in on this day. |
closedToDeparture | bool? | If true, the guest cannot check out on this day. |
Example Request
<?xml version="1.0"?> <Inventory> <AccountId>29976</AccountId> <ListingId>405</ListingId> <Operations> <Operation> <DateFrom>2020-10-20</DateFrom> <DateTo>2020-10-21</DateTo> <Available>unavailable</Available> <Count>3</Count> <SetAvailable>true</SetAvailable> </Operation> <Operation> <DateFrom>2020-10-22</DateFrom> <DateTo>2020-10-23</DateTo> <DailyPrice>30</DailyPrice> <SetPrice>true</SetPrice> <SetRestrictions>true</SetRestrictions> <MaxNights>15</MaxNights> <ClosedToDeparture>true</ClosedToDeparture> </Operation> </Operations> </Inventory>
{ "accountId":"29976", "listingId":"405", "operations": [ { "dateFrom": "2020-10-20", "dateTo": "2020-10-21", "available": "available", "count": 4, "setAvailable": true }, { "dateFrom": "2020-10-22", "dateTo": "2020-10-23", "available": "unavailable", "dailyPrice": 40, "setPrice":true, "setRestrictions": true, "maxNights": 15, "closedToDeparture": true } ] }
Response
The result is an array of Inventory objects.
Example Response
Same as here.Get the pricing settings of a listing.
Response
The result is a PricingSetting object.
Name | Type | Description |
---|---|---|
currency | string | Currency used for listing prices. Do not include any other pricing fields when updating the currency; send this request separately to ensure proper processing order. Only supported strings are accepted. Format: ISO 4217 |
defaultDailyPrice | int? | The default daily price for the listing. Must be between 10 and 25,000 USD |
weekendPrice | int? | The default price to apply for the weekend days. Must be between 10 and 25,000 USD |
securityDeposit | int? | A security deposit held by Airbnb and refunded to the guest unless the host makes a claim within 48 hours after guest checks out. Must be between 100 and 5000 USD |
cleaningFee | int? | Cleaning fee, denoted in currency. Maximum cleaning fee is (600 USD + 25% nightly price). Minimum cleaning fee is 5 USD. To remove a cleaning fee, set the value to 0 |
guestsIncluded | int? | Number of guests permitted without any additional fees. Default is 1 |
pricePerExtraPerson | int? | Amount added to the listing's nightly price for each guest beyond the number specified in "guestsIncluded". Minimum is 5 USD |
monthlyPriceFactor | decimal? | If set, multiply the price by this factor for trips of 28 days or more. Range from 0 to 1. For example, 0.7 means 30% off. Must be less than weeklyPriceFactor |
weeklyPriceFactor | decimal? | If set, multiply the price by this factor for trips between 7 and 28 days. Range from 0 to 1. For example, 0.7 means 30% off. Must be greater than monthlyPriceFactor |
standardFees | [obj] | Array of standard fees to be applied to the listing |
eligibleForPassThroughTaxes | bool | True if this listing is eligible for collecting pass through occupancy taxes |
passThroughTaxes | [obj] | Array of pass through occupancy taxes to be applied to the listing |
defaultPricingRules | [obj] | Array of default pricing rules to be applied to the listing. |
Name | Type | Description |
---|---|---|
feeType | string | The type of fee being charged. Some fees are a flat rate, some are a percentage, and some are consumption fees charged each time a unit is consumed |
amountType | string | Type of fee amount to be charged. "percent" or "flat" |
amountFlat | int | Amount to be charged. If amountType is "percent" then this is 0 |
amountPercent | decimal | Amount to be charged. If amountType is "flat" then this is 0 |
offline | bool | If true, this is an offline fee that will be charged when the guest checks in or out.Otherwise, this fee will be collected at time of booking |
feeUnitType | string | This field only applies to fees charged each time a measured unit is consumed: electricity, water, heat, air conditioning, or other utilities.This field defines the unit being measured. For these fee types the amountType must be "flat" |
feeType | amountType | feeUnitType |
---|---|---|
PASS_THROUGH_RESORT_FEE | percent or flat | N/A |
PASS_THROUGH_MANAGEMENT_FEE | percent or flat | N/A |
PASS_THROUGH_COMMUNITY_FEE | percent or flat | N/A |
PASS_THROUGH_LINEN_FEE | flat | N/A |
PASS_THROUGH_SECURITY_DEPOSIT | flat | N/A |
PASS_THROUGH_CLEANING_FEE | flat | N/A |
PASS_THROUGH_ELECTRICITY_FEE | flat | PER_KILOWATT_HOUR |
PASS_THROUGH_WATER_FEE | flat | PER_LITER or PER_CUBIC_METER |
PASS_THROUGH_HEATING_FEE | flat | PER_KILOWATT_HOUR |
PASS_THROUGH_AIR_CONDITIONING_FEE | flat | PER_KILOWATT_HOUR or PER_LITER or PER_CUBIC_METER |
PASS_THROUGH_UTILITY_FEE | flat | PER_KILOWATT_HOUR or PER_LITER or PER_CUBIC_METER |
Name | Type | Description |
---|---|---|
taxType | string | Tax type. Valid values: pass_through_hotel_tax, pass_through_lodging_tax, pass_through_room_tax, pass_through_tourist_tax, pass_through_transient_occupancy_tax, pass_through_sales_tax, pass_through_vat_gst,pass_through_tourism_assessment_fee |
amountType | string | Type of amount to be charged. "percent_per_reservation" or "flat_per_guest" or "flat_per_guest_per_night" |
amount | decimal | If amount_type is "percent_per_reservation", this is a float between 0 and 100 (inclusive). If amount_type is "flat_per_guest" , "flat_per_night", or "flat_per_guest_per_night", this is a float in the listing currency |
businessTaxId | string | The business tax id identifies the business as a taxpayer. For example, in the US, it would be the EIN |
registrationId | string | Represents the ID number that a host receives from a jurisdiction when it registers to collect, remit, and report the applicable occupancy tax, and demonstrates that the host likely will do so |
attestation | bool | A confirmation that the tax information is true and the host accepts responsibility to remit the tax given to them as a business |
longTermStayExemption | int? | A length of stay (in number of days). Pass through taxes do not apply to stays longer than this value. The minimum value for this field is 13 days. If set to null or 0, no exemption applies and taxes are applied to all bookings regardless of length |
Name | Type | Description |
---|---|---|
ruleType | string | STAYED_AT_LEAST_X_DAYS: Long-term stay adjustment; BOOKED_WITHIN_AT_MOST_X_DAYS: Last-minute discount; BOOKED_BEYOND_AT_LEAST_X_DAYS: Booking ahead discount. SEASONAL_ADJUSTMENT is not applicable to listings as default pricing rules, it can only be used in seasonal rule sets. |
priceChange | float | Must be a negative value, meaning price decrease. |
priceChangeType | string | Use PERCENT only. The "ABSOLUTE" type has been deprecated. |
ThresholdOne | integer | Specifies the X value in the X_DAYS rules.Must be a multiple of 28 or 30 for "BOOKED_BEYOND_AT_LEAST_X_DAYS". Must be equal to or less than 28 for "BOOKED_WITHIN_AT_MOST_X_DAYS". Cannot be negative. |
Example Response
<?xml version="1.0"?> <PricingSetting> <Currency>EUR</Currency> <DefaultDailyPrice>11</DefaultDailyPrice> <GuestsIncluded>1</GuestsIncluded> <PricePerExtraPerson>0</PricePerExtraPerson> <EligibleForPassThroughTaxes>true</EligibleForPassThroughTaxes> <StandardFees> <StandardFee> <FeeType>PASS_THROUGH_MANAGEMENT_FEE</FeeType> <AmountType>percent</AmountType> <AmountFlat>0</AmountFlat> <AmountPercent>15.5</AmountPercent> <Offline>false</Offline> </StandardFee> <StandardFee> <FeeType>PASS_THROUGH_RESORT_FEE</FeeType> <AmountType>flat</AmountType> <AmountFlat>12</AmountFlat> <AmountPercent>0</AmountPercent> <Offline>false</Offline> </StandardFee> </StandardFees> </PricingSetting>
{ "currency": "EUR", "defaultDailyPrice": 11, "guestsIncluded": 1, "pricePerExtraPerson": 0, "eligibleForPassThroughTaxes": true, "standardFees": [ { "feeType": "PASS_THROUGH_MANAGEMENT_FEE", "amountType": "percent", "amountFlat": 0, "amountPercent": 15.5, "offline": false, "feeUnitType": null }, { "feeType": "PASS_THROUGH_RESORT_FEE", "amountType": "flat", "amountFlat": 12, "amountPercent": 0.0, "offline": false, "feeUnitType": null } ], "passThroughTaxes": null }
Update the selected pricing settings.
Request parameters
Name | Type | Value |
---|---|---|
accountId | string | Account ID of listing to be updated |
listingId | string | ID of listing to be updated |
pricingSetting | obj | Selected object properties to be updated |
Example Request
<?xml version="1.0"?> <PricingSettings> <AccountId>299413876</AccountId> <ListingId>40362395</ListingId> <PricingSetting> <DefaultDailyPrice>22</DefaultDailyPrice> <StandardFees> <StandardFee> <FeeType>PASS_THROUGH_MANAGEMENT_FEE</FeeType> <AmountType>percent</AmountType> <AmountFlat>0</AmountFlat> <AmountPercent>16.6</AmountPercent> <Offline>false</Offline> </StandardFee> <StandardFee> <FeeType>PASS_THROUGH_RESORT_FEE</FeeType> <AmountType>flat</AmountType> <AmountFlat>12</AmountFlat> <AmountPercent>0</AmountPercent> <Offline>false</Offline> </StandardFee> </StandardFees> <DefaultPricingRules> <DefaultPricingRule> <RuleType>BOOKED_BEYOND_AT_LEAST_X_DAYS</RuleType> <PriceChange>-3</PriceChange> <PriceChangeType>PERCENT</PriceChangeType> </DefaultPricingRule> </DefaultPricingRules> <PricePerExtraPerson>10</PricePerExtraPerson> </PricingSetting> </PricingSettings>
{ "accountId": "299413876", "listingId": "40269846", "pricingSetting": { "defaultDailyPrice": 12, "guestsIncluded": 2, "pricePerExtraPerson": 0, "standardFees": [ { "feeType": "PASS_THROUGH_MANAGEMENT_FEE", "amountType": "percent", "amountFlat": 0, "amountPercent": 15.5, "offline": false, "feeUnitType": null }, { "feeType": "PASS_THROUGH_RESORT_FEE", "amountType": "flat", "amountFlat": 12, "amountPercent": 0, "offline": false, "feeUnitType": null } ], "passThroughTaxes": [], "defaultPricingRules": [ { "ruleType": "BOOKED_BEYOND_AT_LEAST_X_DAYS", "priceChange": -3, "priceChangeType": "PERCENT" } ] } }
Response
The result is Ok(200 status code).
Get the rule-sets of an account.
Response
The result is an array of Rule-Set objects.
Name | Type | Description |
---|---|---|
id | string | The unique identifier of the rule-set. |
title | string | Title to show on the UI Airbnb calendar for this rule-set. |
color | int | Color to show on the UI Airbnb calendar for the rule-set. Value from 0 to 8. |
createdByUserId | string | User ID of the person who created this rule-set. |
ruleSetPricingRules | [obj]? | Array of rule-set's pricing rule objects. |
ruleSetAvailabilityRule | obj | Rule-set's availability rule. |
Name | Type | Description |
---|---|---|
ruleType | string | One of the SEASONAL_ADJUSTMENT, STAYED_AT_LEAST_X_DAYS, BOOKED_WITHIN_AT_MOST_X_DAYS, BOOKED_BEYOND_AT_LEAST_X_DAYS |
priceChange | int | If ruleType is SEASONAL_ADJUSTMENT, this field can be either positive or negative. Otherwise, priceChange must be a negative value, meaning price decrease. |
priceChangeType | string | Either PERCENT or ABSOLUTE (fixed currency amount). |
thresholdOne | int? | Not used for seasonal adjustments. Specifies the X value in the X_DAYS rules. Must be a multiple of 28 or 30 for "BOOKED_BEYOND_AT_LEAST_X_DAYS". Must be equal to or less than 28 for "BOOKED_WITHIN_AT_MOST_X_DAYS". Cannot be negative. |
Name | Type | Description |
---|---|---|
closedForCheckOut | [string] | Days in week that guest cannot check out. Comma-separated array of enum strings "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" or "SUNDAY". |
closedForCheckIn | [string] | Days in week that guest cannot check in. Comma-separated array of enum strings "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" or "SUNDAY". |
maxNights | [obj]? | Map from day of week to corresponding max nights value, which is the maximum length of stay if the trip starts on this day. If any days are missing, the "UNSPECIFIED" value is used. If there is no "UNSPECIFIED" value, then 1095 days is used. |
minNights | [obj]? | Map from day of week to corresponding min nights value, which is the minimum length of stay if the trip starts on this day. |
Name | Type | Description |
---|---|---|
monday | int? | Max or min days value if the trip starts on Monday. |
tuesday | int? | Max or min days value if the trip starts on Tuesday. |
wednesday | int? | Max or min days value if the trip starts on Wednesday. |
thursday | int? | Max or min days value if the trip starts on Thursday. |
friday | int? | Max or min days value if the trip starts on Friday. |
saturday | int? | Max or min days value if the trip starts on Saturday. |
sunday | int? | Max or min days value if the trip starts on Sunday. |
unspecified | int? | Max or min days value if the trip starts on a day that is not specified. |
Example Response
<?xml version="1.0"?> <RuleSets> <RuleSet> <Id>67450734</Id> <Color>1</Color> <CreatedByUserId>299413876</CreatedByUserId> <RuleSetPricingRules> <RuleSetPricingRules> <RuleType>SEASONAL_ADJUSTMENT</RuleType> <PriceChange>10</PriceChange> <PriceChangeType>PERCENT</PriceChangeType> </RuleSetPricingRules> </RuleSetPricingRules> </RuleSet> <RuleSet> <Id>169710991</Id> <Color>4</Color> <CreatedByUserId>299413876</CreatedByUserId> <RuleSetPricingRules> <RuleSetPricingRules> <RuleType>SEASONAL_ADJUSTMENT</RuleType> <PriceChange>-12</PriceChange> <PriceChangeType>PERCENT</PriceChangeType> </RuleSetPricingRules> <RuleSetPricingRules> <RuleType>STAYED_AT_LEAST_X_DAYS</RuleType> <PriceChange>-20</PriceChange> <PriceChangeType>PERCENT</PriceChangeType> <ThresholdOne>15</ThresholdOne> </RuleSetPricingRules> <RuleSetPricingRules> <RuleType>BOOKED_WITHIN_AT_MOST_X_DAYS</RuleType> <PriceChange>-35</PriceChange> <PriceChangeType>PERCENT</PriceChangeType> <ThresholdOne>10</ThresholdOne> </RuleSetPricingRules> </RuleSetPricingRules> <RuleSetAvailabilityRule> <ClosedForCheckOut> <DayOfWeek>SATURDAY</DayOfWeek> <DayOfWeek>FRIDAY</DayOfWeek> </ClosedForCheckOut> <ClosedForCheckIn> <DayOfWeek>TUESDAY</DayOfWeek> <DayOfWeek>WEDNESDAY</DayOfWeek> </ClosedForCheckIn> <MaxNights> <Thursday>11</Thursday> <Saturday>1</Saturday> <Unspecified>1095</Unspecified> </MaxNights> <MinNights> <Monday>5</Monday> <Tuesday>3</Tuesday> <Wednesday>2</Wednesday> <Unspecified>1</Unspecified> </MinNights> </RuleSetAvailabilityRule> </RuleSet> </RuleSets>
[ { "id": "67450734", "title": null, "color": 1, "createdByUserId": "299413876", "ruleSetPricingRules": [ { "ruleType": "SEASONAL_ADJUSTMENT", "priceChange": 10, "priceChangeType": "PERCENT" } ], "ruleSetAvailabilityRule": null }, { "id": "169710991", "title": null, "color": 4, "createdByUserId": "299413876", "ruleSetPricingRules": [ { "ruleType": "SEASONAL_ADJUSTMENT", "priceChange": -12, "priceChangeType": "PERCENT" }, { "ruleType": "STAYED_AT_LEAST_X_DAYS", "priceChange": -20, "priceChangeType": "PERCENT", "thresholdOne": 15 }, { "ruleType": "BOOKED_WITHIN_AT_MOST_X_DAYS", "priceChange": -35, "priceChangeType": "PERCENT", "thresholdOne": 10 } ], "ruleSetAvailabilityRule": { "closedForCheckOut": [ "FRIDAY", "SATURDAY" ], "closedForCheckIn": [ "TUESDAY", "WEDNESDAY" ], "maxNights": { "thursday": 11, "saturday": 1, "unspecified": 1095 }, "minNights": { "monday": 5, "tuesday": 3, "wednesday": 2, "unspecified": 1 } } } ]
Create a rule-set for an account.
Request parameters
Name | Type | Value |
---|---|---|
accountId | string | Account ID of listing |
rule-set | obj | Rule-set to be created. |
Example Request
<?xml version="1.0"?> <RuleSetRequest> <AccountId>123456</AccountId> <RuleSet> <Title>Created rule through API</Title> <Color>2</Color> <RuleSetPricingRules> <RuleSetPricingRule> <RuleType>SEASONAL_ADJUSTMENT</RuleType> <PriceChange>15</PriceChange> <PriceChangeType>PERCENT</PriceChangeType> </RuleSetPricingRule> </RuleSetPricingRules> <RuleSetAvailabilityRule> <ClosedForCheckIn> <DayOfWeek>MONDAY</DayOfWeek> <DayOfWeek>SUNDAY</DayOfWeek> <DayOfWeek>WEDNESDAY</DayOfWeek> </ClosedForCheckIn> <MaxNights> <Monday>5</Monday> <Unspecified>1095</Unspecified> </MaxNights> </RuleSetAvailabilityRule> </RuleSet> </RuleSetRequest>
{ "accountId": "123456", "ruleSet": { "title": "Created rule through API", "color": 2, "ruleSetPricingRules": [ { "ruleType": "SEASONAL_ADJUSTMENT", "priceChange": 15, "priceChangeType": "PERCENT" } ], "ruleSetAvailabilityRule": { "closedForCheckIn": [ "MONDAY", "SUNDAY", "TUESDAY" ], "maxNights": { "monday": 6, "unspecified": 7 } } } }
Response
The result is the created Rule-Set object.
Example Response<?xml version="1.0"?> <RuleSets> <RuleSet> <Id>456789</Id> <Title>Created rule through API</Title> <Color>2</Color> <CreatedByUserId>123456</CreatedByUserId> <RuleSetPricingRules> <RuleSetPricingRule> <RuleType>SEASONAL_ADJUSTMENT</RuleType> <PriceChange>15</PriceChange> <PriceChangeType>PERCENT</PriceChangeType> </RuleSetPricingRule> </RuleSetPricingRules> <RuleSetAvailabilityRule> <ClosedForCheckOut /> <ClosedForCheckIn> <DayOfWeek>WEDNESDAY</DayOfWeek> <DayOfWeek>MONDAY</DayOfWeek> <DayOfWeek>SUNDAY</DayOfWeek> </ClosedForCheckIn> <MaxNights> <Monday>5</Monday> <Unspecified>1095</Unspecified> </MaxNights> <MinNights /> </RuleSetAvailabilityRule> </RuleSet> </RuleSets>
[ { "id": "456789", "title": "Created rule through API", "color": 2, "createdByUserId": "123456", "ruleSetPricingRules": [ { "ruleType": "SEASONAL_ADJUSTMENT", "priceChange": 15, "priceChangeType": "PERCENT" } ], "ruleSetAvailabilityRule": { "closedForCheckOut": [], "closedForCheckIn": [ "SUNDAY", "MONDAY", "TUESDAY" ], "maxNights": { "monday": 6, "unspecified": 7 }, "minNights": {} } } ]
Update a rule-set of an account.
Request parameters
The same as here.Example Request
<?xml version="1.0"?> <RuleSetRequest> <AccountId>123456</AccountId> <RuleSet> <Id>456789</Id> <Title>Updated rule through API</Title> <Color>2</Color> <RuleSetPricingRules> <RuleSetPricingRule> <RuleType>SEASONAL_ADJUSTMENT</RuleType> <PriceChange>15</PriceChange> <PriceChangeType>PERCENT</PriceChangeType> </RuleSetPricingRule> </RuleSetPricingRules> <RuleSetAvailabilityRule> <ClosedForCheckIn> <DayOfWeek>MONDAY</DayOfWeek> <DayOfWeek>SUNDAY</DayOfWeek> <DayOfWeek>WEDNESDAY</DayOfWeek> </ClosedForCheckIn> <MaxNights> <Monday>5</Monday> <Unspecified>1095</Unspecified> </MaxNights> </RuleSetAvailabilityRule> </RuleSet> </RuleSetRequest>
{ "accountId": "123456", "ruleSet": { "id": "456789", "title": "Created rule through API", "color": 2, "ruleSetPricingRules": [ { "ruleType": "SEASONAL_ADJUSTMENT", "priceChange": 15, "priceChangeType": "PERCENT" } ], "ruleSetAvailabilityRule": { "closedForCheckIn": [ "MONDAY", "SUNDAY", "TUESDAY" ], "maxNights": { "monday": 6, "unspecified": 7 } } } }
Response
The result is Ok(200 status code).
Delete a rule-set.
Response
Empty response.
Get the applied rule-sets to a listing.
Response
The result is a Rule-Set Timeline object.
Name | Type | Description |
---|---|---|
listingId | string | The unique identifier of the listing. |
timelineItems | [obj]? | An array of Rule-Set Timeline Item objects. |
Name | Type | Description |
---|---|---|
startDate | string | Start date in ISO 8601 YYYY-MM-DD format. |
endDate | int | End date in ISO 8601 YYYY-MM-DD format.. |
ruleSetId | string | Unique identifier of the applied rule-set. |
Example Response
<?xml version="1.0"?> <RuleSetTimeline> <ListingId>40269846</ListingId> <TimelineItems> <TimelineItem> <StartDate>2020-10-08</StartDate> <EndDate>2020-10-15</EndDate> <RuleSetId>67450734</RuleSetId> </TimelineItem> <TimelineItem> <StartDate>2020-10-20</StartDate> <EndDate>2020-10-29</EndDate> <RuleSetId>67450734</RuleSetId> </TimelineItem> </TimelineItems> </RuleSetTimeline>
{ "listingId": "40269846", "timelineItems": [ { "startDate": "2020-10-08", "endDate": "2020-10-15", "ruleSetId": "67450734" }, { "startDate": "2020-10-20", "endDate": "2020-10-29", "ruleSetId": "67450734" } ] }
Apply a rule-set to a listing.
Request parameters
Name | Type | Value |
---|---|---|
accountId | string | Account ID. |
listingId | string | Listing ID. |
timelineItem | obj | Rule-set to be applied. |
Example Request
<?xml version="1.0"?> <ApplyRuleSet> <AccountId>123456<AccountId> <ListingId>40269846</ListingId> <TimelineItem> <StartDate>2021-05-05</StartDate> <EndDate>2021-05-15</EndDate> <RuleSetId>169710991</RuleSetId> </TimelineItem> </ApplyRuleSet>
{ "accountId": "123456", "listingId": "40269846", "timelineItem": { "startDate": "2021-06-05", "endDate": "2021-06-15", "ruleSetId": "169710991" } }
Response
The result is Ok(200 status code).
Remove applied rule-sets to a listing for a date range.
Request parameters
Name | Type | Value |
---|---|---|
accountId | string | Account ID. |
listingId | string | Listing ID. |
startDate | string | Start date in ISO 8601 YYYY-MM-DD format. |
endDate | int | End date in ISO 8601 YYYY-MM-DD format.. |
Example Request
<?xml version="1.0"?> <RemoveRuleSets> <AccountId>299413876</AccountId> <ListingId>40269846</ListingId> <StartDate>2021-05-05</StartDate> <EndDate>2021-05-15</EndDate> </RemoveRuleSets>
{ "accountId": "123456", "listingId": "40269846", "StartDate": "2021-06-05", "EndDate": "2021-06-15", }
Response
The result is Ok(200 status code).
Get the information of a reservation.
Response
The result is a Reservation object.
Name | Type | Description |
---|---|---|
cancellationPolicyCategory | string | The cancellation policy category. |
confirmationCode | string | Confirmation code (10 chars). |
createdAt | DateTime | The time that the guest initiated the reservation / entered the checkout page. |
updatedAt | DateTime | The time this reservation was last updated. |
bookedAt | DateTime | The time the reservation was confirmed / entered the accepted state. |
startDate | DateTime | The beginning of the reservation. |
endDate | DateTime | The end of the reservation. |
guestDetails | obj | Details of guests. |
guestEmail | string | Anonymized guest email. |
guestFirstName | string | Guest's first name. |
guestId | string | Guest's Airbnb ID. |
guestLastName | string | Guest's last name. |
guestPhoneNumbers | [string] | Array of Guest's phone numbers. |
guestPrefferedLocale | string | Guest's preferred locale. |
hostCurrency | string | The currency of the amount this in which reservation is quoted. |
hostId | string | Host's Airbnb ID. |
expectedPayoutAmountAccurate | string | Amount paid to Host for reservation, in Host's currency. |
listingBasePriceAccurate | string | Reservation price without fees. |
listingHostFeeAccurate | string | Airbnb service fee charged to host without VAT. |
listingSecurityPriceAccurate | string | Amount of security deposit. |
listingCleaningFeeAccurate | string | Amount of cleaning fee. |
listingCancellationPayoutAccurate | string | Amount paid to the Host in case of cancellation. Defaults to 0 unless the reservation was cancelled. If cancelled by Host, this is 0. |
listingCancellationHostFeeAccurate | string | The Host fee paid to Airbnb if reservation is canceled. If canceled by host, this value is 0. |
listingId | string | Listing's Airbnb ID. |
specialOfferId | string | The id of the relevant Special Offer or pre-approval. If none, this vaue is null. |
nights | int | Number of nights. |
PassThroughTaxAmountPaidToHostAccurate | string | The tax amount passed back to hosts who are using Occupancy Taxes. This amount must be remitted to the appropriate tax authorities. |
statusType | string | The status of this reservation at the time it was retrieved. |
standardFeesDetailsList | [obj] | The standard fees applied to the reservation. |
threadId | string | ID of the message thread asscoicated with reservation to use for Messaging API. |
totalPaidAmountAccurate | string | The cumulative sum of all payouts (consolidated of past and current) that have been released to the Host. |
Name | Type | Description |
---|---|---|
adults | int | The number of adults. |
children | int | The number of children. |
infants | int | The number of infants. Infants are not included in the total maximum guest count. |
Name | Type | Description |
---|---|---|
feeType | string | Fee type. |
amountNative | string | The amount charged in listing's currency. |
Example Response
<?xml version="1.0"?> <Reservation> <CancellationPolicyCategory>moderate</CancellationPolicyCategory> <ConfirmationCode>HMCBHD3SRW</ConfirmationCode> <CreatedAt>1/24/2021 6:14:35 PM</CreatedAt> <UpdatedAt>1/24/2021 6:39:12 PM</UpdatedAt> <BookedAt>1/24/2021 6:39:12 PM</BookedAt> <StartDate>1/24/2021 12:00:00 AM</StartDate> <EndDate>1/25/2021 12:00:00 AM</EndDate> <GuestDetails> <Adults>2</Adults> <Children>0</Children> <Infants>0</Infants> </GuestDetails> <GuestEmail /> <GuestFirstName>John</GuestFirstName> <GuestId>123456</GuestId> <GuestLastName>Doe</GuestLastName> <GuestPhoneNumbers> <GuestPhoneNumber>5554536</GuestPhoneNumber> </GuestPhoneNumbers> <GuestPrefferedLocale>el</GuestPrefferedLocale> <HostCurrency>EUR</HostCurrency> <HostId>456789</HostId> <ExpectedPayoutAmountAccurate>32.33</ExpectedPayoutAmountAccurate> <ListingBasePriceAccurate>38.03</ListingBasePriceAccurate> <ListingHostFeeAccurate>5.70</ListingHostFeeAccurate> <ListingSecurityPriceAccurate>0.00</ListingSecurityPriceAccurate> <ListingCleaningFeeAccurate>0.00</ListingCleaningFeeAccurate> <ListingCancellationPayoutAccurate>32.33</ListingCancellationPayoutAccurate> <ListingCancellationHostFeeAccurate>5.70</ListingCancellationHostFeeAccurate> <ListingId>258963</ListingId> <Nights>1</Nights> <PassThroughTaxAmountPaidToHostAccurate>0.00</PassThroughTaxAmountPaidToHostAccurate> <StatusType>accept</StatusType> <ThreadId>987235321</ThreadId> <TotalPaidAmountAccurate>0.00</TotalPaidAmountAccurate> </Reservation>
{ "cancellationPolicyCategory": "moderate", "confirmationCode": "HMCBHD3SRW", "createdAt": "1/24/2021 6:14:35 PM", "updatedAt": "1/24/2021 6:39:12 PM", "bookedAt": "1/24/2021 6:39:12 PM", "startDate": "1/24/2021 12:00:00 AM", "endDate": "1/25/2021 12:00:00 AM", "guestDetails": { "adults": 2, "children": 0, "infants": 0 }, "guestEmail": "", "guestFirstName": "John", "guestId": "123456", "guestLastName": "Doe", "guestPhoneNumbers": [ "5554562" ], "guestPrefferedLocale": "el", "hostCurrency": "EUR", "hostId": "456789", "expectedPayoutAmountAccurate": "32.33", "listingBasePriceAccurate": "38.03", "listingHostFeeAccurate": "5.70", "listingSecurityPriceAccurate": "0.00", "listingCleaningFeeAccurate": "0.00", "listingCancellationPayoutAccurate": "32.33", "listingCancellationHostFeeAccurate": "5.70", "listingId": "25896", "specialOfferId": null, "nights": 1, "PassThroughTaxAmountPaidToHostAccurate": "0.00", "statusType": "accept", "standardFeesDetailsList": [], "threadId": "987235321", "totalPaidAmountAccurate": "0.00" }
Get the future reservations of a listing.
Response
The result is an array of Reservation objects.
Example Response
<?xml version="1.0"?> <Reservations> <Reservation> <CancellationPolicyCategory>moderate</CancellationPolicyCategory> <ConfirmationCode>HMCBHD3SRW</ConfirmationCode> <CreatedAt>1/24/2021 6:14:35 PM</CreatedAt> <UpdatedAt>1/24/2021 6:39:12 PM</UpdatedAt> <BookedAt>1/24/2021 6:39:12 PM</BookedAt> <StartDate>1/24/2021 12:00:00 AM</StartDate> <EndDate>1/25/2021 12:00:00 AM</EndDate> <GuestDetails> <Adults>2</Adults> <Children>0</Children> <Infants>0</Infants> </GuestDetails> <GuestEmail /> <GuestFirstName>John</GuestFirstName> <GuestId>123456</GuestId> <GuestLastName>Doe</GuestLastName> <GuestPhoneNumbers> <GuestPhoneNumber>5554536</GuestPhoneNumber> </GuestPhoneNumbers> <GuestPrefferedLocale>el</GuestPrefferedLocale> <HostCurrency>EUR</HostCurrency> <HostId>456789</HostId> <ExpectedPayoutAmountAccurate>32.33</ExpectedPayoutAmountAccurate> <ListingBasePriceAccurate>38.03</ListingBasePriceAccurate> <ListingHostFeeAccurate>5.70</ListingHostFeeAccurate> <ListingSecurityPriceAccurate>0.00</ListingSecurityPriceAccurate> <ListingCleaningFeeAccurate>0.00</ListingCleaningFeeAccurate> <ListingCancellationPayoutAccurate>32.33</ListingCancellationPayoutAccurate> <ListingCancellationHostFeeAccurate>5.70</ListingCancellationHostFeeAccurate> <ListingId>258963</ListingId> <Nights>1</Nights> <PassThroughTaxAmountPaidToHostAccurate>0.00</PassThroughTaxAmountPaidToHostAccurate> <StatusType>accept</StatusType> <ThreadId>987235321</ThreadId> <TotalPaidAmountAccurate>0.00</TotalPaidAmountAccurate> </Reservation> </Reservations>
[ { "cancellationPolicyCategory": "moderate", "confirmationCode": "HMCBHD3SRW", "createdAt": "1/24/2021 6:14:35 PM", "updatedAt": "1/24/2021 6:39:12 PM", "bookedAt": "1/24/2021 6:39:12 PM", "startDate": "1/24/2021 12:00:00 AM", "endDate": "1/25/2021 12:00:00 AM", "guestDetails": { "adults": 2, "children": 0, "infants": 0 }, "guestEmail": "", "guestFirstName": "John", "guestId": "123456", "guestLastName": "Doe", "guestPhoneNumbers": [ "5554562" ], "guestPrefferedLocale": "el", "hostCurrency": "EUR", "hostId": "456789", "expectedPayoutAmountAccurate": "32.33", "listingBasePriceAccurate": "38.03", "listingHostFeeAccurate": "5.70", "listingSecurityPriceAccurate": "0.00", "listingCleaningFeeAccurate": "0.00", "listingCancellationPayoutAccurate": "32.33", "listingCancellationHostFeeAccurate": "5.70", "listingId": "25896", "specialOfferId": null, "nights": 1, "PassThroughTaxAmountPaidToHostAccurate": "0.00", "statusType": "accept", "standardFeesDetailsList": [], "threadId": "987235321", "totalPaidAmountAccurate": "0.00" } ]
Notifications about asynchronous events.
All relevant notifications and their payload are described below. Tips:
Name | Type | Description |
---|---|---|
succeed | bool | Whether the notification was successfully received. |
failure_code | string | If succeed is false, this field has a value of null. It is reserved for future use. |
Example Response
{ "succeed" : true }
Sent when a listing's status is updated: approved or rejected.
Payload
Name | Type | Description |
---|---|---|
action | string | "ListingApprovalStatusChanged" |
hostId | string | The ID of the host. |
listingId | string | The listing ID. |
statusCategory | string | Listing status. One of "new", "ready for review", "approved", or "rejected". |
notes | string | Notes on the decision. |
Example
{ "hostId": "299211034", "listingId": "39237201", "statusCategory": "approved", "notes": null, "action": "ListingApprovalStatusChanged" }
Sent when a user switches the synchronization category.
Payload
Name | Type | Description |
---|---|---|
action | string | "ListingSynchronizationSettingsUpdated" |
hostId | string | The ID of the host. |
updates | [obj] | An array of Settings Update objects. |
Settings Update Object
Name | Type | Description |
---|---|---|
listingId | string | The listing ID. |
cyncCategory | string | Should always be "Limited". |
Example
{ "hostId": "299211034", "updates": [ { "listingId": "39237201", "syncCategory": "Limited" } ], "action": "ListingSynchronizationSettingsUpdated" }
Sent when a host has disconnected (or unlinked) their listing(s) from your application in order to manage them directly on Airbnb.
Payload
Name | Type | Description |
---|---|---|
action | string | "ListingsUnlinked" |
hostId | string | The ID of the host. |
listingIds | [string] | An array of the unlinked listing ID(s). |
Example
{ "hostId": "299211034", "listingIds": ["39237201"], "action": "ListingsUnlinked" }
Sent when a host has decided to revoke permission for your application to access the specified listings. Your application can no longer be used to manage these listings.If a host is not managing any listings with your application, the array of listing IDs will be empty. Otherwise, this payload is identical to the listings unlinked notification.
Payload
Name | Type | Description |
---|---|---|
action | string | "AuthorizationRevoked" |
hostId | string | The ID of the host. |
listingIds | [string] | An array of the revoked listing ID(s). |
Example
{ "hostId": "299211034", "listingIds": ["39237201"], "action": "AuthorizationRevoked" }
Notification is triggered when a listing is unlinked, taken down, suspended or otherwise removed.
Payload
Name | Type | Description |
---|---|---|
action | string | "ListingSuspension" |
listingId | string | The listing ID. |
restrictedCapabilityTypes | [string] | Associated capability types (restrictions). |
Listing Suspension Capability Types
Capability Type | Description |
---|---|
listing_searchable | Listing is not visible in search page. |
listing_visible | Listing is not visible on details page. |
activate_listing | Listing is not allowed to be activated. |
accept_reservation | Listing is not allowed to accept a reservation. |
Example
{ "listingId": "39237201", "restrictedCapabilityTypes": ["listing_visible", "listing_searchable"], "action": "ListingSuspension" }
Notification is triggered when a user gets suspended due to trust and safety or customer service concerns.
Payload
Name | Type | Description |
---|---|---|
action | string | "HostSuspension" |
hostId | string | The ID of the host. |
capabilityTypes | [string] | Associated capability types (restrictions). |
Host Suspension Capability Types
Capability Type | Description |
---|---|
login | Host is not allowed to log in. |
send_message | Host is not allowed to send messages. |
receive_payout | Host is blocked from receiving payouts. |
accept_reservation | Host is blocked from accepting reservation. |
create_listing | Host is blocked from creating new listings. |
listing_searchable | Listings are not visible on search page. |
listing_visible | Listings are not visible on details page. |
activate_listing | Host is not allowed to activate listings. |
make_payment | Host is blocked from making payments. |
ugc_visible | User generated content is hidden. |
message | Host is not allowed to send messages. |
review_visible | Host reviews are not visible. |
delete_account | User is not allowed to delete their own account. |
activate_us_listing_without_postal_verification | Listing can't be published until postal verification is complete. |
Example
{ "hostId": "299211034", "capabilityTypes": [ "listing_visible", "listing_searchable" ], "action": "HostSuspension" }
Notification is triggered when the host doesn’t accept the COVID-19 safety commitment. Failing to accept the safety commitment in time will block all of the host’s listing calendars and guests won’t be able to make a reservation until the host accepts the safety commitment through their Airbnb user account.
Payload
Name | Type | Description |
---|---|---|
action | string | "SafetyCommitmentSuspension" |
hostId | string | The host ID. |
capabilityTypeRestricted | string | "accept_reservation" |
message | string | "Because you didn't agree to the COVID-19 safety practices by the deadline of %{deadline_date}, your calendar is blocked and guests can't make future bookings." |
Example
{ "hostId": "299211034", "capabilityTypeRestricted": "accept_reservation", "message": "Because you didn't agree to the COVID-19 safety practices by the deadline of 2020-11-20, your calendar is blocked and guests can't make future bookings.", "action": "SafetyCommitmentSuspension" }
Notification is triggered when the host accepts the safety commitment. This will also unblock all of the host’s listing calendars and guests will be able to make reservations again.
Payload
Name | Type | Description |
---|---|---|
action | string | "SafetyCommitmentReactivation" |
hostId | string | The host ID. |
capabilityTypeReactivated | string | "accept_reservation" |
message | string | "Thank you for agreeing to the COVID-19 safety practices. Your calendar is unblocked and guests can make reservations." |
Example
{ "hostId": "299211034", "capabilityTypeReactivated": "accept_reservation", "message": "Thank you for agreeing to the COVID-19 safety practices. Your calendar is unblocked and guests can make reservations.", "action": "SafetyCommitmentReactivation" }
This notification is sent when Special Offers and pre-approvals are created, withdrawn, or expired using your application or through the Airbnb website.
Payload
Name | Type | Description |
---|---|---|
action | string | One of "SpecialOfferCreated", "SpecialOfferVoided". Voided means that the special offer has been withdrawn or expired. |
specialOfferId | string | The ID of the relevant special offer or preapproval. |
isActive | bool | Whether this special offer is still active or not. |
listingId | string | The ID of the listing associated with this offer. |
nights | int | The number of nights included in the offer. |
numberOfGuests | int | The number of guests included in the offer. |
offerType | string | Type of offer. Either "preapproval" or "special_offer". |
rescindedAt | string? | The time the offer was withdrawn, or null if the offer was not withdrawn. ISO-8601 format. |
startDate | string? | The beginning date of the offer. ISO-8601 format. |
threadId | string | The ID of the thread that received this offer. |
totalPrice | int | The total price of the offer in the listing's currency, including the cleaning fee and all standard fees. |
blockInstantBooking | bool | For Pre-approvals, the listing may or may not remain available while the guest is deciding. |
createdAt | string | The time the offer was sent. ISO-8601 format. |
expiresAt | string | The time the offer was set to expire. ISO-8601 format. |
numberOfAdults | int | The number of adults. |
numberOfChildren | int | The number of children. |
numberOfInfants | int | The number of infants. Infants are not calculated in the maximum number of guests. |
Example
{ "blockInstantBooking": false, "createdAt": "2021-03-08T06:24:05Z", "expiresAt": "2021-03-09T06:24:05Z", "numberOfAdults": 6, "numberOfChildren": 0, "numberOfInfants": 0, "specialOfferId": "230610054", "isActive": true, "listingId": "39237201", "nights": 4, "numberOfGuests": 0, "offerType": "preapproval", "rescindedAt": null, "startDate": "2021-10-23", "threadId": "1005375462", "totalPrice": "944", "action": "SpecialOfferCreated" }
This notification is sent when a new reservation is requested or when a reservation request is voided. This notification is not sent for when a reservation alteration request is received.
Payload
Name | Type | Description |
---|---|---|
action | string | "ReservationRequested" or "ReservationRequestVoided" |
messageToHost | string? | If the action is "reservation_requested", this field will contain the message from the guest that was sent with the request. |
reservation | obj | Notification Reservation object |
Name | Type | Description |
---|---|---|
cancellationPolicyCategory | string | The cancellation policy category. |
confirmationCode | string | Confirmation code (10 chars). |
createdAt | string? | The time that the guest initiated the reservation / entered the checkout page. |
updatedAt | string? | The time this reservation was last updated. |
bookedAt | string? | The time the reservation was confirmed / entered the accepted state. |
startDate | string | The beginning of the reservation. |
endDate | string | The end of the reservation. |
guestDetails | obj | Details of guests. |
guestEmail | string | Anonymized guest email. |
guestFirstName | string | Guest's first name. |
guestId | string | Guest's Airbnb ID. |
guestLastName | string | Guest's last name. |
guestPhoneNumbers | [string] | Array of Guest's phone numbers. |
guestPrefferedLocale | string | Guest's preferred locale. |
hostCurrency | string | The currency of the amount this in which reservation is quoted. |
hostId | string | Host's Airbnb ID. |
expectedPayoutAmountAccurate | string | Amount paid to Host for reservation, in Host's currency. |
listingBasePriceAccurate | string | Reservation price without fees. |
listingHostFeeAccurate | string | Airbnb service fee charged to host without VAT. |
listingSecurityPriceAccurate | string | Amount of security deposit. |
listingCleaningFeeAccurate | string | Amount of cleaning fee. |
listingCancellationPayoutAccurate | string | Amount paid to the Host in case of cancellation. Defaults to 0 unless the reservation was cancelled. If cancelled by Host, this is 0. |
listingCancellationHostFeeAccurate | string | The Host fee paid to Airbnb if reservation is canceled. If canceled by host, this value is 0. |
listingId | string | Listing's Airbnb ID. |
specialOfferId | string | The id of the relevant Special Offer or pre-approval. If none, this vaue is null. |
nights | int | Number of nights. |
PassThroughTaxAmountPaidToHostAccurate | string | The tax amount passed back to hosts who are using Occupancy Taxes. This amount must be remitted to the appropriate tax authorities. |
statusType | string | The status of this reservation at the time it was retrieved. |
standardFeesDetailsList | [obj] | The standard fees applied to the reservation. |
threadId | string | ID of the message thread asscoicated with reservation to use for Messaging API. |
totalPaidAmountAccurate | string | The cumulative sum of all payouts (consolidated of past and current) that have been released to the Host. |
Example
{ "reservation": { "cancellationPolicyCategory": "moderate", "confirmationCode": "HMM2JEHBPQ", "createdAt": "2021-02-25T22:06:42Z", "updatedAt": "2021-02-25T22:18:31Z", "bookedAt": null, "startDate": "2021-02-26", "endDate": "2021-02-27", "guestDetails": { "adults": 3, "children": 0, "infants": 0 }, "guestEmail": "test-hrpww2azmdwtpkzc@guest.airbnb.com", "guestFirstName": "test", "guestId": "242492608", "guestLastName": "test", "guestPhoneNumbers": [ "30694123456789" ], "guestPrefferedLocale": "el", "hostCurrency": "EUR", "hostId": "299211034", "expectedPayoutAmountAccurate": "91.88", "listingBasePriceAccurate": "89.10", "listingHostFeeAccurate": "16.22", "listingSecurityPriceAccurate": "0.00", "listingCleaningFeeAccurate": "19.00", "listingCancellationPayoutAccurate": "91.88", "listingCancellationHostFeeAccurate": "16.22", "listingId": "39237201", "specialOfferId": null, "nights": 1, "PassThroughTaxAmountPaidToHostAccurate": "0.00", "statusType": "pending_voided", "standardFeesDetailsList": [], "threadId": "1000736918", "totalPaidAmountAccurate": "0.00" }, "messageToHost": null, "action": "ReservationRequestVoided" }
Reservation notifications are a critical element of API integration. Sent when a new reservation is confirmed, when a confirmed reservation is altered by guest or host, or the reservation is cancelled.Multiple cancellation notifications might be sent for the same reservation if the cancellation type changes. A change in the cancellation type is important because it may affect the payout amount.
Payload
Name | Type | Description |
---|---|---|
action | string | One of "ReservationAcceptanceConfirmation", "ReservationCancellationConfirmation", "ReservationAlterationConfirmation" |
reservation | [obj] | Reservation object |
Example
{ "reservation": { "cancellationPolicyCategory": "moderate", "confirmationCode": "HMSHYFH3AK", "createdAt": "2021-03-06T14:45:18Z", "updatedAt": "2021-03-06T16:22:48Z", "bookedAt": "2021-03-06T14:49:59Z", "startDate": "2021-03-06T00:00:00", "endDate": "2021-03-07T00:00:00", "guestDetails": { "adults": 2, "children": 0, "infants": 0 }, "guestEmail": "test-lhbtjn5aru2jtb58@guest.airbnb.com", "guestFirstName": "test", "guestId": "348563651", "guestLastName": "test", "guestPhoneNumbers": ["123456789"], "guestPrefferedLocale": "es", "hostCurrency": "EUR", "hostId": "299211034", "expectedPayoutAmountAccurate": "27.07", "listingBasePriceAccurate": "26.85", "listingHostFeeAccurate": "4.78", "listingSecurityPriceAccurate": "0.00", "listingCleaningFeeAccurate": "5.00", "listingCancellationPayoutAccurate": "27.07", "listingCancellationHostFeeAccurate": "4.78", "listingId": "39237201", "specialOfferId": null, "nights": 1, "PassThroughTaxAmountPaidToHostAccurate": "0.00", "statusType": "cancelled_by_guest", "standardFeesDetailsList": [], "threadId": "1004715967", "totalPaidAmountAccurate": "0.00" }, "action": "ReservationCancellationConfirmation" }
A notification is sent when we release payouts to hosts, which normally occurs approximately 24 hours after check-in.
Payload
Name | Type | Description |
---|---|---|
action | string | "PayoutNotification" |
confirmedAt | int | A timestamp formatted in Unix time. |
reservation | [obj] | Reservation object |
Example
{ "confirmedAt": 1615172200, "reservation": { "cancellationPolicyCategory": "tiered_pricing_non_refundable", "confirmationCode": "HMFFH582BT", "createdAt": "2021-01-06T07:00:21Z", "updatedAt": "2021-01-06T07:03:04Z", "bookedAt": "2021-01-06T07:03:04Z", "startDate": "2021-02-18T00:00:00", "endDate": "2021-02-19T00:00:00", "guestDetails": { "adults": 5, "children": 0, "infants": 0 }, "guestEmail": "", "guestFirstName": "test", "guestId": "220593249", "guestLastName": "test", "guestPhoneNumbers": ["64212608292"], "guestPrefferedLocale": "en", "hostCurrency": "NZD", "hostId": "299211034", "expectedPayoutAmountAccurate": "218.02", "listingBasePriceAccurate": "256.50", "listingHostFeeAccurate": "38.48", "listingSecurityPriceAccurate": "0.00", "listingCleaningFeeAccurate": "0.00", "listingCancellationPayoutAccurate": "218.02", "listingCancellationHostFeeAccurate": "38.48", "listingId": "39237201", "specialOfferId": null, "nights": 1, "PassThroughTaxAmountPaidToHostAccurate": "0.00", "statusType": "accept", "standardFeesDetailsList": [], "threadId": "980215446", "totalPaidAmountAccurate": "218.02" }, "action": "PayoutNotification" }
Notifications triggered by review events.
Payload
Name | Type | Description |
---|---|---|
action | string | One of "ReviewCreated", "ReviewSubmitted", "ReviewPublished", "ReviewExpired", "ReviewResponseSubmitted" |
reviewId | string | The ID number of this review. |
reviewerRole | string | Role of the reviewer. |
reviewerΙd | string | User ID of the reviewer. |
revieweeRole | string | Role of the reviewee. |
revieweeId | string | User ID of the reviewee. |
listingId | string | Id of the listing. Note that the listingId is not present on host-to-guest review notifications. |
reservationConfirmationCode | string | Reservation unique identifier. |
hidden | bool | Hidden reviews do not appear in search results by default. All reviews are hidden until submitted. |
submitted | bool | Indicates whether this review has been submitted. |
overallRating | int | Guest rates the overall quality of the stay. Valid values are 1-5, 5 being highest. |
publicReview | string | Public comment left by reviewer. |
privateFeedback | string | Private comment left by reviewer. This information is not publicly visible. It is often used to offer suggestions for improvement. |
revieweeResponse | string | Reviewee's response to the review. |
categoryRatings | [obj] | List of all category ratings for the reservation associated with this review. |
Name | Type | Description |
---|---|---|
category | string | For host-to-guest reviews, one of cleanliness, communication, respect_house_rules. For guest-to-host reviews, one of accuracy, cleanliness, checkin, communication, location, value. |
rating | int | A rating from scale of 1 to 5, 5 being highest. |
comment | string? | Explanation for the rating if < 5 stars. |
Example
{ "reviewId": "736203919", "reviewerRole": "guest", "reviewerId": "312116019", "revieweeRole": "host", "revieweeId": "299211034", "listingId": "39237201", "reservationConfirmationCode": "HM4QWDYJE8", "hidden": false, "submitted": true, "overallRating": 5, "publicReview": "Very nice and quiet area, close to the airport and stylish space. Breakfast was wonderful as well.", "privateFeedback": "Thank you for hosting us! We enjoyed our stay. -Anni & Cole", "revieweeResponse": "Thank you very much for your kind feedback. We appreciate your positive review.", "categoryRatings": [ { "category": "value", "rating": 5, "comment": null } ], "expiresAt": "2021-03-18T12:59:05.615Z", "firstCompletedAt": "2021-03-05T08:00:50.932Z", "submittedAt": "2021-03-05T08:04:48.688Z", "respondedAt": "2021-03-05T08:52:48.000Z", "action": "ReviewResponseSubmitted" }
A call will be made right after the guest clicks to submit the booking on the checkout screen. If this call fails, the guest is informed that the dates for the reservation are no longer available.
Payload
Name | Type | Description |
---|---|---|
action | string | "CheckAvailability" |
startDate | string | The reservation start date, in ISO 8601 YYYY-MM-DD format. |
nights | int | The number of nights in the reservation. |
listingId | int | The Airbnb Listing ID. |
Example
{ "action": "CheckAvailability", "startDate": "2021-03-23", "nights": 2, "listingId": "39237201" }
A call to will be made right after the guest clicks to submit the booking on the checkout screen. If this call fails, the guest is informed that the dates for the reservation are no longer available.
Payload
Name | Type | Description |
---|---|---|
action | string | "MakeReservation" |
confirmationCode | string | Unique identifier of the reservation. |
startDate | string | The reservation start date, in ISO 8601 YYYY-MM-DD format. |
nights | string | The number of nights in the reservation. |
listingId | string | The Airbnb listing ID. |
numberOfGuests | string | The number of guests for the reservation. |
guestDetails | obj | Guest Details object. |
listingBasePrice | string | The reservation price. |
guestId | string | The Airbnb user ID of the guest booking this reservation. |
specialOfferId | string? | The id of the special offer if the reservation was initiated through an offer. If not, this value is null. |
Name | Type | Description |
---|---|---|
localizedDescription | string | Description. |
adults | int | Number of adults. |
children | int | Number of children. |
infants | int | Number of infants. |
Example
{ "action": "MakeReservation", "confirmationCode": "8QA2BP", "guestDetails": { "localizedDescription": "1 guest", "adults": 1, "children": 0, "infants": 0 }, "guestId": "1111", "listingBasePrice": "477.0", "listingId": "39237201", "nights": "3", "numberOfGuests": "1", "specialOfferId": null, "startDate": "2021-04-01" }
The Update Reservation call happens once both the guest and the host have accepted the alteration on Airbnb. At this point, your application should check if the alteration is possible based on the most up-to-date calendar. Only check the daily availability, as the host and guest may have agreed on a set of dates that doesn't match the standard availability rules, such as the minimum length of stay.
Payload
Name | Type | Description |
---|---|---|
action | string | "UpdateReservation" |
confirmationCode | string | Unique identifier of the reservation. |
startDate | string | The reservation start date, in ISO 8601 YYYY-MM-DD format. |
nights | string | The number of nights in the reservation. |
listingId | string | The Airbnb listing ID. |
numberOfGuests | string | The number of guests for the reservation. |
listingBasePrice | string | The reservation price. |
Example
{ "action": "UpdateReservation", "confirmationCode": "HMQQSCW895", "startDate": "2021-05-27", "nights": "3", "listingId": "39237201", "numberOfGuests": "3", "listingBasePrice": "630" }