From 5808de7caa79b0972609a97b29b83ca050eba683 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 26 Oct 2023 14:54:43 +0300
Subject: [PATCH] chore: Publish fraudPreventionV2 [3.0.0] SDK (#261)
---
release/fraudPreventionV2/docs/Brand.md | 10 +-
release/fraudPreventionV2/docs/CardType.md | 7 +
release/fraudPreventionV2/docs/CreditCard.md | 28 +-
.../fraudPreventionV2/docs/PaymentGeneric.md | 24 +-
...xpediagroup.sdk.fraudpreventionv2.model.md | 336 +++++++++---------
release/fraudPreventionV2/src/client.py | 2 +-
release/fraudPreventionV2/src/model.py | 155 ++++----
release/fraudPreventionV2/src/setup.py | 2 +-
release/fraudPreventionV2/src/specs.yaml | 33 +-
9 files changed, 311 insertions(+), 286 deletions(-)
diff --git a/release/fraudPreventionV2/docs/Brand.md b/release/fraudPreventionV2/docs/Brand.md
index 345e65a5..170b863e 100644
--- a/release/fraudPreventionV2/docs/Brand.md
+++ b/release/fraudPreventionV2/docs/Brand.md
@@ -27,6 +27,10 @@ Incorrect `brand` - `card_type` combination will result in data quality issues a
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
+* `UATP` : `UATP`
+* `UATP_SUPPLY` : `UATP`
+* `AIR_PLUS` : `UATP`
+* `UA_PASS_PLUS` : `UATP`
* `VISA` : `VISA`
* `VISA_DELTA` : `VISA`
* `VISA_ELECTRON` : `VISA`
@@ -55,10 +59,6 @@ Incorrect `brand` - `card_type` combination will result in data quality issues a
* `CHEAP_CASH`
* `BONUS_PLUS`
* `ULTIMATE_REWARDS`
-* `UATP`
-* `UATP_SUPPLY`
-* `AIR_PLUS`
-* `US_PASS_PLUS`
'brand' with 'GiftCard' payment_type is an enum value with following:
* `GIFT_CARD`
@@ -227,9 +227,9 @@ Incorrect `brand` - `card_type` combination will result in data quality issues a
| SWITCH | Any | True | ... |
| UATP | Any | True | ... |
| UATP_SUPPLY | Any | True | ... |
+| UA_PASS_PLUS | Any | True | ... |
| ULTIMATE_REWARDS | Any | True | ... |
| UNITED_POINTS | Any | True | ... |
-| US_PASS_PLUS | Any | True | ... |
| VISA | Any | True | ... |
| VISA_DANKORT | Any | True | ... |
| VISA_DELTA | Any | True | ... |
diff --git a/release/fraudPreventionV2/docs/CardType.md b/release/fraudPreventionV2/docs/CardType.md
index 80639097..fb29857b 100644
--- a/release/fraudPreventionV2/docs/CardType.md
+++ b/release/fraudPreventionV2/docs/CardType.md
@@ -27,6 +27,10 @@ Incorrect `card_type` - `brand` combination will result in data quality issues a
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
+* `UATP` : `UATP`
+* `UATP` : `UATP_SUPPLY`
+* `UATP` : `AIR_PLUS`
+* `UATP` : `UA_PASS_PLUS`
* `VISA` : `VISA`
* `VISA` : `VISA_DELTA`
* `VISA` : `VISA_ELECTRON`
@@ -57,6 +61,8 @@ Incorrect `card_type` - `brand` combination will result in data quality issues a
+
+
@@ -72,6 +78,7 @@ Incorrect `card_type` - `brand` combination will result in data quality issues a
| MASTER_CARD | Any | True | ... |
| SOLO | Any | True | ... |
| SWITCH | Any | True | ... |
+| UATP | Any | True | ... |
| VISA | Any | True | ... |
diff --git a/release/fraudPreventionV2/docs/CreditCard.md b/release/fraudPreventionV2/docs/CreditCard.md
index c75a203b..bfa823ac 100644
--- a/release/fraudPreventionV2/docs/CreditCard.md
+++ b/release/fraudPreventionV2/docs/CreditCard.md
@@ -49,20 +49,20 @@ pydantic model CreditCard
-| Name | Type | Required | Description |
-|-----------------------------------|----------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| card_authentication_failure_count | Optional[int] | False | Total authentication failure count for given card. |
-| card_avs_response | Optional[constr(max_length=50)] | False | A field used to confirm if the address provided at the time of purchase matches what the bank has on file for the Credit Card. |
-| card_cvv_response | Optional[constr(max_length=20)] | False | A field used to confirm the Card Verification Value on the Credit Card matches the Credit Card used at the time of purchase. |
-| card_number | constr(max_length=200) | True | All the digits (unencrypted) of the credit card number associated with the payment. |
-| card_type | [CardType](CardType.md) | True | The 'card_type' field value is an enum value which is associated with the payment method of the specific payment instrument.
For credit card payment method ensure attributes mentioned in dictionary below are set to corresponding values only.
Ensure to comply with the naming standards provided in below dictionary. For example, some Payment processors use “Japan Credit Bureau” but “JCB” should be used when calling Fraud API.
Incorrect `card_type` - `brand` combination will result in data quality issues and result in degraded risk recommendation.
'card_type' is an enum value with the following mapping with Payment `brand` attribute:
* card_type : brand
* --------------------------------------------------------
* `AMERICAN_EXPRESS` : `AMERICAN_EXPRESS`
* `DINERS_CLUB` : `DINERS_CLUB_INTERNATIONAL`
* `DINERS_CLUB` : `BC_CARD`
* `DISCOVER` : `DISCOVER`
* `DISCOVER` : `BC_CARD`
* `DISCOVER` : `DINERS_CLUB_INTERNATIONAL`
* `DISCOVER` : `JCB`
* `JCB` : `JCB`
* `MASTER_CARD` : `MASTER_CARD`
* `MASTER_CARD` : `MAESTRO`
* `MASTER_CARD` : `POSTEPAY_MASTERCARD`
* `SOLO` : `SOLO`
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
* `VISA` : `VISA`
* `VISA` : `VISA_DELTA`
* `VISA` : `VISA_ELECTRON`
* `VISA` : `CARTA_SI`
* `VISA` : `CARTE_BLEUE`
* `VISA` : `VISA_DANKORT`
* `VISA` : `POSTEPAY_VISA_ELECTRON` |
-| electronic_commerce_indicator | Optional[constr(max_length=200)] | False | Electronic Commerce Indicator, a two or three digit number usually returned by a 3rd party payment processor in regards to the authentication used when gathering the cardholder's payment credentials. |
-| expiry_date | datetime | True | Expiration date of the credit card used for payment, in ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. |
-| merchant_order_code | Optional[constr(max_length=200)] | False | Reference code passed to acquiring bank at the time of payment. This code is the key ID that ties back to payments data at the payment level. |
-| method | Literal["CREDIT_CARD"] | True | ... |
-| telephones | list[[Telephone](Telephone.md)] | True | Telephone(s) associated with card holder and credit card. |
-| virtual_credit_card_flag | Optional[bool] | False | A flag to indicate that the bank card being used for the charge is a virtual credit card. |
-| wallet_type | Optional[constr(max_length=200)] | False | If a virtual/digital form of payment was used, the type of digital wallet should be specified here. Possible `wallet_type`'s include: `Google` or `ApplePay`. |
+| Name | Type | Required | Description |
+|-----------------------------------|----------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| card_authentication_failure_count | Optional[int] | False | Total authentication failure count for given card. |
+| card_avs_response | Optional[constr(max_length=50)] | False | A field used to confirm if the address provided at the time of purchase matches what the bank has on file for the Credit Card. |
+| card_cvv_response | Optional[constr(max_length=20)] | False | A field used to confirm the Card Verification Value on the Credit Card matches the Credit Card used at the time of purchase. |
+| card_number | constr(max_length=200) | True | All the digits (unencrypted) of the credit card number associated with the payment. |
+| card_type | [CardType](CardType.md) | True | The 'card_type' field value is an enum value which is associated with the payment method of the specific payment instrument.
For credit card payment method ensure attributes mentioned in dictionary below are set to corresponding values only.
Ensure to comply with the naming standards provided in below dictionary. For example, some Payment processors use “Japan Credit Bureau” but “JCB” should be used when calling Fraud API.
Incorrect `card_type` - `brand` combination will result in data quality issues and result in degraded risk recommendation.
'card_type' is an enum value with the following mapping with Payment `brand` attribute:
* card_type : brand
* --------------------------------------------------------
* `AMERICAN_EXPRESS` : `AMERICAN_EXPRESS`
* `DINERS_CLUB` : `DINERS_CLUB_INTERNATIONAL`
* `DINERS_CLUB` : `BC_CARD`
* `DISCOVER` : `DISCOVER`
* `DISCOVER` : `BC_CARD`
* `DISCOVER` : `DINERS_CLUB_INTERNATIONAL`
* `DISCOVER` : `JCB`
* `JCB` : `JCB`
* `MASTER_CARD` : `MASTER_CARD`
* `MASTER_CARD` : `MAESTRO`
* `MASTER_CARD` : `POSTEPAY_MASTERCARD`
* `SOLO` : `SOLO`
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
* `UATP` : `UATP`
* `UATP` : `UATP_SUPPLY`
* `UATP` : `AIR_PLUS`
* `UATP` : `UA_PASS_PLUS`
* `VISA` : `VISA`
* `VISA` : `VISA_DELTA`
* `VISA` : `VISA_ELECTRON`
* `VISA` : `CARTA_SI`
* `VISA` : `CARTE_BLEUE`
* `VISA` : `VISA_DANKORT`
* `VISA` : `POSTEPAY_VISA_ELECTRON` |
+| electronic_commerce_indicator | Optional[constr(max_length=200)] | False | Electronic Commerce Indicator, a two or three digit number usually returned by a 3rd party payment processor in regards to the authentication used when gathering the cardholder's payment credentials. |
+| expiry_date | datetime | True | Expiration date of the credit card used for payment, in ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. |
+| merchant_order_code | Optional[constr(max_length=200)] | False | Reference code passed to acquiring bank at the time of payment. This code is the key ID that ties back to payments data at the payment level. |
+| method | Literal["CREDIT_CARD"] | True | ... |
+| telephones | list[[Telephone](Telephone.md)] | True | Telephone(s) associated with card holder and credit card. |
+| virtual_credit_card_flag | Optional[bool] | False | A flag to indicate that the bank card being used for the charge is a virtual credit card. |
+| wallet_type | Optional[constr(max_length=200)] | False | If a virtual/digital form of payment was used, the type of digital wallet should be specified here. Possible `wallet_type`'s include: `Google` or `ApplePay`. |
diff --git a/release/fraudPreventionV2/docs/PaymentGeneric.md b/release/fraudPreventionV2/docs/PaymentGeneric.md
index 05fe0c9e..0eac5d03 100644
--- a/release/fraudPreventionV2/docs/PaymentGeneric.md
+++ b/release/fraudPreventionV2/docs/PaymentGeneric.md
@@ -49,18 +49,18 @@ pydantic model Payment: The `method` field value is used as a discriminator, wit
-| Name | Type | Required | Description |
-|------------------------------|---------------------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| authorized_amount | Optional[[Amount](Amount.md)] | False | ... |
-| billing_address | [Address](Address.md) | True | ... |
-| billing_email_address | EmailStr | True | Email address associated with the payment. |
-| billing_name | [Name](Name.md) | True | ... |
-| brand | [Brand](Brand.md) | True | The `brand` field value is the payment brand used for payment on this transaction.
For credit card payment method ensure attributes mentioned in dictionary below are set to corresponding values only.
Ensure to comply with the naming standards provided in below dictionary. For example, some Payment processors use “Japan Credit Bureau” but “JCB” should be used when calling Fraud API.
Incorrect `brand` - `card_type` combination will result in data quality issues and result in degraded risk recommendation.
'brand' is an enum value with the following mapping with CreditCard 'card_type' attribute:
* brand : card_type
* -------------------------------------------------------
* `AMERICAN_EXPRESS` : `AMERICAN_EXPRESS`
* `DINERS_CLUB_INTERNATIONAL` : `DINERS_CLUB`
* `BC_CARD` : `DINERS_CLUB`
* `DISCOVER` : `DISCOVER`
* `BC_CARD` : `DISCOVER`
* `DINERS_CLUB_INTERNATIONAL` : `DISCOVER`
* `JCB` : `DISCOVER`
* `JCB` : `JCB`
* `MASTER_CARD` : `MASTER_CARD`
* `MAESTRO` : `MASTER_CARD`
* `POSTEPAY_MASTERCARD` : `MASTER_CARD`
* `SOLO` : `SOLO`
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
* `VISA` : `VISA`
* `VISA_DELTA` : `VISA`
* `VISA_ELECTRON` : `VISA`
* `CARTA_SI` : `VISA`
* `CARTE_BLEUE` : `VISA`
* `VISA_DANKORT` : `VISA`
* `POSTEPAY_VISA_ELECTRON` : `VISA`
* `PAYPAL` :
'brand' with 'Points' payment_type is an enum value with following:
* `EXPEDIA_REWARDS`
* `AMEX_POINTS`
* `BANK_OF_AMERICA_REWARDS`
* `DISCOVER_POINTS`
* `MASTER_CARD_POINTS`
* `CITI_THANK_YOU_POINTS`
* `MERRILL_LYNCH_REWARDS`
* `WELLS_FARGO_POINTS`
* `DELTA_SKY_MILES`
* `UNITED_POINTS`
* `DISCOVER_MILES`
* `ALASKA_MILES`
* `RBC_REWARDS`
* `BILT_REWARDS`
* `ORBUCKS`
* `CHEAP_CASH`
* `BONUS_PLUS`
* `ULTIMATE_REWARDS`
* `UATP`
* `UATP_SUPPLY`
* `AIR_PLUS`
* `US_PASS_PLUS`
'brand' with 'GiftCard' payment_type is an enum value with following:
* `GIFT_CARD`
'brand' with 'InternetBankPayment' payment_type is an enum value with following:
* `IBP`
* `LOCAL_DEBIT_CARD`
* `SOFORT`
* `YANDEX`
* `WEB_MONEY`
* `QIWI`
* `BITCOIN`
'brand' with 'DirectDebit' payment_type is an enum value with following:
* `ELV`
* `INTER_COMPANY` |
-| method | [PaymentMethod](PaymentMethod.md) | True | ... |
-| operations | Optional[[Operations](Operations.md)] | False | ... |
-| reason | Optional[[PaymentReason](PaymentReason.md)] | False | ... |
-| three_digits_secure_criteria | Optional[[PaymentThreeDSCriteria](PaymentThreeDSCriteria.md)] | False | ... |
-| verified_amount | Optional[[Amount](Amount.md)] | False | ... |
+| Name | Type | Required | Description |
+|------------------------------|---------------------------------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| authorized_amount | Optional[[Amount](Amount.md)] | False | ... |
+| billing_address | [Address](Address.md) | True | ... |
+| billing_email_address | EmailStr | True | Email address associated with the payment. |
+| billing_name | [Name](Name.md) | True | ... |
+| brand | [Brand](Brand.md) | True | The `brand` field value is the payment brand used for payment on this transaction.
For credit card payment method ensure attributes mentioned in dictionary below are set to corresponding values only.
Ensure to comply with the naming standards provided in below dictionary. For example, some Payment processors use “Japan Credit Bureau” but “JCB” should be used when calling Fraud API.
Incorrect `brand` - `card_type` combination will result in data quality issues and result in degraded risk recommendation.
'brand' is an enum value with the following mapping with CreditCard 'card_type' attribute:
* brand : card_type
* -------------------------------------------------------
* `AMERICAN_EXPRESS` : `AMERICAN_EXPRESS`
* `DINERS_CLUB_INTERNATIONAL` : `DINERS_CLUB`
* `BC_CARD` : `DINERS_CLUB`
* `DISCOVER` : `DISCOVER`
* `BC_CARD` : `DISCOVER`
* `DINERS_CLUB_INTERNATIONAL` : `DISCOVER`
* `JCB` : `DISCOVER`
* `JCB` : `JCB`
* `MASTER_CARD` : `MASTER_CARD`
* `MAESTRO` : `MASTER_CARD`
* `POSTEPAY_MASTERCARD` : `MASTER_CARD`
* `SOLO` : `SOLO`
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
* `UATP` : `UATP`
* `UATP_SUPPLY` : `UATP`
* `AIR_PLUS` : `UATP`
* `UA_PASS_PLUS` : `UATP`
* `VISA` : `VISA`
* `VISA_DELTA` : `VISA`
* `VISA_ELECTRON` : `VISA`
* `CARTA_SI` : `VISA`
* `CARTE_BLEUE` : `VISA`
* `VISA_DANKORT` : `VISA`
* `POSTEPAY_VISA_ELECTRON` : `VISA`
* `PAYPAL` :
'brand' with 'Points' payment_type is an enum value with following:
* `EXPEDIA_REWARDS`
* `AMEX_POINTS`
* `BANK_OF_AMERICA_REWARDS`
* `DISCOVER_POINTS`
* `MASTER_CARD_POINTS`
* `CITI_THANK_YOU_POINTS`
* `MERRILL_LYNCH_REWARDS`
* `WELLS_FARGO_POINTS`
* `DELTA_SKY_MILES`
* `UNITED_POINTS`
* `DISCOVER_MILES`
* `ALASKA_MILES`
* `RBC_REWARDS`
* `BILT_REWARDS`
* `ORBUCKS`
* `CHEAP_CASH`
* `BONUS_PLUS`
* `ULTIMATE_REWARDS`
'brand' with 'GiftCard' payment_type is an enum value with following:
* `GIFT_CARD`
'brand' with 'InternetBankPayment' payment_type is an enum value with following:
* `IBP`
* `LOCAL_DEBIT_CARD`
* `SOFORT`
* `YANDEX`
* `WEB_MONEY`
* `QIWI`
* `BITCOIN`
'brand' with 'DirectDebit' payment_type is an enum value with following:
* `ELV`
* `INTER_COMPANY` |
+| method | [PaymentMethod](PaymentMethod.md) | True | ... |
+| operations | Optional[[Operations](Operations.md)] | False | ... |
+| reason | Optional[[PaymentReason](PaymentReason.md)] | False | ... |
+| three_digits_secure_criteria | Optional[[PaymentThreeDSCriteria](PaymentThreeDSCriteria.md)] | False | ... |
+| verified_amount | Optional[[Amount](Amount.md)] | False | ... |
diff --git a/release/fraudPreventionV2/docs/expediagroup.sdk.fraudpreventionv2.model.md b/release/fraudPreventionV2/docs/expediagroup.sdk.fraudpreventionv2.model.md
index 3c7f2eb1..8645d6f9 100644
--- a/release/fraudPreventionV2/docs/expediagroup.sdk.fraudpreventionv2.model.md
+++ b/release/fraudPreventionV2/docs/expediagroup.sdk.fraudpreventionv2.model.md
@@ -340,173 +340,173 @@
-| Class | Description |
-|-----------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| [Code](Code.md) | pydantic model Code: Snake cased all caps error code interpreted from the HTTP status code that can programmatically be acted upon. |
-| [Error](Error.md) | pydantic model Error: The object used to describe an error, containing both human-readable and machine-readable information. |
-| [UnauthorizedError](UnauthorizedError.md) | pydantic model UnauthorizedError: Indicates that the token sent in the 'Authorization' header is either invalid or missing. Please check the value in the token field along with the token expiration time before retrying. |
-| [OrderPurchaseUpdateNotFoundError](OrderPurchaseUpdateNotFoundError.md) | pydantic model OrderPurchaseUpdateNotFoundError: Indicates that the API cannot find the resource that is either being requested or against which the operation is being performed. |
-| [RetryableOrderPurchaseScreenFailure](RetryableOrderPurchaseScreenFailure.md) | pydantic model RetryableOrderPurchaseScreenFailure: Indicates that the API is either down for maintenance or overloaded and cannot fulfill the request at the current time. This is a temporary error and retrying the same request after a certain delay could eventually result in success.
There will be a Retry-After HTTP header in API response specifying how long to wait to retry the request. If there is no Retry-After HTTP header then retry can happen immediately. If the error persists after retrying with delay, please reach out to ." |
-| [RetryableOrderPurchaseUpdateFailure](RetryableOrderPurchaseUpdateFailure.md) | pydantic model RetryableOrderPurchaseUpdateFailure: Indicates that the API is either down for maintenance or overloaded and cannot fulfill the request at the current time. This is a temporary error and retrying the same request after a certain delay could eventually result in success.
There will be a Retry-After HTTP header in API response specifying how long to wait to retry the request. If there is no Retry-After HTTP header then retry can happen immediately. If the error persists after retrying with delay, please reach out to ." |
-| [Code1](Code1.md) | pydantic model Code1 |
-| [Cause](Cause.md) | pydantic model Cause |
-| [BadRequestError](BadRequestError.md) | pydantic model BadRequestError: Indicates that a bad request occurred. Typically it is an invalid parameter. |
-| [UpdateType](UpdateType.md) | pydantic model UpdateType: Transaction type associated with the update event. |
-| [CancellationReason](CancellationReason.md) | pydantic model CancellationReason: Reason of order update cancellation. |
-| [RefundStatus](RefundStatus.md) | pydantic model RefundStatus: Identifies the refund status. Possible values are:
-`ISSUED` - The refund was issued.
-`SETTLED` - The refund was settled. |
-| [ChargebackStatus](ChargebackStatus.md) | pydantic model ChargebackStatus: Identifies the chargeback status. Possible values are:
-`RECEIVED` - The chargeback was received.
-`REVERSAL` - The chargeback reversal was received. |
-| [ChargebackReason](ChargebackReason.md) | pydantic model ChargebackReason: Reason for chargeback which can be `Fraud` or `Non Fraud`. |
-| [InsultDetail](InsultDetail.md) | pydantic model InsultDetail: Details related to the insult. |
-| [Status](Status.md) | pydantic model Status: Defines the current state of the Order.
Generally, OrderPurchaseScreenRequest is followed by an OrderUpdate reflecting the change in current order status. From `IN_PROGRESS` to any of below possible values:
* `COMPLETED` is used when the order has been processed fully. For example, inventory has been reserved, and the payment has been settled.
* `CHANGE_COMPLETED` is like `COMPLETED` but on a changed order.
* `CANCELLED` is used when the order is cancelled. This could be acustomer initiated cancel or based on Fraud recommendation.
* `FAILED` is used when order failed due to any errors on Partner system. This could be followed by another OrderUpdate call with any `order_status` once the order is recovered, abandoned, or cancelled.
* `CHANGE_FAILED` is like `FAILED` but on a changed order.
*
* `CHANGE_COMPLETED` or `CHANGE_FAILED` are applicable if OrderPurchaseScreen Fraud API was called via a change in order which is through `transaction.transaction_details.order_type` = `CHANGE`
* `COMPLETED` or `CANCELLED` order status indicates the completion of lifecycle on an order. |
-| [OrderPurchaseUpdateResponse](OrderPurchaseUpdateResponse.md) | pydantic model OrderPurchaseUpdateResponse |
-| [FraudDecision](FraudDecision.md) | pydantic model FraudDecision |
-| [SiteInfo](SiteInfo.md) | pydantic model SiteInfo |
-| [DeviceDetails](DeviceDetails.md) | pydantic model DeviceDetails |
-| [CurrentOrderStatus](CurrentOrderStatus.md) | pydantic model CurrentOrderStatus: Status of the order:
* `IN_PROGRESS` is used when order has not processed fully. For example, inventory has not yet been reserved, or payment has not yet been settled.
* `COMPLETED` is used when an order has been processed fully. For example, inventory has been reserved, and the payment has been settled. |
-| [OrderType](OrderType.md) | pydantic model OrderType: Type of order. Possible `order_types`.
`CREATE` - Initial type of a brand new order.
`CHANGE` - If a `OrderPurchaseScreenRequest` has already been submitted for the initial booking with `order_type = CREATE`, but has now been modified and partner wishes to resubmit for Fraud screening then the `order_type = CHANGE`. Examples of changes that are supported are changes made to `check-in/checkout dates` or `price of a TravelProduct`. |
-| [AccountType](AccountType.md) | pydantic model AccountType: Identifies if the customer account is known to the client. Possible values are:
-`GUEST` - Applicable if the partner maintains record to distinguish whether the transaction was booked via a guest account.
-`STANDARD` - Default account type. |
-| [AddressType](AddressType.md) | pydantic model AddressType |
-| [Address](Address.md) | pydantic model Address |
-| [InventorySource](InventorySource.md) | pydantic model InventorySource: Identifies the business model through which the supply is being sold. Merchant/Agency.
* `MERCHANT` is used when Partner is the merchant of record for this order.
* `AGENCY` is used when this order is through an agency booking. |
-| [TravelersReference](TravelersReference.md) | pydantic model TravelersReference |
-| [RouteType](RouteType.md) | pydantic model RouteType: The type of route or itinerary for the Rail product, indicating the travel arrangement and pattern. Possible values are:
- `MULTIPLE_DESTINATIONS` - The Rail product includes multiple destinations in its itinerary.
- `ONE_WAY` - The Rail product represents a one-way journey.
- `ROUNDTRIP` - The Rail product represents a roundtrip journey. |
-| [TransportationMethod](TransportationMethod.md) | pydantic model TransportationMethod: This attribute represents the specific transportation method by which the passenger is traveling. It captures the mode of transportation used during the Rail product journey, Possible values are:
- `BUS` - The Rail product includes bus transportation for certain segments of the itinerary.
- `FERRY` - The Rail product involves ferry transportation as part of the journey.
- `PUBLIC_TRANSPORT` - The Rail product represents the use of public transportation modes for the journey.
- `TRAM` - The Rail product includes tram transportation as part of the journey.
- `RAIL` - The Rail product specifically utilizes train transportation for the journey.
- `TRANSFER` - The Rail product involves transfers between different modes of transportation.
- `OTHER` - The Rail product utilizes transportation methods not covered by the aforementioned categories. |
-| [OperatingCompany](OperatingCompany.md) | pydantic model OperatingCompany: This attribute captures the name or identifier of the company responsible for operating the Rail product. It represents the specific operating entity, such as Amtrak, British Railways, or a bus company. |
-| [Type](Type.md) | pydantic model Type: This attribute provides information about the specific classification assigned to the rail station. It helps differentiate between different types of stations, such as major stations (STATION) or stations located within a city (city). |
-| [RailwayStationDetails](RailwayStationDetails.md) | pydantic model RailwayStationDetails |
-| [FlightType](FlightType.md) | pydantic model FlightType: Identifies the type of air trip based on the air destinations. |
-| [AirSegment](AirSegment.md) | pydantic model AirSegment |
-| [HotelAddress](HotelAddress.md) | pydantic model HotelAddress: Address of a hotel. |
-| [Brand](Brand.md) | pydantic model Brand: The `brand` field value is the payment brand used for payment on this transaction.
For credit card payment method ensure attributes mentioned in dictionary below are set to corresponding values only.
Ensure to comply with the naming standards provided in below dictionary. For example, some Payment processors use “Japan Credit Bureau” but “JCB” should be used when calling Fraud API.
Incorrect `brand` - `card_type` combination will result in data quality issues and result in degraded risk recommendation.
'brand' is an enum value with the following mapping with CreditCard 'card_type' attribute:
* brand : card_type
* -------------------------------------------------------
* `AMERICAN_EXPRESS` : `AMERICAN_EXPRESS`
* `DINERS_CLUB_INTERNATIONAL` : `DINERS_CLUB`
* `BC_CARD` : `DINERS_CLUB`
* `DISCOVER` : `DISCOVER`
* `BC_CARD` : `DISCOVER`
* `DINERS_CLUB_INTERNATIONAL` : `DISCOVER`
* `JCB` : `DISCOVER`
* `JCB` : `JCB`
* `MASTER_CARD` : `MASTER_CARD`
* `MAESTRO` : `MASTER_CARD`
* `POSTEPAY_MASTERCARD` : `MASTER_CARD`
* `SOLO` : `SOLO`
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
* `VISA` : `VISA`
* `VISA_DELTA` : `VISA`
* `VISA_ELECTRON` : `VISA`
* `CARTA_SI` : `VISA`
* `CARTE_BLEUE` : `VISA`
* `VISA_DANKORT` : `VISA`
* `POSTEPAY_VISA_ELECTRON` : `VISA`
* `PAYPAL` :
'brand' with 'Points' payment_type is an enum value with following:
* `EXPEDIA_REWARDS`
* `AMEX_POINTS`
* `BANK_OF_AMERICA_REWARDS`
* `DISCOVER_POINTS`
* `MASTER_CARD_POINTS`
* `CITI_THANK_YOU_POINTS`
* `MERRILL_LYNCH_REWARDS`
* `WELLS_FARGO_POINTS`
* `DELTA_SKY_MILES`
* `UNITED_POINTS`
* `DISCOVER_MILES`
* `ALASKA_MILES`
* `RBC_REWARDS`
* `BILT_REWARDS`
* `ORBUCKS`
* `CHEAP_CASH`
* `BONUS_PLUS`
* `ULTIMATE_REWARDS`
* `UATP`
* `UATP_SUPPLY`
* `AIR_PLUS`
* `US_PASS_PLUS`
'brand' with 'GiftCard' payment_type is an enum value with following:
* `GIFT_CARD`
'brand' with 'InternetBankPayment' payment_type is an enum value with following:
* `IBP`
* `LOCAL_DEBIT_CARD`
* `SOFORT`
* `YANDEX`
* `WEB_MONEY`
* `QIWI`
* `BITCOIN`
'brand' with 'DirectDebit' payment_type is an enum value with following:
* `ELV`
* `INTER_COMPANY` |
-| [PaymentThreeDSCriteria](PaymentThreeDSCriteria.md) | pydantic model PaymentThreeDSCriteria: Payment ThreeDS criteria attributes. |
-| [PaymentReason](PaymentReason.md) | pydantic model PaymentReason: The reason of payment. Possible values:
- `FULL` - If the amount is paid i full for the order
- `DEPOSIT` - The initial payment. Amount to be paid up front.
- `SCHEDULED` - The amount to be payment based on a schedule for the remaining portion of the booking amount.
- `SUBSEQUENT` - An additional amount paid that was not originally scheduled.
- `DEFERRED` |
-| [VerificationType](VerificationType.md) | pydantic model VerificationType: The type of the verification used to verify the instrument. If the Card Verfication Value was provided to verify the credit card used for the transaction, `type = CVV`. |
-| [PaymentStatus](PaymentStatus.md) | pydantic model PaymentStatus: The status of the payment operation. |
-| [PaymentMethod](PaymentMethod.md) | pydantic model PaymentMethod: The payment method used at the time of purchase for the transaction. Supported `method`'s are: `CREDIT_CARD`, `PAYPAL`, `POINTS`, `GIFT_CARD`, `INTERNET_BANK_PAYMENT`, `DIRECT_DEBIT`. |
-| [TravelProductType](TravelProductType.md) | pydantic model TravelProductType: Type of product. |
-| [CardType](CardType.md) | pydantic model CardType: The 'card_type' field value is an enum value which is associated with the payment method of the specific payment instrument.
For credit card payment method ensure attributes mentioned in dictionary below are set to corresponding values only.
Ensure to comply with the naming standards provided in below dictionary. For example, some Payment processors use “Japan Credit Bureau” but “JCB” should be used when calling Fraud API.
Incorrect `card_type` - `brand` combination will result in data quality issues and result in degraded risk recommendation.
'card_type' is an enum value with the following mapping with Payment `brand` attribute:
* card_type : brand
* --------------------------------------------------------
* `AMERICAN_EXPRESS` : `AMERICAN_EXPRESS`
* `DINERS_CLUB` : `DINERS_CLUB_INTERNATIONAL`
* `DINERS_CLUB` : `BC_CARD`
* `DISCOVER` : `DISCOVER`
* `DISCOVER` : `BC_CARD`
* `DISCOVER` : `DINERS_CLUB_INTERNATIONAL`
* `DISCOVER` : `JCB`
* `JCB` : `JCB`
* `MASTER_CARD` : `MASTER_CARD`
* `MASTER_CARD` : `MAESTRO`
* `MASTER_CARD` : `POSTEPAY_MASTERCARD`
* `SOLO` : `SOLO`
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
* `VISA` : `VISA`
* `VISA` : `VISA_DELTA`
* `VISA` : `VISA_ELECTRON`
* `VISA` : `CARTA_SI`
* `VISA` : `CARTE_BLEUE`
* `VISA` : `VISA_DANKORT`
* `VISA` : `POSTEPAY_VISA_ELECTRON` |
-| [Name](Name.md) | pydantic model Name: Group of attributes intended to hold information about a customer or traveler's name for the order. |
-| [TelephoneType](TelephoneType.md) | pydantic model TelephoneType: Classification of the phone (e.g. `Home`, `Mobile`). |
-| [TelephonePlatformType](TelephonePlatformType.md) | pydantic model TelephonePlatformType: Classification of the phone platform. |
-| [Email](Email.md) | pydantic model Email: Group of attributes intended to hold information about email address associated with the transaction. |
-| [Amount](Amount.md) | pydantic model Amount |
-| [Code2](Code2.md) | pydantic model Code2: Snake cased all caps error code interpreted from the HTTP status code that can programmatically be acted upon. |
-| [AccountTakeoverError](AccountTakeoverError.md) | pydantic model AccountTakeoverError: The object used to describe an error, containing both human-readable and machine-readable information. |
-| [AccountTakeoverUnauthorizedError](AccountTakeoverUnauthorizedError.md) | pydantic model AccountTakeoverUnauthorizedError: Indicates that the token sent in the 'Authorization' header is either invalid or missing. Please check the value in the token field along with the token expiration time before retrying. |
-| [AccountUpdateNotFoundError](AccountUpdateNotFoundError.md) | pydantic model AccountUpdateNotFoundError: Indicates that the API cannot find the resource that is either being requested or against which the operation is being performed. |
-| [ServiceUnavailableError](ServiceUnavailableError.md) | pydantic model ServiceUnavailableError: Indicates that the API is either down for maintenance or overloaded and cannot fulfill the request at the current time. This is a temporary error and retrying the same request after a certain delay could eventually result in success.
There will be a Retry-After HTTP header in API response specifying how long to wait to retry the request. If there is no Retry-After HTTP header then retry can happen immediately. If the error persists after retrying with delay, please reach out to ." |
-| [Code3](Code3.md) | pydantic model Code3 |
-| [Cause1](Cause1.md) | pydantic model Cause1 |
-| [AccountTakeoverBadRequestError](AccountTakeoverBadRequestError.md) | pydantic model AccountTakeoverBadRequestError: Indicates that a bad request occurred. Typically it is an invalid parameter. |
-| [Type1](Type1.md) | pydantic model Type1: The categorized type of account update event from the Partner's system. |
-| [AccountUpdateRequestGeneric](AccountUpdateRequestGeneric.md) | pydantic model AccountUpdateRequest: The `type` field value is used as a discriminator, with the following mapping:
* `MULTI_FACTOR_AUTHENTICATION_UPDATE`: `MultiFactorAuthenticationUpdate`
* `REMEDIATION_UPDATE`: `RemediationUpdate` |
-| [DeliveryMethod](DeliveryMethod.md) | pydantic model DeliveryMethod: The delivery method of the Multi-Factor Authentication to a user. |
-| [Status1](Status1.md) | pydantic model Status1: The status of a user''s response to the Multi-Factor Authentication initiated by the Partner''s system to the user.'
- `SUCCESS` - Applicable if the user successfully passed the challenge.
- `ABANDON` - Applicable if the user did not complete the challenge.
- `FAILED` - Applicable if the user failed the challenge. |
-| [ActionName](ActionName.md) | pydantic model ActionName: The categorized remediation action initiated by the Partner''s system to a user. Possible values are:
- `PASSWORD_RESET` - Applicable if this event is the result of a password reset by the Partner''s system.
- `DISABLE_ACCOUNT` - Applicable if this event is the result of disabling an account by the Partner''s system.
- `TERMINATE_ALL_SESSIONS` - Applicable if this event is the result of terminating all active user sessions of an account by the Partner''s system. |
-| [Status2](Status2.md) | pydantic model Status2: The status of the remediation action.
- `SUCCESS` - Applicable if the Partner''s system was successfully able to perform the remediation action.
- `FAILED` - Applicable if the Partner''s system failed to perform the remediation action. |
-| [RemediationUpdateAction](RemediationUpdateAction.md) | pydantic model RemediationUpdateAction: Information specific to the remediation action initiated by the Partner's system to a user. |
-| [AccountUpdateResponse](AccountUpdateResponse.md) | pydantic model AccountUpdateResponse |
-| [AccountTakeoverFraudDecision](AccountTakeoverFraudDecision.md) | pydantic model AccountTakeoverFraudDecision: Fraud recommendation for an account transaction. A recommendation can be ACCEPT, CHALLENGE, or REJECT.
- `ACCEPT` - Represents an account transaction where the user’’s account activity is accepted.
- `CHALLENGE` - Represents an account transaction that requires additional verification or challenges the user’’s identity (example: CAPTCHA, MULTI_FACTOR_AUTHENTICATION, etc).
- `REJECT` - Represents a suspicious account transaction where the user’’s credentials or their behavior requires us to block the account activity. |
-| [PlacementName](PlacementName.md) | pydantic model PlacementName: The categorized name of the page where a user initiated event is being evaluated.
- `LOGIN` - Applicable if the user initiated this account event from a login web page.
- `PASSWORD_RESET` - Applicable if the user initiated this account event from a password reset web page. |
-| [AccountTakeoverSiteInfo](AccountTakeoverSiteInfo.md) | pydantic model AccountTakeoverSiteInfo: Information specific to the Partner's website through which a transaction was made. |
-| [Type2](Type2.md) | pydantic model Type2: The categorized type of device used by a user. Possible values are:
- `WEBSITE` - Applicable if the user initiated this event from a web browser on a desktop computer.
- `PHONE_WEB` - Applicable if the user initiated this event from a web browser on a phone.
- `TABLET_WEB` - Applicable if the user initiated this event from a web browser on a tablet.
- `PHONE_APP` - Applicable if the user initiated this event from an app on a phone.
- `TABLET_APP` - Applicable if the user initiated this event from an app on a tablet. |
-| [AccountTakeoverDeviceDetails](AccountTakeoverDeviceDetails.md) | pydantic model AccountTakeoverDeviceDetails: Information specific to the Partner's device through which a transaction was made. |
-| [AccountType1](AccountType1.md) | pydantic model AccountType1: Identifies the account type of a user''s account. Possible values are:
- `INDIVIDUAL` - Applicable if this account is for an individual traveler.
- `BUSINESS` - Applicable if this account is for a business or organization account used by suppliers or Partners. |
-| [AccountRole](AccountRole.md) | pydantic model AccountRole: Identifies the account role and associated permissions of a user''s account. Possible values are:
- `USER`: Basic account with no special privileges.
- `MANAGER`: Account with additional privileges, such as the ability to make bookings for others.
- `ADMIN`: Account with higher privileges than a manager, including the ability to grant manager access to other users. |
-| [AccountTakeoverName](AccountTakeoverName.md) | pydantic model AccountTakeoverName: Group of attributes intended to hold information about a customer or traveler''s name for the account. |
-| [Type3](Type3.md) | pydantic model Type3: The categorized type of account event related to a user's action. |
-| [AuthenticationType](AuthenticationType.md) | pydantic model AuthenticationType: The type of login authentication method used by a user.
For `authentication_type` ensure attributes mentioned in dictionary below are set to corresponding values only.
`authentication_type` is an enum value with the following mapping with `authentication_sub_type` attribute:
* authentication_type : authentication_sub_type
* -------------------------------------------------------------------------------
* `CREDENTIALS` : `EMAIL`
* `CREDENTIALS` :
* `PASSWORD_RESET` : `EMAIL`
* `SINGLE_SIGN_ON` : `EMAIL`
* `MULTI_FACTOR_AUTHENTICATION` : `EMAIL`
* `MULTI_FACTOR_AUTHENTICATION` : `PHONE`
* `SOCIAL` : `GOOGLE`
* `SOCIAL` : `FACEBOOK`
* `SOCIAL` : `APPLE` |
-| [AuthenticationSubType](AuthenticationSubType.md) | pydantic model AuthenticationSubType: The sub type of login authentication method used by a user.
For `authentication_sub_type` ensure attributes mentioned in dictionary below are set to corresponding values only.
`authentication_sub_type` is an enum value with the following mapping with `authentication_type` attribute:
* authentication_sub_type : authentication_type
* -------------------------------------------------------------------------------
* `EMAIL` : `CREDENTIALS`
* `EMAIL` : `PASSWORD_RESET`
* `EMAIL` : `SINGLE_SIGN_ON`
* `EMAIL` : `MULTI_FACTOR_AUTHENTICATION`
* `PHONE` : `MULTI_FACTOR_AUTHENTICATION`
* `GOOGLE` : `SOCIAL`
* `FACEBOOK` : `SOCIAL`
* `APPLE` : `SOCIAL`
* : `CREDENTIALS` |
-| [FailedLoginReason](FailedLoginReason.md) | pydantic model FailedLoginReason: The reason for the failed login attempt in the Partner''s system, related to user failure or Partner''s system failure.
- `INVALID_CREDENTIALS` - Applicable if the user provided invalid login credentials for this login attempt.
- `ACCOUNT_NOT_FOUND` - Applicable if the user attempted to login to an account that doesn't exist.
- `VERIFICATION_FAILED` - Applicable if the user failed the verification for this login, or any authentication exception occured in the Partner system for this login attempt.
- `ACCOUNT_LOCKED` - Applicable if the user attempted to login to an account that is locked. |
-| [Type4](Type4.md) | pydantic model Type4: The kind of challenge served by the Partner''s system to a user prior to calling Expedia''s Fraud Prevention Service.
- `CAPTCHA` - Applicable if the challenge served by the Partner''s system was a Captcha challenge.
- `TWO_FACTOR` - Applicable if the challenge served by the Partner''s system was a two-factor challenge including (Email verification, One Time Password, Okta, etc). |
-| [Status3](Status3.md) | pydantic model Status3: The status of the challenge served by the Partner''s system to a user before calling Expedia''s Fraud Prevention Service.
- `SUCCESS` - Applicable if the user successfully passed the challenge.
- `FAILED` - Applicable if the user failed the challenge. |
-| [ChallengeDetail](ChallengeDetail.md) | pydantic model ChallengeDetail: Information related to challenges initiated by the Partner's system to a user before calling Expedia's Fraud Prevention Service. |
-| [ForbiddenError](ForbiddenError.md) | pydantic model ForbiddenError: Indicates that the API cannot fulfill the request because while the client is correctly authenticated, the client doesn't have the permission to execute the specified operation. This error type does not imply that the request is valid, or that the resource against which the operation being performed exists or satisfies other pre-conditions. |
-| [NotFoundError](NotFoundError.md) | pydantic model NotFoundError: Indicates that the API cannot find the resource that is either being requested or against which the operation is being performed. Please check the request again to make sure that the request is valid. |
-| [TooManyRequestsError](TooManyRequestsError.md) | pydantic model TooManyRequestsError: Indicates that the API cannot fulfill the request because server resources have been exhausted. Perhaps the client has sent too many requests in a given amount of time or has reached some specific quota. Please check the rate limits for the product and adjust as necessary before retries. If you believe the rate limit was incorrect or if you need a different rate limit, please reach out to the regarding the next steps. |
-| [InternalServerError](InternalServerError.md) | pydantic model InternalServerError: Indicates that the API encountered an unexpected condition that prevented it from fulfilling the request. Sometimes used as a generic catch-allerror type when no other error types can be used. Retrying the same request will usually result in the same error. Please reach out to support team as next step for this error resolution. |
-| [BadGatewayError](BadGatewayError.md) | pydantic model BadGatewayError: Indicates that the server received an invalid response from the upstream server. Causes could be incorrectly configured target server at gateway, EOF exception, incorrectly configured keep-alive timeouts. Please reach out to support team as next step for this error resolution. |
-| [GatewayTimeoutError](GatewayTimeoutError.md) | pydantic model GatewayTimeoutError: Indicates that the API gateway has issues completing the request on time. Request can be retried if it is idempotent, If the issue persists, please reach out to support. For non-idempotent requests, please reach out to to know the status of your request before attempting retries. |
-| [OrderPurchaseUpdateRequestGeneric](OrderPurchaseUpdateRequestGeneric.md) | pydantic model OrderPurchaseUpdateRequest: The `type` field value is used as a discriminator, with the following mapping:
* `ORDER_UPDATE`: `OrderUpdate`
* `CHARGEBACK_FEEDBACK`: `ChargebackFeedback`
* `INSULT_FEEDBACK`: `InsultFeedback`
* `REFUND_UPDATE`: `RefundUpdate`
* `PAYMENT_UPDATE`: `PaymentUpdate` |
-| [OrderUpdate](OrderUpdate.md) | pydantic model OrderUpdate: Order related data that should be updated. |
-| [InsultFeedback](InsultFeedback.md) | pydantic model InsultFeedback: Feedback from EG external partners regarding a false positive recommendation that from Fraud Prevention system gave for their customer. |
-| [RefundUpdateGeneric](RefundUpdateGeneric.md) | pydantic model RefundUpdate: Refund related data. Update should be sent when refund is issued or settled. Amounts should include all fees and taxes. |
-| [IssuedRefundUpdateDetails](IssuedRefundUpdateDetails.md) | pydantic model IssuedRefundUpdateDetails: Data that describes issued refund that should be updated. |
-| [SettledRefundUpdateDetails](SettledRefundUpdateDetails.md) | pydantic model SettledRefundUpdateDetails: Data that describes settled refund that should be updated. |
-| [PaymentUpdate](PaymentUpdate.md) | pydantic model PaymentUpdate: Payment related data that should be updated. |
-| [ChargebackDetail](ChargebackDetail.md) | pydantic model ChargebackDetail: Details related to the chargeback. |
-| [OrderPurchaseScreenResponse](OrderPurchaseScreenResponse.md) | pydantic model OrderPurchaseScreenResponse |
-| [TravelProductGeneric](TravelProductGeneric.md) | pydantic model TravelProduct: The `type` field value is used as a discriminator, with the following mapping:
* `CRUISE`: `Cruise`
* `AIR`: `Air`
* `CAR`: `Car`
* `INSURANCE`: `Insurance`
* `HOTEL`: `Hotel`
* `RAIL`: `Rail` |
-| [RailSegments](RailSegments.md) | pydantic model RailSegments |
-| [Air](Air.md) | pydantic model Air |
-| [Cruise](Cruise.md) | pydantic model Cruise |
-| [Car](Car.md) | pydantic model Car |
-| [Hotel](Hotel.md) | pydantic model Hotel |
-| [PaymentOutcome](PaymentOutcome.md) | pydantic model PaymentOutcome |
-| [Insurance](Insurance.md) | pydantic model Insurance |
-| [Telephone](Telephone.md) | pydantic model Telephone: Group of attributes intended to hold information about phone number associated with the transaction. A user can have one to many phone numbers (home, work, mobile, etc.). |
-| [MultiFactorAuthenticationAttempt](MultiFactorAuthenticationAttempt.md) | pydantic model MultiFactorAuthenticationAttempt: Information specific to the update event by a user. |
-| [RemediationUpdate](RemediationUpdate.md) | pydantic model RemediationUpdate: Information specific to remediation actions initiated by the Partner's system to a user as a result of a fraud recommendation. |
-| [AccountScreenResponse](AccountScreenResponse.md) | pydantic model AccountScreenResponse: Response for an account transaction provided by Expedia's Fraud Prevention Service. |
-| [AccountTakeoverCustomerAccount](AccountTakeoverCustomerAccount.md) | pydantic model AccountTakeoverCustomerAccount: Information about a user's account. |
-| [CurrentUserSession](CurrentUserSession.md) | pydantic model CurrentUserSession: The current user session prior to this transaction, which contains details related to any challenge initiated by the Partner''s system to a user before calling Expedia''s Fraud Prevention Service.
An example is if the Partner''s system sent a Captcha challenge to the user before calling Expedia''s Fraud Prevention Service. |
-| [ChargebackFeedback](ChargebackFeedback.md) | pydantic model ChargebackFeedback: Feedback from EG external partners if they receive a chargeback for a false negative recommendation from Fraud Prevention system. |
-| [IssuedRefundUpdate](IssuedRefundUpdate.md) | pydantic model IssuedRefundUpdate: Data related to the issued refund that should be updated. |
-| [SettledRefundUpdate](SettledRefundUpdate.md) | pydantic model SettledRefundUpdate: Data related to the settled refund that should be updated. |
-| [CustomerAccount](CustomerAccount.md) | pydantic model CustomerAccount |
-| [Traveler](Traveler.md) | pydantic model Traveler |
-| [Rail](Rail.md) | pydantic model Rail |
-| [PaymentOperation](PaymentOperation.md) | pydantic model PaymentOperation |
-| [MultiFactorAuthenticationUpdate](MultiFactorAuthenticationUpdate.md) | pydantic model MultiFactorAuthenticationUpdate: Information specific to a user's response to a Multi-Factor Authentication initiated by the Partner's system as a result of a fraud recommendation. |
-| [AccountTakeoverTransactionDetailsGeneric](AccountTakeoverTransactionDetailsGeneric.md) | pydantic model AccountTakeoverTransactionDetails: The `transaction_type` field value is used as a discriminator, with the following mapping:
* `LOGIN`: `LoginTransactionDetails` |
-| [LoginTransactionDetails](LoginTransactionDetails.md) | pydantic model LoginTransactionDetails |
-| [Verify](Verify.md) | pydantic model Verify: A verify operation represents the intent to verify the payment associated with this transaction. |
-| [Authorize](Authorize.md) | pydantic model Authorize: Authorize operation on the payment. An authorize operation represents placing the funds on hold with the specified form of payment. |
-| [AuthorizeReversal](AuthorizeReversal.md) | pydantic model AuthorizeReversal: Authorize Reversal operation on the payment. An authorize reversal operation represents a notification received usually from a 3rd party payment processor to indicate that an authorization hold should be released as a result of a sale being partially or completely cancelled. |
-| [Capture](Capture.md) | pydantic model Capture: Capture operation on the payment. A capture operation represents a notification received usually from a 3rd party payment processor to indicate that the funds placed on hold will be captured and the funds transfer process will occur from the customer's funds to the merchant's funds. |
-| [Refund](Refund.md) | pydantic model Refund: Refund operation on the payment. A refund operation represents the intent to refund a previous charge. |
-| [AccountTransaction](AccountTransaction.md) | pydantic model AccountTransaction: Information for an account transaction. |
-| [Operations](Operations.md) | pydantic model Operations: All operations related to a payment throughout its lifespan. An operation represents an event external to Fraud Prevention Service that specifies to perform a payment operation. Possible operation types include:
- `Verify`
- `Authorize`
- `AuthorizeReversal`
- `Capture`
- `Refund` |
-| [AccountScreenRequest](AccountScreenRequest.md) | pydantic model AccountScreenRequest: Information for account screening by Expedia's Fraud Prevention Service. |
-| [PaymentGeneric](PaymentGeneric.md) | pydantic model Payment: The `method` field value is used as a discriminator, with the following mapping:
* `CREDIT_CARD`: `CreditCard`
* `PAYPAL`: `PayPal`
* `POINTS`: `Points`
* `GIFT_CARD`: `GiftCard`
* `INTERNET_BANK_PAYMENT`: `InternetBankPayment`
* `DIRECT_DEBIT`: `DirectDebit` |
-| [CreditCard](CreditCard.md) | pydantic model CreditCard |
-| [PayPal](PayPal.md) | pydantic model PayPal |
-| [Points](Points.md) | pydantic model Points |
-| [GiftCard](GiftCard.md) | pydantic model GiftCard |
-| [InternetBankPayment](InternetBankPayment.md) | pydantic model InternetBankPayment |
-| [DirectDebit](DirectDebit.md) | pydantic model DirectDebit |
-| [TransactionDetails](TransactionDetails.md) | pydantic model TransactionDetails |
-| [OrderPurchaseTransaction](OrderPurchaseTransaction.md) | pydantic model OrderPurchaseTransaction |
-| [OrderPurchaseScreenRequest](OrderPurchaseScreenRequest.md) | pydantic model OrderPurchaseScreenRequest |
-| [ExpediaGroupForbiddenErrorException](ExpediaGroupForbiddenErrorException.md) | Exception wrapping a ForbiddenError object. |
-| [ExpediaGroupNotFoundErrorException](ExpediaGroupNotFoundErrorException.md) | Exception wrapping a NotFoundError object. |
-| [ExpediaGroupTooManyRequestsErrorException](ExpediaGroupTooManyRequestsErrorException.md) | Exception wrapping a TooManyRequestsError object. |
-| [ExpediaGroupBadRequestErrorException](ExpediaGroupBadRequestErrorException.md) | Exception wrapping a BadRequestError object. |
-| [ExpediaGroupRetryableOrderPurchaseUpdateFailureException](ExpediaGroupRetryableOrderPurchaseUpdateFailureException.md) | Exception wrapping a RetryableOrderPurchaseUpdateFailure object. |
-| [ExpediaGroupBadGatewayErrorException](ExpediaGroupBadGatewayErrorException.md) | Exception wrapping a BadGatewayError object. |
-| [ExpediaGroupServiceUnavailableErrorException](ExpediaGroupServiceUnavailableErrorException.md) | Exception wrapping a ServiceUnavailableError object. |
-| [ExpediaGroupAccountUpdateNotFoundErrorException](ExpediaGroupAccountUpdateNotFoundErrorException.md) | Exception wrapping a AccountUpdateNotFoundError object. |
-| [ExpediaGroupAccountTakeoverUnauthorizedErrorException](ExpediaGroupAccountTakeoverUnauthorizedErrorException.md) | Exception wrapping a AccountTakeoverUnauthorizedError object. |
-| [ExpediaGroupRetryableOrderPurchaseScreenFailureException](ExpediaGroupRetryableOrderPurchaseScreenFailureException.md) | Exception wrapping a RetryableOrderPurchaseScreenFailure object. |
-| [ExpediaGroupUnauthorizedErrorException](ExpediaGroupUnauthorizedErrorException.md) | Exception wrapping a UnauthorizedError object. |
-| [ExpediaGroupInternalServerErrorException](ExpediaGroupInternalServerErrorException.md) | Exception wrapping a InternalServerError object. |
-| [ExpediaGroupAccountTakeoverBadRequestErrorException](ExpediaGroupAccountTakeoverBadRequestErrorException.md) | Exception wrapping a AccountTakeoverBadRequestError object. |
-| [ExpediaGroupOrderPurchaseUpdateNotFoundErrorException](ExpediaGroupOrderPurchaseUpdateNotFoundErrorException.md) | Exception wrapping a OrderPurchaseUpdateNotFoundError object. |
-| [ExpediaGroupGatewayTimeoutErrorException](ExpediaGroupGatewayTimeoutErrorException.md) | Exception wrapping a GatewayTimeoutError object. |
-| [ForbiddenErrorDeserializationContract](ForbiddenErrorDeserializationContract.md) | |
-| [NotFoundErrorDeserializationContract](NotFoundErrorDeserializationContract.md) | |
-| [TooManyRequestsErrorDeserializationContract](TooManyRequestsErrorDeserializationContract.md) | |
-| [BadRequestErrorDeserializationContract](BadRequestErrorDeserializationContract.md) | |
-| [RetryableOrderPurchaseUpdateFailureDeserializationContract](RetryableOrderPurchaseUpdateFailureDeserializationContract.md) | |
-| [BadGatewayErrorDeserializationContract](BadGatewayErrorDeserializationContract.md) | |
-| [ServiceUnavailableErrorDeserializationContract](ServiceUnavailableErrorDeserializationContract.md) | |
-| [AccountUpdateNotFoundErrorDeserializationContract](AccountUpdateNotFoundErrorDeserializationContract.md) | |
-| [AccountTakeoverUnauthorizedErrorDeserializationContract](AccountTakeoverUnauthorizedErrorDeserializationContract.md) | |
-| [RetryableOrderPurchaseScreenFailureDeserializationContract](RetryableOrderPurchaseScreenFailureDeserializationContract.md) | |
-| [UnauthorizedErrorDeserializationContract](UnauthorizedErrorDeserializationContract.md) | |
-| [InternalServerErrorDeserializationContract](InternalServerErrorDeserializationContract.md) | |
-| [AccountTakeoverBadRequestErrorDeserializationContract](AccountTakeoverBadRequestErrorDeserializationContract.md) | |
-| [OrderPurchaseUpdateNotFoundErrorDeserializationContract](OrderPurchaseUpdateNotFoundErrorDeserializationContract.md) | |
-| [GatewayTimeoutErrorDeserializationContract](GatewayTimeoutErrorDeserializationContract.md) | |
+| Class | Description |
+|-----------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| [Code](Code.md) | pydantic model Code: Snake cased all caps error code interpreted from the HTTP status code that can programmatically be acted upon. |
+| [Error](Error.md) | pydantic model Error: The object used to describe an error, containing both human-readable and machine-readable information. |
+| [UnauthorizedError](UnauthorizedError.md) | pydantic model UnauthorizedError: Indicates that the token sent in the 'Authorization' header is either invalid or missing. Please check the value in the token field along with the token expiration time before retrying. |
+| [OrderPurchaseUpdateNotFoundError](OrderPurchaseUpdateNotFoundError.md) | pydantic model OrderPurchaseUpdateNotFoundError: Indicates that the API cannot find the resource that is either being requested or against which the operation is being performed. |
+| [RetryableOrderPurchaseScreenFailure](RetryableOrderPurchaseScreenFailure.md) | pydantic model RetryableOrderPurchaseScreenFailure: Indicates that the API is either down for maintenance or overloaded and cannot fulfill the request at the current time. This is a temporary error and retrying the same request after a certain delay could eventually result in success.
There will be a Retry-After HTTP header in API response specifying how long to wait to retry the request. If there is no Retry-After HTTP header then retry can happen immediately. If the error persists after retrying with delay, please reach out to ." |
+| [RetryableOrderPurchaseUpdateFailure](RetryableOrderPurchaseUpdateFailure.md) | pydantic model RetryableOrderPurchaseUpdateFailure: Indicates that the API is either down for maintenance or overloaded and cannot fulfill the request at the current time. This is a temporary error and retrying the same request after a certain delay could eventually result in success.
There will be a Retry-After HTTP header in API response specifying how long to wait to retry the request. If there is no Retry-After HTTP header then retry can happen immediately. If the error persists after retrying with delay, please reach out to ." |
+| [Code1](Code1.md) | pydantic model Code1 |
+| [Cause](Cause.md) | pydantic model Cause |
+| [BadRequestError](BadRequestError.md) | pydantic model BadRequestError: Indicates that a bad request occurred. Typically it is an invalid parameter. |
+| [UpdateType](UpdateType.md) | pydantic model UpdateType: Transaction type associated with the update event. |
+| [CancellationReason](CancellationReason.md) | pydantic model CancellationReason: Reason of order update cancellation. |
+| [RefundStatus](RefundStatus.md) | pydantic model RefundStatus: Identifies the refund status. Possible values are:
-`ISSUED` - The refund was issued.
-`SETTLED` - The refund was settled. |
+| [ChargebackStatus](ChargebackStatus.md) | pydantic model ChargebackStatus: Identifies the chargeback status. Possible values are:
-`RECEIVED` - The chargeback was received.
-`REVERSAL` - The chargeback reversal was received. |
+| [ChargebackReason](ChargebackReason.md) | pydantic model ChargebackReason: Reason for chargeback which can be `Fraud` or `Non Fraud`. |
+| [InsultDetail](InsultDetail.md) | pydantic model InsultDetail: Details related to the insult. |
+| [Status](Status.md) | pydantic model Status: Defines the current state of the Order.
Generally, OrderPurchaseScreenRequest is followed by an OrderUpdate reflecting the change in current order status. From `IN_PROGRESS` to any of below possible values:
* `COMPLETED` is used when the order has been processed fully. For example, inventory has been reserved, and the payment has been settled.
* `CHANGE_COMPLETED` is like `COMPLETED` but on a changed order.
* `CANCELLED` is used when the order is cancelled. This could be acustomer initiated cancel or based on Fraud recommendation.
* `FAILED` is used when order failed due to any errors on Partner system. This could be followed by another OrderUpdate call with any `order_status` once the order is recovered, abandoned, or cancelled.
* `CHANGE_FAILED` is like `FAILED` but on a changed order.
*
* `CHANGE_COMPLETED` or `CHANGE_FAILED` are applicable if OrderPurchaseScreen Fraud API was called via a change in order which is through `transaction.transaction_details.order_type` = `CHANGE`
* `COMPLETED` or `CANCELLED` order status indicates the completion of lifecycle on an order. |
+| [OrderPurchaseUpdateResponse](OrderPurchaseUpdateResponse.md) | pydantic model OrderPurchaseUpdateResponse |
+| [FraudDecision](FraudDecision.md) | pydantic model FraudDecision |
+| [SiteInfo](SiteInfo.md) | pydantic model SiteInfo |
+| [DeviceDetails](DeviceDetails.md) | pydantic model DeviceDetails |
+| [CurrentOrderStatus](CurrentOrderStatus.md) | pydantic model CurrentOrderStatus: Status of the order:
* `IN_PROGRESS` is used when order has not processed fully. For example, inventory has not yet been reserved, or payment has not yet been settled.
* `COMPLETED` is used when an order has been processed fully. For example, inventory has been reserved, and the payment has been settled. |
+| [OrderType](OrderType.md) | pydantic model OrderType: Type of order. Possible `order_types`.
`CREATE` - Initial type of a brand new order.
`CHANGE` - If a `OrderPurchaseScreenRequest` has already been submitted for the initial booking with `order_type = CREATE`, but has now been modified and partner wishes to resubmit for Fraud screening then the `order_type = CHANGE`. Examples of changes that are supported are changes made to `check-in/checkout dates` or `price of a TravelProduct`. |
+| [AccountType](AccountType.md) | pydantic model AccountType: Identifies if the customer account is known to the client. Possible values are:
-`GUEST` - Applicable if the partner maintains record to distinguish whether the transaction was booked via a guest account.
-`STANDARD` - Default account type. |
+| [AddressType](AddressType.md) | pydantic model AddressType |
+| [Address](Address.md) | pydantic model Address |
+| [InventorySource](InventorySource.md) | pydantic model InventorySource: Identifies the business model through which the supply is being sold. Merchant/Agency.
* `MERCHANT` is used when Partner is the merchant of record for this order.
* `AGENCY` is used when this order is through an agency booking. |
+| [TravelersReference](TravelersReference.md) | pydantic model TravelersReference |
+| [RouteType](RouteType.md) | pydantic model RouteType: The type of route or itinerary for the Rail product, indicating the travel arrangement and pattern. Possible values are:
- `MULTIPLE_DESTINATIONS` - The Rail product includes multiple destinations in its itinerary.
- `ONE_WAY` - The Rail product represents a one-way journey.
- `ROUNDTRIP` - The Rail product represents a roundtrip journey. |
+| [TransportationMethod](TransportationMethod.md) | pydantic model TransportationMethod: This attribute represents the specific transportation method by which the passenger is traveling. It captures the mode of transportation used during the Rail product journey, Possible values are:
- `BUS` - The Rail product includes bus transportation for certain segments of the itinerary.
- `FERRY` - The Rail product involves ferry transportation as part of the journey.
- `PUBLIC_TRANSPORT` - The Rail product represents the use of public transportation modes for the journey.
- `TRAM` - The Rail product includes tram transportation as part of the journey.
- `RAIL` - The Rail product specifically utilizes train transportation for the journey.
- `TRANSFER` - The Rail product involves transfers between different modes of transportation.
- `OTHER` - The Rail product utilizes transportation methods not covered by the aforementioned categories. |
+| [OperatingCompany](OperatingCompany.md) | pydantic model OperatingCompany: This attribute captures the name or identifier of the company responsible for operating the Rail product. It represents the specific operating entity, such as Amtrak, British Railways, or a bus company. |
+| [Type](Type.md) | pydantic model Type: This attribute provides information about the specific classification assigned to the rail station. It helps differentiate between different types of stations, such as major stations (STATION) or stations located within a city (city). |
+| [RailwayStationDetails](RailwayStationDetails.md) | pydantic model RailwayStationDetails |
+| [FlightType](FlightType.md) | pydantic model FlightType: Identifies the type of air trip based on the air destinations. |
+| [AirSegment](AirSegment.md) | pydantic model AirSegment |
+| [HotelAddress](HotelAddress.md) | pydantic model HotelAddress: Address of a hotel. |
+| [Brand](Brand.md) | pydantic model Brand: The `brand` field value is the payment brand used for payment on this transaction.
For credit card payment method ensure attributes mentioned in dictionary below are set to corresponding values only.
Ensure to comply with the naming standards provided in below dictionary. For example, some Payment processors use “Japan Credit Bureau” but “JCB” should be used when calling Fraud API.
Incorrect `brand` - `card_type` combination will result in data quality issues and result in degraded risk recommendation.
'brand' is an enum value with the following mapping with CreditCard 'card_type' attribute:
* brand : card_type
* -------------------------------------------------------
* `AMERICAN_EXPRESS` : `AMERICAN_EXPRESS`
* `DINERS_CLUB_INTERNATIONAL` : `DINERS_CLUB`
* `BC_CARD` : `DINERS_CLUB`
* `DISCOVER` : `DISCOVER`
* `BC_CARD` : `DISCOVER`
* `DINERS_CLUB_INTERNATIONAL` : `DISCOVER`
* `JCB` : `DISCOVER`
* `JCB` : `JCB`
* `MASTER_CARD` : `MASTER_CARD`
* `MAESTRO` : `MASTER_CARD`
* `POSTEPAY_MASTERCARD` : `MASTER_CARD`
* `SOLO` : `SOLO`
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
* `UATP` : `UATP`
* `UATP_SUPPLY` : `UATP`
* `AIR_PLUS` : `UATP`
* `UA_PASS_PLUS` : `UATP`
* `VISA` : `VISA`
* `VISA_DELTA` : `VISA`
* `VISA_ELECTRON` : `VISA`
* `CARTA_SI` : `VISA`
* `CARTE_BLEUE` : `VISA`
* `VISA_DANKORT` : `VISA`
* `POSTEPAY_VISA_ELECTRON` : `VISA`
* `PAYPAL` :
'brand' with 'Points' payment_type is an enum value with following:
* `EXPEDIA_REWARDS`
* `AMEX_POINTS`
* `BANK_OF_AMERICA_REWARDS`
* `DISCOVER_POINTS`
* `MASTER_CARD_POINTS`
* `CITI_THANK_YOU_POINTS`
* `MERRILL_LYNCH_REWARDS`
* `WELLS_FARGO_POINTS`
* `DELTA_SKY_MILES`
* `UNITED_POINTS`
* `DISCOVER_MILES`
* `ALASKA_MILES`
* `RBC_REWARDS`
* `BILT_REWARDS`
* `ORBUCKS`
* `CHEAP_CASH`
* `BONUS_PLUS`
* `ULTIMATE_REWARDS`
'brand' with 'GiftCard' payment_type is an enum value with following:
* `GIFT_CARD`
'brand' with 'InternetBankPayment' payment_type is an enum value with following:
* `IBP`
* `LOCAL_DEBIT_CARD`
* `SOFORT`
* `YANDEX`
* `WEB_MONEY`
* `QIWI`
* `BITCOIN`
'brand' with 'DirectDebit' payment_type is an enum value with following:
* `ELV`
* `INTER_COMPANY` |
+| [PaymentThreeDSCriteria](PaymentThreeDSCriteria.md) | pydantic model PaymentThreeDSCriteria: Payment ThreeDS criteria attributes. |
+| [PaymentReason](PaymentReason.md) | pydantic model PaymentReason: The reason of payment. Possible values:
- `FULL` - If the amount is paid i full for the order
- `DEPOSIT` - The initial payment. Amount to be paid up front.
- `SCHEDULED` - The amount to be payment based on a schedule for the remaining portion of the booking amount.
- `SUBSEQUENT` - An additional amount paid that was not originally scheduled.
- `DEFERRED` |
+| [VerificationType](VerificationType.md) | pydantic model VerificationType: The type of the verification used to verify the instrument. If the Card Verfication Value was provided to verify the credit card used for the transaction, `type = CVV`. |
+| [PaymentStatus](PaymentStatus.md) | pydantic model PaymentStatus: The status of the payment operation. |
+| [PaymentMethod](PaymentMethod.md) | pydantic model PaymentMethod: The payment method used at the time of purchase for the transaction. Supported `method`'s are: `CREDIT_CARD`, `PAYPAL`, `POINTS`, `GIFT_CARD`, `INTERNET_BANK_PAYMENT`, `DIRECT_DEBIT`. |
+| [TravelProductType](TravelProductType.md) | pydantic model TravelProductType: Type of product. |
+| [CardType](CardType.md) | pydantic model CardType: The 'card_type' field value is an enum value which is associated with the payment method of the specific payment instrument.
For credit card payment method ensure attributes mentioned in dictionary below are set to corresponding values only.
Ensure to comply with the naming standards provided in below dictionary. For example, some Payment processors use “Japan Credit Bureau” but “JCB” should be used when calling Fraud API.
Incorrect `card_type` - `brand` combination will result in data quality issues and result in degraded risk recommendation.
'card_type' is an enum value with the following mapping with Payment `brand` attribute:
* card_type : brand
* --------------------------------------------------------
* `AMERICAN_EXPRESS` : `AMERICAN_EXPRESS`
* `DINERS_CLUB` : `DINERS_CLUB_INTERNATIONAL`
* `DINERS_CLUB` : `BC_CARD`
* `DISCOVER` : `DISCOVER`
* `DISCOVER` : `BC_CARD`
* `DISCOVER` : `DINERS_CLUB_INTERNATIONAL`
* `DISCOVER` : `JCB`
* `JCB` : `JCB`
* `MASTER_CARD` : `MASTER_CARD`
* `MASTER_CARD` : `MAESTRO`
* `MASTER_CARD` : `POSTEPAY_MASTERCARD`
* `SOLO` : `SOLO`
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
* `UATP` : `UATP`
* `UATP` : `UATP_SUPPLY`
* `UATP` : `AIR_PLUS`
* `UATP` : `UA_PASS_PLUS`
* `VISA` : `VISA`
* `VISA` : `VISA_DELTA`
* `VISA` : `VISA_ELECTRON`
* `VISA` : `CARTA_SI`
* `VISA` : `CARTE_BLEUE`
* `VISA` : `VISA_DANKORT`
* `VISA` : `POSTEPAY_VISA_ELECTRON` |
+| [Name](Name.md) | pydantic model Name: Group of attributes intended to hold information about a customer or traveler's name for the order. |
+| [TelephoneType](TelephoneType.md) | pydantic model TelephoneType: Classification of the phone (e.g. `Home`, `Mobile`). |
+| [TelephonePlatformType](TelephonePlatformType.md) | pydantic model TelephonePlatformType: Classification of the phone platform. |
+| [Email](Email.md) | pydantic model Email: Group of attributes intended to hold information about email address associated with the transaction. |
+| [Amount](Amount.md) | pydantic model Amount |
+| [Code2](Code2.md) | pydantic model Code2: Snake cased all caps error code interpreted from the HTTP status code that can programmatically be acted upon. |
+| [AccountTakeoverError](AccountTakeoverError.md) | pydantic model AccountTakeoverError: The object used to describe an error, containing both human-readable and machine-readable information. |
+| [AccountTakeoverUnauthorizedError](AccountTakeoverUnauthorizedError.md) | pydantic model AccountTakeoverUnauthorizedError: Indicates that the token sent in the 'Authorization' header is either invalid or missing. Please check the value in the token field along with the token expiration time before retrying. |
+| [AccountUpdateNotFoundError](AccountUpdateNotFoundError.md) | pydantic model AccountUpdateNotFoundError: Indicates that the API cannot find the resource that is either being requested or against which the operation is being performed. |
+| [ServiceUnavailableError](ServiceUnavailableError.md) | pydantic model ServiceUnavailableError: Indicates that the API is either down for maintenance or overloaded and cannot fulfill the request at the current time. This is a temporary error and retrying the same request after a certain delay could eventually result in success.
There will be a Retry-After HTTP header in API response specifying how long to wait to retry the request. If there is no Retry-After HTTP header then retry can happen immediately. If the error persists after retrying with delay, please reach out to ." |
+| [Code3](Code3.md) | pydantic model Code3 |
+| [Cause1](Cause1.md) | pydantic model Cause1 |
+| [AccountTakeoverBadRequestError](AccountTakeoverBadRequestError.md) | pydantic model AccountTakeoverBadRequestError: Indicates that a bad request occurred. Typically it is an invalid parameter. |
+| [Type1](Type1.md) | pydantic model Type1: The categorized type of account update event from the Partner's system. |
+| [AccountUpdateRequestGeneric](AccountUpdateRequestGeneric.md) | pydantic model AccountUpdateRequest: The `type` field value is used as a discriminator, with the following mapping:
* `MULTI_FACTOR_AUTHENTICATION_UPDATE`: `MultiFactorAuthenticationUpdate`
* `REMEDIATION_UPDATE`: `RemediationUpdate` |
+| [DeliveryMethod](DeliveryMethod.md) | pydantic model DeliveryMethod: The delivery method of the Multi-Factor Authentication to a user. |
+| [Status1](Status1.md) | pydantic model Status1: The status of a user''s response to the Multi-Factor Authentication initiated by the Partner''s system to the user.'
- `SUCCESS` - Applicable if the user successfully passed the challenge.
- `ABANDON` - Applicable if the user did not complete the challenge.
- `FAILED` - Applicable if the user failed the challenge. |
+| [ActionName](ActionName.md) | pydantic model ActionName: The categorized remediation action initiated by the Partner''s system to a user. Possible values are:
- `PASSWORD_RESET` - Applicable if this event is the result of a password reset by the Partner''s system.
- `DISABLE_ACCOUNT` - Applicable if this event is the result of disabling an account by the Partner''s system.
- `TERMINATE_ALL_SESSIONS` - Applicable if this event is the result of terminating all active user sessions of an account by the Partner''s system. |
+| [Status2](Status2.md) | pydantic model Status2: The status of the remediation action.
- `SUCCESS` - Applicable if the Partner''s system was successfully able to perform the remediation action.
- `FAILED` - Applicable if the Partner''s system failed to perform the remediation action. |
+| [RemediationUpdateAction](RemediationUpdateAction.md) | pydantic model RemediationUpdateAction: Information specific to the remediation action initiated by the Partner's system to a user. |
+| [AccountUpdateResponse](AccountUpdateResponse.md) | pydantic model AccountUpdateResponse |
+| [AccountTakeoverFraudDecision](AccountTakeoverFraudDecision.md) | pydantic model AccountTakeoverFraudDecision: Fraud recommendation for an account transaction. A recommendation can be ACCEPT, CHALLENGE, or REJECT.
- `ACCEPT` - Represents an account transaction where the user’’s account activity is accepted.
- `CHALLENGE` - Represents an account transaction that requires additional verification or challenges the user’’s identity (example: CAPTCHA, MULTI_FACTOR_AUTHENTICATION, etc).
- `REJECT` - Represents a suspicious account transaction where the user’’s credentials or their behavior requires us to block the account activity. |
+| [PlacementName](PlacementName.md) | pydantic model PlacementName: The categorized name of the page where a user initiated event is being evaluated.
- `LOGIN` - Applicable if the user initiated this account event from a login web page.
- `PASSWORD_RESET` - Applicable if the user initiated this account event from a password reset web page. |
+| [AccountTakeoverSiteInfo](AccountTakeoverSiteInfo.md) | pydantic model AccountTakeoverSiteInfo: Information specific to the Partner's website through which a transaction was made. |
+| [Type2](Type2.md) | pydantic model Type2: The categorized type of device used by a user. Possible values are:
- `WEBSITE` - Applicable if the user initiated this event from a web browser on a desktop computer.
- `PHONE_WEB` - Applicable if the user initiated this event from a web browser on a phone.
- `TABLET_WEB` - Applicable if the user initiated this event from a web browser on a tablet.
- `PHONE_APP` - Applicable if the user initiated this event from an app on a phone.
- `TABLET_APP` - Applicable if the user initiated this event from an app on a tablet. |
+| [AccountTakeoverDeviceDetails](AccountTakeoverDeviceDetails.md) | pydantic model AccountTakeoverDeviceDetails: Information specific to the Partner's device through which a transaction was made. |
+| [AccountType1](AccountType1.md) | pydantic model AccountType1: Identifies the account type of a user''s account. Possible values are:
- `INDIVIDUAL` - Applicable if this account is for an individual traveler.
- `BUSINESS` - Applicable if this account is for a business or organization account used by suppliers or Partners. |
+| [AccountRole](AccountRole.md) | pydantic model AccountRole: Identifies the account role and associated permissions of a user''s account. Possible values are:
- `USER`: Basic account with no special privileges.
- `MANAGER`: Account with additional privileges, such as the ability to make bookings for others.
- `ADMIN`: Account with higher privileges than a manager, including the ability to grant manager access to other users. |
+| [AccountTakeoverName](AccountTakeoverName.md) | pydantic model AccountTakeoverName: Group of attributes intended to hold information about a customer or traveler''s name for the account. |
+| [Type3](Type3.md) | pydantic model Type3: The categorized type of account event related to a user's action. |
+| [AuthenticationType](AuthenticationType.md) | pydantic model AuthenticationType: The type of login authentication method used by a user.
For `authentication_type` ensure attributes mentioned in dictionary below are set to corresponding values only.
`authentication_type` is an enum value with the following mapping with `authentication_sub_type` attribute:
* authentication_type : authentication_sub_type
* -------------------------------------------------------------------------------
* `CREDENTIALS` : `EMAIL`
* `CREDENTIALS` :
* `PASSWORD_RESET` : `EMAIL`
* `SINGLE_SIGN_ON` : `EMAIL`
* `MULTI_FACTOR_AUTHENTICATION` : `EMAIL`
* `MULTI_FACTOR_AUTHENTICATION` : `PHONE`
* `SOCIAL` : `GOOGLE`
* `SOCIAL` : `FACEBOOK`
* `SOCIAL` : `APPLE` |
+| [AuthenticationSubType](AuthenticationSubType.md) | pydantic model AuthenticationSubType: The sub type of login authentication method used by a user.
For `authentication_sub_type` ensure attributes mentioned in dictionary below are set to corresponding values only.
`authentication_sub_type` is an enum value with the following mapping with `authentication_type` attribute:
* authentication_sub_type : authentication_type
* -------------------------------------------------------------------------------
* `EMAIL` : `CREDENTIALS`
* `EMAIL` : `PASSWORD_RESET`
* `EMAIL` : `SINGLE_SIGN_ON`
* `EMAIL` : `MULTI_FACTOR_AUTHENTICATION`
* `PHONE` : `MULTI_FACTOR_AUTHENTICATION`
* `GOOGLE` : `SOCIAL`
* `FACEBOOK` : `SOCIAL`
* `APPLE` : `SOCIAL`
* : `CREDENTIALS` |
+| [FailedLoginReason](FailedLoginReason.md) | pydantic model FailedLoginReason: The reason for the failed login attempt in the Partner''s system, related to user failure or Partner''s system failure.
- `INVALID_CREDENTIALS` - Applicable if the user provided invalid login credentials for this login attempt.
- `ACCOUNT_NOT_FOUND` - Applicable if the user attempted to login to an account that doesn't exist.
- `VERIFICATION_FAILED` - Applicable if the user failed the verification for this login, or any authentication exception occured in the Partner system for this login attempt.
- `ACCOUNT_LOCKED` - Applicable if the user attempted to login to an account that is locked. |
+| [Type4](Type4.md) | pydantic model Type4: The kind of challenge served by the Partner''s system to a user prior to calling Expedia''s Fraud Prevention Service.
- `CAPTCHA` - Applicable if the challenge served by the Partner''s system was a Captcha challenge.
- `TWO_FACTOR` - Applicable if the challenge served by the Partner''s system was a two-factor challenge including (Email verification, One Time Password, Okta, etc). |
+| [Status3](Status3.md) | pydantic model Status3: The status of the challenge served by the Partner''s system to a user before calling Expedia''s Fraud Prevention Service.
- `SUCCESS` - Applicable if the user successfully passed the challenge.
- `FAILED` - Applicable if the user failed the challenge. |
+| [ChallengeDetail](ChallengeDetail.md) | pydantic model ChallengeDetail: Information related to challenges initiated by the Partner's system to a user before calling Expedia's Fraud Prevention Service. |
+| [ForbiddenError](ForbiddenError.md) | pydantic model ForbiddenError: Indicates that the API cannot fulfill the request because while the client is correctly authenticated, the client doesn't have the permission to execute the specified operation. This error type does not imply that the request is valid, or that the resource against which the operation being performed exists or satisfies other pre-conditions. |
+| [NotFoundError](NotFoundError.md) | pydantic model NotFoundError: Indicates that the API cannot find the resource that is either being requested or against which the operation is being performed. Please check the request again to make sure that the request is valid. |
+| [TooManyRequestsError](TooManyRequestsError.md) | pydantic model TooManyRequestsError: Indicates that the API cannot fulfill the request because server resources have been exhausted. Perhaps the client has sent too many requests in a given amount of time or has reached some specific quota. Please check the rate limits for the product and adjust as necessary before retries. If you believe the rate limit was incorrect or if you need a different rate limit, please reach out to the regarding the next steps. |
+| [InternalServerError](InternalServerError.md) | pydantic model InternalServerError: Indicates that the API encountered an unexpected condition that prevented it from fulfilling the request. Sometimes used as a generic catch-allerror type when no other error types can be used. Retrying the same request will usually result in the same error. Please reach out to support team as next step for this error resolution. |
+| [BadGatewayError](BadGatewayError.md) | pydantic model BadGatewayError: Indicates that the server received an invalid response from the upstream server. Causes could be incorrectly configured target server at gateway, EOF exception, incorrectly configured keep-alive timeouts. Please reach out to support team as next step for this error resolution. |
+| [GatewayTimeoutError](GatewayTimeoutError.md) | pydantic model GatewayTimeoutError: Indicates that the API gateway has issues completing the request on time. Request can be retried if it is idempotent, If the issue persists, please reach out to support. For non-idempotent requests, please reach out to to know the status of your request before attempting retries. |
+| [OrderPurchaseUpdateRequestGeneric](OrderPurchaseUpdateRequestGeneric.md) | pydantic model OrderPurchaseUpdateRequest: The `type` field value is used as a discriminator, with the following mapping:
* `ORDER_UPDATE`: `OrderUpdate`
* `CHARGEBACK_FEEDBACK`: `ChargebackFeedback`
* `INSULT_FEEDBACK`: `InsultFeedback`
* `REFUND_UPDATE`: `RefundUpdate`
* `PAYMENT_UPDATE`: `PaymentUpdate` |
+| [OrderUpdate](OrderUpdate.md) | pydantic model OrderUpdate: Order related data that should be updated. |
+| [InsultFeedback](InsultFeedback.md) | pydantic model InsultFeedback: Feedback from EG external partners regarding a false positive recommendation that from Fraud Prevention system gave for their customer. |
+| [RefundUpdateGeneric](RefundUpdateGeneric.md) | pydantic model RefundUpdate: Refund related data. Update should be sent when refund is issued or settled. Amounts should include all fees and taxes. |
+| [IssuedRefundUpdateDetails](IssuedRefundUpdateDetails.md) | pydantic model IssuedRefundUpdateDetails: Data that describes issued refund that should be updated. |
+| [SettledRefundUpdateDetails](SettledRefundUpdateDetails.md) | pydantic model SettledRefundUpdateDetails: Data that describes settled refund that should be updated. |
+| [PaymentUpdate](PaymentUpdate.md) | pydantic model PaymentUpdate: Payment related data that should be updated. |
+| [ChargebackDetail](ChargebackDetail.md) | pydantic model ChargebackDetail: Details related to the chargeback. |
+| [OrderPurchaseScreenResponse](OrderPurchaseScreenResponse.md) | pydantic model OrderPurchaseScreenResponse |
+| [TravelProductGeneric](TravelProductGeneric.md) | pydantic model TravelProduct: The `type` field value is used as a discriminator, with the following mapping:
* `CRUISE`: `Cruise`
* `AIR`: `Air`
* `CAR`: `Car`
* `INSURANCE`: `Insurance`
* `HOTEL`: `Hotel`
* `RAIL`: `Rail` |
+| [RailSegments](RailSegments.md) | pydantic model RailSegments |
+| [Air](Air.md) | pydantic model Air |
+| [Cruise](Cruise.md) | pydantic model Cruise |
+| [Car](Car.md) | pydantic model Car |
+| [Hotel](Hotel.md) | pydantic model Hotel |
+| [PaymentOutcome](PaymentOutcome.md) | pydantic model PaymentOutcome |
+| [Insurance](Insurance.md) | pydantic model Insurance |
+| [Telephone](Telephone.md) | pydantic model Telephone: Group of attributes intended to hold information about phone number associated with the transaction. A user can have one to many phone numbers (home, work, mobile, etc.). |
+| [MultiFactorAuthenticationAttempt](MultiFactorAuthenticationAttempt.md) | pydantic model MultiFactorAuthenticationAttempt: Information specific to the update event by a user. |
+| [RemediationUpdate](RemediationUpdate.md) | pydantic model RemediationUpdate: Information specific to remediation actions initiated by the Partner's system to a user as a result of a fraud recommendation. |
+| [AccountScreenResponse](AccountScreenResponse.md) | pydantic model AccountScreenResponse: Response for an account transaction provided by Expedia's Fraud Prevention Service. |
+| [AccountTakeoverCustomerAccount](AccountTakeoverCustomerAccount.md) | pydantic model AccountTakeoverCustomerAccount: Information about a user's account. |
+| [CurrentUserSession](CurrentUserSession.md) | pydantic model CurrentUserSession: The current user session prior to this transaction, which contains details related to any challenge initiated by the Partner''s system to a user before calling Expedia''s Fraud Prevention Service.
An example is if the Partner''s system sent a Captcha challenge to the user before calling Expedia''s Fraud Prevention Service. |
+| [ChargebackFeedback](ChargebackFeedback.md) | pydantic model ChargebackFeedback: Feedback from EG external partners if they receive a chargeback for a false negative recommendation from Fraud Prevention system. |
+| [IssuedRefundUpdate](IssuedRefundUpdate.md) | pydantic model IssuedRefundUpdate: Data related to the issued refund that should be updated. |
+| [SettledRefundUpdate](SettledRefundUpdate.md) | pydantic model SettledRefundUpdate: Data related to the settled refund that should be updated. |
+| [CustomerAccount](CustomerAccount.md) | pydantic model CustomerAccount |
+| [Traveler](Traveler.md) | pydantic model Traveler |
+| [Rail](Rail.md) | pydantic model Rail |
+| [PaymentOperation](PaymentOperation.md) | pydantic model PaymentOperation |
+| [MultiFactorAuthenticationUpdate](MultiFactorAuthenticationUpdate.md) | pydantic model MultiFactorAuthenticationUpdate: Information specific to a user's response to a Multi-Factor Authentication initiated by the Partner's system as a result of a fraud recommendation. |
+| [AccountTakeoverTransactionDetailsGeneric](AccountTakeoverTransactionDetailsGeneric.md) | pydantic model AccountTakeoverTransactionDetails: The `transaction_type` field value is used as a discriminator, with the following mapping:
* `LOGIN`: `LoginTransactionDetails` |
+| [LoginTransactionDetails](LoginTransactionDetails.md) | pydantic model LoginTransactionDetails |
+| [Verify](Verify.md) | pydantic model Verify: A verify operation represents the intent to verify the payment associated with this transaction. |
+| [Authorize](Authorize.md) | pydantic model Authorize: Authorize operation on the payment. An authorize operation represents placing the funds on hold with the specified form of payment. |
+| [AuthorizeReversal](AuthorizeReversal.md) | pydantic model AuthorizeReversal: Authorize Reversal operation on the payment. An authorize reversal operation represents a notification received usually from a 3rd party payment processor to indicate that an authorization hold should be released as a result of a sale being partially or completely cancelled. |
+| [Capture](Capture.md) | pydantic model Capture: Capture operation on the payment. A capture operation represents a notification received usually from a 3rd party payment processor to indicate that the funds placed on hold will be captured and the funds transfer process will occur from the customer's funds to the merchant's funds. |
+| [Refund](Refund.md) | pydantic model Refund: Refund operation on the payment. A refund operation represents the intent to refund a previous charge. |
+| [AccountTransaction](AccountTransaction.md) | pydantic model AccountTransaction: Information for an account transaction. |
+| [Operations](Operations.md) | pydantic model Operations: All operations related to a payment throughout its lifespan. An operation represents an event external to Fraud Prevention Service that specifies to perform a payment operation. Possible operation types include:
- `Verify`
- `Authorize`
- `AuthorizeReversal`
- `Capture`
- `Refund` |
+| [AccountScreenRequest](AccountScreenRequest.md) | pydantic model AccountScreenRequest: Information for account screening by Expedia's Fraud Prevention Service. |
+| [PaymentGeneric](PaymentGeneric.md) | pydantic model Payment: The `method` field value is used as a discriminator, with the following mapping:
* `CREDIT_CARD`: `CreditCard`
* `PAYPAL`: `PayPal`
* `POINTS`: `Points`
* `GIFT_CARD`: `GiftCard`
* `INTERNET_BANK_PAYMENT`: `InternetBankPayment`
* `DIRECT_DEBIT`: `DirectDebit` |
+| [CreditCard](CreditCard.md) | pydantic model CreditCard |
+| [PayPal](PayPal.md) | pydantic model PayPal |
+| [Points](Points.md) | pydantic model Points |
+| [GiftCard](GiftCard.md) | pydantic model GiftCard |
+| [InternetBankPayment](InternetBankPayment.md) | pydantic model InternetBankPayment |
+| [DirectDebit](DirectDebit.md) | pydantic model DirectDebit |
+| [TransactionDetails](TransactionDetails.md) | pydantic model TransactionDetails |
+| [OrderPurchaseTransaction](OrderPurchaseTransaction.md) | pydantic model OrderPurchaseTransaction |
+| [OrderPurchaseScreenRequest](OrderPurchaseScreenRequest.md) | pydantic model OrderPurchaseScreenRequest |
+| [ExpediaGroupNotFoundErrorException](ExpediaGroupNotFoundErrorException.md) | Exception wrapping a NotFoundError object. |
+| [ExpediaGroupUnauthorizedErrorException](ExpediaGroupUnauthorizedErrorException.md) | Exception wrapping a UnauthorizedError object. |
+| [ExpediaGroupForbiddenErrorException](ExpediaGroupForbiddenErrorException.md) | Exception wrapping a ForbiddenError object. |
+| [ExpediaGroupAccountTakeoverBadRequestErrorException](ExpediaGroupAccountTakeoverBadRequestErrorException.md) | Exception wrapping a AccountTakeoverBadRequestError object. |
+| [ExpediaGroupRetryableOrderPurchaseScreenFailureException](ExpediaGroupRetryableOrderPurchaseScreenFailureException.md) | Exception wrapping a RetryableOrderPurchaseScreenFailure object. |
+| [ExpediaGroupInternalServerErrorException](ExpediaGroupInternalServerErrorException.md) | Exception wrapping a InternalServerError object. |
+| [ExpediaGroupAccountUpdateNotFoundErrorException](ExpediaGroupAccountUpdateNotFoundErrorException.md) | Exception wrapping a AccountUpdateNotFoundError object. |
+| [ExpediaGroupRetryableOrderPurchaseUpdateFailureException](ExpediaGroupRetryableOrderPurchaseUpdateFailureException.md) | Exception wrapping a RetryableOrderPurchaseUpdateFailure object. |
+| [ExpediaGroupAccountTakeoverUnauthorizedErrorException](ExpediaGroupAccountTakeoverUnauthorizedErrorException.md) | Exception wrapping a AccountTakeoverUnauthorizedError object. |
+| [ExpediaGroupBadRequestErrorException](ExpediaGroupBadRequestErrorException.md) | Exception wrapping a BadRequestError object. |
+| [ExpediaGroupServiceUnavailableErrorException](ExpediaGroupServiceUnavailableErrorException.md) | Exception wrapping a ServiceUnavailableError object. |
+| [ExpediaGroupTooManyRequestsErrorException](ExpediaGroupTooManyRequestsErrorException.md) | Exception wrapping a TooManyRequestsError object. |
+| [ExpediaGroupOrderPurchaseUpdateNotFoundErrorException](ExpediaGroupOrderPurchaseUpdateNotFoundErrorException.md) | Exception wrapping a OrderPurchaseUpdateNotFoundError object. |
+| [ExpediaGroupBadGatewayErrorException](ExpediaGroupBadGatewayErrorException.md) | Exception wrapping a BadGatewayError object. |
+| [ExpediaGroupGatewayTimeoutErrorException](ExpediaGroupGatewayTimeoutErrorException.md) | Exception wrapping a GatewayTimeoutError object. |
+| [NotFoundErrorDeserializationContract](NotFoundErrorDeserializationContract.md) | |
+| [UnauthorizedErrorDeserializationContract](UnauthorizedErrorDeserializationContract.md) | |
+| [ForbiddenErrorDeserializationContract](ForbiddenErrorDeserializationContract.md) | |
+| [AccountTakeoverBadRequestErrorDeserializationContract](AccountTakeoverBadRequestErrorDeserializationContract.md) | |
+| [RetryableOrderPurchaseScreenFailureDeserializationContract](RetryableOrderPurchaseScreenFailureDeserializationContract.md) | |
+| [InternalServerErrorDeserializationContract](InternalServerErrorDeserializationContract.md) | |
+| [AccountUpdateNotFoundErrorDeserializationContract](AccountUpdateNotFoundErrorDeserializationContract.md) | |
+| [RetryableOrderPurchaseUpdateFailureDeserializationContract](RetryableOrderPurchaseUpdateFailureDeserializationContract.md) | |
+| [AccountTakeoverUnauthorizedErrorDeserializationContract](AccountTakeoverUnauthorizedErrorDeserializationContract.md) | |
+| [BadRequestErrorDeserializationContract](BadRequestErrorDeserializationContract.md) | |
+| [ServiceUnavailableErrorDeserializationContract](ServiceUnavailableErrorDeserializationContract.md) | |
+| [TooManyRequestsErrorDeserializationContract](TooManyRequestsErrorDeserializationContract.md) | |
+| [OrderPurchaseUpdateNotFoundErrorDeserializationContract](OrderPurchaseUpdateNotFoundErrorDeserializationContract.md) | |
+| [BadGatewayErrorDeserializationContract](BadGatewayErrorDeserializationContract.md) | |
+| [GatewayTimeoutErrorDeserializationContract](GatewayTimeoutErrorDeserializationContract.md) | |
diff --git a/release/fraudPreventionV2/src/client.py b/release/fraudPreventionV2/src/client.py
index 82b3c3ea..05f170e2 100644
--- a/release/fraudPreventionV2/src/client.py
+++ b/release/fraudPreventionV2/src/client.py
@@ -78,7 +78,7 @@ def __init__(self, client_config: ClientConfig):
"""
python_version = platform.python_version()
os_name, os_version, *_ = platform.platform().split("-")
- sdk_metadata = "expediagroup-fraudpreventionv2-python-sdk/2.3.0"
+ sdk_metadata = "expediagroup-fraudpreventionv2-python-sdk/3.0.0"
self.__api_client = ApiClient(client_config, _ExpediaGroupAuthClient)
diff --git a/release/fraudPreventionV2/src/model.py b/release/fraudPreventionV2/src/model.py
index 82d2302a..7c3768be 100644
--- a/release/fraudPreventionV2/src/model.py
+++ b/release/fraudPreventionV2/src/model.py
@@ -580,6 +580,10 @@ class Brand(
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
+ * `UATP` : `UATP`
+ * `UATP_SUPPLY` : `UATP`
+ * `AIR_PLUS` : `UATP`
+ * `UA_PASS_PLUS` : `UATP`
* `VISA` : `VISA`
* `VISA_DELTA` : `VISA`
* `VISA_ELECTRON` : `VISA`
@@ -608,10 +612,6 @@ class Brand(
* `CHEAP_CASH`
* `BONUS_PLUS`
* `ULTIMATE_REWARDS`
- * `UATP`
- * `UATP_SUPPLY`
- * `AIR_PLUS`
- * `US_PASS_PLUS`
'brand' with 'GiftCard' payment_type is an enum value with following:
* `GIFT_CARD`
@@ -642,6 +642,10 @@ class Brand(
SOLO: Any = "SOLO"
SWITCH: Any = "SWITCH"
CHINA_UNION_PAY: Any = "CHINA_UNION_PAY"
+ UATP: Any = "UATP"
+ UATP_SUPPLY: Any = "UATP_SUPPLY"
+ AIR_PLUS: Any = "AIR_PLUS"
+ UA_PASS_PLUS: Any = "UA_PASS_PLUS"
VISA: Any = "VISA"
VISA_DELTA: Any = "VISA_DELTA"
VISA_ELECTRON: Any = "VISA_ELECTRON"
@@ -668,10 +672,6 @@ class Brand(
CHEAP_CASH: Any = "CHEAP_CASH"
BONUS_PLUS: Any = "BONUS_PLUS"
ULTIMATE_REWARDS: Any = "ULTIMATE_REWARDS"
- UATP: Any = "UATP"
- UATP_SUPPLY: Any = "UATP_SUPPLY"
- AIR_PLUS: Any = "AIR_PLUS"
- US_PASS_PLUS: Any = "US_PASS_PLUS"
GIFT_CARD: Any = "GIFT_CARD"
IBP: Any = "IBP"
LOCAL_DEBIT_CARD: Any = "LOCAL_DEBIT_CARD"
@@ -789,6 +789,10 @@ class CardType(
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
+ * `UATP` : `UATP`
+ * `UATP` : `UATP_SUPPLY`
+ * `UATP` : `AIR_PLUS`
+ * `UATP` : `UA_PASS_PLUS`
* `VISA` : `VISA`
* `VISA` : `VISA_DELTA`
* `VISA` : `VISA_ELECTRON`
@@ -808,6 +812,7 @@ class CardType(
SWITCH: Any = "SWITCH"
MAESTRO: Any = "MAESTRO"
CHINA_UNION_PAY: Any = "CHINA_UNION_PAY"
+ UATP: Any = "UATP"
VISA: Any = "VISA"
@@ -2496,6 +2501,10 @@ class PaymentGeneric(
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
+ * `UATP` : `UATP`
+ * `UATP_SUPPLY` : `UATP`
+ * `AIR_PLUS` : `UATP`
+ * `UA_PASS_PLUS` : `UATP`
* `VISA` : `VISA`
* `VISA_DELTA` : `VISA`
* `VISA_ELECTRON` : `VISA`
@@ -2524,10 +2533,6 @@ class PaymentGeneric(
* `CHEAP_CASH`
* `BONUS_PLUS`
* `ULTIMATE_REWARDS`
- * `UATP`
- * `UATP_SUPPLY`
- * `AIR_PLUS`
- * `US_PASS_PLUS`
'brand' with 'GiftCard' payment_type is an enum value with following:
* `GIFT_CARD`
@@ -2599,6 +2604,10 @@ def dict(self, **kwargs):
* `SWITCH` : `SWITCH`
* `MAESTRO` : `MAESTRO`
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
+ * `UATP` : `UATP`
+ * `UATP` : `UATP_SUPPLY`
+ * `UATP` : `AIR_PLUS`
+ * `UATP` : `UA_PASS_PLUS`
* `VISA` : `VISA`
* `VISA` : `VISA_DELTA`
* `VISA` : `VISA_ELECTRON`
@@ -3101,38 +3110,33 @@ class OrderPurchaseScreenRequest(
OrderPurchaseScreenRequest.update_forward_refs()
-class ExpediaGroupForbiddenErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a ForbiddenError object."""
- pass
-
-
class ExpediaGroupNotFoundErrorException(ExpediaGroupApiException):
r"""Exception wrapping a NotFoundError object."""
pass
-class ExpediaGroupTooManyRequestsErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a TooManyRequestsError object."""
+class ExpediaGroupUnauthorizedErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a UnauthorizedError object."""
pass
-class ExpediaGroupBadRequestErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a BadRequestError object."""
+class ExpediaGroupForbiddenErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a ForbiddenError object."""
pass
-class ExpediaGroupRetryableOrderPurchaseUpdateFailureException(ExpediaGroupApiException):
- r"""Exception wrapping a RetryableOrderPurchaseUpdateFailure object."""
+class ExpediaGroupAccountTakeoverBadRequestErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a AccountTakeoverBadRequestError object."""
pass
-class ExpediaGroupBadGatewayErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a BadGatewayError object."""
+class ExpediaGroupRetryableOrderPurchaseScreenFailureException(ExpediaGroupApiException):
+ r"""Exception wrapping a RetryableOrderPurchaseScreenFailure object."""
pass
-class ExpediaGroupServiceUnavailableErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a ServiceUnavailableError object."""
+class ExpediaGroupInternalServerErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a InternalServerError object."""
pass
@@ -3141,28 +3145,28 @@ class ExpediaGroupAccountUpdateNotFoundErrorException(ExpediaGroupApiException):
pass
-class ExpediaGroupAccountTakeoverUnauthorizedErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a AccountTakeoverUnauthorizedError object."""
+class ExpediaGroupRetryableOrderPurchaseUpdateFailureException(ExpediaGroupApiException):
+ r"""Exception wrapping a RetryableOrderPurchaseUpdateFailure object."""
pass
-class ExpediaGroupRetryableOrderPurchaseScreenFailureException(ExpediaGroupApiException):
- r"""Exception wrapping a RetryableOrderPurchaseScreenFailure object."""
+class ExpediaGroupAccountTakeoverUnauthorizedErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a AccountTakeoverUnauthorizedError object."""
pass
-class ExpediaGroupUnauthorizedErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a UnauthorizedError object."""
+class ExpediaGroupBadRequestErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a BadRequestError object."""
pass
-class ExpediaGroupInternalServerErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a InternalServerError object."""
+class ExpediaGroupServiceUnavailableErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a ServiceUnavailableError object."""
pass
-class ExpediaGroupAccountTakeoverBadRequestErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a AccountTakeoverBadRequestError object."""
+class ExpediaGroupTooManyRequestsErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a TooManyRequestsError object."""
pass
@@ -3171,15 +3175,14 @@ class ExpediaGroupOrderPurchaseUpdateNotFoundErrorException(ExpediaGroupApiExcep
pass
-class ExpediaGroupGatewayTimeoutErrorException(ExpediaGroupApiException):
- r"""Exception wrapping a GatewayTimeoutError object."""
+class ExpediaGroupBadGatewayErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a BadGatewayError object."""
pass
-@dataclass
-class ForbiddenErrorDeserializationContract:
- exception: type = ExpediaGroupForbiddenErrorException
- model: type = ForbiddenError
+class ExpediaGroupGatewayTimeoutErrorException(ExpediaGroupApiException):
+ r"""Exception wrapping a GatewayTimeoutError object."""
+ pass
@dataclass
@@ -3189,33 +3192,33 @@ class NotFoundErrorDeserializationContract:
@dataclass
-class TooManyRequestsErrorDeserializationContract:
- exception: type = ExpediaGroupTooManyRequestsErrorException
- model: type = TooManyRequestsError
+class UnauthorizedErrorDeserializationContract:
+ exception: type = ExpediaGroupUnauthorizedErrorException
+ model: type = UnauthorizedError
@dataclass
-class BadRequestErrorDeserializationContract:
- exception: type = ExpediaGroupBadRequestErrorException
- model: type = BadRequestError
+class ForbiddenErrorDeserializationContract:
+ exception: type = ExpediaGroupForbiddenErrorException
+ model: type = ForbiddenError
@dataclass
-class RetryableOrderPurchaseUpdateFailureDeserializationContract:
- exception: type = ExpediaGroupRetryableOrderPurchaseUpdateFailureException
- model: type = RetryableOrderPurchaseUpdateFailure
+class AccountTakeoverBadRequestErrorDeserializationContract:
+ exception: type = ExpediaGroupAccountTakeoverBadRequestErrorException
+ model: type = AccountTakeoverBadRequestError
@dataclass
-class BadGatewayErrorDeserializationContract:
- exception: type = ExpediaGroupBadGatewayErrorException
- model: type = BadGatewayError
+class RetryableOrderPurchaseScreenFailureDeserializationContract:
+ exception: type = ExpediaGroupRetryableOrderPurchaseScreenFailureException
+ model: type = RetryableOrderPurchaseScreenFailure
@dataclass
-class ServiceUnavailableErrorDeserializationContract:
- exception: type = ExpediaGroupServiceUnavailableErrorException
- model: type = ServiceUnavailableError
+class InternalServerErrorDeserializationContract:
+ exception: type = ExpediaGroupInternalServerErrorException
+ model: type = InternalServerError
@dataclass
@@ -3225,33 +3228,33 @@ class AccountUpdateNotFoundErrorDeserializationContract:
@dataclass
-class AccountTakeoverUnauthorizedErrorDeserializationContract:
- exception: type = ExpediaGroupAccountTakeoverUnauthorizedErrorException
- model: type = AccountTakeoverUnauthorizedError
+class RetryableOrderPurchaseUpdateFailureDeserializationContract:
+ exception: type = ExpediaGroupRetryableOrderPurchaseUpdateFailureException
+ model: type = RetryableOrderPurchaseUpdateFailure
@dataclass
-class RetryableOrderPurchaseScreenFailureDeserializationContract:
- exception: type = ExpediaGroupRetryableOrderPurchaseScreenFailureException
- model: type = RetryableOrderPurchaseScreenFailure
+class AccountTakeoverUnauthorizedErrorDeserializationContract:
+ exception: type = ExpediaGroupAccountTakeoverUnauthorizedErrorException
+ model: type = AccountTakeoverUnauthorizedError
@dataclass
-class UnauthorizedErrorDeserializationContract:
- exception: type = ExpediaGroupUnauthorizedErrorException
- model: type = UnauthorizedError
+class BadRequestErrorDeserializationContract:
+ exception: type = ExpediaGroupBadRequestErrorException
+ model: type = BadRequestError
@dataclass
-class InternalServerErrorDeserializationContract:
- exception: type = ExpediaGroupInternalServerErrorException
- model: type = InternalServerError
+class ServiceUnavailableErrorDeserializationContract:
+ exception: type = ExpediaGroupServiceUnavailableErrorException
+ model: type = ServiceUnavailableError
@dataclass
-class AccountTakeoverBadRequestErrorDeserializationContract:
- exception: type = ExpediaGroupAccountTakeoverBadRequestErrorException
- model: type = AccountTakeoverBadRequestError
+class TooManyRequestsErrorDeserializationContract:
+ exception: type = ExpediaGroupTooManyRequestsErrorException
+ model: type = TooManyRequestsError
@dataclass
@@ -3260,6 +3263,12 @@ class OrderPurchaseUpdateNotFoundErrorDeserializationContract:
model: type = OrderPurchaseUpdateNotFoundError
+@dataclass
+class BadGatewayErrorDeserializationContract:
+ exception: type = ExpediaGroupBadGatewayErrorException
+ model: type = BadGatewayError
+
+
@dataclass
class GatewayTimeoutErrorDeserializationContract:
exception: type = ExpediaGroupGatewayTimeoutErrorException
diff --git a/release/fraudPreventionV2/src/setup.py b/release/fraudPreventionV2/src/setup.py
index 6afdc012..369ad6ab 100644
--- a/release/fraudPreventionV2/src/setup.py
+++ b/release/fraudPreventionV2/src/setup.py
@@ -17,7 +17,7 @@
setup(
name="expediagroup-fraudpreventionv2-sdk",
- version="2.3.0",
+ version="3.0.0",
packages=["expediagroup.sdk.fraudpreventionv2"],
package_dir={"expediagroup-fraudpreventionv2-sdk": "."},
license="Apache License, Version 2.0",
diff --git a/release/fraudPreventionV2/src/specs.yaml b/release/fraudPreventionV2/src/specs.yaml
index da3acec8..a39bf3ea 100644
--- a/release/fraudPreventionV2/src/specs.yaml
+++ b/release/fraudPreventionV2/src/specs.yaml
@@ -1773,6 +1773,14 @@ components:
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
+ * `UATP` : `UATP`
+
+ * `UATP_SUPPLY` : `UATP`
+
+ * `AIR_PLUS` : `UATP`
+
+ * `UA_PASS_PLUS` : `UATP`
+
* `VISA` : `VISA`
* `VISA_DELTA` : `VISA`
@@ -1828,14 +1836,6 @@ components:
* `ULTIMATE_REWARDS`
- * `UATP`
-
- * `UATP_SUPPLY`
-
- * `AIR_PLUS`
-
- * `US_PASS_PLUS`
-
'brand' with 'GiftCard' payment_type is an enum value with following:
@@ -1877,6 +1877,10 @@ components:
- SOLO
- SWITCH
- CHINA_UNION_PAY
+ - UATP
+ - UATP_SUPPLY
+ - AIR_PLUS
+ - UA_PASS_PLUS
- VISA
- VISA_DELTA
- VISA_ELECTRON
@@ -1903,10 +1907,6 @@ components:
- CHEAP_CASH
- BONUS_PLUS
- ULTIMATE_REWARDS
- - UATP
- - UATP_SUPPLY
- - AIR_PLUS
- - US_PASS_PLUS
- GIFT_CARD
- IBP
- LOCAL_DEBIT_CARD
@@ -2191,6 +2191,14 @@ components:
* `CHINA_UNION_PAY` : `CHINA_UNION_PAY`
+ * `UATP` : `UATP`
+
+ * `UATP` : `UATP_SUPPLY`
+
+ * `UATP` : `AIR_PLUS`
+
+ * `UATP` : `UA_PASS_PLUS`
+
* `VISA` : `VISA`
* `VISA` : `VISA_DELTA`
@@ -2215,6 +2223,7 @@ components:
- SWITCH
- MAESTRO
- CHINA_UNION_PAY
+ - UATP
- VISA
card_number:
description: All the digits (unencrypted) of the credit card number associated