From f4f4ed85b0ee5dfba0277f7caefb59f7b967215f Mon Sep 17 00:00:00 2001
From: anssari1 <3754234+anssari1@users.noreply.github.com>
Date: Wed, 19 Feb 2025 08:39:06 +0000
Subject: [PATCH] chore: Publish v5.4.0-SNAPSHOT
---
code/README.md | 2 +-
code/pom.xml | 6 +-
.../provider/LogMaskingRegexProvider.kt | 27 +-
.../sdk/rapid/client/RapidClient.kt | 4126 ++++++++++----
.../sdk/rapid/models/AmenityReference.kt | 113 +
.../sdk/rapid/models/AttributeReference.kt | 113 +
.../rapid/models/ChangeRoomDetailsRequest.kt | 1 +
.../models/CreateItineraryRequestRoom.kt | 1 +
.../sdk/rapid/models/ImageReference.kt | 103 +
.../sdk/rapid/models/RoomItinerary.kt | 1 +
.../sdk/rapid/models/StatisticReference.kt | 113 +
.../rapid/models/exception/ApiException.kt | 181 +
.../GetAmenitiesReferenceOperation.kt | 35 +
.../GetAmenitiesReferenceOperationLink.kt | 16 +
.../GetAmenitiesReferenceOperationParams.kt | 177 +
.../GetCategoriesReferenceOperation.kt | 35 +
.../GetCategoriesReferenceOperationLink.kt | 16 +
.../GetCategoriesReferenceOperationParams.kt | 177 +
.../operations/GetChainReferenceOperation.kt | 3 +-
.../operations/GetChainsReferenceOperation.kt | 35 +
.../GetChainsReferenceOperationLink.kt | 16 +
.../GetChainsReferenceOperationParams.kt | 161 +
.../GetGeneralAttributesReferenceOperation.kt | 35 +
...GeneralAttributesReferenceOperationLink.kt | 16 +
...neralAttributesReferenceOperationParams.kt | 177 +
.../operations/GetImagesReferenceOperation.kt | 35 +
.../GetImagesReferenceOperationLink.kt | 16 +
.../GetImagesReferenceOperationParams.kt | 177 +
...GetOnsitePaymentTypesReferenceOperation.kt | 35 +
...nsitePaymentTypesReferenceOperationLink.kt | 16 +
...itePaymentTypesReferenceOperationParams.kt | 177 +
.../GetPetAttributesReferenceOperation.kt | 35 +
.../GetPetAttributesReferenceOperationLink.kt | 16 +
...etPetAttributesReferenceOperationParams.kt | 177 +
.../GetRateAmenitiesReferenceOperation.kt | 35 +
.../GetRateAmenitiesReferenceOperationLink.kt | 16 +
...etRateAmenitiesReferenceOperationParams.kt | 177 +
.../GetRoomAmenitiesReferenceOperation.kt | 35 +
.../GetRoomAmenitiesReferenceOperationLink.kt | 16 +
...etRoomAmenitiesReferenceOperationParams.kt | 177 +
.../GetRoomImagesReferenceOperation.kt | 35 +
.../GetRoomImagesReferenceOperationLink.kt | 16 +
.../GetRoomImagesReferenceOperationParams.kt | 177 +
.../GetRoomViewsReferenceOperation.kt | 35 +
.../GetRoomViewsReferenceOperationLink.kt | 16 +
.../GetRoomViewsReferenceOperationParams.kt | 177 +
.../GetSpokenLanguagesReferenceOperation.kt | 35 +
...etSpokenLanguagesReferenceOperationLink.kt | 16 +
...SpokenLanguagesReferenceOperationParams.kt | 177 +
.../GetStatisticsReferenceOperation.kt | 35 +
.../GetStatisticsReferenceOperationLink.kt | 16 +
.../GetStatisticsReferenceOperationParams.kt | 177 +
.../operations/GetThemesReferenceOperation.kt | 35 +
.../GetThemesReferenceOperationLink.kt | 16 +
.../GetThemesReferenceOperationParams.kt | 177 +
code/transformedSpecs.yaml | 4862 ++++++++++++++---
56 files changed, 10880 insertions(+), 1948 deletions(-)
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/models/AmenityReference.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/models/AttributeReference.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/models/ImageReference.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/models/StatisticReference.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperationParams.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperation.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperationLink.kt
create mode 100644 code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperationParams.kt
diff --git a/code/README.md b/code/README.md
index 765db25234..623a4fbace 100644
--- a/code/README.md
+++ b/code/README.md
@@ -5,7 +5,7 @@
com.expediagrouprapid-sdk
- 5.3.2
+ 5.4.0-SNAPSHOT
```
diff --git a/code/pom.xml b/code/pom.xml
index c551f19c70..c5c72019d0 100644
--- a/code/pom.xml
+++ b/code/pom.xml
@@ -4,9 +4,9 @@
4.0.0com.expediagrouprapid-sdk
- 5.3.2
+ 5.4.0-SNAPSHOTEG rapid-sdk for Java
- EG rapid-sdk v5.3.2
+ EG rapid-sdk v5.4.0-SNAPSHOThttps://github.com/ExpediaGroup/test-sdk2022jar
@@ -79,7 +79,7 @@
1.2.14.61.6.0
- 2.1.0
+ 2.1.101.10.13.0.30.27.0
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/core/constant/provider/LogMaskingRegexProvider.kt b/code/src/main/kotlin/com/expediagroup/sdk/core/constant/provider/LogMaskingRegexProvider.kt
index 9422980213..915b962f05 100644
--- a/code/src/main/kotlin/com/expediagroup/sdk/core/constant/provider/LogMaskingRegexProvider.kt
+++ b/code/src/main/kotlin/com/expediagroup/sdk/core/constant/provider/LogMaskingRegexProvider.kt
@@ -16,19 +16,38 @@
package com.expediagroup.sdk.core.constant.provider
internal object LogMaskingRegexProvider {
+ /**
+ * Generates a regex pattern to match specified fields in a JSON string.
+ *
+ * @param maskedBodyFields the set of fields to be masked
+ * @param valueToMatch regex pattern to match the value of the fields. Default: match any sequence of characters except double quotes.
+ * @return the regex pattern to match the specified fields and their values
+ */
fun getMaskedFieldsRegex(
maskedBodyFields: Set,
- value: String = "[^\\\"]+"
+ valueToMatch: String = "[^\\\"]+"
): Regex {
val fields = maskedBodyFields.joinToString("|")
- return "\"($fields)(\\\\*\"\\s*:\\s*\\\\*\")$value(?:\\\\?\"|)".toRegex()
+ // The pattern matches:
+ // - The field name (one of the specified fields) captured in group 1.
+ // - Optional backslash, closing double quotes, colon(:), optional whitespace, and opening double quotes.
+ // - The value of the field, matching the specified valueToMatch pattern.
+ // - Optional backslash, followed by a closing double quote
+ return "\"($fields)(\\\\?\"\\s*:\\s*\\\\*\")$valueToMatch(?:\\\\?\")".toRegex()
}
+ /**
+ * Generates a regex pattern to match a specified field in a JSON string.
+ *
+ * @param maskedBodyField the field to be masked
+ * @param valueToMatch regex pattern to match the value of the field. Default: match any sequence of characters except double quotes.
+ * @return the regex pattern to match the specified field and its value
+ */
fun getMaskedFieldsRegex(
maskedBodyField: String,
- value: String = "[^\\\"]+"
+ valueToMatch: String = "[^\\\"]+"
): Regex {
val fields = setOf(maskedBodyField)
- return getMaskedFieldsRegex(fields, value)
+ return getMaskedFieldsRegex(fields, valueToMatch)
}
}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/client/RapidClient.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/client/RapidClient.kt
index 20de3f7b4e..067f4d0673 100644
--- a/code/src/main/kotlin/com/expediagroup/sdk/rapid/client/RapidClient.kt
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/client/RapidClient.kt
@@ -42,18 +42,32 @@ import com.expediagroup.sdk.rapid.operations.DeleteRoomOperation
import com.expediagroup.sdk.rapid.operations.DeleteRoomOperationParams
import com.expediagroup.sdk.rapid.operations.GetAdditionalAvailabilityOperation
import com.expediagroup.sdk.rapid.operations.GetAdditionalAvailabilityOperationParams
+import com.expediagroup.sdk.rapid.operations.GetAmenitiesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetAmenitiesReferenceOperationParams
import com.expediagroup.sdk.rapid.operations.GetAvailabilityOperation
import com.expediagroup.sdk.rapid.operations.GetAvailabilityOperationParams
import com.expediagroup.sdk.rapid.operations.GetBookingReceiptOperation
import com.expediagroup.sdk.rapid.operations.GetBookingReceiptOperationParams
import com.expediagroup.sdk.rapid.operations.GetCalendarAvailabilityOperation
import com.expediagroup.sdk.rapid.operations.GetCalendarAvailabilityOperationParams
+import com.expediagroup.sdk.rapid.operations.GetCategoriesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetCategoriesReferenceOperationParams
import com.expediagroup.sdk.rapid.operations.GetChainReferenceOperation
import com.expediagroup.sdk.rapid.operations.GetChainReferenceOperationParams
+import com.expediagroup.sdk.rapid.operations.GetChainsReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetChainsReferenceOperationParams
+import com.expediagroup.sdk.rapid.operations.GetGeneralAttributesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetGeneralAttributesReferenceOperationParams
+import com.expediagroup.sdk.rapid.operations.GetImagesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetImagesReferenceOperationParams
import com.expediagroup.sdk.rapid.operations.GetInactivePropertiesOperation
import com.expediagroup.sdk.rapid.operations.GetInactivePropertiesOperationParams
+import com.expediagroup.sdk.rapid.operations.GetOnsitePaymentTypesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetOnsitePaymentTypesReferenceOperationParams
import com.expediagroup.sdk.rapid.operations.GetPaymentOptionsOperation
import com.expediagroup.sdk.rapid.operations.GetPaymentOptionsOperationParams
+import com.expediagroup.sdk.rapid.operations.GetPetAttributesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetPetAttributesReferenceOperationParams
import com.expediagroup.sdk.rapid.operations.GetPropertyCatalogFileOperation
import com.expediagroup.sdk.rapid.operations.GetPropertyCatalogFileOperationParams
import com.expediagroup.sdk.rapid.operations.GetPropertyContentFileOperation
@@ -62,6 +76,8 @@ import com.expediagroup.sdk.rapid.operations.GetPropertyContentOperation
import com.expediagroup.sdk.rapid.operations.GetPropertyContentOperationParams
import com.expediagroup.sdk.rapid.operations.GetPropertyGuestReviewsOperation
import com.expediagroup.sdk.rapid.operations.GetPropertyGuestReviewsOperationParams
+import com.expediagroup.sdk.rapid.operations.GetRateAmenitiesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetRateAmenitiesReferenceOperationParams
import com.expediagroup.sdk.rapid.operations.GetRegionOperation
import com.expediagroup.sdk.rapid.operations.GetRegionOperationParams
import com.expediagroup.sdk.rapid.operations.GetRegionsOperation
@@ -70,6 +86,18 @@ import com.expediagroup.sdk.rapid.operations.GetReservationByItineraryIdOperatio
import com.expediagroup.sdk.rapid.operations.GetReservationByItineraryIdOperationParams
import com.expediagroup.sdk.rapid.operations.GetReservationOperation
import com.expediagroup.sdk.rapid.operations.GetReservationOperationParams
+import com.expediagroup.sdk.rapid.operations.GetRoomAmenitiesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetRoomAmenitiesReferenceOperationParams
+import com.expediagroup.sdk.rapid.operations.GetRoomImagesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetRoomImagesReferenceOperationParams
+import com.expediagroup.sdk.rapid.operations.GetRoomViewsReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetRoomViewsReferenceOperationParams
+import com.expediagroup.sdk.rapid.operations.GetSpokenLanguagesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetSpokenLanguagesReferenceOperationParams
+import com.expediagroup.sdk.rapid.operations.GetStatisticsReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetStatisticsReferenceOperationParams
+import com.expediagroup.sdk.rapid.operations.GetThemesReferenceOperation
+import com.expediagroup.sdk.rapid.operations.GetThemesReferenceOperationParams
import com.expediagroup.sdk.rapid.operations.PostGeographyOperation
import com.expediagroup.sdk.rapid.operations.PostGeographyOperationParams
import com.expediagroup.sdk.rapid.operations.PostItineraryOperation
@@ -896,6 +924,127 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
}
+ /**
+ * Amenities Reference
+ * Returns a complete collection of amenities available in the Rapid API.
+ * @param operation [GetAmenitiesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ fun execute(operation: GetAmenitiesReferenceOperation): Response> =
+ execute>(operation)
+
+ /**
+ * Amenities Reference
+ * Returns a complete collection of amenities available in the Rapid API.
+ * @param operation [GetAmenitiesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
+ */
+ fun executeAsync(operation: GetAmenitiesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
+
+ private suspend inline fun kgetAmenitiesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ val params =
+ GetAmenitiesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetAmenitiesReferenceOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Amenities Reference
+ * Returns a complete collection of amenities available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetAmenitiesReferenceOperation)"))
+ fun getAmenitiesReference(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): kotlin.collections.Map = getAmenitiesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Amenities Reference
+ * Returns a complete collection of amenities available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetAmenitiesReferenceOperation)"))
+ fun getAmenitiesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetAmenitiesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
/**
* Get property room rates and availability
* Returns rates on available room types for specified properties (maximum of 250 properties per request). The response includes rate details such as promos, whether the rate is refundable, cancellation penalties and a full price breakdown to meet the price display requirements for your market. _Note_: If there are no available rooms, the response will be an empty array. * Multiple rooms of the same type may be requested by including multiple instances of the `occupancy` parameter. * The `nightly` array includes each individual night's charges. When the total price includes fees, charges, or adjustments that are not divided by night, these amounts will be included in the `stay` rate array, which details charges applied to the entire stay (each check-in).
@@ -1449,25 +1598,27 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Chain Reference
- * Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
- * @param operation [GetChainReferenceOperation]
+ * Categories Reference
+ * Returns a complete collection of categories available in the Rapid API.
+ * @param operation [GetCategoriesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.Map
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
- fun execute(operation: GetChainReferenceOperation): Response> = execute>(operation)
+ fun execute(operation: GetCategoriesReferenceOperation): Response> =
+ execute>(operation)
/**
- * Chain Reference
- * Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
- * @param operation [GetChainReferenceOperation]
+ * Categories Reference
+ * Returns a complete collection of categories available in the Rapid API.
+ * @param operation [GetCategoriesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
*/
- fun executeAsync(operation: GetChainReferenceOperation): CompletableFuture>> =
- executeAsync>(operation)
+ fun executeAsync(operation: GetCategoriesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
- private suspend inline fun kgetChainReferenceWithResponse(
+ private suspend inline fun kgetCategoriesReferenceWithResponse(
+ language: kotlin.String,
customerSessionId: kotlin.String? =
null,
billingTerms: kotlin.String? =
@@ -1478,10 +1629,11 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
val params =
- GetChainReferenceOperationParams(
+ GetCategoriesReferenceOperationParams(
customerSessionId = customerSessionId,
+ language = language,
billingTerms = billingTerms,
partnerPointOfSale = partnerPointOfSale,
paymentTerms = paymentTerms,
@@ -1489,7 +1641,7 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
)
val operation =
- GetChainReferenceOperation(
+ GetCategoriesReferenceOperation(
params
)
@@ -1497,22 +1649,24 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Chain Reference
- * Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
+ * Categories Reference
+ * Returns a complete collection of categories available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return kotlin.collections.Map
+ * @return kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetChainReferenceOperation)"))
- fun getChainReference(
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetCategoriesReferenceOperation)"))
+ fun getCategoriesReference(
+ language: kotlin.String,
customerSessionId: kotlin.String? =
null,
billingTerms: kotlin.String? =
@@ -1523,25 +1677,27 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): kotlin.collections.Map = getChainReferenceWithResponse(customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+ ): kotlin.collections.Map = getCategoriesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
/**
- * Chain Reference
- * Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
+ * Categories Reference
+ * Returns a complete collection of categories available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.Map
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetChainReferenceOperation)"))
- fun getChainReferenceWithResponse(
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetCategoriesReferenceOperation)"))
+ fun getCategoriesReferenceWithResponse(
+ language: kotlin.String,
customerSessionId: kotlin.String? =
null,
billingTerms: kotlin.String? =
@@ -1552,10 +1708,10 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetChainReferenceWithResponse(customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ kgetCategoriesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
}.get()
} catch (exception: Exception) {
exception.handle()
@@ -1563,31 +1719,27 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Inactive Properties
- * Request a list of properties that are inactive because they have been removed from sale since a specified date.
When there are a large number of properties in the response, it will be paginated. See the `Link` header in the 200 response section.
- * @param operation [GetInactivePropertiesOperation]
+ * Chain Reference ***DEPRECATED***
+ * ***DEPRECATED*** Please use `/references/chains` Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
+ * @param operation [GetChainReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.List
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
- fun execute(operation: GetInactivePropertiesOperation): Response> = execute>(operation)
+ fun execute(operation: GetChainReferenceOperation): Response> = execute>(operation)
/**
- * Inactive Properties
- * Request a list of properties that are inactive because they have been removed from sale since a specified date.
When there are a large number of properties in the response, it will be paginated. See the `Link` header in the 200 response section.
- * @param operation [GetInactivePropertiesOperation]
+ * Chain Reference ***DEPRECATED***
+ * ***DEPRECATED*** Please use `/references/chains` Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
+ * @param operation [GetChainReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type kotlin.collections.List
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
*/
- fun executeAsync(operation: GetInactivePropertiesOperation): CompletableFuture>> =
- executeAsync>(operation)
+ fun executeAsync(operation: GetChainReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
- private suspend inline fun kgetInactivePropertiesWithResponse(
+ private suspend inline fun kgetChainReferenceWithResponse(
customerSessionId: kotlin.String? =
null,
- since: kotlin.String? =
- null,
- token: kotlin.String? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -1596,12 +1748,10 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
val params =
- GetInactivePropertiesOperationParams(
+ GetChainReferenceOperationParams(
customerSessionId = customerSessionId,
- since = since,
- token = token,
billingTerms = billingTerms,
partnerPointOfSale = partnerPointOfSale,
paymentTerms = paymentTerms,
@@ -1609,7 +1759,7 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
)
val operation =
- GetInactivePropertiesOperation(
+ GetChainReferenceOperation(
params
)
@@ -1617,30 +1767,24 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Inactive Properties
- * Request a list of properties that are inactive because they have been removed from sale since a specified date.
When there are a large number of properties in the response, it will be paginated. See the `Link` header in the 200 response section.
+ * Chain Reference ***DEPRECATED***
+ * ***DEPRECATED*** Please use `/references/chains` Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param since Required on initial call, not accepted on subsequent paging links provided in response header. The earliest date that a property became inactive to include in the results. ISO 8601 format (YYYY-MM-DD) (optional)
- * @param token Only used for requesting additional pages of data. Provided by the `next` URL in the `Link` response header. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return kotlin.collections.List
+ * @return kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetInactivePropertiesOperation)"))
- fun getInactiveProperties(
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetChainReferenceOperation)"))
+ fun getChainReference(
customerSessionId: kotlin.String? =
null,
- since: kotlin.String? =
- null,
- token: kotlin.String? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -1649,33 +1793,27 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): kotlin.collections.List = getInactivePropertiesWithResponse(customerSessionId, since, token, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+ ): kotlin.collections.Map = getChainReferenceWithResponse(customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
/**
- * Inactive Properties
- * Request a list of properties that are inactive because they have been removed from sale since a specified date.
When there are a large number of properties in the response, it will be paginated. See the `Link` header in the 200 response section.
+ * Chain Reference ***DEPRECATED***
+ * ***DEPRECATED*** Please use `/references/chains` Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param since Required on initial call, not accepted on subsequent paging links provided in response header. The earliest date that a property became inactive to include in the results. ISO 8601 format (YYYY-MM-DD) (optional)
- * @param token Only used for requesting additional pages of data. Provided by the `next` URL in the `Link` response header. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.List
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetInactivePropertiesOperation)"))
- fun getInactivePropertiesWithResponse(
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetChainReferenceOperation)"))
+ fun getChainReferenceWithResponse(
customerSessionId: kotlin.String? =
null,
- since: kotlin.String? =
- null,
- token: kotlin.String? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -1684,31 +1822,38 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetInactivePropertiesWithResponse(customerSessionId, since, token, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ kgetChainReferenceWithResponse(customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
}.get()
} catch (exception: Exception) {
exception.handle()
}
}
- @JvmOverloads
- fun getPaginator(operation: GetInactivePropertiesOperation): ResponsePaginator> {
- val response = execute(operation)
- return ResponsePaginator(this, response, emptyList()) { it.body>() }
- }
+ /**
+ * Chains Reference
+ * Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
+ * @param operation [GetChainsReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ fun execute(operation: GetChainsReferenceOperation): Response> = execute>(operation)
- @JvmOverloads
- @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetInactivePropertiesOperation)"))
- fun getInactivePropertiesPaginator(
+ /**
+ * Chains Reference
+ * Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
+ * @param operation [GetChainsReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
+ */
+ fun executeAsync(operation: GetChainsReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
+
+ private suspend inline fun kgetChainsReferenceWithResponse(
customerSessionId: kotlin.String? =
null,
- since: kotlin.String? =
- null,
- token: kotlin.String? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -1717,20 +1862,43 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Paginator> {
- val response = getInactivePropertiesWithResponse(customerSessionId, since, token, billingTerms, partnerPointOfSale, paymentTerms, platformName)
- return Paginator(this, response, emptyList()) { it.body>() }
+ ): Response> {
+ val params =
+ GetChainsReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetChainsReferenceOperation(
+ params
+ )
+
+ return execute(operation)
}
+ /**
+ * Chains Reference
+ * Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
@JvmOverloads
- @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetInactivePropertiesOperation)"))
- fun getInactivePropertiesPaginatorWithResponse(
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetChainsReferenceOperation)"))
+ fun getChainsReference(
customerSessionId: kotlin.String? =
null,
- since: kotlin.String? =
- null,
- token: kotlin.String? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -1739,103 +1907,39 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): ResponsePaginator> {
- val response = getInactivePropertiesWithResponse(customerSessionId, since, token, billingTerms, partnerPointOfSale, paymentTerms, platformName)
- return ResponsePaginator(this, response, emptyList()) { it.body>() }
- }
+ ): kotlin.collections.Map = getChainsReferenceWithResponse(customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
/**
- * Get Accepted Payment Types - EPS MOR Only
- * Returns the accepted payment options. Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
- * @param operation [GetPaymentOptionsOperation]
- * @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type PaymentOption
- */
- fun execute(operation: GetPaymentOptionsOperation): Response = execute(operation)
-
- /**
- * Get Accepted Payment Types - EPS MOR Only
- * Returns the accepted payment options. Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
- * @param operation [GetPaymentOptionsOperation]
- * @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type PaymentOption
- */
- fun executeAsync(operation: GetPaymentOptionsOperation): CompletableFuture> = executeAsync(operation)
-
- private suspend inline fun kgetPaymentOptionsWithResponse(
- propertyId: kotlin.String,
- token: kotlin.String,
- customerIp: kotlin.String? =
- null,
- customerSessionId: kotlin.String? =
- null
- ): Response {
- val params =
- GetPaymentOptionsOperationParams(
- propertyId = propertyId,
- customerIp = customerIp,
- customerSessionId = customerSessionId,
- token = token
- )
-
- val operation =
- GetPaymentOptionsOperation(
- params
- )
-
- return execute(operation)
- }
-
- /**
- * Get Accepted Payment Types - EPS MOR Only
- * Returns the accepted payment options. Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
- * @param propertyId Expedia Property ID.
- * @param token Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
- * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics. (optional)
+ * Chains Reference
+ * Returns a complete collection of chains recognized by the Rapid API. Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including DoubleTree, Hampton Inn and Embassy Suites. The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands. Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning. Chain and brand names are provided in English only.
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return PaymentOption
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPaymentOptionsOperation)"))
- fun getPaymentOptions(
- propertyId: kotlin.String,
- token: kotlin.String,
- customerIp: kotlin.String? =
- null,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetChainsReferenceOperation)"))
+ fun getChainsReferenceWithResponse(
customerSessionId: kotlin.String? =
- null
- ): PaymentOption = getPaymentOptionsWithResponse(propertyId, token, customerIp, customerSessionId).data
-
- /**
- * Get Accepted Payment Types - EPS MOR Only
- * Returns the accepted payment options. Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
- * @param propertyId Expedia Property ID.
- * @param token Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
- * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics. (optional)
- * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type PaymentOption
- */
- @Throws(
- ExpediaGroupApiErrorException::class
- )
- @JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPaymentOptionsOperation)"))
- fun getPaymentOptionsWithResponse(
- propertyId: kotlin.String,
- token: kotlin.String,
- customerIp: kotlin.String? =
null,
- customerSessionId: kotlin.String? =
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
null
- ): Response {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetPaymentOptionsWithResponse(propertyId, token, customerIp, customerSessionId)
+ kgetChainsReferenceWithResponse(customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
}.get()
} catch (exception: Exception) {
exception.handle()
@@ -1843,26 +1947,27 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Property Catalog File
- * Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are: * property_id * name * address * ratings * location * phone * fax * category * rank * business_model * dates * statistics * chain * brand * supply_source Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"supply_source\":\"expedia\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"supply_source\":\"expedia\"} ```
- * @param operation [GetPropertyCatalogFileOperation]
+ * General Attributes Reference
+ * Returns a complete collection of general attributes available in the Rapid API.
+ * @param operation [GetGeneralAttributesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type Link
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
- fun execute(operation: GetPropertyCatalogFileOperation): Response = execute(operation)
+ fun execute(operation: GetGeneralAttributesReferenceOperation): Response> =
+ execute>(operation)
/**
- * Property Catalog File
- * Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are: * property_id * name * address * ratings * location * phone * fax * category * rank * business_model * dates * statistics * chain * brand * supply_source Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"supply_source\":\"expedia\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"supply_source\":\"expedia\"} ```
- * @param operation [GetPropertyCatalogFileOperation]
+ * General Attributes Reference
+ * Returns a complete collection of general attributes available in the Rapid API.
+ * @param operation [GetGeneralAttributesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type Link
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
*/
- fun executeAsync(operation: GetPropertyCatalogFileOperation): CompletableFuture> = executeAsync(operation)
+ fun executeAsync(operation: GetGeneralAttributesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
- private suspend inline fun kgetPropertyCatalogFileWithResponse(
+ private suspend inline fun kgetGeneralAttributesReferenceWithResponse(
language: kotlin.String,
- supplySource: kotlin.String,
customerSessionId: kotlin.String? =
null,
billingTerms: kotlin.String? =
@@ -1873,12 +1978,11 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response {
+ ): Response> {
val params =
- GetPropertyCatalogFileOperationParams(
+ GetGeneralAttributesReferenceOperationParams(
customerSessionId = customerSessionId,
language = language,
- supplySource = supplySource,
billingTerms = billingTerms,
partnerPointOfSale = partnerPointOfSale,
paymentTerms = paymentTerms,
@@ -1886,7 +1990,7 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
)
val operation =
- GetPropertyCatalogFileOperation(
+ GetGeneralAttributesReferenceOperation(
params
)
@@ -1894,26 +1998,24 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Property Catalog File
- * Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are: * property_id * name * address * ratings * location * phone * fax * category * rank * business_model * dates * statistics * chain * brand * supply_source Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"supply_source\":\"expedia\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"supply_source\":\"expedia\"} ```
- * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/) Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
- * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * General Attributes Reference
+ * Returns a complete collection of general attributes available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return Link
+ * @return kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyCatalogFileOperation)"))
- fun getPropertyCatalogFile(
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetGeneralAttributesReferenceOperation)"))
+ fun getGeneralAttributesReference(
language: kotlin.String,
- supplySource: kotlin.String,
customerSessionId: kotlin.String? =
null,
billingTerms: kotlin.String? =
@@ -1924,29 +2026,28 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Link = getPropertyCatalogFileWithResponse(language, supplySource, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+ ): kotlin.collections.Map =
+ getGeneralAttributesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
/**
- * Property Catalog File
- * Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are: * property_id * name * address * ratings * location * phone * fax * category * rank * business_model * dates * statistics * chain * brand * supply_source Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"supply_source\":\"expedia\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"supply_source\":\"expedia\"} ```
- * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/) Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
- * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * General Attributes Reference
+ * Returns a complete collection of general attributes available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type Link
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyCatalogFileOperation)"))
- fun getPropertyCatalogFileWithResponse(
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetGeneralAttributesReferenceOperation)"))
+ fun getGeneralAttributesReferenceWithResponse(
language: kotlin.String,
- supplySource: kotlin.String,
customerSessionId: kotlin.String? =
null,
billingTerms: kotlin.String? =
@@ -1957,10 +2058,10 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetPropertyCatalogFileWithResponse(language, supplySource, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ kgetGeneralAttributesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
}.get()
} catch (exception: Exception) {
exception.handle()
@@ -1968,92 +2069,29 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Property Content
- * Search property content for active properties in the requested language.
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link` header in the 200 response section.
The response is a JSON map where the key is the property ID and the value is the property object itself, which can include property-level, room-level and rate-level information.
- * @param operation [GetPropertyContentOperation]
+ * Images Reference
+ * Returns a complete collection of images available in the Rapid API.
+ * @param operation [GetImagesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.Map
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
- fun execute(operation: GetPropertyContentOperation): Response> =
- execute>(operation)
+ fun execute(operation: GetImagesReferenceOperation): Response> =
+ execute>(operation)
/**
- * Property Content
- * Search property content for active properties in the requested language.
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link` header in the 200 response section.
The response is a JSON map where the key is the property ID and the value is the property object itself, which can include property-level, room-level and rate-level information.
- * @param operation [GetPropertyContentOperation]
+ * Images Reference
+ * Returns a complete collection of images available in the Rapid API.
+ * @param operation [GetImagesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
*/
- fun executeAsync(operation: GetPropertyContentOperation): CompletableFuture>> =
- executeAsync>(operation)
+ fun executeAsync(operation: GetImagesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
- private suspend inline fun kgetPropertyContentWithResponse(
+ private suspend inline fun kgetImagesReferenceWithResponse(
language: kotlin.String,
- supplySource: kotlin.String,
customerSessionId: kotlin.String? =
null,
- allInclusive: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- amenityId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- attributeId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- brandId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- businessModel: kotlin.collections.List<
- GetPropertyContentOperationParams.BusinessModel
- >? =
- null,
- categoryId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- categoryIdExclude: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- chainId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- countryCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- dateAddedEnd: kotlin.String? =
- null,
- dateAddedStart: kotlin.String? =
- null,
- dateUpdatedEnd: kotlin.String? =
- null,
- dateUpdatedStart: kotlin.String? =
- null,
- include: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- multiUnit: kotlin.Boolean? =
- null,
- propertyId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- propertyRatingMax: kotlin.String? =
- null,
- propertyRatingMin: kotlin.String? =
- null,
- spokenLanguageId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -2062,31 +2100,11 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
val params =
- GetPropertyContentOperationParams(
+ GetImagesReferenceOperationParams(
customerSessionId = customerSessionId,
language = language,
- supplySource = supplySource,
- allInclusive = allInclusive,
- amenityId = amenityId,
- attributeId = attributeId,
- brandId = brandId,
- businessModel = businessModel,
- categoryId = categoryId,
- categoryIdExclude = categoryIdExclude,
- chainId = chainId,
- countryCode = countryCode,
- dateAddedEnd = dateAddedEnd,
- dateAddedStart = dateAddedStart,
- dateUpdatedEnd = dateUpdatedEnd,
- dateUpdatedStart = dateUpdatedStart,
- include = include,
- multiUnit = multiUnit,
- propertyId = propertyId,
- propertyRatingMax = propertyRatingMax,
- propertyRatingMin = propertyRatingMin,
- spokenLanguageId = spokenLanguageId,
billingTerms = billingTerms,
partnerPointOfSale = partnerPointOfSale,
paymentTerms = paymentTerms,
@@ -2094,7 +2112,7 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
)
val operation =
- GetPropertyContentOperation(
+ GetImagesReferenceOperation(
params
)
@@ -2102,106 +2120,2055 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Property Content
- * Search property content for active properties in the requested language.
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link` header in the 200 response section.
The response is a JSON map where the key is the property ID and the value is the property object itself, which can include property-level, room-level and rate-level information.
+ * Images Reference
+ * Returns a complete collection of images available in the Rapid API.
* @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
- * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param allInclusive Search to include properties that have the requested `all_inclusive` values equal to true. If this parameter is not supplied, all `all_inclusive` scenarios are included. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested scenarios. * `all_rate_plans` - Return properties where `all_inclusive.all_rate_plans` is true. * `some_rate_plans` = Return properties where `all_inclusive.some_rate_plans` is true. (optional)
- * @param amenityId The ID of the amenity you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested amenity IDs. This is currently only capable of searching for property level amenities. Room and rate level amenities cannot be searched on. (optional)
- * @param attributeId The ID of the attribute you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested attribute IDs. (optional)
- * @param brandId The ID of the brand you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested brand IDs. (optional)
- * @param businessModel Search for properties with the requested business model enabled. This parameter can be supplied multiple times with different values, which will return all properties that match any of the requested business models. The value must be lower case. * `expedia_collect` - Return only properties where the payment is collected by Expedia. * `property_collect` - Return only properties where the payment is collected at the property. (optional)
- * @param categoryId Search to include properties that have the requested [category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested category IDs. (optional)
- * @param categoryIdExclude Search to exclude properties that do not have the requested [category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times with different values, which will exclude properties that match any of the requested category IDs. (optional)
- * @param chainId The ID of the chain you want to search for. These chain IDs can be positive and negative numbers. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested chain IDs. (optional)
- * @param countryCode Search for properties with the requested country code, in ISO 3166-1 alpha-2 format. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested country codes. (optional)
- * @param dateAddedEnd Search for properties added on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
- * @param dateAddedStart Search for properties added on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
- * @param dateUpdatedEnd Search for properties updated on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
- * @param dateUpdatedStart Search for properties updated on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
- * @param include Each time this parameter is specified will add to the list of fields and associated objects returned in the response. All values and field names are lower case. The values `property_ids` and `catalog` will continue to behave as specified below for backwards compatibility. All other top level field names will add the specified field to the list of fields returned in the response. See the response schema for a full list of top level field names. Additionally, the field `property_id` will always be returned regardless of what include values are passed.
Possible values: * `property_ids` - ***DEPRECATED*** - Please use `property_id` which matches the response field name. * `catalog` - Include all property catalog fields. See [Property Catalog File endpoint](https://developers.expediagroup.com/docs/rapid/resources/rapid-api#get-/files/properties/catalog) for a list of fields. * `property_id` - Passing in the value `property_id` and no other values will limit the response to only `property_id`. Not necessary to include in combination with other field name values, as it will always be returned. * All field names found at the top level of the property content response are now valid values for inclusion. (optional)
- * @param multiUnit Search for multi-unit properties. If this parameter is not supplied, both single-unit and multi-unit properties will be included. * `true` - Include only properties that are multi-unit. * `false` - Do not include properties that are multi-unit. (optional)
- * @param propertyId The ID of the property you want to search for. You can provide 1 to 250 property_id parameters. (optional)
- * @param propertyRatingMax Search for properties with a property rating less than or equal to the requested rating. The highest property rating value is 5.0. (optional)
- * @param propertyRatingMin Search for properties with a property rating greater than or equal to the requested rating. The lowest property rating value is 0.0. (optional)
- * @param spokenLanguageId The id of the spoken language you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested spoken languages. The language code as a subset of BCP47 format. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return kotlin.collections.Map
+ * @return kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyContentOperation)"))
- fun getPropertyContent(
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetImagesReferenceOperation)"))
+ fun getImagesReference(
language: kotlin.String,
- supplySource: kotlin.String,
customerSessionId: kotlin.String? =
null,
- allInclusive: kotlin.collections.List<
- kotlin.String
- >? =
+ billingTerms: kotlin.String? =
null,
- amenityId: kotlin.collections.List<
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): kotlin.collections.Map = getImagesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Images Reference
+ * Returns a complete collection of images available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetImagesReferenceOperation)"))
+ fun getImagesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetImagesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Inactive Properties
+ * Request a list of properties that are inactive because they have been removed from sale since a specified date.
When there are a large number of properties in the response, it will be paginated. See the `Link` header in the 200 response section.
+ * @param operation [GetInactivePropertiesOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.List
+ */
+ fun execute(operation: GetInactivePropertiesOperation): Response> = execute>(operation)
+
+ /**
+ * Inactive Properties
+ * Request a list of properties that are inactive because they have been removed from sale since a specified date.
When there are a large number of properties in the response, it will be paginated. See the `Link` header in the 200 response section.
+ * @param operation [GetInactivePropertiesOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.List
+ */
+ fun executeAsync(operation: GetInactivePropertiesOperation): CompletableFuture>> =
+ executeAsync>(operation)
+
+ private suspend inline fun kgetInactivePropertiesWithResponse(
+ customerSessionId: kotlin.String? =
+ null,
+ since: kotlin.String? =
+ null,
+ token: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ val params =
+ GetInactivePropertiesOperationParams(
+ customerSessionId = customerSessionId,
+ since = since,
+ token = token,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetInactivePropertiesOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Inactive Properties
+ * Request a list of properties that are inactive because they have been removed from sale since a specified date.
When there are a large number of properties in the response, it will be paginated. See the `Link` header in the 200 response section.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param since Required on initial call, not accepted on subsequent paging links provided in response header. The earliest date that a property became inactive to include in the results. ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param token Only used for requesting additional pages of data. Provided by the `next` URL in the `Link` response header. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.List
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetInactivePropertiesOperation)"))
+ fun getInactiveProperties(
+ customerSessionId: kotlin.String? =
+ null,
+ since: kotlin.String? =
+ null,
+ token: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): kotlin.collections.List = getInactivePropertiesWithResponse(customerSessionId, since, token, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Inactive Properties
+ * Request a list of properties that are inactive because they have been removed from sale since a specified date.
When there are a large number of properties in the response, it will be paginated. See the `Link` header in the 200 response section.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param since Required on initial call, not accepted on subsequent paging links provided in response header. The earliest date that a property became inactive to include in the results. ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param token Only used for requesting additional pages of data. Provided by the `next` URL in the `Link` response header. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.List
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetInactivePropertiesOperation)"))
+ fun getInactivePropertiesWithResponse(
+ customerSessionId: kotlin.String? =
+ null,
+ since: kotlin.String? =
+ null,
+ token: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetInactivePropertiesWithResponse(customerSessionId, since, token, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ @JvmOverloads
+ fun getPaginator(operation: GetInactivePropertiesOperation): ResponsePaginator> {
+ val response = execute(operation)
+ return ResponsePaginator(this, response, emptyList()) { it.body>() }
+ }
+
+ @JvmOverloads
+ @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetInactivePropertiesOperation)"))
+ fun getInactivePropertiesPaginator(
+ customerSessionId: kotlin.String? =
+ null,
+ since: kotlin.String? =
+ null,
+ token: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Paginator> {
+ val response = getInactivePropertiesWithResponse(customerSessionId, since, token, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ return Paginator(this, response, emptyList()) { it.body>() }
+ }
+
+ @JvmOverloads
+ @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetInactivePropertiesOperation)"))
+ fun getInactivePropertiesPaginatorWithResponse(
+ customerSessionId: kotlin.String? =
+ null,
+ since: kotlin.String? =
+ null,
+ token: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): ResponsePaginator> {
+ val response = getInactivePropertiesWithResponse(customerSessionId, since, token, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ return ResponsePaginator(this, response, emptyList()) { it.body>() }
+ }
+
+ /**
+ * Onsite Payment Types Reference
+ * Returns a complete collection of onsite payment types available in the Rapid API.
+ * @param operation [GetOnsitePaymentTypesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ fun execute(operation: GetOnsitePaymentTypesReferenceOperation): Response> =
+ execute>(operation)
+
+ /**
+ * Onsite Payment Types Reference
+ * Returns a complete collection of onsite payment types available in the Rapid API.
+ * @param operation [GetOnsitePaymentTypesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
+ */
+ fun executeAsync(operation: GetOnsitePaymentTypesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
+
+ private suspend inline fun kgetOnsitePaymentTypesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ val params =
+ GetOnsitePaymentTypesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetOnsitePaymentTypesReferenceOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Onsite Payment Types Reference
+ * Returns a complete collection of onsite payment types available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetOnsitePaymentTypesReferenceOperation)"))
+ fun getOnsitePaymentTypesReference(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): kotlin.collections.Map = getOnsitePaymentTypesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Onsite Payment Types Reference
+ * Returns a complete collection of onsite payment types available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetOnsitePaymentTypesReferenceOperation)"))
+ fun getOnsitePaymentTypesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetOnsitePaymentTypesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Get Accepted Payment Types - EPS MOR Only
+ * Returns the accepted payment options. Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
+ * @param operation [GetPaymentOptionsOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type PaymentOption
+ */
+ fun execute(operation: GetPaymentOptionsOperation): Response = execute(operation)
+
+ /**
+ * Get Accepted Payment Types - EPS MOR Only
+ * Returns the accepted payment options. Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
+ * @param operation [GetPaymentOptionsOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type PaymentOption
+ */
+ fun executeAsync(operation: GetPaymentOptionsOperation): CompletableFuture> = executeAsync(operation)
+
+ private suspend inline fun kgetPaymentOptionsWithResponse(
+ propertyId: kotlin.String,
+ token: kotlin.String,
+ customerIp: kotlin.String? =
+ null,
+ customerSessionId: kotlin.String? =
+ null
+ ): Response {
+ val params =
+ GetPaymentOptionsOperationParams(
+ propertyId = propertyId,
+ customerIp = customerIp,
+ customerSessionId = customerSessionId,
+ token = token
+ )
+
+ val operation =
+ GetPaymentOptionsOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Get Accepted Payment Types - EPS MOR Only
+ * Returns the accepted payment options. Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
+ * @param propertyId Expedia Property ID.
+ * @param token Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
+ * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics. (optional)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return PaymentOption
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPaymentOptionsOperation)"))
+ fun getPaymentOptions(
+ propertyId: kotlin.String,
+ token: kotlin.String,
+ customerIp: kotlin.String? =
+ null,
+ customerSessionId: kotlin.String? =
+ null
+ ): PaymentOption = getPaymentOptionsWithResponse(propertyId, token, customerIp, customerSessionId).data
+
+ /**
+ * Get Accepted Payment Types - EPS MOR Only
+ * Returns the accepted payment options. Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
+ * @param propertyId Expedia Property ID.
+ * @param token Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
+ * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics. (optional)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type PaymentOption
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPaymentOptionsOperation)"))
+ fun getPaymentOptionsWithResponse(
+ propertyId: kotlin.String,
+ token: kotlin.String,
+ customerIp: kotlin.String? =
+ null,
+ customerSessionId: kotlin.String? =
+ null
+ ): Response {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetPaymentOptionsWithResponse(propertyId, token, customerIp, customerSessionId)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Pet Attributes Reference
+ * Returns a complete collection of pet attributes available in the Rapid API.
+ * @param operation [GetPetAttributesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ fun execute(operation: GetPetAttributesReferenceOperation): Response> =
+ execute>(operation)
+
+ /**
+ * Pet Attributes Reference
+ * Returns a complete collection of pet attributes available in the Rapid API.
+ * @param operation [GetPetAttributesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
+ */
+ fun executeAsync(operation: GetPetAttributesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
+
+ private suspend inline fun kgetPetAttributesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ val params =
+ GetPetAttributesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetPetAttributesReferenceOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Pet Attributes Reference
+ * Returns a complete collection of pet attributes available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPetAttributesReferenceOperation)"))
+ fun getPetAttributesReference(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): kotlin.collections.Map = getPetAttributesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Pet Attributes Reference
+ * Returns a complete collection of pet attributes available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPetAttributesReferenceOperation)"))
+ fun getPetAttributesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetPetAttributesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Property Catalog File
+ * Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are: * property_id * name * address * ratings * location * phone * fax * category * rank * business_model * dates * statistics * chain * brand * supply_source Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"supply_source\":\"expedia\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"supply_source\":\"expedia\"} ```
+ * @param operation [GetPropertyCatalogFileOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type Link
+ */
+ fun execute(operation: GetPropertyCatalogFileOperation): Response = execute(operation)
+
+ /**
+ * Property Catalog File
+ * Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are: * property_id * name * address * ratings * location * phone * fax * category * rank * business_model * dates * statistics * chain * brand * supply_source Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"supply_source\":\"expedia\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"supply_source\":\"expedia\"} ```
+ * @param operation [GetPropertyCatalogFileOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type Link
+ */
+ fun executeAsync(operation: GetPropertyCatalogFileOperation): CompletableFuture> = executeAsync(operation)
+
+ private suspend inline fun kgetPropertyCatalogFileWithResponse(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response {
+ val params =
+ GetPropertyCatalogFileOperationParams(
+ customerSessionId = customerSessionId,
+ language = language,
+ supplySource = supplySource,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetPropertyCatalogFileOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Property Catalog File
+ * Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are: * property_id * name * address * ratings * location * phone * fax * category * rank * business_model * dates * statistics * chain * brand * supply_source Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"supply_source\":\"expedia\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"supply_source\":\"expedia\"} ```
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/) Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return Link
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyCatalogFileOperation)"))
+ fun getPropertyCatalogFile(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Link = getPropertyCatalogFileWithResponse(language, supplySource, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Property Catalog File
+ * Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are: * property_id * name * address * ratings * location * phone * fax * category * rank * business_model * dates * statistics * chain * brand * supply_source Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"supply_source\":\"expedia\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"supply_source\":\"expedia\"} ```
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/) Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type Link
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyCatalogFileOperation)"))
+ fun getPropertyCatalogFileWithResponse(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetPropertyCatalogFileWithResponse(language, supplySource, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Property Content
+ * Search property content for active properties in the requested language.
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link` header in the 200 response section.
The response is a JSON map where the key is the property ID and the value is the property object itself, which can include property-level, room-level and rate-level information.
+ * @param operation [GetPropertyContentOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ fun execute(operation: GetPropertyContentOperation): Response> =
+ execute>(operation)
+
+ /**
+ * Property Content
+ * Search property content for active properties in the requested language.
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link` header in the 200 response section.
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link` header in the 200 response section.
The response is a JSON map where the key is the property ID and the value is the property object itself, which can include property-level, room-level and rate-level information.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param allInclusive Search to include properties that have the requested `all_inclusive` values equal to true. If this parameter is not supplied, all `all_inclusive` scenarios are included. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested scenarios. * `all_rate_plans` - Return properties where `all_inclusive.all_rate_plans` is true. * `some_rate_plans` = Return properties where `all_inclusive.some_rate_plans` is true. (optional)
+ * @param amenityId The ID of the amenity you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested amenity IDs. This is currently only capable of searching for property level amenities. Room and rate level amenities cannot be searched on. (optional)
+ * @param attributeId The ID of the attribute you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested attribute IDs. (optional)
+ * @param brandId The ID of the brand you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested brand IDs. (optional)
+ * @param businessModel Search for properties with the requested business model enabled. This parameter can be supplied multiple times with different values, which will return all properties that match any of the requested business models. The value must be lower case. * `expedia_collect` - Return only properties where the payment is collected by Expedia. * `property_collect` - Return only properties where the payment is collected at the property. (optional)
+ * @param categoryId Search to include properties that have the requested [category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested category IDs. (optional)
+ * @param categoryIdExclude Search to exclude properties that do not have the requested [category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times with different values, which will exclude properties that match any of the requested category IDs. (optional)
+ * @param chainId The ID of the chain you want to search for. These chain IDs can be positive and negative numbers. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested chain IDs. (optional)
+ * @param countryCode Search for properties with the requested country code, in ISO 3166-1 alpha-2 format. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested country codes. (optional)
+ * @param dateAddedEnd Search for properties added on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param dateAddedStart Search for properties added on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param dateUpdatedEnd Search for properties updated on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param dateUpdatedStart Search for properties updated on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param include Each time this parameter is specified will add to the list of fields and associated objects returned in the response. All values and field names are lower case. The values `property_ids` and `catalog` will continue to behave as specified below for backwards compatibility. All other top level field names will add the specified field to the list of fields returned in the response. See the response schema for a full list of top level field names. Additionally, the field `property_id` will always be returned regardless of what include values are passed.
Possible values: * `property_ids` - ***DEPRECATED*** - Please use `property_id` which matches the response field name. * `catalog` - Include all property catalog fields. See [Property Catalog File endpoint](https://developers.expediagroup.com/docs/rapid/resources/rapid-api#get-/files/properties/catalog) for a list of fields. * `property_id` - Passing in the value `property_id` and no other values will limit the response to only `property_id`. Not necessary to include in combination with other field name values, as it will always be returned. * All field names found at the top level of the property content response are now valid values for inclusion. (optional)
+ * @param multiUnit Search for multi-unit properties. If this parameter is not supplied, both single-unit and multi-unit properties will be included. * `true` - Include only properties that are multi-unit. * `false` - Do not include properties that are multi-unit. (optional)
+ * @param propertyId The ID of the property you want to search for. You can provide 1 to 250 property_id parameters. (optional)
+ * @param propertyRatingMax Search for properties with a property rating less than or equal to the requested rating. The highest property rating value is 5.0. (optional)
+ * @param propertyRatingMin Search for properties with a property rating greater than or equal to the requested rating. The lowest property rating value is 0.0. (optional)
+ * @param spokenLanguageId The id of the spoken language you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested spoken languages. The language code as a subset of BCP47 format. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyContentOperation)"))
+ fun getPropertyContent(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ allInclusive: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ amenityId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ attributeId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ brandId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ businessModel: kotlin.collections.List<
+ GetPropertyContentOperationParams.BusinessModel
+ >? =
+ null,
+ categoryId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ categoryIdExclude: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ chainId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ countryCode: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ dateAddedEnd: kotlin.String? =
+ null,
+ dateAddedStart: kotlin.String? =
+ null,
+ dateUpdatedEnd: kotlin.String? =
+ null,
+ dateUpdatedStart: kotlin.String? =
+ null,
+ include: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ multiUnit: kotlin.Boolean? =
+ null,
+ propertyId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ propertyRatingMax: kotlin.String? =
+ null,
+ propertyRatingMin: kotlin.String? =
+ null,
+ spokenLanguageId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): kotlin.collections.Map =
+ getPropertyContentWithResponse(
+ language,
+ supplySource,
+ customerSessionId,
+ allInclusive,
+ amenityId,
+ attributeId,
+ brandId,
+ businessModel,
+ categoryId,
+ categoryIdExclude,
+ chainId,
+ countryCode,
+ dateAddedEnd,
+ dateAddedStart,
+ dateUpdatedEnd,
+ dateUpdatedStart,
+ include,
+ multiUnit,
+ propertyId,
+ propertyRatingMax,
+ propertyRatingMin,
+ spokenLanguageId,
+ billingTerms,
+ partnerPointOfSale,
+ paymentTerms,
+ platformName
+ ).data
+
+ /**
+ * Property Content
+ * Search property content for active properties in the requested language.
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link` header in the 200 response section.
The response is a JSON map where the key is the property ID and the value is the property object itself, which can include property-level, room-level and rate-level information.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param allInclusive Search to include properties that have the requested `all_inclusive` values equal to true. If this parameter is not supplied, all `all_inclusive` scenarios are included. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested scenarios. * `all_rate_plans` - Return properties where `all_inclusive.all_rate_plans` is true. * `some_rate_plans` = Return properties where `all_inclusive.some_rate_plans` is true. (optional)
+ * @param amenityId The ID of the amenity you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested amenity IDs. This is currently only capable of searching for property level amenities. Room and rate level amenities cannot be searched on. (optional)
+ * @param attributeId The ID of the attribute you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested attribute IDs. (optional)
+ * @param brandId The ID of the brand you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested brand IDs. (optional)
+ * @param businessModel Search for properties with the requested business model enabled. This parameter can be supplied multiple times with different values, which will return all properties that match any of the requested business models. The value must be lower case. * `expedia_collect` - Return only properties where the payment is collected by Expedia. * `property_collect` - Return only properties where the payment is collected at the property. (optional)
+ * @param categoryId Search to include properties that have the requested [category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested category IDs. (optional)
+ * @param categoryIdExclude Search to exclude properties that do not have the requested [category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times with different values, which will exclude properties that match any of the requested category IDs. (optional)
+ * @param chainId The ID of the chain you want to search for. These chain IDs can be positive and negative numbers. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested chain IDs. (optional)
+ * @param countryCode Search for properties with the requested country code, in ISO 3166-1 alpha-2 format. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested country codes. (optional)
+ * @param dateAddedEnd Search for properties added on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param dateAddedStart Search for properties added on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param dateUpdatedEnd Search for properties updated on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param dateUpdatedStart Search for properties updated on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
+ * @param include Each time this parameter is specified will add to the list of fields and associated objects returned in the response. All values and field names are lower case. The values `property_ids` and `catalog` will continue to behave as specified below for backwards compatibility. All other top level field names will add the specified field to the list of fields returned in the response. See the response schema for a full list of top level field names. Additionally, the field `property_id` will always be returned regardless of what include values are passed.
Possible values: * `property_ids` - ***DEPRECATED*** - Please use `property_id` which matches the response field name. * `catalog` - Include all property catalog fields. See [Property Catalog File endpoint](https://developers.expediagroup.com/docs/rapid/resources/rapid-api#get-/files/properties/catalog) for a list of fields. * `property_id` - Passing in the value `property_id` and no other values will limit the response to only `property_id`. Not necessary to include in combination with other field name values, as it will always be returned. * All field names found at the top level of the property content response are now valid values for inclusion. (optional)
+ * @param multiUnit Search for multi-unit properties. If this parameter is not supplied, both single-unit and multi-unit properties will be included. * `true` - Include only properties that are multi-unit. * `false` - Do not include properties that are multi-unit. (optional)
+ * @param propertyId The ID of the property you want to search for. You can provide 1 to 250 property_id parameters. (optional)
+ * @param propertyRatingMax Search for properties with a property rating less than or equal to the requested rating. The highest property rating value is 5.0. (optional)
+ * @param propertyRatingMin Search for properties with a property rating greater than or equal to the requested rating. The lowest property rating value is 0.0. (optional)
+ * @param spokenLanguageId The id of the spoken language you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested spoken languages. The language code as a subset of BCP47 format. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyContentOperation)"))
+ fun getPropertyContentWithResponse(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ allInclusive: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ amenityId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ attributeId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ brandId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ businessModel: kotlin.collections.List<
+ GetPropertyContentOperationParams.BusinessModel
+ >? =
+ null,
+ categoryId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ categoryIdExclude: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ chainId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ countryCode: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ dateAddedEnd: kotlin.String? =
+ null,
+ dateAddedStart: kotlin.String? =
+ null,
+ dateUpdatedEnd: kotlin.String? =
+ null,
+ dateUpdatedStart: kotlin.String? =
+ null,
+ include: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ multiUnit: kotlin.Boolean? =
+ null,
+ propertyId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ propertyRatingMax: kotlin.String? =
+ null,
+ propertyRatingMin: kotlin.String? =
+ null,
+ spokenLanguageId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetPropertyContentWithResponse(
+ language,
+ supplySource,
+ customerSessionId,
+ allInclusive,
+ amenityId,
+ attributeId,
+ brandId,
+ businessModel,
+ categoryId,
+ categoryIdExclude,
+ chainId,
+ countryCode,
+ dateAddedEnd,
+ dateAddedStart,
+ dateUpdatedEnd,
+ dateUpdatedStart,
+ include,
+ multiUnit,
+ propertyId,
+ propertyRatingMax,
+ propertyRatingMin,
+ spokenLanguageId,
+ billingTerms,
+ partnerPointOfSale,
+ paymentTerms,
+ platformName
+ )
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ @JvmOverloads
+ fun getPaginator(operation: GetPropertyContentOperation): ResponsePaginator> {
+ val response = execute(operation)
+ return ResponsePaginator(this, response, emptyMap()) { it.body>() }
+ }
+
+ @JvmOverloads
+ @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetPropertyContentOperation)"))
+ fun getPropertyContentPaginator(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ allInclusive: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ amenityId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ attributeId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ brandId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ businessModel: kotlin.collections.List<
+ GetPropertyContentOperationParams.BusinessModel
+ >? =
+ null,
+ categoryId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ categoryIdExclude: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ chainId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ countryCode: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ dateAddedEnd: kotlin.String? =
+ null,
+ dateAddedStart: kotlin.String? =
+ null,
+ dateUpdatedEnd: kotlin.String? =
+ null,
+ dateUpdatedStart: kotlin.String? =
+ null,
+ include: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ multiUnit: kotlin.Boolean? =
+ null,
+ propertyId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ propertyRatingMax: kotlin.String? =
+ null,
+ propertyRatingMin: kotlin.String? =
+ null,
+ spokenLanguageId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Paginator> {
+ val response =
+ getPropertyContentWithResponse(
+ language,
+ supplySource,
+ customerSessionId,
+ allInclusive,
+ amenityId,
+ attributeId,
+ brandId,
+ businessModel,
+ categoryId,
+ categoryIdExclude,
+ chainId,
+ countryCode,
+ dateAddedEnd,
+ dateAddedStart,
+ dateUpdatedEnd,
+ dateUpdatedStart,
+ include,
+ multiUnit,
+ propertyId,
+ propertyRatingMax,
+ propertyRatingMin,
+ spokenLanguageId,
+ billingTerms,
+ partnerPointOfSale,
+ paymentTerms,
+ platformName
+ )
+ return Paginator(this, response, emptyMap()) { it.body>() }
+ }
+
+ @JvmOverloads
+ @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetPropertyContentOperation)"))
+ fun getPropertyContentPaginatorWithResponse(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ allInclusive: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ amenityId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ attributeId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ brandId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ businessModel: kotlin.collections.List<
+ GetPropertyContentOperationParams.BusinessModel
+ >? =
+ null,
+ categoryId: kotlin.collections.List<
kotlin.String
>? =
null,
- attributeId: kotlin.collections.List<
+ categoryIdExclude: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ chainId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ countryCode: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ dateAddedEnd: kotlin.String? =
+ null,
+ dateAddedStart: kotlin.String? =
+ null,
+ dateUpdatedEnd: kotlin.String? =
+ null,
+ dateUpdatedStart: kotlin.String? =
+ null,
+ include: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ multiUnit: kotlin.Boolean? =
+ null,
+ propertyId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ propertyRatingMax: kotlin.String? =
+ null,
+ propertyRatingMin: kotlin.String? =
+ null,
+ spokenLanguageId: kotlin.collections.List<
+ kotlin.String
+ >? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): ResponsePaginator> {
+ val response =
+ getPropertyContentWithResponse(
+ language,
+ supplySource,
+ customerSessionId,
+ allInclusive,
+ amenityId,
+ attributeId,
+ brandId,
+ businessModel,
+ categoryId,
+ categoryIdExclude,
+ chainId,
+ countryCode,
+ dateAddedEnd,
+ dateAddedStart,
+ dateUpdatedEnd,
+ dateUpdatedStart,
+ include,
+ multiUnit,
+ propertyId,
+ propertyRatingMax,
+ propertyRatingMin,
+ spokenLanguageId,
+ billingTerms,
+ partnerPointOfSale,
+ paymentTerms,
+ platformName
+ )
+ return ResponsePaginator(this, response, emptyMap()) { it.body>() }
+ }
+
+ /**
+ * Property Content File
+ * Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call. Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":20,\"square_feet\":215},\"views\":{\"4146\":{\"id\":\"4146\",\"name\":\"Courtyard view\"}},\"occupancy\":{\"max_allowed\":{\"total\":5,\"children\":2,\"adults\":4},\"age_categories\":{\"Adult\":{\"name\":\"Adult\",\"minimum_age\":9}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"AB-012-987-1234-01\",\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"spoken_languages\":{\"vi\":{\"id\":\"vi\",\"name\":\"Vietnamese\"}},\"multi_unit\":true,\"payment_registration_recommended\":false,\"vacation_rental_details\": {\"registry_number\": \"Property Registration Number 123456\",\"private_host\": \"true\",\"property_manager\": {\"name\": \"Victor\",\"links\": {\"image\": {\"method\": \"GET\",\"href\": \"https://test-image/test/test/836f1097-fbcf-43b5-bc02-c8ff6658cb90.c1.jpg\"}}},\"rental_agreement\": {\"links\": {\"rental_agreement\": {\"method\": \"GET\",\"href\": \"https://test-link.test.amazonaws.com/rentalconditions_property_d65e7eb5-4a7c-4a80-a8a3-171999f9f444.pdf\"}}},\"house_rules\": [\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\": {\"4296\": {\"id\": \"4296\",\"name\": \"Furnished balcony or patio\"},\"2859\": {\"id\": \"2859\",\"name\": \"Private pool\"}},\"vrbo_srp_id\": \"123.1234567.5678910\",\"listing_id\": \"1234567\",\"listing_number\": \"5678910\",\"listing_source\": \"HOMEAWAY_US\",\"listing_unit\": \"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838},\"obfuscated_coordinates\":{\"latitude\":28.339303,\"longitude\":-81.47791},\"obfuscation_required\":true},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":17},\"views\":{\"4134\":{\"id\":\"4134\",\"name\":\"City view\"}},\"occupancy\":{\"max_allowed\":{\"total\":3,\"children\":2,\"adults\":3},\"age_categories\":{\"ChildAgeA\":{\"name\":\"ChildAgeA\",\"minimum_age\":3}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"CD-012-987-1234-02\",\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"spoken_languages\":{\"en\":{\"id\":\"en\",\"name\":\"English\"}},\"multi_unit\":true,\"payment_registration_recommended\":true,\"vacation_rental_details\":{\"registry_number\":\"Property Registration Number 123456\",\"private_host\":\"true\",\"property_manager\":{\"name\":\"John Smith\",\"links\":{\"image\":{\"method\":\"GET\",\"href\":\"https://example.com/profile.jpg\"}}},\"rental_agreement\":{\"links\":{\"rental_agreement\":{\"method\":\"GET\",\"href\":\"https:/example.com/rentalconditions.pdf\"}}},\"house_rules\":[\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\":{\"2859\":{\"id\":\"2859\",\"name\":\"Private pool\"},\"4296\":{\"id\":\"4296\",\"name\":\"Furnished balcony or patio\"}},\"vrbo_srp_id\":\"123.1234567.5678910\",\"listing_id\":\"1234567\",\"listing_number\":\"5678910\",\"listing_source\":\"HOMEAWAY_US\",\"listing_unit\":\"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} ```
+ * @param operation [GetPropertyContentFileOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type Link
+ */
+ fun execute(operation: GetPropertyContentFileOperation): Response = execute(operation)
+
+ /**
+ * Property Content File
+ * Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call. Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":20,\"square_feet\":215},\"views\":{\"4146\":{\"id\":\"4146\",\"name\":\"Courtyard view\"}},\"occupancy\":{\"max_allowed\":{\"total\":5,\"children\":2,\"adults\":4},\"age_categories\":{\"Adult\":{\"name\":\"Adult\",\"minimum_age\":9}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"AB-012-987-1234-01\",\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"spoken_languages\":{\"vi\":{\"id\":\"vi\",\"name\":\"Vietnamese\"}},\"multi_unit\":true,\"payment_registration_recommended\":false,\"vacation_rental_details\": {\"registry_number\": \"Property Registration Number 123456\",\"private_host\": \"true\",\"property_manager\": {\"name\": \"Victor\",\"links\": {\"image\": {\"method\": \"GET\",\"href\": \"https://test-image/test/test/836f1097-fbcf-43b5-bc02-c8ff6658cb90.c1.jpg\"}}},\"rental_agreement\": {\"links\": {\"rental_agreement\": {\"method\": \"GET\",\"href\": \"https://test-link.test.amazonaws.com/rentalconditions_property_d65e7eb5-4a7c-4a80-a8a3-171999f9f444.pdf\"}}},\"house_rules\": [\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\": {\"4296\": {\"id\": \"4296\",\"name\": \"Furnished balcony or patio\"},\"2859\": {\"id\": \"2859\",\"name\": \"Private pool\"}},\"vrbo_srp_id\": \"123.1234567.5678910\",\"listing_id\": \"1234567\",\"listing_number\": \"5678910\",\"listing_source\": \"HOMEAWAY_US\",\"listing_unit\": \"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838},\"obfuscated_coordinates\":{\"latitude\":28.339303,\"longitude\":-81.47791},\"obfuscation_required\":true},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":17},\"views\":{\"4134\":{\"id\":\"4134\",\"name\":\"City view\"}},\"occupancy\":{\"max_allowed\":{\"total\":3,\"children\":2,\"adults\":3},\"age_categories\":{\"ChildAgeA\":{\"name\":\"ChildAgeA\",\"minimum_age\":3}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"CD-012-987-1234-02\",\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"spoken_languages\":{\"en\":{\"id\":\"en\",\"name\":\"English\"}},\"multi_unit\":true,\"payment_registration_recommended\":true,\"vacation_rental_details\":{\"registry_number\":\"Property Registration Number 123456\",\"private_host\":\"true\",\"property_manager\":{\"name\":\"John Smith\",\"links\":{\"image\":{\"method\":\"GET\",\"href\":\"https://example.com/profile.jpg\"}}},\"rental_agreement\":{\"links\":{\"rental_agreement\":{\"method\":\"GET\",\"href\":\"https:/example.com/rentalconditions.pdf\"}}},\"house_rules\":[\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\":{\"2859\":{\"id\":\"2859\",\"name\":\"Private pool\"},\"4296\":{\"id\":\"4296\",\"name\":\"Furnished balcony or patio\"}},\"vrbo_srp_id\":\"123.1234567.5678910\",\"listing_id\":\"1234567\",\"listing_number\":\"5678910\",\"listing_source\":\"HOMEAWAY_US\",\"listing_unit\":\"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} ```
+ * @param operation [GetPropertyContentFileOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type Link
+ */
+ fun executeAsync(operation: GetPropertyContentFileOperation): CompletableFuture> = executeAsync(operation)
+
+ private suspend inline fun kgetPropertyContentFileWithResponse(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response {
+ val params =
+ GetPropertyContentFileOperationParams(
+ customerSessionId = customerSessionId,
+ language = language,
+ supplySource = supplySource,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetPropertyContentFileOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Property Content File
+ * Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call. Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":20,\"square_feet\":215},\"views\":{\"4146\":{\"id\":\"4146\",\"name\":\"Courtyard view\"}},\"occupancy\":{\"max_allowed\":{\"total\":5,\"children\":2,\"adults\":4},\"age_categories\":{\"Adult\":{\"name\":\"Adult\",\"minimum_age\":9}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"AB-012-987-1234-01\",\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"spoken_languages\":{\"vi\":{\"id\":\"vi\",\"name\":\"Vietnamese\"}},\"multi_unit\":true,\"payment_registration_recommended\":false,\"vacation_rental_details\": {\"registry_number\": \"Property Registration Number 123456\",\"private_host\": \"true\",\"property_manager\": {\"name\": \"Victor\",\"links\": {\"image\": {\"method\": \"GET\",\"href\": \"https://test-image/test/test/836f1097-fbcf-43b5-bc02-c8ff6658cb90.c1.jpg\"}}},\"rental_agreement\": {\"links\": {\"rental_agreement\": {\"method\": \"GET\",\"href\": \"https://test-link.test.amazonaws.com/rentalconditions_property_d65e7eb5-4a7c-4a80-a8a3-171999f9f444.pdf\"}}},\"house_rules\": [\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\": {\"4296\": {\"id\": \"4296\",\"name\": \"Furnished balcony or patio\"},\"2859\": {\"id\": \"2859\",\"name\": \"Private pool\"}},\"vrbo_srp_id\": \"123.1234567.5678910\",\"listing_id\": \"1234567\",\"listing_number\": \"5678910\",\"listing_source\": \"HOMEAWAY_US\",\"listing_unit\": \"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838},\"obfuscated_coordinates\":{\"latitude\":28.339303,\"longitude\":-81.47791},\"obfuscation_required\":true},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":17},\"views\":{\"4134\":{\"id\":\"4134\",\"name\":\"City view\"}},\"occupancy\":{\"max_allowed\":{\"total\":3,\"children\":2,\"adults\":3},\"age_categories\":{\"ChildAgeA\":{\"name\":\"ChildAgeA\",\"minimum_age\":3}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"CD-012-987-1234-02\",\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"spoken_languages\":{\"en\":{\"id\":\"en\",\"name\":\"English\"}},\"multi_unit\":true,\"payment_registration_recommended\":true,\"vacation_rental_details\":{\"registry_number\":\"Property Registration Number 123456\",\"private_host\":\"true\",\"property_manager\":{\"name\":\"John Smith\",\"links\":{\"image\":{\"method\":\"GET\",\"href\":\"https://example.com/profile.jpg\"}}},\"rental_agreement\":{\"links\":{\"rental_agreement\":{\"method\":\"GET\",\"href\":\"https:/example.com/rentalconditions.pdf\"}}},\"house_rules\":[\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\":{\"2859\":{\"id\":\"2859\",\"name\":\"Private pool\"},\"4296\":{\"id\":\"4296\",\"name\":\"Furnished balcony or patio\"}},\"vrbo_srp_id\":\"123.1234567.5678910\",\"listing_id\":\"1234567\",\"listing_number\":\"5678910\",\"listing_source\":\"HOMEAWAY_US\",\"listing_unit\":\"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} ```
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return Link
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyContentFileOperation)"))
+ fun getPropertyContentFile(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Link = getPropertyContentFileWithResponse(language, supplySource, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Property Content File
+ * Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call. Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":20,\"square_feet\":215},\"views\":{\"4146\":{\"id\":\"4146\",\"name\":\"Courtyard view\"}},\"occupancy\":{\"max_allowed\":{\"total\":5,\"children\":2,\"adults\":4},\"age_categories\":{\"Adult\":{\"name\":\"Adult\",\"minimum_age\":9}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"AB-012-987-1234-01\",\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"spoken_languages\":{\"vi\":{\"id\":\"vi\",\"name\":\"Vietnamese\"}},\"multi_unit\":true,\"payment_registration_recommended\":false,\"vacation_rental_details\": {\"registry_number\": \"Property Registration Number 123456\",\"private_host\": \"true\",\"property_manager\": {\"name\": \"Victor\",\"links\": {\"image\": {\"method\": \"GET\",\"href\": \"https://test-image/test/test/836f1097-fbcf-43b5-bc02-c8ff6658cb90.c1.jpg\"}}},\"rental_agreement\": {\"links\": {\"rental_agreement\": {\"method\": \"GET\",\"href\": \"https://test-link.test.amazonaws.com/rentalconditions_property_d65e7eb5-4a7c-4a80-a8a3-171999f9f444.pdf\"}}},\"house_rules\": [\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\": {\"4296\": {\"id\": \"4296\",\"name\": \"Furnished balcony or patio\"},\"2859\": {\"id\": \"2859\",\"name\": \"Private pool\"}},\"vrbo_srp_id\": \"123.1234567.5678910\",\"listing_id\": \"1234567\",\"listing_number\": \"5678910\",\"listing_source\": \"HOMEAWAY_US\",\"listing_unit\": \"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838},\"obfuscated_coordinates\":{\"latitude\":28.339303,\"longitude\":-81.47791},\"obfuscation_required\":true},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":17},\"views\":{\"4134\":{\"id\":\"4134\",\"name\":\"City view\"}},\"occupancy\":{\"max_allowed\":{\"total\":3,\"children\":2,\"adults\":3},\"age_categories\":{\"ChildAgeA\":{\"name\":\"ChildAgeA\",\"minimum_age\":3}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"CD-012-987-1234-02\",\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"spoken_languages\":{\"en\":{\"id\":\"en\",\"name\":\"English\"}},\"multi_unit\":true,\"payment_registration_recommended\":true,\"vacation_rental_details\":{\"registry_number\":\"Property Registration Number 123456\",\"private_host\":\"true\",\"property_manager\":{\"name\":\"John Smith\",\"links\":{\"image\":{\"method\":\"GET\",\"href\":\"https://example.com/profile.jpg\"}}},\"rental_agreement\":{\"links\":{\"rental_agreement\":{\"method\":\"GET\",\"href\":\"https:/example.com/rentalconditions.pdf\"}}},\"house_rules\":[\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\":{\"2859\":{\"id\":\"2859\",\"name\":\"Private pool\"},\"4296\":{\"id\":\"4296\",\"name\":\"Furnished balcony or patio\"}},\"vrbo_srp_id\":\"123.1234567.5678910\",\"listing_id\":\"1234567\",\"listing_number\":\"5678910\",\"listing_source\":\"HOMEAWAY_US\",\"listing_unit\":\"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} ```
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type Link
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyContentFileOperation)"))
+ fun getPropertyContentFileWithResponse(
+ language: kotlin.String,
+ supplySource: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetPropertyContentFileWithResponse(language, supplySource, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Property Guest Reviews
+ * Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details. The response is an individual Guest Reviews object containing multiple guest reviews for the requested active property. To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
+ * @param operation [GetPropertyGuestReviewsOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type GuestReviews
+ */
+ fun execute(operation: GetPropertyGuestReviewsOperation): Response = execute(operation)
+
+ /**
+ * Property Guest Reviews
+ * Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details. The response is an individual Guest Reviews object containing multiple guest reviews for the requested active property. To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
+ * @param operation [GetPropertyGuestReviewsOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type GuestReviews
+ */
+ fun executeAsync(operation: GetPropertyGuestReviewsOperation): CompletableFuture> = executeAsync(operation)
+
+ private suspend inline fun kgetPropertyGuestReviewsWithResponse(
+ propertyId: kotlin.String,
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ filter: kotlin.collections.List<
+ GetPropertyGuestReviewsOperationParams.Filter
+ >? =
+ null,
+ tripReason: kotlin.collections.List<
+ GetPropertyGuestReviewsOperationParams.TripReason
+ >? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response {
+ val params =
+ GetPropertyGuestReviewsOperationParams(
+ propertyId = propertyId,
+ customerSessionId = customerSessionId,
+ language = language,
+ filter = filter,
+ tripReason = tripReason,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetPropertyGuestReviewsOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Property Guest Reviews
+ * Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details. The response is an individual Guest Reviews object containing multiple guest reviews for the requested active property. To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
+ * @param propertyId Expedia Property ID.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param filter Single filter value. Send multiple instances of this parameter to request multiple filters. * `language` - Filters reviews to only those that match the specified `language` parameter value. Without this filter, the matching language will be preferred, but other language results can be returned. Specifying this filter could produce an error when there are no matching results. (optional)
+ * @param tripReason Desired reason provided for the reviewer's trip that you wish to display. This parameter can be supplied multiple times with different values, which will include reviews that match any of the requested trip reasons. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return GuestReviews
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyGuestReviewsOperation)"))
+ fun getPropertyGuestReviews(
+ propertyId: kotlin.String,
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ filter: kotlin.collections.List<
+ GetPropertyGuestReviewsOperationParams.Filter
+ >? =
+ null,
+ tripReason: kotlin.collections.List<
+ GetPropertyGuestReviewsOperationParams.TripReason
+ >? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): GuestReviews = getPropertyGuestReviewsWithResponse(propertyId, language, customerSessionId, filter, tripReason, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Property Guest Reviews
+ * Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details. The response is an individual Guest Reviews object containing multiple guest reviews for the requested active property. To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
+ * @param propertyId Expedia Property ID.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param filter Single filter value. Send multiple instances of this parameter to request multiple filters. * `language` - Filters reviews to only those that match the specified `language` parameter value. Without this filter, the matching language will be preferred, but other language results can be returned. Specifying this filter could produce an error when there are no matching results. (optional)
+ * @param tripReason Desired reason provided for the reviewer's trip that you wish to display. This parameter can be supplied multiple times with different values, which will include reviews that match any of the requested trip reasons. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type GuestReviews
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyGuestReviewsOperation)"))
+ fun getPropertyGuestReviewsWithResponse(
+ propertyId: kotlin.String,
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ filter: kotlin.collections.List<
+ GetPropertyGuestReviewsOperationParams.Filter
+ >? =
+ null,
+ tripReason: kotlin.collections.List<
+ GetPropertyGuestReviewsOperationParams.TripReason
+ >? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetPropertyGuestReviewsWithResponse(propertyId, language, customerSessionId, filter, tripReason, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Rate Amenities Reference
+ * Returns a complete collection of rate amenities available in the Rapid API.
+ * @param operation [GetRateAmenitiesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ fun execute(operation: GetRateAmenitiesReferenceOperation): Response> =
+ execute>(operation)
+
+ /**
+ * Rate Amenities Reference
+ * Returns a complete collection of rate amenities available in the Rapid API.
+ * @param operation [GetRateAmenitiesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
+ */
+ fun executeAsync(operation: GetRateAmenitiesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
+
+ private suspend inline fun kgetRateAmenitiesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ val params =
+ GetRateAmenitiesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetRateAmenitiesReferenceOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Rate Amenities Reference
+ * Returns a complete collection of rate amenities available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRateAmenitiesReferenceOperation)"))
+ fun getRateAmenitiesReference(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): kotlin.collections.Map = getRateAmenitiesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Rate Amenities Reference
+ * Returns a complete collection of rate amenities available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRateAmenitiesReferenceOperation)"))
+ fun getRateAmenitiesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetRateAmenitiesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Region
+ * Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
+ * @param operation [GetRegionOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type Region
+ */
+ fun execute(operation: GetRegionOperation): Response = execute(operation)
+
+ /**
+ * Region
+ * Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
+ * @param operation [GetRegionOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type Region
+ */
+ fun executeAsync(operation: GetRegionOperation): CompletableFuture> = executeAsync(operation)
+
+ private suspend inline fun kgetRegionWithResponse(
+ regionId: kotlin.String,
+ language: kotlin.String,
+ include: kotlin.collections.List<
+ GetRegionOperationParams.Include
+ >,
+ customerSessionId: kotlin.String? =
+ null,
+ supplySource: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response {
+ val params =
+ GetRegionOperationParams(
+ regionId = regionId,
+ customerSessionId = customerSessionId,
+ language = language,
+ include = include,
+ supplySource = supplySource,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetRegionOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Region
+ * Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
+ * @param regionId ID of the region to retrieve.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/) Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param include Options for which content to return in the response. This parameter can be supplied multiple times with different values. The value must be lower case. * details - Include the metadata, coordinates and full hierarchy of the region. * property_ids - Include the list of property IDs within the bounding polygon of the region. * property_ids_expanded - Include the list of property IDs within the bounding polygon of the region and property IDs from the surrounding area if minimal properties are within the region.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param supplySource Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return Region
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRegionOperation)"))
+ fun getRegion(
+ regionId: kotlin.String,
+ language: kotlin.String,
+ include: kotlin.collections.List<
+ GetRegionOperationParams.Include
+ >,
+ customerSessionId: kotlin.String? =
+ null,
+ supplySource: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Region = getRegionWithResponse(regionId, language, include, customerSessionId, supplySource, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Region
+ * Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
+ * @param regionId ID of the region to retrieve.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/) Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param include Options for which content to return in the response. This parameter can be supplied multiple times with different values. The value must be lower case. * details - Include the metadata, coordinates and full hierarchy of the region. * property_ids - Include the list of property IDs within the bounding polygon of the region. * property_ids_expanded - Include the list of property IDs within the bounding polygon of the region and property IDs from the surrounding area if minimal properties are within the region.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param supplySource Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type Region
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRegionOperation)"))
+ fun getRegionWithResponse(
+ regionId: kotlin.String,
+ language: kotlin.String,
+ include: kotlin.collections.List<
+ GetRegionOperationParams.Include
+ >,
+ customerSessionId: kotlin.String? =
+ null,
+ supplySource: kotlin.String? =
+ null,
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetRegionWithResponse(regionId, language, include, customerSessionId, supplySource, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Regions
+ * Returns the geographic definition and property mappings of regions matching the specified parameters.
To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
The response is a paginated list of regions. See the `Link` header in the 200 response section.
+ * @param operation [GetRegionsOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.List
+ */
+ fun execute(operation: GetRegionsOperation): Response> = execute>(operation)
+
+ /**
+ * Regions
+ * Returns the geographic definition and property mappings of regions matching the specified parameters.
To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
The response is a paginated list of regions. See the `Link` header in the 200 response section.
+ * @param operation [GetRegionsOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.List
+ */
+ fun executeAsync(operation: GetRegionsOperation): CompletableFuture>> = executeAsync>(operation)
+
+ private suspend inline fun kgetRegionsWithResponse(
+ include: kotlin.collections.List<
+ GetRegionsOperationParams.Include
+ >,
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ ancestorId: kotlin.String? =
+ null,
+ area: kotlin.String? =
+ null,
+ countryCode: kotlin.collections.List<
kotlin.String
>? =
null,
- brandId: kotlin.collections.List<
+ countrySubdivisionCode: kotlin.collections.List<
kotlin.String
>? =
null,
- businessModel: kotlin.collections.List<
- GetPropertyContentOperationParams.BusinessModel
- >? =
+ iataLocationCode: kotlin.String? =
null,
- categoryId: kotlin.collections.List<
+ limit: java.math.BigDecimal? =
+ null,
+ supplySource: kotlin.String? =
+ null,
+ type: kotlin.collections.List<
kotlin.String
>? =
null,
- categoryIdExclude: kotlin.collections.List<
- kotlin.String
- >? =
+ billingTerms: kotlin.String? =
+ null,
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
+ null
+ ): Response> {
+ val params =
+ GetRegionsOperationParams(
+ customerSessionId = customerSessionId,
+ include = include,
+ language = language,
+ ancestorId = ancestorId,
+ area = area,
+ countryCode = countryCode,
+ countrySubdivisionCode = countrySubdivisionCode,
+ iataLocationCode = iataLocationCode,
+ limit = limit,
+ supplySource = supplySource,
+ type = type,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ val operation =
+ GetRegionsOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Regions
+ * Returns the geographic definition and property mappings of regions matching the specified parameters.
To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
The response is a paginated list of regions. See the `Link` header in the 200 response section.
+ * @param include Options for which content to return in the response. This parameter can be supplied multiple times with different values. The standard and details options cannot be requested together. The value must be lower case. * standard - Include the metadata and basic hierarchy of each region. * details - Include the metadata, coordinates and full hierarchy of each region. * property_ids - Include the list of property IDs within the bounding polygon of each region. * property_ids_expanded - Include the list of property IDs within the bounding polygon of each region and property IDs from the surrounding area if minimal properties are within the region.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param ancestorId Search for regions whose ancestors include the requested ancestor region ID. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists). (optional)
+ * @param area Filter the results to regions that intersect with a specified area.
The area may be defined in one of two ways: * radius,region_id * radius,latitude,longitude Radius combined with region id would search an area that extends the number of kilometers out from the boundaries of the region in all directions. Radius combined with a single point, specified by a latitude, longitude pair would search an area in a circle with the specified radius and the point as the center. Radius should be specified in non-negative whole kilometers, decimals will return an error. A radius of 0 is allowed. When specifying the area parameter, there will be a limit of 100 results, which can be narrowed further by the limit parameter. Due to the number of results, unless `point_of_interest` is specified as the only type, regions of type `point_of_interest` will not be included in a request that filters to an area.
An example use case would be searching for the closest 3 airports within 50 kilometers of a specified point. `&type=airport&limit=3&area=50,37.227924,-93.310036` (optional)
+ * @param countryCode Filter the results to a specified ISO 3166-1 alpha-2 country code. For more information see: [https://www.iso.org/obp/ui/#search/code/](https://www.iso.org/obp/ui/#search/code/) (optional)
+ * @param countrySubdivisionCode Filter the results down to only the ISO 3166-2 country subdivision. (optional)
+ * @param iataLocationCode Search for regions by the requested 3-character IATA location code, which will apply to both iata_airport_code and iata_airport_metro_code. The code must be upper case. (optional)
+ * @param limit Limit the number of results returned. Using the area parameter will impose a max value of 100 for this whether specified or not. (optional)
+ * @param supplySource Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information. (optional)
+ * @param type Filter the results to a specified region type. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.List
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRegionsOperation)"))
+ fun getRegions(
+ include: kotlin.collections.List<
+ GetRegionsOperationParams.Include
+ >,
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ ancestorId: kotlin.String? =
null,
- chainId: kotlin.collections.List<
- kotlin.String
- >? =
+ area: kotlin.String? =
null,
countryCode: kotlin.collections.List<
kotlin.String
>? =
null,
- dateAddedEnd: kotlin.String? =
- null,
- dateAddedStart: kotlin.String? =
- null,
- dateUpdatedEnd: kotlin.String? =
- null,
- dateUpdatedStart: kotlin.String? =
- null,
- include: kotlin.collections.List<
+ countrySubdivisionCode: kotlin.collections.List<
kotlin.String
>? =
null,
- multiUnit: kotlin.Boolean? =
- null,
- propertyId: kotlin.collections.List<
- kotlin.String
- >? =
+ iataLocationCode: kotlin.String? =
null,
- propertyRatingMax: kotlin.String? =
+ limit: java.math.BigDecimal? =
null,
- propertyRatingMin: kotlin.String? =
+ supplySource: kotlin.String? =
null,
- spokenLanguageId: kotlin.collections.List<
+ type: kotlin.collections.List<
kotlin.String
>? =
null,
@@ -2213,30 +4180,19 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): kotlin.collections.Map =
- getPropertyContentWithResponse(
+ ): kotlin.collections.List =
+ getRegionsWithResponse(
+ include,
language,
- supplySource,
customerSessionId,
- allInclusive,
- amenityId,
- attributeId,
- brandId,
- businessModel,
- categoryId,
- categoryIdExclude,
- chainId,
+ ancestorId,
+ area,
countryCode,
- dateAddedEnd,
- dateAddedStart,
- dateUpdatedEnd,
- dateUpdatedStart,
- include,
- multiUnit,
- propertyId,
- propertyRatingMax,
- propertyRatingMin,
- spokenLanguageId,
+ countrySubdivisionCode,
+ iataLocationCode,
+ limit,
+ supplySource,
+ type,
billingTerms,
partnerPointOfSale,
paymentTerms,
@@ -2244,106 +4200,57 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
).data
/**
- * Property Content
- * Search property content for active properties in the requested language.
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link` header in the 200 response section.
The response is a JSON map where the key is the property ID and the value is the property object itself, which can include property-level, room-level and rate-level information.
+ * Regions
+ * Returns the geographic definition and property mappings of regions matching the specified parameters.
To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
The response is a paginated list of regions. See the `Link` header in the 200 response section.
+ * @param include Options for which content to return in the response. This parameter can be supplied multiple times with different values. The standard and details options cannot be requested together. The value must be lower case. * standard - Include the metadata and basic hierarchy of each region. * details - Include the metadata, coordinates and full hierarchy of each region. * property_ids - Include the list of property IDs within the bounding polygon of each region. * property_ids_expanded - Include the list of property IDs within the bounding polygon of each region and property IDs from the surrounding area if minimal properties are within the region.
* @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
- * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param allInclusive Search to include properties that have the requested `all_inclusive` values equal to true. If this parameter is not supplied, all `all_inclusive` scenarios are included. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested scenarios. * `all_rate_plans` - Return properties where `all_inclusive.all_rate_plans` is true. * `some_rate_plans` = Return properties where `all_inclusive.some_rate_plans` is true. (optional)
- * @param amenityId The ID of the amenity you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested amenity IDs. This is currently only capable of searching for property level amenities. Room and rate level amenities cannot be searched on. (optional)
- * @param attributeId The ID of the attribute you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested attribute IDs. (optional)
- * @param brandId The ID of the brand you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested brand IDs. (optional)
- * @param businessModel Search for properties with the requested business model enabled. This parameter can be supplied multiple times with different values, which will return all properties that match any of the requested business models. The value must be lower case. * `expedia_collect` - Return only properties where the payment is collected by Expedia. * `property_collect` - Return only properties where the payment is collected at the property. (optional)
- * @param categoryId Search to include properties that have the requested [category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested category IDs. (optional)
- * @param categoryIdExclude Search to exclude properties that do not have the requested [category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times with different values, which will exclude properties that match any of the requested category IDs. (optional)
- * @param chainId The ID of the chain you want to search for. These chain IDs can be positive and negative numbers. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested chain IDs. (optional)
- * @param countryCode Search for properties with the requested country code, in ISO 3166-1 alpha-2 format. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested country codes. (optional)
- * @param dateAddedEnd Search for properties added on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
- * @param dateAddedStart Search for properties added on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
- * @param dateUpdatedEnd Search for properties updated on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
- * @param dateUpdatedStart Search for properties updated on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD) (optional)
- * @param include Each time this parameter is specified will add to the list of fields and associated objects returned in the response. All values and field names are lower case. The values `property_ids` and `catalog` will continue to behave as specified below for backwards compatibility. All other top level field names will add the specified field to the list of fields returned in the response. See the response schema for a full list of top level field names. Additionally, the field `property_id` will always be returned regardless of what include values are passed.
Possible values: * `property_ids` - ***DEPRECATED*** - Please use `property_id` which matches the response field name. * `catalog` - Include all property catalog fields. See [Property Catalog File endpoint](https://developers.expediagroup.com/docs/rapid/resources/rapid-api#get-/files/properties/catalog) for a list of fields. * `property_id` - Passing in the value `property_id` and no other values will limit the response to only `property_id`. Not necessary to include in combination with other field name values, as it will always be returned. * All field names found at the top level of the property content response are now valid values for inclusion. (optional)
- * @param multiUnit Search for multi-unit properties. If this parameter is not supplied, both single-unit and multi-unit properties will be included. * `true` - Include only properties that are multi-unit. * `false` - Do not include properties that are multi-unit. (optional)
- * @param propertyId The ID of the property you want to search for. You can provide 1 to 250 property_id parameters. (optional)
- * @param propertyRatingMax Search for properties with a property rating less than or equal to the requested rating. The highest property rating value is 5.0. (optional)
- * @param propertyRatingMin Search for properties with a property rating greater than or equal to the requested rating. The lowest property rating value is 0.0. (optional)
- * @param spokenLanguageId The id of the spoken language you want to search for. This parameter can be supplied multiple times with different values, which will include properties that match any of the requested spoken languages. The language code as a subset of BCP47 format. (optional)
+ * @param ancestorId Search for regions whose ancestors include the requested ancestor region ID. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists). (optional)
+ * @param area Filter the results to regions that intersect with a specified area.
The area may be defined in one of two ways: * radius,region_id * radius,latitude,longitude Radius combined with region id would search an area that extends the number of kilometers out from the boundaries of the region in all directions. Radius combined with a single point, specified by a latitude, longitude pair would search an area in a circle with the specified radius and the point as the center. Radius should be specified in non-negative whole kilometers, decimals will return an error. A radius of 0 is allowed. When specifying the area parameter, there will be a limit of 100 results, which can be narrowed further by the limit parameter. Due to the number of results, unless `point_of_interest` is specified as the only type, regions of type `point_of_interest` will not be included in a request that filters to an area.
An example use case would be searching for the closest 3 airports within 50 kilometers of a specified point. `&type=airport&limit=3&area=50,37.227924,-93.310036` (optional)
+ * @param countryCode Filter the results to a specified ISO 3166-1 alpha-2 country code. For more information see: [https://www.iso.org/obp/ui/#search/code/](https://www.iso.org/obp/ui/#search/code/) (optional)
+ * @param countrySubdivisionCode Filter the results down to only the ISO 3166-2 country subdivision. (optional)
+ * @param iataLocationCode Search for regions by the requested 3-character IATA location code, which will apply to both iata_airport_code and iata_airport_metro_code. The code must be upper case. (optional)
+ * @param limit Limit the number of results returned. Using the area parameter will impose a max value of 100 for this whether specified or not. (optional)
+ * @param supplySource Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information. (optional)
+ * @param type Filter the results to a specified region type. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.Map
+ * @return a [Response] object with a body of type kotlin.collections.List
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyContentOperation)"))
- fun getPropertyContentWithResponse(
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRegionsOperation)"))
+ fun getRegionsWithResponse(
+ include: kotlin.collections.List<
+ GetRegionsOperationParams.Include
+ >,
language: kotlin.String,
- supplySource: kotlin.String,
customerSessionId: kotlin.String? =
null,
- allInclusive: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- amenityId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- attributeId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- brandId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- businessModel: kotlin.collections.List<
- GetPropertyContentOperationParams.BusinessModel
- >? =
- null,
- categoryId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- categoryIdExclude: kotlin.collections.List<
- kotlin.String
- >? =
+ ancestorId: kotlin.String? =
null,
- chainId: kotlin.collections.List<
- kotlin.String
- >? =
+ area: kotlin.String? =
null,
countryCode: kotlin.collections.List<
kotlin.String
>? =
null,
- dateAddedEnd: kotlin.String? =
- null,
- dateAddedStart: kotlin.String? =
- null,
- dateUpdatedEnd: kotlin.String? =
- null,
- dateUpdatedStart: kotlin.String? =
- null,
- include: kotlin.collections.List<
+ countrySubdivisionCode: kotlin.collections.List<
kotlin.String
>? =
null,
- multiUnit: kotlin.Boolean? =
- null,
- propertyId: kotlin.collections.List<
- kotlin.String
- >? =
+ iataLocationCode: kotlin.String? =
null,
- propertyRatingMax: kotlin.String? =
+ limit: java.math.BigDecimal? =
null,
- propertyRatingMin: kotlin.String? =
+ supplySource: kotlin.String? =
null,
- spokenLanguageId: kotlin.collections.List<
+ type: kotlin.collections.List<
kotlin.String
>? =
null,
@@ -2355,32 +4262,21 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetPropertyContentWithResponse(
+ kgetRegionsWithResponse(
+ include,
language,
- supplySource,
customerSessionId,
- allInclusive,
- amenityId,
- attributeId,
- brandId,
- businessModel,
- categoryId,
- categoryIdExclude,
- chainId,
+ ancestorId,
+ area,
countryCode,
- dateAddedEnd,
- dateAddedStart,
- dateUpdatedEnd,
- dateUpdatedStart,
- include,
- multiUnit,
- propertyId,
- propertyRatingMax,
- propertyRatingMin,
- spokenLanguageId,
+ countrySubdivisionCode,
+ iataLocationCode,
+ limit,
+ supplySource,
+ type,
billingTerms,
partnerPointOfSale,
paymentTerms,
@@ -2393,77 +4289,39 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
@JvmOverloads
- fun getPaginator(operation: GetPropertyContentOperation): ResponsePaginator> {
+ fun getPaginator(operation: GetRegionsOperation): ResponsePaginator> {
val response = execute(operation)
- return ResponsePaginator(this, response, emptyMap()) { it.body>() }
+ return ResponsePaginator(this, response, emptyList()) { it.body>() }
}
@JvmOverloads
- @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetPropertyContentOperation)"))
- fun getPropertyContentPaginator(
+ @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetRegionsOperation)"))
+ fun getRegionsPaginator(
+ include: kotlin.collections.List<
+ GetRegionsOperationParams.Include
+ >,
language: kotlin.String,
- supplySource: kotlin.String,
customerSessionId: kotlin.String? =
null,
- allInclusive: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- amenityId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- attributeId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- brandId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- businessModel: kotlin.collections.List<
- GetPropertyContentOperationParams.BusinessModel
- >? =
- null,
- categoryId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- categoryIdExclude: kotlin.collections.List<
- kotlin.String
- >? =
+ ancestorId: kotlin.String? =
null,
- chainId: kotlin.collections.List<
- kotlin.String
- >? =
+ area: kotlin.String? =
null,
countryCode: kotlin.collections.List<
kotlin.String
>? =
null,
- dateAddedEnd: kotlin.String? =
- null,
- dateAddedStart: kotlin.String? =
- null,
- dateUpdatedEnd: kotlin.String? =
- null,
- dateUpdatedStart: kotlin.String? =
- null,
- include: kotlin.collections.List<
+ countrySubdivisionCode: kotlin.collections.List<
kotlin.String
>? =
null,
- multiUnit: kotlin.Boolean? =
- null,
- propertyId: kotlin.collections.List<
- kotlin.String
- >? =
+ iataLocationCode: kotlin.String? =
null,
- propertyRatingMax: kotlin.String? =
+ limit: java.math.BigDecimal? =
null,
- propertyRatingMin: kotlin.String? =
+ supplySource: kotlin.String? =
null,
- spokenLanguageId: kotlin.collections.List<
+ type: kotlin.collections.List<
kotlin.String
>? =
null,
@@ -2475,105 +4333,56 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Paginator> {
+ ): Paginator> {
val response =
- getPropertyContentWithResponse(
+ getRegionsWithResponse(
+ include,
language,
- supplySource,
customerSessionId,
- allInclusive,
- amenityId,
- attributeId,
- brandId,
- businessModel,
- categoryId,
- categoryIdExclude,
- chainId,
+ ancestorId,
+ area,
countryCode,
- dateAddedEnd,
- dateAddedStart,
- dateUpdatedEnd,
- dateUpdatedStart,
- include,
- multiUnit,
- propertyId,
- propertyRatingMax,
- propertyRatingMin,
- spokenLanguageId,
+ countrySubdivisionCode,
+ iataLocationCode,
+ limit,
+ supplySource,
+ type,
billingTerms,
partnerPointOfSale,
paymentTerms,
platformName
)
- return Paginator(this, response, emptyMap()) { it.body>() }
+ return Paginator(this, response, emptyList()) { it.body>() }
}
@JvmOverloads
- @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetPropertyContentOperation)"))
- fun getPropertyContentPaginatorWithResponse(
+ @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetRegionsOperation)"))
+ fun getRegionsPaginatorWithResponse(
+ include: kotlin.collections.List<
+ GetRegionsOperationParams.Include
+ >,
language: kotlin.String,
- supplySource: kotlin.String,
customerSessionId: kotlin.String? =
null,
- allInclusive: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- amenityId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- attributeId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- brandId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- businessModel: kotlin.collections.List<
- GetPropertyContentOperationParams.BusinessModel
- >? =
- null,
- categoryId: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- categoryIdExclude: kotlin.collections.List<
- kotlin.String
- >? =
+ ancestorId: kotlin.String? =
null,
- chainId: kotlin.collections.List<
- kotlin.String
- >? =
+ area: kotlin.String? =
null,
countryCode: kotlin.collections.List<
kotlin.String
>? =
null,
- dateAddedEnd: kotlin.String? =
- null,
- dateAddedStart: kotlin.String? =
- null,
- dateUpdatedEnd: kotlin.String? =
- null,
- dateUpdatedStart: kotlin.String? =
- null,
- include: kotlin.collections.List<
+ countrySubdivisionCode: kotlin.collections.List<
kotlin.String
>? =
null,
- multiUnit: kotlin.Boolean? =
- null,
- propertyId: kotlin.collections.List<
- kotlin.String
- >? =
+ iataLocationCode: kotlin.String? =
null,
- propertyRatingMax: kotlin.String? =
+ limit: java.math.BigDecimal? =
null,
- propertyRatingMin: kotlin.String? =
+ supplySource: kotlin.String? =
null,
- spokenLanguageId: kotlin.collections.List<
+ type: kotlin.collections.List<
kotlin.String
>? =
null,
@@ -2585,84 +4394,194 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): ResponsePaginator> {
+ ): ResponsePaginator> {
val response =
- getPropertyContentWithResponse(
+ getRegionsWithResponse(
+ include,
language,
- supplySource,
customerSessionId,
- allInclusive,
- amenityId,
- attributeId,
- brandId,
- businessModel,
- categoryId,
- categoryIdExclude,
- chainId,
+ ancestorId,
+ area,
countryCode,
- dateAddedEnd,
- dateAddedStart,
- dateUpdatedEnd,
- dateUpdatedStart,
- include,
- multiUnit,
- propertyId,
- propertyRatingMax,
- propertyRatingMin,
- spokenLanguageId,
+ countrySubdivisionCode,
+ iataLocationCode,
+ limit,
+ supplySource,
+ type,
billingTerms,
partnerPointOfSale,
paymentTerms,
platformName
)
- return ResponsePaginator(this, response, emptyMap()) { it.body>() }
+ return ResponsePaginator(this, response, emptyList()) { it.body>() }
}
/**
- * Property Content File
- * Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call. Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":20,\"square_feet\":215},\"views\":{\"4146\":{\"id\":\"4146\",\"name\":\"Courtyard view\"}},\"occupancy\":{\"max_allowed\":{\"total\":5,\"children\":2,\"adults\":4},\"age_categories\":{\"Adult\":{\"name\":\"Adult\",\"minimum_age\":9}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"AB-012-987-1234-01\",\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"spoken_languages\":{\"vi\":{\"id\":\"vi\",\"name\":\"Vietnamese\"}},\"multi_unit\":true,\"payment_registration_recommended\":false,\"vacation_rental_details\": {\"registry_number\": \"Property Registration Number 123456\",\"private_host\": \"true\",\"property_manager\": {\"name\": \"Victor\",\"links\": {\"image\": {\"method\": \"GET\",\"href\": \"https://test-image/test/test/836f1097-fbcf-43b5-bc02-c8ff6658cb90.c1.jpg\"}}},\"rental_agreement\": {\"links\": {\"rental_agreement\": {\"method\": \"GET\",\"href\": \"https://test-link.test.amazonaws.com/rentalconditions_property_d65e7eb5-4a7c-4a80-a8a3-171999f9f444.pdf\"}}},\"house_rules\": [\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\": {\"4296\": {\"id\": \"4296\",\"name\": \"Furnished balcony or patio\"},\"2859\": {\"id\": \"2859\",\"name\": \"Private pool\"}},\"vrbo_srp_id\": \"123.1234567.5678910\",\"listing_id\": \"1234567\",\"listing_number\": \"5678910\",\"listing_source\": \"HOMEAWAY_US\",\"listing_unit\": \"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838},\"obfuscated_coordinates\":{\"latitude\":28.339303,\"longitude\":-81.47791},\"obfuscation_required\":true},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":17},\"views\":{\"4134\":{\"id\":\"4134\",\"name\":\"City view\"}},\"occupancy\":{\"max_allowed\":{\"total\":3,\"children\":2,\"adults\":3},\"age_categories\":{\"ChildAgeA\":{\"name\":\"ChildAgeA\",\"minimum_age\":3}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"CD-012-987-1234-02\",\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"spoken_languages\":{\"en\":{\"id\":\"en\",\"name\":\"English\"}},\"multi_unit\":true,\"payment_registration_recommended\":true,\"vacation_rental_details\":{\"registry_number\":\"Property Registration Number 123456\",\"private_host\":\"true\",\"property_manager\":{\"name\":\"John Smith\",\"links\":{\"image\":{\"method\":\"GET\",\"href\":\"https://example.com/profile.jpg\"}}},\"rental_agreement\":{\"links\":{\"rental_agreement\":{\"method\":\"GET\",\"href\":\"https:/example.com/rentalconditions.pdf\"}}},\"house_rules\":[\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\":{\"2859\":{\"id\":\"2859\",\"name\":\"Private pool\"},\"4296\":{\"id\":\"4296\",\"name\":\"Furnished balcony or patio\"}},\"vrbo_srp_id\":\"123.1234567.5678910\",\"listing_id\":\"1234567\",\"listing_number\":\"5678910\",\"listing_source\":\"HOMEAWAY_US\",\"listing_unit\":\"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} ```
- * @param operation [GetPropertyContentFileOperation]
+ * Search for and retrieve Bookings with Affiliate Reference Id
+ * This can be called directly without a token when an affiliate reference id is provided. It returns details about bookings associated with an affiliate reference id, along with cancel links to cancel the bookings. Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive no results while trying to search for an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to search for the itinerary again.
+ * @param operation [GetReservationOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.List
+ */
+ fun execute(operation: GetReservationOperation): Response> = execute>(operation)
+
+ /**
+ * Search for and retrieve Bookings with Affiliate Reference Id
+ * This can be called directly without a token when an affiliate reference id is provided. It returns details about bookings associated with an affiliate reference id, along with cancel links to cancel the bookings. Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive no results while trying to search for an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to search for the itinerary again.
+ * @param operation [GetReservationOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.List
+ */
+ fun executeAsync(operation: GetReservationOperation): CompletableFuture>> = executeAsync>(operation)
+
+ private suspend inline fun kgetReservationWithResponse(
+ customerIp: kotlin.String,
+ affiliateReferenceId: kotlin.String,
+ email: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ test: GetReservationOperationParams.Test? =
+ null,
+ include: kotlin.collections.List<
+ GetReservationOperationParams.Include
+ >? =
+ null
+ ): Response> {
+ val params =
+ GetReservationOperationParams(
+ customerIp = customerIp,
+ customerSessionId = customerSessionId,
+ test = test,
+ affiliateReferenceId = affiliateReferenceId,
+ email = email,
+ include = include
+ )
+
+ val operation =
+ GetReservationOperation(
+ params
+ )
+
+ return execute(operation)
+ }
+
+ /**
+ * Search for and retrieve Bookings with Affiliate Reference Id
+ * This can be called directly without a token when an affiliate reference id is provided. It returns details about bookings associated with an affiliate reference id, along with cancel links to cancel the bookings. Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive no results while trying to search for an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to search for the itinerary again.
+ * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics.
+ * @param affiliateReferenceId The affilliate reference id value. This field supports a maximum of 28 characters.
+ * @param email Email associated with the booking. Special characters in the local part or domain should be encoded.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param test The retrieve call has a test header that can be used to return set responses with the following keywords: * `standard` - Requires valid test booking. * `service_unavailable` * `internal_server_error` (optional)
+ * @param include Options for which information to return in the response. The value must be lower case. * `history` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `other` in the response. * `history_v2` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `supplier` in the response. See the [Itinerary history](https://developers.expediagroup.com/docs/rapid/lodging/manage-booking/itinerary-history#overview) for details. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.List
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetReservationOperation)"))
+ fun getReservation(
+ customerIp: kotlin.String,
+ affiliateReferenceId: kotlin.String,
+ email: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ test: GetReservationOperationParams.Test? =
+ null,
+ include: kotlin.collections.List<
+ GetReservationOperationParams.Include
+ >? =
+ null
+ ): kotlin.collections.List = getReservationWithResponse(customerIp, affiliateReferenceId, email, customerSessionId, test, include).data
+
+ /**
+ * Search for and retrieve Bookings with Affiliate Reference Id
+ * This can be called directly without a token when an affiliate reference id is provided. It returns details about bookings associated with an affiliate reference id, along with cancel links to cancel the bookings. Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive no results while trying to search for an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to search for the itinerary again.
+ * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics.
+ * @param affiliateReferenceId The affilliate reference id value. This field supports a maximum of 28 characters.
+ * @param email Email associated with the booking. Special characters in the local part or domain should be encoded.
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param test The retrieve call has a test header that can be used to return set responses with the following keywords: * `standard` - Requires valid test booking. * `service_unavailable` * `internal_server_error` (optional)
+ * @param include Options for which information to return in the response. The value must be lower case. * `history` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `other` in the response. * `history_v2` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `supplier` in the response. See the [Itinerary history](https://developers.expediagroup.com/docs/rapid/lodging/manage-booking/itinerary-history#overview) for details. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.List
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetReservationOperation)"))
+ fun getReservationWithResponse(
+ customerIp: kotlin.String,
+ affiliateReferenceId: kotlin.String,
+ email: kotlin.String,
+ customerSessionId: kotlin.String? =
+ null,
+ test: GetReservationOperationParams.Test? =
+ null,
+ include: kotlin.collections.List<
+ GetReservationOperationParams.Include
+ >? =
+ null
+ ): Response> {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetReservationWithResponse(customerIp, affiliateReferenceId, email, customerSessionId, test, include)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
+ }
+
+ /**
+ * Retrieve Booking
+ * This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking: * Using the link included in the original Book response, example: https://api.ean.com/v3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W * Using the email of the booking. If the email contains special characters, they must be encoded to successfully retrieve the booking. Example: https://api.ean.com/v3/itineraries/8955599932111?email=customer@email.com Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to retrieve the itinerary again.
+ * @param operation [GetReservationByItineraryIdOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type Link
+ * @return a [Response] object with a body of type Itinerary
*/
- fun execute(operation: GetPropertyContentFileOperation): Response = execute(operation)
+ fun execute(operation: GetReservationByItineraryIdOperation): Response = execute(operation)
/**
- * Property Content File
- * Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call. Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":20,\"square_feet\":215},\"views\":{\"4146\":{\"id\":\"4146\",\"name\":\"Courtyard view\"}},\"occupancy\":{\"max_allowed\":{\"total\":5,\"children\":2,\"adults\":4},\"age_categories\":{\"Adult\":{\"name\":\"Adult\",\"minimum_age\":9}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"AB-012-987-1234-01\",\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"spoken_languages\":{\"vi\":{\"id\":\"vi\",\"name\":\"Vietnamese\"}},\"multi_unit\":true,\"payment_registration_recommended\":false,\"vacation_rental_details\": {\"registry_number\": \"Property Registration Number 123456\",\"private_host\": \"true\",\"property_manager\": {\"name\": \"Victor\",\"links\": {\"image\": {\"method\": \"GET\",\"href\": \"https://test-image/test/test/836f1097-fbcf-43b5-bc02-c8ff6658cb90.c1.jpg\"}}},\"rental_agreement\": {\"links\": {\"rental_agreement\": {\"method\": \"GET\",\"href\": \"https://test-link.test.amazonaws.com/rentalconditions_property_d65e7eb5-4a7c-4a80-a8a3-171999f9f444.pdf\"}}},\"house_rules\": [\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\": {\"4296\": {\"id\": \"4296\",\"name\": \"Furnished balcony or patio\"},\"2859\": {\"id\": \"2859\",\"name\": \"Private pool\"}},\"vrbo_srp_id\": \"123.1234567.5678910\",\"listing_id\": \"1234567\",\"listing_number\": \"5678910\",\"listing_source\": \"HOMEAWAY_US\",\"listing_unit\": \"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838},\"obfuscated_coordinates\":{\"latitude\":28.339303,\"longitude\":-81.47791},\"obfuscation_required\":true},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":17},\"views\":{\"4134\":{\"id\":\"4134\",\"name\":\"City view\"}},\"occupancy\":{\"max_allowed\":{\"total\":3,\"children\":2,\"adults\":3},\"age_categories\":{\"ChildAgeA\":{\"name\":\"ChildAgeA\",\"minimum_age\":3}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"CD-012-987-1234-02\",\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"spoken_languages\":{\"en\":{\"id\":\"en\",\"name\":\"English\"}},\"multi_unit\":true,\"payment_registration_recommended\":true,\"vacation_rental_details\":{\"registry_number\":\"Property Registration Number 123456\",\"private_host\":\"true\",\"property_manager\":{\"name\":\"John Smith\",\"links\":{\"image\":{\"method\":\"GET\",\"href\":\"https://example.com/profile.jpg\"}}},\"rental_agreement\":{\"links\":{\"rental_agreement\":{\"method\":\"GET\",\"href\":\"https:/example.com/rentalconditions.pdf\"}}},\"house_rules\":[\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\":{\"2859\":{\"id\":\"2859\",\"name\":\"Private pool\"},\"4296\":{\"id\":\"4296\",\"name\":\"Furnished balcony or patio\"}},\"vrbo_srp_id\":\"123.1234567.5678910\",\"listing_id\":\"1234567\",\"listing_number\":\"5678910\",\"listing_source\":\"HOMEAWAY_US\",\"listing_unit\":\"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} ```
- * @param operation [GetPropertyContentFileOperation]
+ * Retrieve Booking
+ * This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking: * Using the link included in the original Book response, example: https://api.ean.com/v3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W * Using the email of the booking. If the email contains special characters, they must be encoded to successfully retrieve the booking. Example: https://api.ean.com/v3/itineraries/8955599932111?email=customer@email.com Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to retrieve the itinerary again.
+ * @param operation [GetReservationByItineraryIdOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type Link
+ * @return a [CompletableFuture] object with a body of type Itinerary
*/
- fun executeAsync(operation: GetPropertyContentFileOperation): CompletableFuture> = executeAsync(operation)
+ fun executeAsync(operation: GetReservationByItineraryIdOperation): CompletableFuture> = executeAsync(operation)
- private suspend inline fun kgetPropertyContentFileWithResponse(
- language: kotlin.String,
- supplySource: kotlin.String,
+ private suspend inline fun kgetReservationByItineraryIdWithResponse(
+ customerIp: kotlin.String,
+ itineraryId: kotlin.String,
customerSessionId: kotlin.String? =
null,
- billingTerms: kotlin.String? =
+ test: GetReservationByItineraryIdOperationParams.Test? =
null,
- partnerPointOfSale: kotlin.String? =
+ token: kotlin.String? =
null,
- paymentTerms: kotlin.String? =
+ email: kotlin.String? =
null,
- platformName: kotlin.String? =
+ include: kotlin.collections.List<
+ GetReservationByItineraryIdOperationParams.Include
+ >? =
null
- ): Response {
+ ): Response {
val params =
- GetPropertyContentFileOperationParams(
+ GetReservationByItineraryIdOperationParams(
+ itineraryId = itineraryId,
+ customerIp = customerIp,
customerSessionId = customerSessionId,
- language = language,
- supplySource = supplySource,
- billingTerms = billingTerms,
- partnerPointOfSale = partnerPointOfSale,
- paymentTerms = paymentTerms,
- platformName = platformName
+ test = test,
+ token = token,
+ email = email,
+ include = include
)
val operation =
- GetPropertyContentFileOperation(
+ GetReservationByItineraryIdOperation(
params
)
@@ -2670,73 +4589,77 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Property Content File
- * Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call. Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":20,\"square_feet\":215},\"views\":{\"4146\":{\"id\":\"4146\",\"name\":\"Courtyard view\"}},\"occupancy\":{\"max_allowed\":{\"total\":5,\"children\":2,\"adults\":4},\"age_categories\":{\"Adult\":{\"name\":\"Adult\",\"minimum_age\":9}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"AB-012-987-1234-01\",\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"spoken_languages\":{\"vi\":{\"id\":\"vi\",\"name\":\"Vietnamese\"}},\"multi_unit\":true,\"payment_registration_recommended\":false,\"vacation_rental_details\": {\"registry_number\": \"Property Registration Number 123456\",\"private_host\": \"true\",\"property_manager\": {\"name\": \"Victor\",\"links\": {\"image\": {\"method\": \"GET\",\"href\": \"https://test-image/test/test/836f1097-fbcf-43b5-bc02-c8ff6658cb90.c1.jpg\"}}},\"rental_agreement\": {\"links\": {\"rental_agreement\": {\"method\": \"GET\",\"href\": \"https://test-link.test.amazonaws.com/rentalconditions_property_d65e7eb5-4a7c-4a80-a8a3-171999f9f444.pdf\"}}},\"house_rules\": [\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\": {\"4296\": {\"id\": \"4296\",\"name\": \"Furnished balcony or patio\"},\"2859\": {\"id\": \"2859\",\"name\": \"Private pool\"}},\"vrbo_srp_id\": \"123.1234567.5678910\",\"listing_id\": \"1234567\",\"listing_number\": \"5678910\",\"listing_source\": \"HOMEAWAY_US\",\"listing_unit\": \"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838},\"obfuscated_coordinates\":{\"latitude\":28.339303,\"longitude\":-81.47791},\"obfuscation_required\":true},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":17},\"views\":{\"4134\":{\"id\":\"4134\",\"name\":\"City view\"}},\"occupancy\":{\"max_allowed\":{\"total\":3,\"children\":2,\"adults\":3},\"age_categories\":{\"ChildAgeA\":{\"name\":\"ChildAgeA\",\"minimum_age\":3}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"CD-012-987-1234-02\",\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"spoken_languages\":{\"en\":{\"id\":\"en\",\"name\":\"English\"}},\"multi_unit\":true,\"payment_registration_recommended\":true,\"vacation_rental_details\":{\"registry_number\":\"Property Registration Number 123456\",\"private_host\":\"true\",\"property_manager\":{\"name\":\"John Smith\",\"links\":{\"image\":{\"method\":\"GET\",\"href\":\"https://example.com/profile.jpg\"}}},\"rental_agreement\":{\"links\":{\"rental_agreement\":{\"method\":\"GET\",\"href\":\"https:/example.com/rentalconditions.pdf\"}}},\"house_rules\":[\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\":{\"2859\":{\"id\":\"2859\",\"name\":\"Private pool\"},\"4296\":{\"id\":\"4296\",\"name\":\"Furnished balcony or patio\"}},\"vrbo_srp_id\":\"123.1234567.5678910\",\"listing_id\":\"1234567\",\"listing_number\":\"5678910\",\"listing_source\":\"HOMEAWAY_US\",\"listing_unit\":\"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} ```
- * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
- * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * Retrieve Booking
+ * This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking: * Using the link included in the original Book response, example: https://api.ean.com/v3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W * Using the email of the booking. If the email contains special characters, they must be encoded to successfully retrieve the booking. Example: https://api.ean.com/v3/itineraries/8955599932111?email=customer@email.com Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to retrieve the itinerary again.
+ * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics.
+ * @param itineraryId This parameter is used only to prefix the token value - no ID value is used.
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
- * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
- * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
- * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param test The retrieve call has a test header that can be used to return set responses. Passing standard in the Test header will retrieve a test booking, and passing any of the errors listed below will return a stubbed error response that you can use to test your error handling code. Additionally, refer to the Test Request documentation for more details on how these header values are used. * `standard` - Requires valid test booking. * `service_unavailable` * `internal_server_error` (optional)
+ * @param token Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed. (optional)
+ * @param email Email associated with the booking. Special characters in the local part or domain should be encoded. (Email is required if the token is not provided the request) (optional)
+ * @param include Options for which information to return in the response. The value must be lower case. * `history` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `other` in the response. * `history_v2` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `supplier` in the response. See the [Itinerary history](https://developers.expediagroup.com/docs/rapid/lodging/manage-booking/itinerary-history#overview) for details. (optional)
* @throws ExpediaGroupApiErrorException
- * @return Link
+ * @return Itinerary
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyContentFileOperation)"))
- fun getPropertyContentFile(
- language: kotlin.String,
- supplySource: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetReservationByItineraryIdOperation)"))
+ fun getReservationByItineraryId(
+ customerIp: kotlin.String,
+ itineraryId: kotlin.String,
customerSessionId: kotlin.String? =
null,
- billingTerms: kotlin.String? =
+ test: GetReservationByItineraryIdOperationParams.Test? =
null,
- partnerPointOfSale: kotlin.String? =
+ token: kotlin.String? =
null,
- paymentTerms: kotlin.String? =
+ email: kotlin.String? =
null,
- platformName: kotlin.String? =
+ include: kotlin.collections.List<
+ GetReservationByItineraryIdOperationParams.Include
+ >? =
null
- ): Link = getPropertyContentFileWithResponse(language, supplySource, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+ ): Itinerary = getReservationByItineraryIdWithResponse(customerIp, itineraryId, customerSessionId, test, token, email, include).data
/**
- * Property Content File
- * Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information. This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call. Example of a JSONL file with 2 properties: ``` {\"property_id\":\"12345\",\"name\":\"Test Property Name\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":false,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345\"},\"fr-FR\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":48382,\"overall\":\"3.1\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"73%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838}},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":false},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":20,\"square_feet\":215},\"views\":{\"4146\":{\"id\":\"4146\",\"name\":\"Courtyard view\"}},\"occupancy\":{\"max_allowed\":{\"total\":5,\"children\":2,\"adults\":4},\"age_categories\":{\"Adult\":{\"name\":\"Adult\",\"minimum_age\":9}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-19T05:00:00.000Z\",\"updated\":\"2018-03-22T07:23:14.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"AB-012-987-1234-01\",\"chain\":{\"id\":\"-6\",\"name\":\"Hyatt Hotels\"},\"brand\":{\"id\":\"2209\",\"name\":\"Hyatt Place\"},\"spoken_languages\":{\"vi\":{\"id\":\"vi\",\"name\":\"Vietnamese\"}},\"multi_unit\":true,\"payment_registration_recommended\":false,\"vacation_rental_details\": {\"registry_number\": \"Property Registration Number 123456\",\"private_host\": \"true\",\"property_manager\": {\"name\": \"Victor\",\"links\": {\"image\": {\"method\": \"GET\",\"href\": \"https://test-image/test/test/836f1097-fbcf-43b5-bc02-c8ff6658cb90.c1.jpg\"}}},\"rental_agreement\": {\"links\": {\"rental_agreement\": {\"method\": \"GET\",\"href\": \"https://test-link.test.amazonaws.com/rentalconditions_property_d65e7eb5-4a7c-4a80-a8a3-171999f9f444.pdf\"}}},\"house_rules\": [\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\": {\"4296\": {\"id\": \"4296\",\"name\": \"Furnished balcony or patio\"},\"2859\": {\"id\": \"2859\",\"name\": \"Private pool\"}},\"vrbo_srp_id\": \"123.1234567.5678910\",\"listing_id\": \"1234567\",\"listing_number\": \"5678910\",\"listing_source\": \"HOMEAWAY_US\",\"listing_unit\": \"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} {\"property_id\":\"67890\",\"name\":\"Test Property Name 2\",\"address\":{\"line_1\":\"123 Main St\",\"line_2\":\"Apt A\",\"city\":\"Springfield\",\"state_province_code\":\"MO\",\"state_province_name\":\"Missouri\",\"postal_code\":\"65804\",\"country_code\":\"US\",\"obfuscation_required\":true,\"localized\":{\"links\":{\"es-ES\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890\"},\"de-DE\":{\"method\":\"GET\",\"href\":\"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890\"}}}},\"ratings\":{\"property\":{\"rating\":\"3.5\",\"type\":\"Star\"},\"guest\":{\"count\":7651,\"overall\":\"4.3\",\"cleanliness\":\"4.2\",\"service\":\"1.1\",\"comfort\":\"4.3\",\"condition\":\"1.6\",\"location\":\"4.0\",\"neighborhood\":\"3.4\",\"quality\":\"3.4\",\"value\":\"2.2\",\"amenities\":\"1.4\",\"recommendation_percent\":\"80%\"}},\"location\":{\"coordinates\":{\"latitude\":37.15845,\"longitude\":-93.26838},\"obfuscated_coordinates\":{\"latitude\":28.339303,\"longitude\":-81.47791},\"obfuscation_required\":true},\"phone\":\"1-417-862-0153\",\"fax\":\"1-417-863-7249\",\"category\":{\"id\":\"1\",\"name\":\"Hotel\"},\"rank\":42,\"business_model\":{\"expedia_collect\":true,\"property_collect\":true},\"checkin\":{\"24_hour\":\"24-hour check-in\",\"begin_time\":\"3:00 PM\",\"end_time\":\"11:00 PM\",\"instructions\":\"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />\",\"special_instructions\":\"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.\",\"min_age\":18},\"checkout\":{\"time\":\"11:00 AM\"},\"fees\":{\"mandatory\":\"
You'll be asked to pay the following charges at the hotel:
Deposit: USD 50 per day
Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:
Fitness center access
Internet access
Phone calls
Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
\",\"optional\":\"Fee for in-room wireless Internet: USD 15 per hour (rates may vary)
Airport shuttle fee: USD 350 per vehicle (one way)
Rollaway bed fee: USD 175 per night
\"},\"policies\":{\"know_before_you_go\":\"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation.
Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding.
Only registered guests are allowed in the guestrooms.
Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation.
\"},\"attributes\":{\"general\":{\"2549\":{\"id\":\"2549\",\"name\":\"No elevators\"},\"3357\":{\"id\":\"3357\",\"name\":\"Caters to adults only\"}},\"pets\":{\"51\":{\"id\":\"51\",\"name\":\"Pets allowed\"},\"2809\":{\"id\":\"2809\",\"name\":\"Dogs only\"},\"3321\":{\"id\":\"3321\",\"name\":\"Pet maximum weight in kg is - 24\",\"value\":24}}},\"amenities\":{\"9\":{\"id\":\"9\",\"name\":\"Fitness facilities\"},\"2820\":{\"id\":\"2820\",\"name\":\"Number of indoor pools - 10\",\"value\":10}},\"images\":[{\"caption\":\"Featured Image\",\"hero_image\":true,\"category\":3,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}}}],\"onsite_payments\":{\"currency\":\"USD\",\"types\":{\"171\":{\"id\":\"171\",\"name\":\"American Express\"}}},\"rooms\":{\"224829\":{\"id\":\"224829\",\"name\":\"Single Room\",\"descriptions\":{\"overview\":\"2 Twin Beds 269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi Entertainment - Flat-screen TV with cable channels Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water Sleep - Premium bedding Bathroom - Private bathroom, shower, bathrobes, and free toiletries Practical - Safe and desk; cribs/infant beds available on request Comfort - Climate-controlled air conditioning and daily housekeeping Non-Smoking \"},\"amenities\":{\"130\":{\"id\":\"130\",\"name\":\"Refrigerator\"},\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"}},\"images\":[{\"hero_image\":true,\"category\":21001,\"links\":{\"70px\":{\"method\":\"GET\",\"href\":\"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg\"}},\"caption\":\"Guestroom\"}],\"bed_groups\":{\"37321\":{\"id\":\"37321\",\"description\":\"1 King Bed\",\"configuration\":[{\"type\":\"KingBed\",\"size\":\"King\",\"quantity\":1}]}},\"area\":{\"square_meters\":17},\"views\":{\"4134\":{\"id\":\"4134\",\"name\":\"City view\"}},\"occupancy\":{\"max_allowed\":{\"total\":3,\"children\":2,\"adults\":3},\"age_categories\":{\"ChildAgeA\":{\"name\":\"ChildAgeA\",\"minimum_age\":3}}}}},\"rates\":{\"333abc\":{\"id\":\"333abc\",\"amenities\":{\"1234\":{\"id\":\"1234\",\"name\":\"Test Amenity - 200\",\"value\":\"200\"},\"2104\":{\"id\":\"2104\",\"name\":\"Full Breakfast\"}},\"special_offer_description\":\"Breakfast for 2 - Rate includes the following:\\r\\n
Accommodations as selected
\\r\\n
Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\\r\\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\\r\\n\"}},\"dates\":{\"added\":\"1998-07-20T05:00:00.000Z\",\"updated\":\"2018-03-22T13:33:17.000Z\"},\"descriptions\":{\"amenities\":\"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.\",\"dining\":\"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.\",\"renovations\":\"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected:
Fitness facilities
\",\"national_ratings\":\"For the benefit of our customers, we have provided a rating based on our rating system.\",\"business_amenities\":\"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.\",\"rooms\":\"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.\",\"attractions\":\"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer.
Sogo Department Store - 0.7 km / 0.4 mi National Museum of Natural Science - 1.1 km / 0.7 mi Shr-Hwa International Tower - 1.4 km / 0.8 mi Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi Taichung Metropolitan Opera House - 1.7 km / 1 mi Tiger City Mall - 1.8 km / 1.1 mi Maple Garden Park - 1.9 km / 1.2 mi National Museum of Fine Arts - 2.1 km / 1.3 mi Feng Chia University - 2.4 km / 1.5 mi Bao An Temple - 2.5 km / 1.6 mi Fengjia Night Market - 2.5 km / 1.6 mi Zhonghua Night Market - 2.7 km / 1.7 mi Chonglun Park - 2.9 km / 1.8 mi Wan He Temple - 2.9 km / 1.8 mi Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are: Taichung (RMQ) - 12 km / 7.5 mi Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
\",\"location\":\"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.\",\"headline\":\"Near National Museum of Natural Science\",\"general\":\"General description\"},\"statistics\":{\"52\":{\"id\":\"52\",\"name\":\"Total number of rooms - 820\",\"value\":\"820\"},\"54\":{\"id\":\"54\",\"name\":\"Number of floors - 38\",\"value\":\"38\"}},\"airports\":{\"preferred\":{\"iata_airport_code\":\"SGF\"}},\"themes\":{\"2337\":{\"id\":\"2337\",\"name\":\"Luxury Hotel\"},\"2341\":{\"id\":\"2341\",\"name\":\"Spa Hotel\"}},\"all_inclusive\":{\"all_rate_plans\":true,\"some_rate_plans\":false,\"details\":\"
This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment Land activities
Fitness facilities
Lessons/classes/games
Pilates
Yoga
Entertainment
Onsite entertainment and activities
Onsite live performances
\"},\"tax_id\":\"CD-012-987-1234-02\",\"chain\":{\"id\":\"-5\",\"name\":\"Hilton Worldwide\"},\"brand\":{\"id\":\"358\",\"name\":\"Hampton Inn\"},\"spoken_languages\":{\"en\":{\"id\":\"en\",\"name\":\"English\"}},\"multi_unit\":true,\"payment_registration_recommended\":true,\"vacation_rental_details\":{\"registry_number\":\"Property Registration Number 123456\",\"private_host\":\"true\",\"property_manager\":{\"name\":\"John Smith\",\"links\":{\"image\":{\"method\":\"GET\",\"href\":\"https://example.com/profile.jpg\"}}},\"rental_agreement\":{\"links\":{\"rental_agreement\":{\"method\":\"GET\",\"href\":\"https:/example.com/rentalconditions.pdf\"}}},\"house_rules\":[\"Children welcome\",\"No pets\",\"No smoking\",\"No parties or events\"],\"amenities\":{\"2859\":{\"id\":\"2859\",\"name\":\"Private pool\"},\"4296\":{\"id\":\"4296\",\"name\":\"Furnished balcony or patio\"}},\"vrbo_srp_id\":\"123.1234567.5678910\",\"listing_id\":\"1234567\",\"listing_number\":\"5678910\",\"listing_source\":\"HOMEAWAY_US\",\"listing_unit\":\"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60\"},\"supply_source\":\"vrbo\",\"registry_number\":\"Property Registration Number 123456\"} ```
- * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
- * @param supplySource Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
+ * Retrieve Booking
+ * This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking: * Using the link included in the original Book response, example: https://api.ean.com/v3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W * Using the email of the booking. If the email contains special characters, they must be encoded to successfully retrieve the booking. Example: https://api.ean.com/v3/itineraries/8955599932111?email=customer@email.com Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to retrieve the itinerary again.
+ * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics.
+ * @param itineraryId This parameter is used only to prefix the token value - no ID value is used.
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
- * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
- * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
- * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param test The retrieve call has a test header that can be used to return set responses. Passing standard in the Test header will retrieve a test booking, and passing any of the errors listed below will return a stubbed error response that you can use to test your error handling code. Additionally, refer to the Test Request documentation for more details on how these header values are used. * `standard` - Requires valid test booking. * `service_unavailable` * `internal_server_error` (optional)
+ * @param token Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed. (optional)
+ * @param email Email associated with the booking. Special characters in the local part or domain should be encoded. (Email is required if the token is not provided the request) (optional)
+ * @param include Options for which information to return in the response. The value must be lower case. * `history` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `other` in the response. * `history_v2` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `supplier` in the response. See the [Itinerary history](https://developers.expediagroup.com/docs/rapid/lodging/manage-booking/itinerary-history#overview) for details. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type Link
+ * @return a [Response] object with a body of type Itinerary
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyContentFileOperation)"))
- fun getPropertyContentFileWithResponse(
- language: kotlin.String,
- supplySource: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetReservationByItineraryIdOperation)"))
+ fun getReservationByItineraryIdWithResponse(
+ customerIp: kotlin.String,
+ itineraryId: kotlin.String,
customerSessionId: kotlin.String? =
null,
- billingTerms: kotlin.String? =
+ test: GetReservationByItineraryIdOperationParams.Test? =
null,
- partnerPointOfSale: kotlin.String? =
+ token: kotlin.String? =
null,
- paymentTerms: kotlin.String? =
+ email: kotlin.String? =
null,
- platformName: kotlin.String? =
+ include: kotlin.collections.List<
+ GetReservationByItineraryIdOperationParams.Include
+ >? =
null
- ): Response {
+ ): Response {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetPropertyContentFileWithResponse(language, supplySource, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ kgetReservationByItineraryIdWithResponse(customerIp, itineraryId, customerSessionId, test, token, email, include)
}.get()
} catch (exception: Exception) {
exception.handle()
@@ -2744,36 +4667,29 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Property Guest Reviews
- * Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details. The response is an individual Guest Reviews object containing multiple guest reviews for the requested active property. To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
- * @param operation [GetPropertyGuestReviewsOperation]
+ * Room Amenities Reference
+ * Returns a complete collection of roomo amenities available in the Rapid API.
+ * @param operation [GetRoomAmenitiesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type GuestReviews
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
- fun execute(operation: GetPropertyGuestReviewsOperation): Response = execute(operation)
+ fun execute(operation: GetRoomAmenitiesReferenceOperation): Response> =
+ execute>(operation)
/**
- * Property Guest Reviews
- * Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details. The response is an individual Guest Reviews object containing multiple guest reviews for the requested active property. To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
- * @param operation [GetPropertyGuestReviewsOperation]
+ * Room Amenities Reference
+ * Returns a complete collection of roomo amenities available in the Rapid API.
+ * @param operation [GetRoomAmenitiesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type GuestReviews
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
*/
- fun executeAsync(operation: GetPropertyGuestReviewsOperation): CompletableFuture> = executeAsync(operation)
+ fun executeAsync(operation: GetRoomAmenitiesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
- private suspend inline fun kgetPropertyGuestReviewsWithResponse(
- propertyId: kotlin.String,
+ private suspend inline fun kgetRoomAmenitiesReferenceWithResponse(
language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- filter: kotlin.collections.List<
- GetPropertyGuestReviewsOperationParams.Filter
- >? =
- null,
- tripReason: kotlin.collections.List<
- GetPropertyGuestReviewsOperationParams.TripReason
- >? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -2782,14 +4698,11 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response {
+ ): Response> {
val params =
- GetPropertyGuestReviewsOperationParams(
- propertyId = propertyId,
+ GetRoomAmenitiesReferenceOperationParams(
customerSessionId = customerSessionId,
language = language,
- filter = filter,
- tripReason = tripReason,
billingTerms = billingTerms,
partnerPointOfSale = partnerPointOfSale,
paymentTerms = paymentTerms,
@@ -2797,7 +4710,7 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
)
val operation =
- GetPropertyGuestReviewsOperation(
+ GetRoomAmenitiesReferenceOperation(
params
)
@@ -2805,38 +4718,26 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Property Guest Reviews
- * Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details. The response is an individual Guest Reviews object containing multiple guest reviews for the requested active property. To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
- * @param propertyId Expedia Property ID.
+ * Room Amenities Reference
+ * Returns a complete collection of roomo amenities available in the Rapid API.
* @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param filter Single filter value. Send multiple instances of this parameter to request multiple filters. * `language` - Filters reviews to only those that match the specified `language` parameter value. Without this filter, the matching language will be preferred, but other language results can be returned. Specifying this filter could produce an error when there are no matching results. (optional)
- * @param tripReason Desired reason provided for the reviewer's trip that you wish to display. This parameter can be supplied multiple times with different values, which will include reviews that match any of the requested trip reasons. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return GuestReviews
+ * @return kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyGuestReviewsOperation)"))
- fun getPropertyGuestReviews(
- propertyId: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRoomAmenitiesReferenceOperation)"))
+ fun getRoomAmenitiesReference(
language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- filter: kotlin.collections.List<
- GetPropertyGuestReviewsOperationParams.Filter
- >? =
- null,
- tripReason: kotlin.collections.List<
- GetPropertyGuestReviewsOperationParams.TripReason
- >? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -2845,41 +4746,29 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): GuestReviews = getPropertyGuestReviewsWithResponse(propertyId, language, customerSessionId, filter, tripReason, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+ ): kotlin.collections.Map = getRoomAmenitiesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
/**
- * Property Guest Reviews
- * Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details. The response is an individual Guest Reviews object containing multiple guest reviews for the requested active property. To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
- * @param propertyId Expedia Property ID.
+ * Room Amenities Reference
+ * Returns a complete collection of roomo amenities available in the Rapid API.
* @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param filter Single filter value. Send multiple instances of this parameter to request multiple filters. * `language` - Filters reviews to only those that match the specified `language` parameter value. Without this filter, the matching language will be preferred, but other language results can be returned. Specifying this filter could produce an error when there are no matching results. (optional)
- * @param tripReason Desired reason provided for the reviewer's trip that you wish to display. This parameter can be supplied multiple times with different values, which will include reviews that match any of the requested trip reasons. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type GuestReviews
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetPropertyGuestReviewsOperation)"))
- fun getPropertyGuestReviewsWithResponse(
- propertyId: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRoomAmenitiesReferenceOperation)"))
+ fun getRoomAmenitiesReferenceWithResponse(
language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- filter: kotlin.collections.List<
- GetPropertyGuestReviewsOperationParams.Filter
- >? =
- null,
- tripReason: kotlin.collections.List<
- GetPropertyGuestReviewsOperationParams.TripReason
- >? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -2888,10 +4777,10 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetPropertyGuestReviewsWithResponse(propertyId, language, customerSessionId, filter, tripReason, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ kgetRoomAmenitiesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
}.get()
} catch (exception: Exception) {
exception.handle()
@@ -2899,33 +4788,29 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Region
- * Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
- * @param operation [GetRegionOperation]
+ * Room Images Reference
+ * Returns a complete collection of room images available in the Rapid API.
+ * @param operation [GetRoomImagesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type Region
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
- fun execute(operation: GetRegionOperation): Response = execute(operation)
+ fun execute(operation: GetRoomImagesReferenceOperation): Response> =
+ execute>(operation)
/**
- * Region
- * Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
- * @param operation [GetRegionOperation]
+ * Room Images Reference
+ * Returns a complete collection of room images available in the Rapid API.
+ * @param operation [GetRoomImagesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type Region
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
*/
- fun executeAsync(operation: GetRegionOperation): CompletableFuture> = executeAsync(operation)
+ fun executeAsync(operation: GetRoomImagesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
- private suspend inline fun kgetRegionWithResponse(
- regionId: kotlin.String,
+ private suspend inline fun kgetRoomImagesReferenceWithResponse(
language: kotlin.String,
- include: kotlin.collections.List<
- GetRegionOperationParams.Include
- >,
customerSessionId: kotlin.String? =
null,
- supplySource: kotlin.String? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -2934,14 +4819,11 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response {
+ ): Response> {
val params =
- GetRegionOperationParams(
- regionId = regionId,
+ GetRoomImagesReferenceOperationParams(
customerSessionId = customerSessionId,
language = language,
- include = include,
- supplySource = supplySource,
billingTerms = billingTerms,
partnerPointOfSale = partnerPointOfSale,
paymentTerms = paymentTerms,
@@ -2949,7 +4831,7 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
)
val operation =
- GetRegionOperation(
+ GetRoomImagesReferenceOperation(
params
)
@@ -2957,35 +4839,26 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Region
- * Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
- * @param regionId ID of the region to retrieve.
- * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/) Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
- * @param include Options for which content to return in the response. This parameter can be supplied multiple times with different values. The value must be lower case. * details - Include the metadata, coordinates and full hierarchy of the region. * property_ids - Include the list of property IDs within the bounding polygon of the region. * property_ids_expanded - Include the list of property IDs within the bounding polygon of the region and property IDs from the surrounding area if minimal properties are within the region.
+ * Room Images Reference
+ * Returns a complete collection of room images available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param supplySource Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return Region
+ * @return kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRegionOperation)"))
- fun getRegion(
- regionId: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRoomImagesReferenceOperation)"))
+ fun getRoomImagesReference(
language: kotlin.String,
- include: kotlin.collections.List<
- GetRegionOperationParams.Include
- >,
customerSessionId: kotlin.String? =
null,
- supplySource: kotlin.String? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -2994,38 +4867,29 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Region = getRegionWithResponse(regionId, language, include, customerSessionId, supplySource, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+ ): kotlin.collections.Map = getRoomImagesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
/**
- * Region
- * Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
- * @param regionId ID of the region to retrieve.
- * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/) Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
- * @param include Options for which content to return in the response. This parameter can be supplied multiple times with different values. The value must be lower case. * details - Include the metadata, coordinates and full hierarchy of the region. * property_ids - Include the list of property IDs within the bounding polygon of the region. * property_ids_expanded - Include the list of property IDs within the bounding polygon of the region and property IDs from the surrounding area if minimal properties are within the region.
+ * Room Images Reference
+ * Returns a complete collection of room images available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param supplySource Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type Region
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRegionOperation)"))
- fun getRegionWithResponse(
- regionId: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRoomImagesReferenceOperation)"))
+ fun getRoomImagesReferenceWithResponse(
language: kotlin.String,
- include: kotlin.collections.List<
- GetRegionOperationParams.Include
- >,
customerSessionId: kotlin.String? =
null,
- supplySource: kotlin.String? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -3034,10 +4898,10 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetRegionWithResponse(regionId, language, include, customerSessionId, supplySource, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ kgetRoomImagesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
}.get()
} catch (exception: Exception) {
exception.handle()
@@ -3045,52 +4909,28 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Regions
- * Returns the geographic definition and property mappings of regions matching the specified parameters.
To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
The response is a paginated list of regions. See the `Link` header in the 200 response section.
- * @param operation [GetRegionsOperation]
+ * Room Views Reference
+ * Returns a complete collection of room views available in the Rapid API.
+ * @param operation [GetRoomViewsReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.List
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
- fun execute(operation: GetRegionsOperation): Response> = execute>(operation)
+ fun execute(operation: GetRoomViewsReferenceOperation): Response> = execute>(operation)
/**
- * Regions
- * Returns the geographic definition and property mappings of regions matching the specified parameters.
To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
The response is a paginated list of regions. See the `Link` header in the 200 response section.
- * @param operation [GetRegionsOperation]
+ * Room Views Reference
+ * Returns a complete collection of room views available in the Rapid API.
+ * @param operation [GetRoomViewsReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type kotlin.collections.List
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
*/
- fun executeAsync(operation: GetRegionsOperation): CompletableFuture>> = executeAsync>(operation)
+ fun executeAsync(operation: GetRoomViewsReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
- private suspend inline fun kgetRegionsWithResponse(
- include: kotlin.collections.List<
- GetRegionsOperationParams.Include
- >,
+ private suspend inline fun kgetRoomViewsReferenceWithResponse(
language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- ancestorId: kotlin.String? =
- null,
- area: kotlin.String? =
- null,
- countryCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- countrySubdivisionCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- iataLocationCode: kotlin.String? =
- null,
- limit: java.math.BigDecimal? =
- null,
- supplySource: kotlin.String? =
- null,
- type: kotlin.collections.List<
- kotlin.String
- >? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -3099,20 +4939,11 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
val params =
- GetRegionsOperationParams(
+ GetRoomViewsReferenceOperationParams(
customerSessionId = customerSessionId,
- include = include,
language = language,
- ancestorId = ancestorId,
- area = area,
- countryCode = countryCode,
- countrySubdivisionCode = countrySubdivisionCode,
- iataLocationCode = iataLocationCode,
- limit = limit,
- supplySource = supplySource,
- type = type,
billingTerms = billingTerms,
partnerPointOfSale = partnerPointOfSale,
paymentTerms = paymentTerms,
@@ -3120,7 +4951,7 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
)
val operation =
- GetRegionsOperation(
+ GetRoomViewsReferenceOperation(
params
)
@@ -3128,60 +4959,26 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Regions
- * Returns the geographic definition and property mappings of regions matching the specified parameters.
To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
The response is a paginated list of regions. See the `Link` header in the 200 response section.
- * @param include Options for which content to return in the response. This parameter can be supplied multiple times with different values. The standard and details options cannot be requested together. The value must be lower case. * standard - Include the metadata and basic hierarchy of each region. * details - Include the metadata, coordinates and full hierarchy of each region. * property_ids - Include the list of property IDs within the bounding polygon of each region. * property_ids_expanded - Include the list of property IDs within the bounding polygon of each region and property IDs from the surrounding area if minimal properties are within the region.
+ * Room Views Reference
+ * Returns a complete collection of room views available in the Rapid API.
* @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param ancestorId Search for regions whose ancestors include the requested ancestor region ID. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists). (optional)
- * @param area Filter the results to regions that intersect with a specified area.
The area may be defined in one of two ways: * radius,region_id * radius,latitude,longitude Radius combined with region id would search an area that extends the number of kilometers out from the boundaries of the region in all directions. Radius combined with a single point, specified by a latitude, longitude pair would search an area in a circle with the specified radius and the point as the center. Radius should be specified in non-negative whole kilometers, decimals will return an error. A radius of 0 is allowed. When specifying the area parameter, there will be a limit of 100 results, which can be narrowed further by the limit parameter. Due to the number of results, unless `point_of_interest` is specified as the only type, regions of type `point_of_interest` will not be included in a request that filters to an area.
An example use case would be searching for the closest 3 airports within 50 kilometers of a specified point. `&type=airport&limit=3&area=50,37.227924,-93.310036` (optional)
- * @param countryCode Filter the results to a specified ISO 3166-1 alpha-2 country code. For more information see: [https://www.iso.org/obp/ui/#search/code/](https://www.iso.org/obp/ui/#search/code/) (optional)
- * @param countrySubdivisionCode Filter the results down to only the ISO 3166-2 country subdivision. (optional)
- * @param iataLocationCode Search for regions by the requested 3-character IATA location code, which will apply to both iata_airport_code and iata_airport_metro_code. The code must be upper case. (optional)
- * @param limit Limit the number of results returned. Using the area parameter will impose a max value of 100 for this whether specified or not. (optional)
- * @param supplySource Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information. (optional)
- * @param type Filter the results to a specified region type. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return kotlin.collections.List
+ * @return kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRegionsOperation)"))
- fun getRegions(
- include: kotlin.collections.List<
- GetRegionsOperationParams.Include
- >,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRoomViewsReferenceOperation)"))
+ fun getRoomViewsReference(
language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- ancestorId: kotlin.String? =
- null,
- area: kotlin.String? =
- null,
- countryCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- countrySubdivisionCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- iataLocationCode: kotlin.String? =
- null,
- limit: java.math.BigDecimal? =
- null,
- supplySource: kotlin.String? =
- null,
- type: kotlin.collections.List<
- kotlin.String
- >? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -3190,80 +4987,29 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): kotlin.collections.List =
- getRegionsWithResponse(
- include,
- language,
- customerSessionId,
- ancestorId,
- area,
- countryCode,
- countrySubdivisionCode,
- iataLocationCode,
- limit,
- supplySource,
- type,
- billingTerms,
- partnerPointOfSale,
- paymentTerms,
- platformName
- ).data
+ ): kotlin.collections.Map = getRoomViewsReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
/**
- * Regions
- * Returns the geographic definition and property mappings of regions matching the specified parameters.
To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
The response is a paginated list of regions. See the `Link` header in the 200 response section.
- * @param include Options for which content to return in the response. This parameter can be supplied multiple times with different values. The standard and details options cannot be requested together. The value must be lower case. * standard - Include the metadata and basic hierarchy of each region. * details - Include the metadata, coordinates and full hierarchy of each region. * property_ids - Include the list of property IDs within the bounding polygon of each region. * property_ids_expanded - Include the list of property IDs within the bounding polygon of each region and property IDs from the surrounding area if minimal properties are within the region.
+ * Room Views Reference
+ * Returns a complete collection of room views available in the Rapid API.
* @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param ancestorId Search for regions whose ancestors include the requested ancestor region ID. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists). (optional)
- * @param area Filter the results to regions that intersect with a specified area.
The area may be defined in one of two ways: * radius,region_id * radius,latitude,longitude Radius combined with region id would search an area that extends the number of kilometers out from the boundaries of the region in all directions. Radius combined with a single point, specified by a latitude, longitude pair would search an area in a circle with the specified radius and the point as the center. Radius should be specified in non-negative whole kilometers, decimals will return an error. A radius of 0 is allowed. When specifying the area parameter, there will be a limit of 100 results, which can be narrowed further by the limit parameter. Due to the number of results, unless `point_of_interest` is specified as the only type, regions of type `point_of_interest` will not be included in a request that filters to an area.
An example use case would be searching for the closest 3 airports within 50 kilometers of a specified point. `&type=airport&limit=3&area=50,37.227924,-93.310036` (optional)
- * @param countryCode Filter the results to a specified ISO 3166-1 alpha-2 country code. For more information see: [https://www.iso.org/obp/ui/#search/code/](https://www.iso.org/obp/ui/#search/code/) (optional)
- * @param countrySubdivisionCode Filter the results down to only the ISO 3166-2 country subdivision. (optional)
- * @param iataLocationCode Search for regions by the requested 3-character IATA location code, which will apply to both iata_airport_code and iata_airport_metro_code. The code must be upper case. (optional)
- * @param limit Limit the number of results returned. Using the area parameter will impose a max value of 100 for this whether specified or not. (optional)
- * @param supplySource Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times. * `expedia` - Standard Expedia supply. * `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information. (optional)
- * @param type Filter the results to a specified region type. (optional)
* @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
* @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
* @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.List
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRegionsOperation)"))
- fun getRegionsWithResponse(
- include: kotlin.collections.List<
- GetRegionsOperationParams.Include
- >,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetRoomViewsReferenceOperation)"))
+ fun getRoomViewsReferenceWithResponse(
language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- ancestorId: kotlin.String? =
- null,
- area: kotlin.String? =
- null,
- countryCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- countrySubdivisionCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- iataLocationCode: kotlin.String? =
- null,
- limit: java.math.BigDecimal? =
- null,
- supplySource: kotlin.String? =
- null,
- type: kotlin.collections.List<
- kotlin.String
- >? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -3272,69 +5018,40 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetRegionsWithResponse(
- include,
- language,
- customerSessionId,
- ancestorId,
- area,
- countryCode,
- countrySubdivisionCode,
- iataLocationCode,
- limit,
- supplySource,
- type,
- billingTerms,
- partnerPointOfSale,
- paymentTerms,
- platformName
- )
+ kgetRoomViewsReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
}.get()
} catch (exception: Exception) {
exception.handle()
}
}
- @JvmOverloads
- fun getPaginator(operation: GetRegionsOperation): ResponsePaginator> {
- val response = execute(operation)
- return ResponsePaginator(this, response, emptyList()) { it.body>() }
- }
+ /**
+ * Spoken Languages Reference
+ * Returns a complete collection of spoken languages available in the Rapid API.
+ * @param operation [GetSpokenLanguagesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ fun execute(operation: GetSpokenLanguagesReferenceOperation): Response> =
+ execute>(operation)
- @JvmOverloads
- @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetRegionsOperation)"))
- fun getRegionsPaginator(
- include: kotlin.collections.List<
- GetRegionsOperationParams.Include
- >,
+ /**
+ * Spoken Languages Reference
+ * Returns a complete collection of spoken languages available in the Rapid API.
+ * @param operation [GetSpokenLanguagesReferenceOperation]
+ * @throws ExpediaGroupApiErrorException
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
+ */
+ fun executeAsync(operation: GetSpokenLanguagesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
+
+ private suspend inline fun kgetSpokenLanguagesReferenceWithResponse(
language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- ancestorId: kotlin.String? =
- null,
- area: kotlin.String? =
- null,
- countryCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- countrySubdivisionCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- iataLocationCode: kotlin.String? =
- null,
- limit: java.math.BigDecimal? =
- null,
- supplySource: kotlin.String? =
- null,
- type: kotlin.collections.List<
- kotlin.String
- >? =
- null,
billingTerms: kotlin.String? =
null,
partnerPointOfSale: kotlin.String? =
@@ -3343,58 +5060,76 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): Paginator> {
- val response =
- getRegionsWithResponse(
- include,
- language,
- customerSessionId,
- ancestorId,
- area,
- countryCode,
- countrySubdivisionCode,
- iataLocationCode,
- limit,
- supplySource,
- type,
- billingTerms,
- partnerPointOfSale,
- paymentTerms,
- platformName
+ ): Response> {
+ val params =
+ GetSpokenLanguagesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
)
- return Paginator(this, response, emptyList()) { it.body>() }
+
+ val operation =
+ GetSpokenLanguagesReferenceOperation(
+ params
+ )
+
+ return execute(operation)
}
- @JvmOverloads
- @Deprecated("Use getPaginator method instead", ReplaceWith("getPaginator(operation: GetRegionsOperation)"))
- fun getRegionsPaginatorWithResponse(
- include: kotlin.collections.List<
- GetRegionsOperationParams.Include
- >,
- language: kotlin.String,
- customerSessionId: kotlin.String? =
- null,
- ancestorId: kotlin.String? =
- null,
- area: kotlin.String? =
- null,
- countryCode: kotlin.collections.List<
- kotlin.String
- >? =
- null,
- countrySubdivisionCode: kotlin.collections.List<
- kotlin.String
- >? =
+ /**
+ * Spoken Languages Reference
+ * Returns a complete collection of spoken languages available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetSpokenLanguagesReferenceOperation)"))
+ fun getSpokenLanguagesReference(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
null,
- iataLocationCode: kotlin.String? =
+ billingTerms: kotlin.String? =
null,
- limit: java.math.BigDecimal? =
+ partnerPointOfSale: kotlin.String? =
null,
- supplySource: kotlin.String? =
+ paymentTerms: kotlin.String? =
null,
- type: kotlin.collections.List<
- kotlin.String
- >? =
+ platformName: kotlin.String? =
+ null
+ ): kotlin.collections.Map = getSpokenLanguagesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
+
+ /**
+ * Spoken Languages Reference
+ * Returns a complete collection of spoken languages available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @throws ExpediaGroupApiErrorException
+ * @return a [Response] object with a body of type kotlin.collections.Map
+ */
+ @Throws(
+ ExpediaGroupApiErrorException::class
+ )
+ @JvmOverloads
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetSpokenLanguagesReferenceOperation)"))
+ fun getSpokenLanguagesReferenceWithResponse(
+ language: kotlin.String,
+ customerSessionId: kotlin.String? =
null,
billingTerms: kotlin.String? =
null,
@@ -3404,71 +5139,61 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
null,
platformName: kotlin.String? =
null
- ): ResponsePaginator> {
- val response =
- getRegionsWithResponse(
- include,
- language,
- customerSessionId,
- ancestorId,
- area,
- countryCode,
- countrySubdivisionCode,
- iataLocationCode,
- limit,
- supplySource,
- type,
- billingTerms,
- partnerPointOfSale,
- paymentTerms,
- platformName
- )
- return ResponsePaginator(this, response, emptyList()) { it.body>() }
+ ): Response> {
+ try {
+ return GlobalScope.future(Dispatchers.IO) {
+ kgetSpokenLanguagesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
+ }.get()
+ } catch (exception: Exception) {
+ exception.handle()
+ }
}
/**
- * Search for and retrieve Bookings with Affiliate Reference Id
- * This can be called directly without a token when an affiliate reference id is provided. It returns details about bookings associated with an affiliate reference id, along with cancel links to cancel the bookings. Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive no results while trying to search for an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to search for the itinerary again.
- * @param operation [GetReservationOperation]
+ * Statistics Reference
+ * Returns a complete collection of statistics available in the Rapid API.
+ * @param operation [GetStatisticsReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.List
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
- fun execute(operation: GetReservationOperation): Response> = execute>(operation)
+ fun execute(operation: GetStatisticsReferenceOperation): Response> =
+ execute>(operation)
/**
- * Search for and retrieve Bookings with Affiliate Reference Id
- * This can be called directly without a token when an affiliate reference id is provided. It returns details about bookings associated with an affiliate reference id, along with cancel links to cancel the bookings. Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive no results while trying to search for an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to search for the itinerary again.
- * @param operation [GetReservationOperation]
+ * Statistics Reference
+ * Returns a complete collection of statistics available in the Rapid API.
+ * @param operation [GetStatisticsReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type kotlin.collections.List
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
*/
- fun executeAsync(operation: GetReservationOperation): CompletableFuture>> = executeAsync>(operation)
+ fun executeAsync(operation: GetStatisticsReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
- private suspend inline fun kgetReservationWithResponse(
- customerIp: kotlin.String,
- affiliateReferenceId: kotlin.String,
- email: kotlin.String,
+ private suspend inline fun kgetStatisticsReferenceWithResponse(
+ language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- test: GetReservationOperationParams.Test? =
+ billingTerms: kotlin.String? =
null,
- include: kotlin.collections.List<
- GetReservationOperationParams.Include
- >? =
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
val params =
- GetReservationOperationParams(
- customerIp = customerIp,
+ GetStatisticsReferenceOperationParams(
customerSessionId = customerSessionId,
- test = test,
- affiliateReferenceId = affiliateReferenceId,
- email = email,
- include = include
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
)
val operation =
- GetReservationOperation(
+ GetStatisticsReferenceOperation(
params
)
@@ -3476,69 +5201,69 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Search for and retrieve Bookings with Affiliate Reference Id
- * This can be called directly without a token when an affiliate reference id is provided. It returns details about bookings associated with an affiliate reference id, along with cancel links to cancel the bookings. Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive no results while trying to search for an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to search for the itinerary again.
- * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics.
- * @param affiliateReferenceId The affilliate reference id value. This field supports a maximum of 28 characters.
- * @param email Email associated with the booking. Special characters in the local part or domain should be encoded.
+ * Statistics Reference
+ * Returns a complete collection of statistics available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param test The retrieve call has a test header that can be used to return set responses with the following keywords: * `standard` - Requires valid test booking. * `service_unavailable` * `internal_server_error` (optional)
- * @param include Options for which information to return in the response. The value must be lower case. * `history` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `other` in the response. * `history_v2` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `supplier` in the response. See the [Itinerary history](https://developers.expediagroup.com/docs/rapid/lodging/manage-booking/itinerary-history#overview) for details. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return kotlin.collections.List
+ * @return kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetReservationOperation)"))
- fun getReservation(
- customerIp: kotlin.String,
- affiliateReferenceId: kotlin.String,
- email: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetStatisticsReferenceOperation)"))
+ fun getStatisticsReference(
+ language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- test: GetReservationOperationParams.Test? =
+ billingTerms: kotlin.String? =
null,
- include: kotlin.collections.List<
- GetReservationOperationParams.Include
- >? =
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
null
- ): kotlin.collections.List = getReservationWithResponse(customerIp, affiliateReferenceId, email, customerSessionId, test, include).data
+ ): kotlin.collections.Map = getStatisticsReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
/**
- * Search for and retrieve Bookings with Affiliate Reference Id
- * This can be called directly without a token when an affiliate reference id is provided. It returns details about bookings associated with an affiliate reference id, along with cancel links to cancel the bookings. Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive no results while trying to search for an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to search for the itinerary again.
- * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics.
- * @param affiliateReferenceId The affilliate reference id value. This field supports a maximum of 28 characters.
- * @param email Email associated with the booking. Special characters in the local part or domain should be encoded.
+ * Statistics Reference
+ * Returns a complete collection of statistics available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param test The retrieve call has a test header that can be used to return set responses with the following keywords: * `standard` - Requires valid test booking. * `service_unavailable` * `internal_server_error` (optional)
- * @param include Options for which information to return in the response. The value must be lower case. * `history` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `other` in the response. * `history_v2` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `supplier` in the response. See the [Itinerary history](https://developers.expediagroup.com/docs/rapid/lodging/manage-booking/itinerary-history#overview) for details. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type kotlin.collections.List
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetReservationOperation)"))
- fun getReservationWithResponse(
- customerIp: kotlin.String,
- affiliateReferenceId: kotlin.String,
- email: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetStatisticsReferenceOperation)"))
+ fun getStatisticsReferenceWithResponse(
+ language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- test: GetReservationOperationParams.Test? =
+ billingTerms: kotlin.String? =
null,
- include: kotlin.collections.List<
- GetReservationOperationParams.Include
- >? =
+ partnerPointOfSale: kotlin.String? =
+ null,
+ paymentTerms: kotlin.String? =
+ null,
+ platformName: kotlin.String? =
null
- ): Response> {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetReservationWithResponse(customerIp, affiliateReferenceId, email, customerSessionId, test, include)
+ kgetStatisticsReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
}.get()
} catch (exception: Exception) {
exception.handle()
@@ -3546,52 +5271,49 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Retrieve Booking
- * This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking: * Using the link included in the original Book response, example: https://api.ean.com/v3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W * Using the email of the booking. If the email contains special characters, they must be encoded to successfully retrieve the booking. Example: https://api.ean.com/v3/itineraries/8955599932111?email=customer@email.com Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to retrieve the itinerary again.
- * @param operation [GetReservationByItineraryIdOperation]
+ * Themes Reference
+ * Returns a complete collection of themes available in the Rapid API.
+ * @param operation [GetThemesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type Itinerary
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
- fun execute(operation: GetReservationByItineraryIdOperation): Response = execute(operation)
+ fun execute(operation: GetThemesReferenceOperation): Response> = execute>(operation)
/**
- * Retrieve Booking
- * This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking: * Using the link included in the original Book response, example: https://api.ean.com/v3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W * Using the email of the booking. If the email contains special characters, they must be encoded to successfully retrieve the booking. Example: https://api.ean.com/v3/itineraries/8955599932111?email=customer@email.com Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to retrieve the itinerary again.
- * @param operation [GetReservationByItineraryIdOperation]
+ * Themes Reference
+ * Returns a complete collection of themes available in the Rapid API.
+ * @param operation [GetThemesReferenceOperation]
* @throws ExpediaGroupApiErrorException
- * @return a [CompletableFuture] object with a body of type Itinerary
+ * @return a [CompletableFuture] object with a body of type kotlin.collections.Map
*/
- fun executeAsync(operation: GetReservationByItineraryIdOperation): CompletableFuture> = executeAsync(operation)
+ fun executeAsync(operation: GetThemesReferenceOperation): CompletableFuture>> =
+ executeAsync>(operation)
- private suspend inline fun kgetReservationByItineraryIdWithResponse(
- customerIp: kotlin.String,
- itineraryId: kotlin.String,
+ private suspend inline fun kgetThemesReferenceWithResponse(
+ language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- test: GetReservationByItineraryIdOperationParams.Test? =
+ billingTerms: kotlin.String? =
null,
- token: kotlin.String? =
+ partnerPointOfSale: kotlin.String? =
null,
- email: kotlin.String? =
+ paymentTerms: kotlin.String? =
null,
- include: kotlin.collections.List<
- GetReservationByItineraryIdOperationParams.Include
- >? =
+ platformName: kotlin.String? =
null
- ): Response {
+ ): Response> {
val params =
- GetReservationByItineraryIdOperationParams(
- itineraryId = itineraryId,
- customerIp = customerIp,
+ GetThemesReferenceOperationParams(
customerSessionId = customerSessionId,
- test = test,
- token = token,
- email = email,
- include = include
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
)
val operation =
- GetReservationByItineraryIdOperation(
+ GetThemesReferenceOperation(
params
)
@@ -3599,77 +5321,69 @@ class RapidClient private constructor(clientConfiguration: RapidClientConfigurat
}
/**
- * Retrieve Booking
- * This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking: * Using the link included in the original Book response, example: https://api.ean.com/v3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W * Using the email of the booking. If the email contains special characters, they must be encoded to successfully retrieve the booking. Example: https://api.ean.com/v3/itineraries/8955599932111?email=customer@email.com Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to retrieve the itinerary again.
- * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics.
- * @param itineraryId This parameter is used only to prefix the token value - no ID value is used.
+ * Themes Reference
+ * Returns a complete collection of themes available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param test The retrieve call has a test header that can be used to return set responses. Passing standard in the Test header will retrieve a test booking, and passing any of the errors listed below will return a stubbed error response that you can use to test your error handling code. Additionally, refer to the Test Request documentation for more details on how these header values are used. * `standard` - Requires valid test booking. * `service_unavailable` * `internal_server_error` (optional)
- * @param token Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed. (optional)
- * @param email Email associated with the booking. Special characters in the local part or domain should be encoded. (Email is required if the token is not provided the request) (optional)
- * @param include Options for which information to return in the response. The value must be lower case. * `history` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `other` in the response. * `history_v2` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `supplier` in the response. See the [Itinerary history](https://developers.expediagroup.com/docs/rapid/lodging/manage-booking/itinerary-history#overview) for details. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return Itinerary
+ * @return kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetReservationByItineraryIdOperation)"))
- fun getReservationByItineraryId(
- customerIp: kotlin.String,
- itineraryId: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetThemesReferenceOperation)"))
+ fun getThemesReference(
+ language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- test: GetReservationByItineraryIdOperationParams.Test? =
+ billingTerms: kotlin.String? =
null,
- token: kotlin.String? =
+ partnerPointOfSale: kotlin.String? =
null,
- email: kotlin.String? =
+ paymentTerms: kotlin.String? =
null,
- include: kotlin.collections.List<
- GetReservationByItineraryIdOperationParams.Include
- >? =
+ platformName: kotlin.String? =
null
- ): Itinerary = getReservationByItineraryIdWithResponse(customerIp, itineraryId, customerSessionId, test, token, email, include).data
+ ): kotlin.collections.Map = getThemesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName).data
/**
- * Retrieve Booking
- * This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking: * Using the link included in the original Book response, example: https://api.ean.com/v3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W * Using the email of the booking. If the email contains special characters, they must be encoded to successfully retrieve the booking. Example: https://api.ean.com/v3/itineraries/8955599932111?email=customer@email.com Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to retrieve the itinerary again.
- * @param customerIp IP address of the customer, as captured by your integration. Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway. Also used for fraud recovery and other important analytics.
- * @param itineraryId This parameter is used only to prefix the token value - no ID value is used.
+ * Themes Reference
+ * Returns a complete collection of themes available in the Rapid API.
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
* @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session. (optional)
- * @param test The retrieve call has a test header that can be used to return set responses. Passing standard in the Test header will retrieve a test booking, and passing any of the errors listed below will return a stubbed error response that you can use to test your error handling code. Additionally, refer to the Test Request documentation for more details on how these header values are used. * `standard` - Requires valid test booking. * `service_unavailable` * `internal_server_error` (optional)
- * @param token Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed. (optional)
- * @param email Email associated with the booking. Special characters in the local part or domain should be encoded. (Email is required if the token is not provided the request) (optional)
- * @param include Options for which information to return in the response. The value must be lower case. * `history` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `other` in the response. * `history_v2` - Include itinerary history, showing details of the changes made to this itinerary. Changes from the property/supplier have an event_source equal to `supplier` in the response. See the [Itinerary history](https://developers.expediagroup.com/docs/rapid/lodging/manage-booking/itinerary-history#overview) for details. (optional)
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately. (optional)
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately. (optional)
* @throws ExpediaGroupApiErrorException
- * @return a [Response] object with a body of type Itinerary
+ * @return a [Response] object with a body of type kotlin.collections.Map
*/
@Throws(
ExpediaGroupApiErrorException::class
)
@JvmOverloads
- @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetReservationByItineraryIdOperation)"))
- fun getReservationByItineraryIdWithResponse(
- customerIp: kotlin.String,
- itineraryId: kotlin.String,
+ @Deprecated("Use execute method instead", ReplaceWith("execute(operation: GetThemesReferenceOperation)"))
+ fun getThemesReferenceWithResponse(
+ language: kotlin.String,
customerSessionId: kotlin.String? =
null,
- test: GetReservationByItineraryIdOperationParams.Test? =
+ billingTerms: kotlin.String? =
null,
- token: kotlin.String? =
+ partnerPointOfSale: kotlin.String? =
null,
- email: kotlin.String? =
+ paymentTerms: kotlin.String? =
null,
- include: kotlin.collections.List<
- GetReservationByItineraryIdOperationParams.Include
- >? =
+ platformName: kotlin.String? =
null
- ): Response {
+ ): Response> {
try {
return GlobalScope.future(Dispatchers.IO) {
- kgetReservationByItineraryIdWithResponse(customerIp, itineraryId, customerSessionId, test, token, email, include)
+ kgetThemesReferenceWithResponse(language, customerSessionId, billingTerms, partnerPointOfSale, paymentTerms, platformName)
}.get()
} catch (exception: Exception) {
exception.handle()
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/AmenityReference.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/AmenityReference.kt
new file mode 100644
index 0000000000..5253156cae
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/AmenityReference.kt
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "UnusedImport"
+)
+
+package com.expediagroup.sdk.rapid.models
+
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+
+/**
+ * An individual amenity reference.
+ * @param id Amenity id.
+ * @param name Amenity name.
+ * @param hasValue Indicates whether an amenity will have an associated numeric value.
+ */
+data class AmenityReference(
+ // Amenity id.
+ @JsonProperty("id")
+ @field:Valid
+ val id: kotlin.String? = null,
+ // Amenity name.
+ @JsonProperty("name")
+ @field:Valid
+ val name: kotlin.String? = null,
+ // Indicates whether an amenity will have an associated numeric value.
+ @JsonProperty("has_value")
+ @field:Valid
+ val hasValue: kotlin.Boolean? = null
+) {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ private var id: kotlin.String? = null,
+ private var name: kotlin.String? = null,
+ private var hasValue: kotlin.Boolean? = null
+ ) {
+ fun id(id: kotlin.String?) = apply { this.id = id }
+
+ fun name(name: kotlin.String?) = apply { this.name = name }
+
+ fun hasValue(hasValue: kotlin.Boolean?) = apply { this.hasValue = hasValue }
+
+ fun build(): AmenityReference {
+ val instance =
+ AmenityReference(
+ id = id,
+ name = name,
+ hasValue = hasValue
+ )
+
+ validate(instance)
+
+ return instance
+ }
+
+ private fun validate(instance: AmenityReference) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(instance)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ id = id,
+ name = name,
+ hasValue = hasValue
+ )
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/AttributeReference.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/AttributeReference.kt
new file mode 100644
index 0000000000..5080c1b488
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/AttributeReference.kt
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "UnusedImport"
+)
+
+package com.expediagroup.sdk.rapid.models
+
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+
+/**
+ * An individual attribute reference.
+ * @param id The attribute definition ID for this attribute.
+ * @param name Attribute name.
+ * @param hasValue Indicates whether an attribute will have an associated numeric value.
+ */
+data class AttributeReference(
+ // The attribute definition ID for this attribute.
+ @JsonProperty("id")
+ @field:Valid
+ val id: kotlin.String? = null,
+ // Attribute name.
+ @JsonProperty("name")
+ @field:Valid
+ val name: kotlin.String? = null,
+ // Indicates whether an attribute will have an associated numeric value.
+ @JsonProperty("has_value")
+ @field:Valid
+ val hasValue: kotlin.Boolean? = null
+) {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ private var id: kotlin.String? = null,
+ private var name: kotlin.String? = null,
+ private var hasValue: kotlin.Boolean? = null
+ ) {
+ fun id(id: kotlin.String?) = apply { this.id = id }
+
+ fun name(name: kotlin.String?) = apply { this.name = name }
+
+ fun hasValue(hasValue: kotlin.Boolean?) = apply { this.hasValue = hasValue }
+
+ fun build(): AttributeReference {
+ val instance =
+ AttributeReference(
+ id = id,
+ name = name,
+ hasValue = hasValue
+ )
+
+ validate(instance)
+
+ return instance
+ }
+
+ private fun validate(instance: AttributeReference) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(instance)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ id = id,
+ name = name,
+ hasValue = hasValue
+ )
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/ChangeRoomDetailsRequest.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/ChangeRoomDetailsRequest.kt
index f778dd70bc..27db848e86 100644
--- a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/ChangeRoomDetailsRequest.kt
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/ChangeRoomDetailsRequest.kt
@@ -64,6 +64,7 @@ data class ChangeRoomDetailsRequest(
@field:Valid
val specialRequest: kotlin.String? = null,
// Deprecated. Please use the loyalty id inside the loyalty object.
+ @Deprecated(message = "This property is deprecated.")
@JsonProperty("loyalty_id")
@field:Valid
val loyaltyId: kotlin.String? = null,
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/CreateItineraryRequestRoom.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/CreateItineraryRequestRoom.kt
index 605c1163bb..424f438b25 100644
--- a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/CreateItineraryRequestRoom.kt
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/CreateItineraryRequestRoom.kt
@@ -67,6 +67,7 @@ data class CreateItineraryRequestRoom(
@field:Valid
val specialRequest: kotlin.String? = null,
// Deprecated. Please use the loyalty id inside the loyalty object.
+ @Deprecated(message = "This property is deprecated.")
@JsonProperty("loyalty_id")
@field:Valid
val loyaltyId: kotlin.String? = null,
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/ImageReference.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/ImageReference.kt
new file mode 100644
index 0000000000..838f89ed2f
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/ImageReference.kt
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "UnusedImport"
+)
+
+package com.expediagroup.sdk.rapid.models
+
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+
+/**
+ * An individual image reference.
+ * @param id Image Id
+ * @param name Image name
+ */
+data class ImageReference(
+ // Image Id
+ @JsonProperty("id")
+ @field:Valid
+ val id: kotlin.String? = null,
+ // Image name
+ @JsonProperty("name")
+ @field:Valid
+ val name: kotlin.String? = null
+) {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ private var id: kotlin.String? = null,
+ private var name: kotlin.String? = null
+ ) {
+ fun id(id: kotlin.String?) = apply { this.id = id }
+
+ fun name(name: kotlin.String?) = apply { this.name = name }
+
+ fun build(): ImageReference {
+ val instance =
+ ImageReference(
+ id = id,
+ name = name
+ )
+
+ validate(instance)
+
+ return instance
+ }
+
+ private fun validate(instance: ImageReference) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(instance)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ id = id,
+ name = name
+ )
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/RoomItinerary.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/RoomItinerary.kt
index 05110e69f5..4fe30b14f3 100644
--- a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/RoomItinerary.kt
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/RoomItinerary.kt
@@ -108,6 +108,7 @@ data class RoomItinerary(
@field:Valid
val smoking: kotlin.Boolean? = null,
// Deprecated. Please use the loyalty id inside the loyalty object.
+ @Deprecated(message = "This property is deprecated.")
@JsonProperty("loyalty_id")
@field:Valid
val loyaltyId: kotlin.String? = null,
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/StatisticReference.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/StatisticReference.kt
new file mode 100644
index 0000000000..f95bd35b5b
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/StatisticReference.kt
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "UnusedImport"
+)
+
+package com.expediagroup.sdk.rapid.models
+
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+
+/**
+ * An individual statistic reference.
+ * @param id The statistic definition ID for this statistic.
+ * @param name Statistic name.
+ * @param hasValue Indicates whether a statistic will have an associated numeric value.
+ */
+data class StatisticReference(
+ // The statistic definition ID for this statistic.
+ @JsonProperty("id")
+ @field:Valid
+ val id: kotlin.String? = null,
+ // Statistic name.
+ @JsonProperty("name")
+ @field:Valid
+ val name: kotlin.String? = null,
+ // Indicates whether a statistic will have an associated numeric value.
+ @JsonProperty("has_value")
+ @field:Valid
+ val hasValue: kotlin.Boolean? = null
+) {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ private var id: kotlin.String? = null,
+ private var name: kotlin.String? = null,
+ private var hasValue: kotlin.Boolean? = null
+ ) {
+ fun id(id: kotlin.String?) = apply { this.id = id }
+
+ fun name(name: kotlin.String?) = apply { this.name = name }
+
+ fun hasValue(hasValue: kotlin.Boolean?) = apply { this.hasValue = hasValue }
+
+ fun build(): StatisticReference {
+ val instance =
+ StatisticReference(
+ id = id,
+ name = name,
+ hasValue = hasValue
+ )
+
+ validate(instance)
+
+ return instance
+ }
+
+ private fun validate(instance: StatisticReference) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(instance)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ id = id,
+ name = name,
+ hasValue = hasValue
+ )
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/exception/ApiException.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/exception/ApiException.kt
index f533fb1b43..c72e29f1de 100644
--- a/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/exception/ApiException.kt
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/models/exception/ApiException.kt
@@ -135,6 +135,19 @@ internal object ErrorObjectMapper {
DefaultHttpStatusCodeRange
)
),
+ Pair(
+ "getAmenitiesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
Pair(
"getAvailability",
listOf(
@@ -175,6 +188,19 @@ internal object ErrorObjectMapper {
DefaultHttpStatusCodeRange
)
),
+ Pair(
+ "getCategoriesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
Pair(
"getChainReference",
listOf(
@@ -187,6 +213,44 @@ internal object ErrorObjectMapper {
DefaultHttpStatusCodeRange
)
),
+ Pair(
+ "getChainsReference",
+ listOf(
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
+ Pair(
+ "getGeneralAttributesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
+ Pair(
+ "getImagesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
Pair(
"getInactiveProperties",
listOf(
@@ -201,6 +265,19 @@ internal object ErrorObjectMapper {
DefaultHttpStatusCodeRange
)
),
+ Pair(
+ "getOnsitePaymentTypesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
Pair(
"getPaymentOptions",
listOf(
@@ -213,6 +290,19 @@ internal object ErrorObjectMapper {
DefaultHttpStatusCodeRange
)
),
+ Pair(
+ "getPetAttributesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
Pair(
"getPropertyCatalogFile",
listOf(
@@ -269,6 +359,19 @@ internal object ErrorObjectMapper {
DefaultHttpStatusCodeRange
)
),
+ Pair(
+ "getRateAmenitiesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
Pair(
"getRegion",
listOf(
@@ -324,6 +427,84 @@ internal object ErrorObjectMapper {
DefaultHttpStatusCodeRange
)
),
+ Pair(
+ "getRoomAmenitiesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
+ Pair(
+ "getRoomImagesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
+ Pair(
+ "getRoomViewsReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
+ Pair(
+ "getSpokenLanguagesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
+ Pair(
+ "getStatisticsReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
+ Pair(
+ "getThemesReference",
+ listOf(
+ HttpStatusCodeRange("400") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("401") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("403") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("426") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("429") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("500") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ HttpStatusCodeRange("503") { ExpediaGroupApiErrorException(it.status.value, fetchErrorObject(it) as Error, it.headers.getTransactionId()) },
+ DefaultHttpStatusCodeRange
+ )
+ ),
Pair(
"postGeography",
listOf(
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperation.kt
new file mode 100644
index 0000000000..e623532135
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Amenities Reference
+ * @property params [GetAmenitiesReferenceOperationParams]
+ */
+class GetAmenitiesReferenceOperation(
+ params: GetAmenitiesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/amenities",
+ "GET",
+ "getAmenitiesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperationParams.kt
new file mode 100644
index 0000000000..86f8921f49
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetAmenitiesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetAmenitiesReferenceOperationParams.Builder::class)
+data class GetAmenitiesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetAmenitiesReferenceOperationParams {
+ val params =
+ GetAmenitiesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetAmenitiesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperation.kt
new file mode 100644
index 0000000000..24404adb26
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Categories Reference
+ * @property params [GetCategoriesReferenceOperationParams]
+ */
+class GetCategoriesReferenceOperation(
+ params: GetCategoriesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/categories",
+ "GET",
+ "getCategoriesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperationParams.kt
new file mode 100644
index 0000000000..e3804a8a72
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetCategoriesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetCategoriesReferenceOperationParams.Builder::class)
+data class GetCategoriesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetCategoriesReferenceOperationParams {
+ val params =
+ GetCategoriesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetCategoriesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainReferenceOperation.kt
index a2160aff29..50443e89d8 100644
--- a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainReferenceOperation.kt
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainReferenceOperation.kt
@@ -19,9 +19,10 @@ import com.expediagroup.sdk.core.model.Nothing
import com.expediagroup.sdk.core.model.Operation
/**
- * Chain Reference
+ * Chain Reference ***DEPRECATED***
* @property params [GetChainReferenceOperationParams]
*/
+@Deprecated("This operation is deprecated and will be removed in a future version.")
class GetChainReferenceOperation(
params: GetChainReferenceOperationParams
) : Operation<
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperation.kt
new file mode 100644
index 0000000000..1b794cbec7
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Chains Reference
+ * @property params [GetChainsReferenceOperationParams]
+ */
+class GetChainsReferenceOperation(
+ params: GetChainsReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/chains",
+ "GET",
+ "getChainsReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperationParams.kt
new file mode 100644
index 0000000000..b3a62e6a8e
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetChainsReferenceOperationParams.kt
@@ -0,0 +1,161 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetChainsReferenceOperationParams.Builder::class)
+data class GetChainsReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetChainsReferenceOperationParams {
+ val params =
+ GetChainsReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetChainsReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperation.kt
new file mode 100644
index 0000000000..47840949e3
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * General Attributes Reference
+ * @property params [GetGeneralAttributesReferenceOperationParams]
+ */
+class GetGeneralAttributesReferenceOperation(
+ params: GetGeneralAttributesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/general-attributes",
+ "GET",
+ "getGeneralAttributesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperationParams.kt
new file mode 100644
index 0000000000..17a55e21d8
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetGeneralAttributesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetGeneralAttributesReferenceOperationParams.Builder::class)
+data class GetGeneralAttributesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetGeneralAttributesReferenceOperationParams {
+ val params =
+ GetGeneralAttributesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetGeneralAttributesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperation.kt
new file mode 100644
index 0000000000..5205827cdc
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Images Reference
+ * @property params [GetImagesReferenceOperationParams]
+ */
+class GetImagesReferenceOperation(
+ params: GetImagesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/images",
+ "GET",
+ "getImagesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperationParams.kt
new file mode 100644
index 0000000000..eef534bda8
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetImagesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetImagesReferenceOperationParams.Builder::class)
+data class GetImagesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetImagesReferenceOperationParams {
+ val params =
+ GetImagesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetImagesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperation.kt
new file mode 100644
index 0000000000..ef79aa3fe8
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Onsite Payment Types Reference
+ * @property params [GetOnsitePaymentTypesReferenceOperationParams]
+ */
+class GetOnsitePaymentTypesReferenceOperation(
+ params: GetOnsitePaymentTypesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/onsite-payment-types",
+ "GET",
+ "getOnsitePaymentTypesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperationParams.kt
new file mode 100644
index 0000000000..249d0b9f0b
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetOnsitePaymentTypesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetOnsitePaymentTypesReferenceOperationParams.Builder::class)
+data class GetOnsitePaymentTypesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetOnsitePaymentTypesReferenceOperationParams {
+ val params =
+ GetOnsitePaymentTypesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetOnsitePaymentTypesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperation.kt
new file mode 100644
index 0000000000..2da4dbcc19
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Pet Attributes Reference
+ * @property params [GetPetAttributesReferenceOperationParams]
+ */
+class GetPetAttributesReferenceOperation(
+ params: GetPetAttributesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/pet-attributes",
+ "GET",
+ "getPetAttributesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperationParams.kt
new file mode 100644
index 0000000000..50cdbd54eb
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetPetAttributesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetPetAttributesReferenceOperationParams.Builder::class)
+data class GetPetAttributesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetPetAttributesReferenceOperationParams {
+ val params =
+ GetPetAttributesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetPetAttributesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperation.kt
new file mode 100644
index 0000000000..6e22f22eca
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Rate Amenities Reference
+ * @property params [GetRateAmenitiesReferenceOperationParams]
+ */
+class GetRateAmenitiesReferenceOperation(
+ params: GetRateAmenitiesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/rate-amenities",
+ "GET",
+ "getRateAmenitiesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperationParams.kt
new file mode 100644
index 0000000000..404131dce5
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRateAmenitiesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetRateAmenitiesReferenceOperationParams.Builder::class)
+data class GetRateAmenitiesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetRateAmenitiesReferenceOperationParams {
+ val params =
+ GetRateAmenitiesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetRateAmenitiesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperation.kt
new file mode 100644
index 0000000000..e2bf9c910d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Room Amenities Reference
+ * @property params [GetRoomAmenitiesReferenceOperationParams]
+ */
+class GetRoomAmenitiesReferenceOperation(
+ params: GetRoomAmenitiesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/room-amenities",
+ "GET",
+ "getRoomAmenitiesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperationParams.kt
new file mode 100644
index 0000000000..bd46dcec67
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomAmenitiesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetRoomAmenitiesReferenceOperationParams.Builder::class)
+data class GetRoomAmenitiesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetRoomAmenitiesReferenceOperationParams {
+ val params =
+ GetRoomAmenitiesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetRoomAmenitiesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperation.kt
new file mode 100644
index 0000000000..cd94733651
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Room Images Reference
+ * @property params [GetRoomImagesReferenceOperationParams]
+ */
+class GetRoomImagesReferenceOperation(
+ params: GetRoomImagesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/room-images",
+ "GET",
+ "getRoomImagesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperationParams.kt
new file mode 100644
index 0000000000..e3a04561e3
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomImagesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetRoomImagesReferenceOperationParams.Builder::class)
+data class GetRoomImagesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetRoomImagesReferenceOperationParams {
+ val params =
+ GetRoomImagesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetRoomImagesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperation.kt
new file mode 100644
index 0000000000..58d9fd3977
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Room Views Reference
+ * @property params [GetRoomViewsReferenceOperationParams]
+ */
+class GetRoomViewsReferenceOperation(
+ params: GetRoomViewsReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/room-views",
+ "GET",
+ "getRoomViewsReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperationParams.kt
new file mode 100644
index 0000000000..695cf639b8
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetRoomViewsReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetRoomViewsReferenceOperationParams.Builder::class)
+data class GetRoomViewsReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetRoomViewsReferenceOperationParams {
+ val params =
+ GetRoomViewsReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetRoomViewsReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperation.kt
new file mode 100644
index 0000000000..97db6e446b
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Spoken Languages Reference
+ * @property params [GetSpokenLanguagesReferenceOperationParams]
+ */
+class GetSpokenLanguagesReferenceOperation(
+ params: GetSpokenLanguagesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/spoken-languages",
+ "GET",
+ "getSpokenLanguagesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperationParams.kt
new file mode 100644
index 0000000000..c4e6050949
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetSpokenLanguagesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetSpokenLanguagesReferenceOperationParams.Builder::class)
+data class GetSpokenLanguagesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetSpokenLanguagesReferenceOperationParams {
+ val params =
+ GetSpokenLanguagesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetSpokenLanguagesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperation.kt
new file mode 100644
index 0000000000..40beb3806d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Statistics Reference
+ * @property params [GetStatisticsReferenceOperationParams]
+ */
+class GetStatisticsReferenceOperation(
+ params: GetStatisticsReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/statistics",
+ "GET",
+ "getStatisticsReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperationParams.kt
new file mode 100644
index 0000000000..769b8bca50
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetStatisticsReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetStatisticsReferenceOperationParams.Builder::class)
+data class GetStatisticsReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetStatisticsReferenceOperationParams {
+ val params =
+ GetStatisticsReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetStatisticsReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperation.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperation.kt
new file mode 100644
index 0000000000..28a2067344
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperation.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.Nothing
+import com.expediagroup.sdk.core.model.Operation
+
+/**
+ * Themes Reference
+ * @property params [GetThemesReferenceOperationParams]
+ */
+class GetThemesReferenceOperation(
+ params: GetThemesReferenceOperationParams
+) : Operation<
+ Nothing
+ >(
+ "/v3/references/themes",
+ "GET",
+ "getThemesReference",
+ null,
+ params
+ )
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperationLink.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperationLink.kt
new file mode 100644
index 0000000000..dfd4edb11d
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperationLink.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperationParams.kt b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperationParams.kt
new file mode 100644
index 0000000000..b36c0b47b1
--- /dev/null
+++ b/code/src/main/kotlin/com/expediagroup/sdk/rapid/operations/GetThemesReferenceOperationParams.kt
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2022 Expedia, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.expediagroup.sdk.rapid.operations
+
+import com.expediagroup.sdk.core.model.OperationParams
+import com.expediagroup.sdk.core.model.exception.client.PropertyConstraintViolationException
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.ktor.http.Headers
+import io.ktor.http.Parameters
+import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
+import javax.validation.Valid
+import javax.validation.Validation
+import javax.validation.constraints.NotNull
+
+/**
+ * @property customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ * @property language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ * @property billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ * @property partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ * @property paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ * @property platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+@JsonDeserialize(builder = GetThemesReferenceOperationParams.Builder::class)
+data class GetThemesReferenceOperationParams(
+ @field:Valid
+ val customerSessionId: kotlin.String? =
+ null,
+ @field:NotNull
+ @field:Valid
+ val language: kotlin.String,
+ @field:Valid
+ val billingTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val partnerPointOfSale: kotlin.String? =
+ null,
+ @field:Valid
+ val paymentTerms: kotlin.String? =
+ null,
+ @field:Valid
+ val platformName: kotlin.String? =
+ null
+) :
+ OperationParams {
+ companion object {
+ @JvmStatic
+ fun builder() = Builder()
+ }
+
+ class Builder(
+ @JsonProperty("Customer-Session-Id") private var customerSessionId: kotlin.String? = null,
+ @JsonProperty("language") private var language: kotlin.String? = null,
+ @JsonProperty("billing_terms") private var billingTerms: kotlin.String? = null,
+ @JsonProperty("partner_point_of_sale") private var partnerPointOfSale: kotlin.String? = null,
+ @JsonProperty("payment_terms") private var paymentTerms: kotlin.String? = null,
+ @JsonProperty("platform_name") private var platformName: kotlin.String? = null
+ ) {
+ /**
+ * @param customerSessionId Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session. Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
+ */
+ fun customerSessionId(customerSessionId: kotlin.String) = apply { this.customerSessionId = customerSessionId }
+
+ /**
+ * @param language Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
Reference: * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/) * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ */
+ fun language(language: kotlin.String) = apply { this.language = language }
+
+ /**
+ * @param billingTerms This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun billingTerms(billingTerms: kotlin.String) = apply { this.billingTerms = billingTerms }
+
+ /**
+ * @param partnerPointOfSale This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun partnerPointOfSale(partnerPointOfSale: kotlin.String) = apply { this.partnerPointOfSale = partnerPointOfSale }
+
+ /**
+ * @param paymentTerms This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun paymentTerms(paymentTerms: kotlin.String) = apply { this.paymentTerms = paymentTerms }
+
+ /**
+ * @param platformName This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
+ */
+ fun platformName(platformName: kotlin.String) = apply { this.platformName = platformName }
+
+ fun build(): GetThemesReferenceOperationParams {
+ val params =
+ GetThemesReferenceOperationParams(
+ customerSessionId = customerSessionId,
+ language = language!!,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ validate(params)
+
+ return params
+ }
+
+ private fun validate(params: GetThemesReferenceOperationParams) {
+ val validator =
+ Validation
+ .byDefaultProvider()
+ .configure()
+ .messageInterpolator(ParameterMessageInterpolator())
+ .buildValidatorFactory()
+ .validator
+
+ val violations = validator.validate(params)
+
+ if (violations.isNotEmpty()) {
+ throw PropertyConstraintViolationException(
+ constraintViolations = violations.map { "${it.propertyPath}: ${it.message}" }
+ )
+ }
+ }
+ }
+
+ fun toBuilder() =
+ Builder(
+ customerSessionId = customerSessionId,
+ language = language,
+ billingTerms = billingTerms,
+ partnerPointOfSale = partnerPointOfSale,
+ paymentTerms = paymentTerms,
+ platformName = platformName
+ )
+
+ override fun getHeaders(): Headers =
+ Headers.build {
+ customerSessionId?.let {
+ append("Customer-Session-Id", it)
+ }
+ append("Accept", "application/json")
+ }
+
+ override fun getQueryParams(): Parameters =
+ Parameters.build {
+ language?.let {
+ append("language", it)
+ }
+ billingTerms?.let {
+ append("billing_terms", it)
+ }
+ partnerPointOfSale?.let {
+ append("partner_point_of_sale", it)
+ }
+ paymentTerms?.let {
+ append("payment_terms", it)
+ }
+ platformName?.let {
+ append("platform_name", it)
+ }
+ }
+
+ override fun getPathParams(): Map =
+ buildMap {
+ }
+}
diff --git a/code/transformedSpecs.yaml b/code/transformedSpecs.yaml
index 6c7b114e26..0fc57db171 100644
--- a/code/transformedSpecs.yaml
+++ b/code/transformedSpecs.yaml
@@ -507,41 +507,19 @@ paths:
description: OK
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
Link:
@@ -1932,41 +1910,19 @@ paths:
description: Invalid Input
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -2065,41 +2021,19 @@ paths:
description: Gone
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -2126,41 +2060,19 @@ paths:
description: Too Many Requests
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -2289,41 +2201,19 @@ paths:
description: OK
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Link:
description: >
Contains a single link to get the immediate next page of
@@ -2364,41 +2254,19 @@ paths:
description: Invalid Input
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
content:
application/json:
schema:
@@ -2463,41 +2331,19 @@ paths:
description: Gone
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
content:
application/json:
schema:
@@ -2519,41 +2365,19 @@ paths:
description: Too Many Requests
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
content:
application/json:
schema:
@@ -2732,41 +2556,19 @@ paths:
description: OK
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -2805,41 +2607,19 @@ paths:
description: Invalid Input
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -2922,41 +2702,19 @@ paths:
description: Not Found
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -2982,41 +2740,19 @@ paths:
description: Too Many Requests
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -3183,41 +2919,19 @@ paths:
description: OK
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -3232,41 +2946,19 @@ paths:
description: Invalid Input
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -3349,41 +3041,19 @@ paths:
description: Not Found
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -3413,41 +3083,19 @@ paths:
description: Too Many Requests
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -3601,41 +3249,19 @@ paths:
description: OK
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -3650,41 +3276,19 @@ paths:
description: Invalid Input
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -3767,41 +3371,19 @@ paths:
description: Not Found
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -3831,41 +3413,19 @@ paths:
description: Too Many Requests
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -5502,7 +5062,7 @@ paths:
required: true
schema:
type: string
- example: 2025-02-01
+ example: 2025-05-01
- name: checkout
in: query
description: >
@@ -5512,7 +5072,7 @@ paths:
required: true
schema:
type: string
- example: 2025-02-03
+ example: 2025-05-03
- name: currency
in: query
description: >
@@ -6747,7 +6307,7 @@ paths:
If specified must also specify `checkout`.
schema:
type: string
- example: 2025-02-01
+ example: 2025-05-01
- name: checkout
in: query
description: >
@@ -6760,7 +6320,7 @@ paths:
If specified must also specify `checkin`.
schema:
type: string
- example: 2025-02-03
+ example: 2025-05-03
- name: exclusion
in: query
description: >
@@ -8407,7 +7967,7 @@ paths:
schema:
type: string
format: date
- example: 2025-02-15
+ example: 2025-05-15
- name: end_date
in: query
description: >
@@ -8418,7 +7978,7 @@ paths:
schema:
type: string
format: date
- example: 2025-08-17
+ example: 2025-11-17
responses:
"200":
description: OK
@@ -14679,30 +14239,3792 @@ paths:
message: This service is currently unavailable.
security:
- rapidAuth: []
- /v3/chains:
+ /v3/references/amenities:
get:
tags:
- - getChainReference
- summary: Chain Reference
- description: >
- Returns a complete collection of chains recognized by the Rapid API.
+ - getAmenitiesReference
+ summary: Amenities Reference
+ description: |
+ Returns a complete collection of amenities available in the Rapid API.
+ operationId: getAmenitiesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
- Chains represent a parent company which can have multiple brands associated with it. A brand can only be
+ same value for each subsequent API call during the user's session, using a new value for every new customer
- associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands
+ session.
- including DoubleTree, Hampton Inn and Embassy Suites.
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
- The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
- also contains a map of its related brands.
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
- Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a
+
Reference:
- chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning.
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
- Chain and brand names are provided in English only.
- operationId: getChainReference
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/AmenityReference"
+ example:
+ "2593":
+ id: 2593
+ name: Number of meeting rooms -
+ has_value: true
+ "1073743392":
+ id: 1073743392
+ name: Free WiFi (limited) time
+ has_value: true
+ "1073744371":
+ id: 1073744371
+ name: Air hockey
+ has_value: false
+ "1073744373":
+ id: 1073744373
+ name: Garage
+ has_value: false
+ "1073745340":
+ id: 1073745340
+ name: Single-level property
+ has_value: false
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/categories:
+ get:
+ tags:
+ - getCategoriesReference
+ summary: Categories Reference
+ description: |
+ Returns a complete collection of categories available in the Rapid API.
+ operationId: getCategoriesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/CategoryProperty"
+ example:
+ "12":
+ id: 12
+ name: Hostel/Backpacker accommodation
+ "21":
+ id: 21
+ name: Tree house property
+ "24":
+ id: 24
+ name: Campsite
+ "44":
+ id: 44
+ name: Mobile home
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/chains:
+ get:
+ tags:
+ - getChainReference
+ summary: Chain Reference ***DEPRECATED***
+ deprecated: true
+ description: >
+ ***DEPRECATED*** Please use `/references/chains`
+
+ Returns a complete collection of chains recognized by the Rapid API.
+
+ Chains represent a parent company which can have multiple brands associated with it. A brand can only be
+
+ associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands
+
+ including DoubleTree, Hampton Inn and Embassy Suites.
+
+ The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object
+
+ also contains a map of its related brands.
+
+ Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a
+
+ chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning.
+
+ Chain and brand names are provided in English only.
+ operationId: getChainReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/Chain"
+ example:
+ "2102":
+ id: "2102"
+ name: MGM
+ brands:
+ "2102":
+ id: "2102"
+ name: MGM
+ "4445":
+ id: "4445"
+ name: Studios 2 Let
+ brands:
+ "4498":
+ id: "4498"
+ name: Studios 2 Let
+ "6200":
+ id: "6200"
+ name: Urban Dream Hotels
+ brands:
+ "6325":
+ id: "6325"
+ name: Urban Dream Hotels
+ "6325":
+ id: "6325"
+ name: Isla Bonita
+ brands:
+ "6399":
+ id: "6399"
+ name: Isla Bonita
+ "-5":
+ id: -5
+ name: Hilton Worldwide
+ brands:
+ "33":
+ id: "33"
+ name: Doubletree
+ "38":
+ id: "38"
+ name: Embassy Suites
+ "54":
+ id: "54"
+ name: Homewood Suites
+ "55":
+ id: "55"
+ name: Hilton Hotels
+ "358":
+ id: "358"
+ name: Hampton Inn
+ "2059":
+ id: "2059"
+ name: Hilton Garden Inn
+ "2146":
+ id: "2146"
+ name: Conrad
+ "2194":
+ id: "2194"
+ name: Waldorf Astoria
+ "2199":
+ id: "2199"
+ name: Hilton International
+ "2513":
+ id: "2513"
+ name: Hilton Grand Vacations
+ "2608":
+ id: "2608"
+ name: Home2 Suites by Hilton
+ "3000":
+ id: "3000"
+ name: Curio Collection
+ "4138":
+ id: "4138"
+ name: Tru by Hilton
+ "4615":
+ id: "4615"
+ name: Tapestry Collection by Hilton
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/chains:
+ get:
+ tags:
+ - getChainsReference
+ summary: Chains Reference
+ description: >
+ Returns a complete collection of chains recognized by the Rapid API.
+
+ Chains represent a parent company which can have multiple brands associated with it. A brand can only be
+
+ associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands
+
+ including DoubleTree, Hampton Inn and Embassy Suites.
+
+ The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object
+
+ also contains a map of its related brands.
+
+ Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a
+
+ chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning.
+
+ Chain and brand names are provided in English only.
+ operationId: getChainsReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/Chain"
+ example:
+ "2102":
+ id: "2102"
+ name: MGM
+ brands:
+ "2102":
+ id: "2102"
+ name: MGM
+ "4445":
+ id: "4445"
+ name: Studios 2 Let
+ brands:
+ "4498":
+ id: "4498"
+ name: Studios 2 Let
+ "6200":
+ id: "6200"
+ name: Urban Dream Hotels
+ brands:
+ "6325":
+ id: "6325"
+ name: Urban Dream Hotels
+ "6325":
+ id: "6325"
+ name: Isla Bonita
+ brands:
+ "6399":
+ id: "6399"
+ name: Isla Bonita
+ "-5":
+ id: -5
+ name: Hilton Worldwide
+ brands:
+ "33":
+ id: "33"
+ name: Doubletree
+ "38":
+ id: "38"
+ name: Embassy Suites
+ "54":
+ id: "54"
+ name: Homewood Suites
+ "55":
+ id: "55"
+ name: Hilton Hotels
+ "358":
+ id: "358"
+ name: Hampton Inn
+ "2059":
+ id: "2059"
+ name: Hilton Garden Inn
+ "2146":
+ id: "2146"
+ name: Conrad
+ "2194":
+ id: "2194"
+ name: Waldorf Astoria
+ "2199":
+ id: "2199"
+ name: Hilton International
+ "2513":
+ id: "2513"
+ name: Hilton Grand Vacations
+ "2608":
+ id: "2608"
+ name: Home2 Suites by Hilton
+ "3000":
+ id: "3000"
+ name: Curio Collection
+ "4138":
+ id: "4138"
+ name: Tru by Hilton
+ "4615":
+ id: "4615"
+ name: Tapestry Collection by Hilton
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/general-attributes:
+ get:
+ tags:
+ - getGeneralAttributesReference
+ summary: General Attributes Reference
+ description: >
+ Returns a complete collection of general attributes available in the
+ Rapid API.
+ operationId: getGeneralAttributesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/AttributeReference"
+ example:
+ "2003":
+ id: 2003
+ name: Clothing optional (nudity permitted in public areas)
+ has_value: false
+ "2544":
+ id: 2544
+ name: No rollaway/extra beds available
+ has_value: false
+ "2545":
+ id: 2545
+ name: No cribs (infant beds) available
+ has_value: false
+ "2940":
+ id: 2940
+ name: Minimum guest age is
+ has_value: true
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/images:
+ get:
+ tags:
+ - getImagesReference
+ summary: Images Reference
+ description: |
+ Returns a complete collection of images available in the Rapid API.
+ operationId: getImagesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/ImageReference"
+ example:
+ "10001":
+ id: 10001
+ name: Lobby
+ "22003":
+ id: 22003
+ name: Room service - dining
+ "56011":
+ id: 56011
+ name: Raised toilet seat
+ "91003":
+ id: 91003
+ name: Front of property - evening/night
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/onsite-payment-types:
+ get:
+ tags:
+ - getOnsitePaymentTypesReference
+ summary: Onsite Payment Types Reference
+ description: >
+ Returns a complete collection of onsite payment types available in the
+ Rapid API.
+ operationId: getOnsitePaymentTypesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/PaymentType"
+ example:
+ "171":
+ id: 171
+ name: American Express
+ "190":
+ id: 190
+ name: Cash not accepted
+ "407":
+ id: 407
+ name: Cash
+ "1073742461":
+ id: 1073742461
+ name: Debit cards
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/pet-attributes:
+ get:
+ tags:
+ - getPetAttributesReference
+ summary: Pet Attributes Reference
+ description: >
+ Returns a complete collection of pet attributes available in the Rapid
+ API.
+ operationId: getPetAttributesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/AttributeReference"
+ example:
+ "51":
+ id: 51
+ name: Pets allowed
+ has_value: false
+ "2644":
+ id: 2644
+ name: Pet max weight (per pet) in kg is
+ has_value: true
+ "5059":
+ id: 5059
+ name: Service animals are exempt from fees/restrictions
+ has_value: false
+ "1073744793":
+ id: 1073744793
+ name: Only cats are allowed
+ has_value: false
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/rate-amenities:
+ get:
+ tags:
+ - getRateAmenitiesReference
+ summary: Rate Amenities Reference
+ description: >
+ Returns a complete collection of rate amenities available in the Rapid
+ API.
+ operationId: getRateAmenitiesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/AmenityReference"
+ example:
+ "2098":
+ id: 2098
+ name: Free breakfast
+ has_value: false
+ "2108":
+ id: 2108
+ name: Food/beverage credit
+ has_value: false
+ "2235":
+ id: 2235
+ name: Casino credit
+ has_value: false
+ "1073743286":
+ id: 1073743286
+ name: Free massage included
+ has_value: false
+ "1073743391":
+ id: 1073743391
+ name: Chain loyalty rate
+ has_value: false
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/room-amenities:
+ get:
+ tags:
+ - getRoomAmenitiesReference
+ summary: Room Amenities Reference
+ description: >
+ Returns a complete collection of roomo amenities available in the Rapid
+ API.
+ operationId: getRoomAmenitiesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/AmenityReference"
+ example:
+ "4296":
+ id: 4296
+ name: Furnished balcony or patio
+ has_value: false
+ "1073743396":
+ id: 1073743396
+ name: Free WiFi (limited) time
+ has_value: true
+ "1073744315":
+ id: 1073744315
+ name: Data speed
+ has_value: true
+ "1073744439":
+ id: 1073744439
+ name: Lobster/crab pot
+ has_value: false
+ "1073744558":
+ id: 1073744558
+ name: All-in-one washer and dryer
+ has_value: false
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/room-images:
+ get:
+ tags:
+ - getRoomImagesReference
+ summary: Room Images Reference
+ description: |
+ Returns a complete collection of room images available in the Rapid API.
+ operationId: getRoomImagesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/ImageReference"
+ example:
+ "30012":
+ id: 56011
+ name: Pool waterfall
+ "60008":
+ id: 60008
+ name: Archery
+ "60021":
+ id: 60021
+ name: Kayaking
+ "71012":
+ id: 71012
+ name: Pet-friendly
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/room-views:
+ get:
+ tags:
+ - getRoomViewsReference
+ summary: Room Views Reference
+ description: |
+ Returns a complete collection of room views available in the Rapid API.
+ operationId: getRoomViewsReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/View"
+ example:
+ "4134":
+ id: 4134
+ name: City view
+ "4219":
+ id: 4219
+ name: Mountain view
+ "1073742607":
+ id: 1073742607
+ name: Harbor view
+ "1073742612":
+ id: 1073742612
+ name: Partial lake view
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/spoken-languages:
+ get:
+ tags:
+ - getSpokenLanguagesReference
+ summary: Spoken Languages Reference
+ description: >
+ Returns a complete collection of spoken languages available in the Rapid
+ API.
+ operationId: getSpokenLanguagesReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/SpokenLanguage"
+ example:
+ el:
+ id: el
+ name: Greek
+ en:
+ id: en
+ name: English
+ fr:
+ id: fr
+ name: French
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/statistics:
+ get:
+ tags:
+ - getStatisticsReference
+ summary: Statistics Reference
+ description: |
+ Returns a complete collection of statistics available in the Rapid API.
+ operationId: getStatisticsReference
+ parameters:
+ - name: Customer-Session-Id
+ in: header
+ description: >
+ Insert your own unique value for each user session, beginning with
+ the first API call. Continue to pass the
+
+ same value for each subsequent API call during the user's session, using a new value for every new customer
+
+ session.
+
+ Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
+
+ explicitly links together request paths for individual user's session.
+ schema:
+ type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
+ - name: billing_terms
+ in: query
+ description: >
+ This parameter is to specify the terms of how a resulting booking
+ should be billed. If this field is
+
+ needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: partner_point_of_sale
+ in: query
+ description: >
+ This parameter is to specify what point of sale is being used to
+ shop and book. If this field is needed,
+
+ the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: payment_terms
+ in: query
+ description: >
+ This parameter is to specify what terms should be used when being
+ paid for a resulting booking. If this
+
+ field is needed, the value for this will be provided to you separately.
+ schema:
+ type: string
+ - name: platform_name
+ in: query
+ description: >
+ This parameter is to specify what platform is being used to shop and
+ book. If this field is needed, the
+
+ value for this will be provided to you separately.
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ $ref: "#/components/schemas/StatisticReference"
+ example:
+ "55":
+ id: 55
+ name: Number of buildings/towers -
+ has_value: true
+ "2515":
+ id: 2515
+ name: Year Built -
+ has_value: true
+ "1073743380":
+ id: 1073743380
+ name: Max occupancy -
+ has_value: true
+ "1073743538":
+ id: 1073743538
+ name: Property floor area (square meters) -
+ has_value: true
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
+ "401":
+ description: Unauthorized
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ WWW-Authenticate:
+ description: Provides an example of the Authorization header.
+ schema:
+ type: string
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthenticated
+ message: Data required to authenticate your request is missing or inaccurate.
+ Ensure that your request follows the guidelines in our
+ documentation.
+ fields:
+ - name: apikey
+ type: header
+ value: jaj3982k239dka328e
+ - name: signature
+ type: header
+ value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
+ - name: timestamp
+ type: header
+ value: 198284729
+ - name: servertimestamp
+ type: server
+ value: 198284729
+ "403":
+ description: Forbidden
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: request_unauthorized
+ message: Your request could not be authorized.
+ "426":
+ description: Upgrade Required
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: upgrade_required
+ message: This service requires the use of TLS.
+ "429":
+ description: Too Many Requests
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: too_many_requests
+ message: You have reached your capacity for this type of request.
+ "500":
+ description: Unknown Internal Error
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: unknown_internal_error
+ message: An internal server error has occurred.
+ "503":
+ description: Service Unavailable
+ headers:
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: service_unavailable
+ message: This service is currently unavailable.
+ security:
+ - rapidAuth: []
+ /v3/references/themes:
+ get:
+ tags:
+ - getThemesReference
+ summary: Themes Reference
+ description: |
+ Returns a complete collection of themes available in the Rapid API.
+ operationId: getThemesReference
parameters:
- name: Customer-Session-Id
in: header
@@ -14719,6 +18041,27 @@ paths:
explicitly links together request paths for individual user's session.
schema:
type: string
+ - name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that
+ only uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
- name: billing_terms
in: query
description: >
@@ -14760,41 +18103,19 @@ paths:
description: OK
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -14802,82 +18123,57 @@ paths:
schema:
type: object
additionalProperties:
- $ref: "#/components/schemas/Chain"
+ $ref: "#/components/schemas/Theme"
example:
- "2102":
- id: "2102"
- name: MGM
- brands:
- "2102":
- id: "2102"
- name: MGM
- "4445":
- id: "4445"
- name: Studios 2 Let
- brands:
- "4498":
- id: "4498"
- name: Studios 2 Let
- "6200":
- id: "6200"
- name: Urban Dream Hotels
- brands:
- "6325":
- id: "6325"
- name: Urban Dream Hotels
- "6325":
- id: "6325"
- name: Isla Bonita
- brands:
- "6399":
- id: "6399"
- name: Isla Bonita
- "-5":
- id: -5
- name: Hilton Worldwide
- brands:
- "33":
- id: "33"
- name: Doubletree
- "38":
- id: "38"
- name: Embassy Suites
- "54":
- id: "54"
- name: Homewood Suites
- "55":
- id: "55"
- name: Hilton Hotels
- "358":
- id: "358"
- name: Hampton Inn
- "2059":
- id: "2059"
- name: Hilton Garden Inn
- "2146":
- id: "2146"
- name: Conrad
- "2194":
- id: "2194"
- name: Waldorf Astoria
- "2199":
- id: "2199"
- name: Hilton International
- "2513":
- id: "2513"
- name: Hilton Grand Vacations
- "2608":
- id: "2608"
- name: Home2 Suites by Hilton
- "3000":
- id: "3000"
- name: Curio Collection
- "4138":
- id: "4138"
- name: Tru by Hilton
- "4615":
- id: "4615"
- name: Tapestry Collection by Hilton
+ "2332":
+ id: 2332
+ name: Eco-certified property
+ "5001":
+ id: 5001
+ name: Hot springs property
+ "5020":
+ id: 5020
+ name: Winery property
+ "1073744362":
+ id: 1073744362
+ name: Romantic
+ "400":
+ description: Invalid Input
+ headers:
+ Rate-Limit-Day:
+ $ref: "#/components/headers/Rate-Limit-Day"
+ Rate-Limit-Day-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
+ Rate-Limit-Day-Reset:
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
+ Rate-Limit-Minute:
+ $ref: "#/components/headers/Rate-Limit-Minute"
+ Rate-Limit-Minute-Remaining:
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
+ Rate-Limit-Minute-Reset:
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
+ Rate-Limit-Reduction-Status:
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
+ Region:
+ $ref: "#/components/headers/Region"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Error"
+ example:
+ type: invalid_input
+ message: An invalid request was sent in, please check the nested errors for
+ details.
+ errors:
+ - type: language.required
+ message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK,
+ de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR,
+ hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR,
+ ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK,
+ sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
+ fields:
+ - name: language
+ type: querystring
"401":
description: Unauthorized
headers:
@@ -14937,41 +18233,19 @@ paths:
description: Too Many Requests
headers:
Rate-Limit-Day:
- description: Reserved for future use. Optional header for request capacity per
- day.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day"
Rate-Limit-Day-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the daily time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Remaining"
Rate-Limit-Day-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the daily capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Day-Reset"
Rate-Limit-Minute:
- description: Reserved for future use. Optional header for request capacity per
- minute.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute"
Rate-Limit-Minute-Remaining:
- description: Optional header for the remaining capacity, as a percentage, for
- the per minute time window.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Remaining"
Rate-Limit-Minute-Reset:
- description: Optional header for the timestamp, as the number of milliseconds
- since the Unix Epoch, when the per minute capacity resets.
- schema:
- type: number
+ $ref: "#/components/headers/Rate-Limit-Minute-Reset"
Rate-Limit-Reduction-Status:
- description: Optional header that indicates the state (inactive, active) of
- minute capacity reduction triggered once all daily capacity has
- been used.
- schema:
- type: string
+ $ref: "#/components/headers/Rate-Limit-Reduction-Status"
Region:
$ref: "#/components/headers/Region"
content:
@@ -17390,6 +20664,7 @@ components:
loyalty_id:
type: string
description: Deprecated. Please use the loyalty id inside the loyalty object.
+ deprecated: true
loyalty:
$ref: "#/components/schemas/Loyalty"
rate:
@@ -17970,6 +21245,7 @@ components:
loyalty_id:
type: string
description: Deprecated. Please use the loyalty id inside the loyalty object.
+ deprecated: true
loyalty:
$ref: "#/components/schemas/Loyalty"
ItineraryCreation:
@@ -18055,6 +21331,7 @@ components:
loyalty_id:
type: string
description: Deprecated. Please use the loyalty id inside the loyalty object.
+ deprecated: true
loyalty:
$ref: "#/components/schemas/Loyalty"
example:
@@ -18170,6 +21447,55 @@ components:
$ref: "#/components/schemas/PhoneRequest"
address:
$ref: "#/components/schemas/BillingContactRequestAddress"
+ AmenityReference:
+ type: object
+ properties:
+ id:
+ type: string
+ description: Amenity id.
+ name:
+ type: string
+ description: Amenity name.
+ has_value:
+ type: boolean
+ description: Indicates whether an amenity will have an associated numeric value.
+ description: An individual amenity reference.
+ AttributeReference:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The attribute definition ID for this attribute.
+ name:
+ type: string
+ description: Attribute name.
+ has_value:
+ type: boolean
+ description: Indicates whether an attribute will have an associated numeric value.
+ description: An individual attribute reference.
+ ImageReference:
+ type: object
+ properties:
+ id:
+ type: string
+ description: Image Id
+ name:
+ type: string
+ description: Image name
+ description: An individual image reference.
+ StatisticReference:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The statistic definition ID for this statistic.
+ name:
+ type: string
+ description: Statistic name.
+ has_value:
+ type: boolean
+ description: Indicates whether a statistic will have an associated numeric value.
+ description: An individual statistic reference.
Notification:
type: object
properties:
@@ -18735,7 +22061,77 @@ components:
schema:
type: string
example: 5.5.5.5
+ Language:
+ name: language
+ in: query
+ description: >
+ Desired language for the response as a subset of BCP47 format that only
+ uses hyphenated pairs of two-digit
+
+ language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
+
+
Reference:
+
+ * [W3 Language Tags](https://www.w3.org/International/articles/language-tags/)
+
+ * [Language Options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
+ required: true
+ schema:
+ type: string
+ examples:
+ English:
+ value: en-US
+ Cantonese:
+ value: zh-HK
headers:
+ Rate-Limit-Day:
+ description: Reserved for future use. Optional header for request capacity per day.
+ style: simple
+ explode: false
+ schema:
+ type: number
+ Rate-Limit-Day-Remaining:
+ description: Optional header for the remaining capacity, as a percentage, for
+ the daily time window.
+ style: simple
+ explode: false
+ schema:
+ type: number
+ Rate-Limit-Day-Reset:
+ description: Optional header for the timestamp, as the number of milliseconds
+ since the Unix Epoch, when the daily capacity resets.
+ style: simple
+ explode: false
+ schema:
+ type: number
+ Rate-Limit-Minute:
+ description: Reserved for future use. Optional header for request capacity per minute.
+ style: simple
+ explode: false
+ schema:
+ type: number
+ Rate-Limit-Minute-Remaining:
+ description: Optional header for the remaining capacity, as a percentage, for
+ the per minute time window.
+ style: simple
+ explode: false
+ schema:
+ type: number
+ Rate-Limit-Minute-Reset:
+ description: Optional header for the timestamp, as the number of milliseconds
+ since the Unix Epoch, when the per minute capacity resets.
+ style: simple
+ explode: false
+ schema:
+ type: number
+ Rate-Limit-Reduction-Status:
+ description: Optional header that indicates the state (inactive, active) of
+ minute capacity reduction triggered once all daily capacity has been
+ used.
+ style: simple
+ explode: false
+ schema:
+ type: string
Region:
description: Optional header that provides information about where the request
was processed.