diff --git a/release/fraudPreventionV2/docs/client/classes/FraudPreventionV2Client.md b/release/fraudPreventionV2/docs/client/classes/FraudPreventionV2Client.md index 2b28c1f3..3a00f4fe 100644 --- a/release/fraudPreventionV2/docs/client/classes/FraudPreventionV2Client.md +++ b/release/fraudPreventionV2/docs/client/classes/FraudPreventionV2Client.md @@ -32,7 +32,7 @@ client/apis/FraudPreventionV2Client.ts:54 ### notifyWithAccountUpdate() -> **notifyWithAccountUpdate**(`accountUpdateRequest`, `transactionId`): `Promise`\<[`AccountUpdateResponse`](../../models/classes/AccountUpdateResponse.md)\> +> **notifyWithAccountUpdate**(`accountUpdateRequest`): `Promise`\<[`AccountUpdateResponse`](../../models/classes/AccountUpdateResponse.md)\> Send an update as a result of an account screen transaction The Account Update API is called when there is an account lifecycle transition such as a challenge outcome, account restoration, or remediation action completion. For example, if a user\'s account is disabled, deleted, or restored, the Account Update API is called to notify Expedia Group about the change. The Account Update API is also called when a user responds to a login Multi-Factor Authentication based on a Fraud recommendation. @@ -42,10 +42,7 @@ The Account Update API is called when there is an account lifecycle transition s • **accountUpdateRequest**: [`AccountUpdateRequest`](../../models/classes/AccountUpdateRequest.md) An AccountUpdate request may be of one of the following types `MULTI_FACTOR_AUTHENTICATION_UPDATE`, `REMEDIATION_UPDATE`. - -• **transactionId**: `string`= `undefined` - -A unique ID to uniquely identify a request/response cycle (optional, defaults to a random generated UUID)`` +`` #### Returns @@ -97,7 +94,7 @@ client/apis/FraudPreventionV2Client.ts:86 ### notifyWithOrderUpdate() -> **notifyWithOrderUpdate**(`orderPurchaseUpdateRequest`, `transactionId`): `Promise`\<[`OrderPurchaseUpdateResponse`](../../models/classes/OrderPurchaseUpdateResponse.md)\> +> **notifyWithOrderUpdate**(`orderPurchaseUpdateRequest`): `Promise`\<[`OrderPurchaseUpdateResponse`](../../models/classes/OrderPurchaseUpdateResponse.md)\> Send an update for a transaction The Order Purchase Update API is called when the status of the order has changed. For example, if the customer cancels the reservation, changes reservation in any way, or adds additional products or travelers to the reservation, the Order Purchase Update API is called to notify Expedia Group about the change. The Order Purchase Update API is also called when the merchant cancels or changes an order based on a Fraud recommendation. @@ -106,11 +103,8 @@ The Order Purchase Update API is called when the status of the order has changed • **orderPurchaseUpdateRequest**: [`OrderPurchaseUpdateRequest`](../../models/classes/OrderPurchaseUpdateRequest.md) -An OrderPurchaseUpdate request may be of one of the following types `ORDER_UPDATE`, `CHARGEBACK_FEEDBACK`, `INSULT_FEEDBACK`, `REFUND_UPDATE`, `PAYMENT_UPDATE`. - -• **transactionId**: `string`= `undefined` - -A unique ID to uniquely identify a request/response cycle (optional, defaults to a random generated UUID)`` +An OrderPurchaseUpdate request may be of one of the following types `ORDER_UPDATE`, `CHARGEBACK_FEEDBACK`, `INSULT_FEEDBACK`, `REFUND_UPDATE`, `PAYMENT_UPDATE`. +`` #### Returns @@ -156,13 +150,13 @@ ExpediaGroupApiGatewayTimeoutError #### Source -client/apis/FraudPreventionV2Client.ts:129 +client/apis/FraudPreventionV2Client.ts:128 *** ### screenAccount() -> **screenAccount**(`accountScreenRequest`, `transactionId`): `Promise`\<[`AccountScreenResponse`](../../models/classes/AccountScreenResponse.md)\> +> **screenAccount**(`accountScreenRequest`): `Promise`\<[`AccountScreenResponse`](../../models/classes/AccountScreenResponse.md)\> Run fraud screening for one transaction The Account Screen API gives a Fraud recommendation for an account transaction. A recommendation can be ACCEPT, CHALLENGE, or REJECT. A transaction is marked as CHALLENGE whenever there are insufficient signals to recommend ACCEPT or REJECT. These CHALLENGE incidents are manually reviewed, and a corrected recommendation is made asynchronously. @@ -171,9 +165,7 @@ The Account Screen API gives a Fraud recommendation for an account transaction. • **accountScreenRequest**: [`AccountScreenRequest`](../../models/classes/AccountScreenRequest.md) -• **transactionId**: `string`= `undefined` - -A unique ID to uniquely identify a request/response cycle (optional, defaults to a random generated UUID)`` +`` #### Returns @@ -219,13 +211,13 @@ ExpediaGroupApiGatewayTimeoutError #### Source -client/apis/FraudPreventionV2Client.ts:172 +client/apis/FraudPreventionV2Client.ts:170 *** ### screenOrder() -> **screenOrder**(`orderPurchaseScreenRequest`, `transactionId`): `Promise`\<[`OrderPurchaseScreenResponse`](../../models/classes/OrderPurchaseScreenResponse.md)\> +> **screenOrder**(`orderPurchaseScreenRequest`): `Promise`\<[`OrderPurchaseScreenResponse`](../../models/classes/OrderPurchaseScreenResponse.md)\> Run fraud screening for one transaction The Order Purchase API gives a Fraud recommendation for a transaction. A recommendation can be Accept, Reject, or Review. A transaction is marked as Review whenever there are insufficient signals to recommend Accept or Reject. These incidents are manually reviewed, and a corrected recommendation is made asynchronously. @@ -234,9 +226,7 @@ The Order Purchase API gives a Fraud recommendation for a transaction. A recomme • **orderPurchaseScreenRequest**: [`OrderPurchaseScreenRequest`](../../models/classes/OrderPurchaseScreenRequest.md) -• **transactionId**: `string`= `undefined` - -A unique ID to uniquely identify a request/response cycle (optional, defaults to a random generated UUID)`` +`` #### Returns @@ -282,4 +272,4 @@ ExpediaGroupApiGatewayTimeoutError #### Source -client/apis/FraudPreventionV2Client.ts:212 +client/apis/FraudPreventionV2Client.ts:209 diff --git a/release/fraudPreventionV2/docs/models/classes/Activity.md b/release/fraudPreventionV2/docs/models/classes/Activity.md new file mode 100644 index 00000000..95c4a020 --- /dev/null +++ b/release/fraudPreventionV2/docs/models/classes/Activity.md @@ -0,0 +1,51 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / Activity + +# Class: Activity + +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` * `ACTIVITY`: `Activity` + +## Extends + +- [`TravelProduct`](TravelProduct.md) + +## Constructors + +### new Activity(activity) + +> **new Activity**(`activity`): [`Activity`](Activity.md) + +#### Parameters + +• **activity**: [`ActivityProperties`](../interfaces/ActivityProperties.md) + +#### Returns + +[`Activity`](Activity.md) + +#### Overrides + +[`TravelProduct`](TravelProduct.md).[`constructor`](TravelProduct.md#constructors) + +#### Source + +models/Activity.ts:88 + +## Properties + +| Property | Modifier | Type | Description | Inherited from | +| :------ | :------ | :------ | :------ | :------ | +| `activityDescription` | `public` | `string` | This field provides additional details or a brief explanation of the specific activity. | - | +| `availablePolicy?` | `public` | [`AvailablePolicy`](AvailablePolicy.md) | - | - | +| `categoryName` | `public` | `string` | This field categorizes various types of activities available within the product. It allows API consumers to assign descriptive labels or keywords representing the nature of each activity. Possible category name values include: * `Adventures`: This category includes activities such as hiking, zip-lining, rock climbing, bungee jumping, and other adventurous pursuits. * `Air, Balloon & Helicopter Tours`: This category offers activities like hot air balloon rides, helicopter tours, and aerial sightseeing experiences. * `Cruises & Water Tours`: This includes options such as boat cruises, yacht tours, river rafting, snorkeling, and diving expeditions. * `Nightlife`: This category encompasses activities like clubbing, pub crawls, live music events, and cultural performances. These activities predominantly occur during the evening or nighttime. | - | +| `coordinates` | `public` | [`Coordinates`](Coordinates.md) | - | - | +| `endDateTime?` | `public` | `Date` | The field represents the end time of an activity, using the ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. | - | +| `inventorySource` | `public` | [`TravelProductInventorySourceEnum`](../type-aliases/TravelProductInventorySourceEnum.md) | 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. | [`TravelProduct`](TravelProduct.md).`inventorySource` | +| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` * `Activity` : `ACTIVITY` | [`TravelProduct`](TravelProduct.md).`inventoryType` | +| `isPassbook?` | `public` | `boolean` | Indicates whether a QR code is required for an activity, serving as proof of reservation or purchase. This includes digital tickets saved on mobile applications such as Google Pay, Apple Wallet, or similar services provided by activity organizers. | - | +| `payLater?` | `public` | `boolean` | The attribute serves as a boolean indicator that significantly influences the handling of payment information during the fraud prevention process: * When \'pay_later\' is set to \'true\': - This configuration signals that payment information is optional for the booking. Travelers are given the choice to defer payment until they arrive at the rental counter following the completion of the booking. - It is imperative for partners to explicitly set this attribute to \'true\' when payment information can be optional for a particular booking scenario. * When \'pay_later\' is set to \'false\': - In this mode, the attribute mandates the inclusion of payment information during the order purchase screen request. Travelers are required to provide payment details. - Partners must exercise caution and ensure they supply the necessary payment information, as failure to do so in cases where \'pay_later\' is set to \'false\' will result in a \'Bad Request\' error. This error helps maintain the consistency and accuracy of the fraud prevention process and payment handling. | [`TravelProduct`](TravelProduct.md).`payLater` | +| `price` | `public` | [`Amount`](Amount.md) | - | [`TravelProduct`](TravelProduct.md).`price` | +| `startDateTime?` | `public` | `Date` | The field represents the start time of an activity, using the ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. | - | +| `supplyProvider` | `public` | [`SupplyProvider`](SupplyProvider.md) | - | - | +| `tickets` | `public` | [`Ticket`](Ticket.md)[] | - | - | +| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * Activity * [GUID1] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | +| `type` | `readonly` | `"ACTIVITY"` | - | - | diff --git a/release/fraudPreventionV2/docs/models/classes/Air.md b/release/fraudPreventionV2/docs/models/classes/Air.md index 5373bd86..1097dd73 100644 --- a/release/fraudPreventionV2/docs/models/classes/Air.md +++ b/release/fraudPreventionV2/docs/models/classes/Air.md @@ -2,7 +2,7 @@ # Class: Air -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` +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` * `ACTIVITY`: `Activity` ## Extends @@ -40,9 +40,9 @@ models/Air.ts:67 | `flightType?` | `public` | [`AirFlightTypeEnum`](../type-aliases/AirFlightTypeEnum.md) | Identifies the type of air trip based on the air destinations. | - | | `globalDistributionSystemType?` | `public` | `string` | Associated with Passenger Name Record (PNR). | - | | `inventorySource` | `public` | [`TravelProductInventorySourceEnum`](../type-aliases/TravelProductInventorySourceEnum.md) | 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. | [`TravelProduct`](TravelProduct.md).`inventorySource` | -| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` | [`TravelProduct`](TravelProduct.md).`inventoryType` | +| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` * `Activity` : `ACTIVITY` | [`TravelProduct`](TravelProduct.md).`inventoryType` | | `passengerNameRecord?` | `public` | `string` | Airline booking confirmation code for the trip. | - | | `payLater?` | `public` | `boolean` | The attribute serves as a boolean indicator that significantly influences the handling of payment information during the fraud prevention process: * When \'pay_later\' is set to \'true\': - This configuration signals that payment information is optional for the booking. Travelers are given the choice to defer payment until they arrive at the rental counter following the completion of the booking. - It is imperative for partners to explicitly set this attribute to \'true\' when payment information can be optional for a particular booking scenario. * When \'pay_later\' is set to \'false\': - In this mode, the attribute mandates the inclusion of payment information during the order purchase screen request. Travelers are required to provide payment details. - Partners must exercise caution and ensure they supply the necessary payment information, as failure to do so in cases where \'pay_later\' is set to \'false\' will result in a \'Bad Request\' error. This error helps maintain the consistency and accuracy of the fraud prevention process and payment handling. | [`TravelProduct`](TravelProduct.md).`payLater` | | `price` | `public` | [`Amount`](Amount.md) | - | [`TravelProduct`](TravelProduct.md).`price` | -| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | +| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * Activity * [GUID1] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | | `type` | `readonly` | `"AIR"` | - | - | diff --git a/release/fraudPreventionV2/docs/models/classes/AvailablePolicy.md b/release/fraudPreventionV2/docs/models/classes/AvailablePolicy.md new file mode 100644 index 00000000..a2fc2b7e --- /dev/null +++ b/release/fraudPreventionV2/docs/models/classes/AvailablePolicy.md @@ -0,0 +1,27 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / AvailablePolicy + +# Class: AvailablePolicy + +## Constructors + +### new AvailablePolicy(availablePolicy) + +> **new AvailablePolicy**(`availablePolicy`): [`AvailablePolicy`](AvailablePolicy.md) + +#### Parameters + +• **availablePolicy**: [`AvailablePolicyProperties`](../interfaces/AvailablePolicyProperties.md) + +#### Returns + +[`AvailablePolicy`](AvailablePolicy.md) + +#### Source + +models/AvailablePolicy.ts:33 + +## Properties + +| Property | Type | +| :------ | :------ | +| `delayedFulfillment?` | [`DelayedFulfillment`](DelayedFulfillment.md) | diff --git a/release/fraudPreventionV2/docs/models/classes/Car.md b/release/fraudPreventionV2/docs/models/classes/Car.md index 756473ca..af4abda6 100644 --- a/release/fraudPreventionV2/docs/models/classes/Car.md +++ b/release/fraudPreventionV2/docs/models/classes/Car.md @@ -2,7 +2,7 @@ # Class: Car -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` +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` * `ACTIVITY`: `Activity` ## Extends @@ -36,11 +36,11 @@ models/Car.ts:51 | :------ | :------ | :------ | :------ | :------ | | `dropOffLocation` | `public` | `string` | Location at which the automobile will be returned. | - | | `inventorySource` | `public` | [`TravelProductInventorySourceEnum`](../type-aliases/TravelProductInventorySourceEnum.md) | 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. | [`TravelProduct`](TravelProduct.md).`inventorySource` | -| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` | [`TravelProduct`](TravelProduct.md).`inventoryType` | +| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` * `Activity` : `ACTIVITY` | [`TravelProduct`](TravelProduct.md).`inventoryType` | | `payLater?` | `public` | `boolean` | The attribute serves as a boolean indicator that significantly influences the handling of payment information during the fraud prevention process: * When \'pay_later\' is set to \'true\': - This configuration signals that payment information is optional for the booking. Travelers are given the choice to defer payment until they arrive at the rental counter following the completion of the booking. - It is imperative for partners to explicitly set this attribute to \'true\' when payment information can be optional for a particular booking scenario. * When \'pay_later\' is set to \'false\': - In this mode, the attribute mandates the inclusion of payment information during the order purchase screen request. Travelers are required to provide payment details. - Partners must exercise caution and ensure they supply the necessary payment information, as failure to do so in cases where \'pay_later\' is set to \'false\' will result in a \'Bad Request\' error. This error helps maintain the consistency and accuracy of the fraud prevention process and payment handling. | [`TravelProduct`](TravelProduct.md).`payLater` | | `pickUpLocation` | `public` | `string` | Location where the automobile will be picked up. | - | | `pickupTime` | `public` | `Date` | Local date and time the automobile will be picked-up, in ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. | - | | `price` | `public` | [`Amount`](Amount.md) | - | [`TravelProduct`](TravelProduct.md).`price` | | `returnTime` | `public` | `Date` | Local date and time the automobile will be returned, in ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. | - | -| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | +| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * Activity * [GUID1] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | | `type` | `readonly` | `"CAR"` | - | - | diff --git a/release/fraudPreventionV2/docs/models/classes/Coordinates.md b/release/fraudPreventionV2/docs/models/classes/Coordinates.md new file mode 100644 index 00000000..6483cad6 --- /dev/null +++ b/release/fraudPreventionV2/docs/models/classes/Coordinates.md @@ -0,0 +1,30 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / Coordinates + +# Class: Coordinates + +This field signifies the precise geographical coordinates denoting the location of the activity. + +## Constructors + +### new Coordinates(coordinates) + +> **new Coordinates**(`coordinates`): [`Coordinates`](Coordinates.md) + +#### Parameters + +• **coordinates**: [`CoordinatesProperties`](../interfaces/CoordinatesProperties.md) + +#### Returns + +[`Coordinates`](Coordinates.md) + +#### Source + +models/Coordinates.ts:39 + +## Properties + +| Property | Type | Description | +| :------ | :------ | :------ | +| `latitude` | `number` | The latitude in degrees. It must be in the range [-90.0, +90.0]. | +| `longitude` | `number` | The longitude in degrees. It must be in the range [-180.0, +180.0]. | diff --git a/release/fraudPreventionV2/docs/models/classes/Cruise.md b/release/fraudPreventionV2/docs/models/classes/Cruise.md index ef24727a..af48f5f0 100644 --- a/release/fraudPreventionV2/docs/models/classes/Cruise.md +++ b/release/fraudPreventionV2/docs/models/classes/Cruise.md @@ -2,7 +2,7 @@ # Class: Cruise -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` +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` * `ACTIVITY`: `Activity` ## Extends @@ -39,9 +39,9 @@ models/Cruise.ts:56 | `disembarkationPort` | `public` | `string` | The cruise\'s final destination. | - | | `embarkationPort` | `public` | `string` | Location from where cruise will depart. | - | | `inventorySource` | `public` | [`TravelProductInventorySourceEnum`](../type-aliases/TravelProductInventorySourceEnum.md) | 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. | [`TravelProduct`](TravelProduct.md).`inventorySource` | -| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` | [`TravelProduct`](TravelProduct.md).`inventoryType` | +| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` * `Activity` : `ACTIVITY` | [`TravelProduct`](TravelProduct.md).`inventoryType` | | `payLater?` | `public` | `boolean` | The attribute serves as a boolean indicator that significantly influences the handling of payment information during the fraud prevention process: * When \'pay_later\' is set to \'true\': - This configuration signals that payment information is optional for the booking. Travelers are given the choice to defer payment until they arrive at the rental counter following the completion of the booking. - It is imperative for partners to explicitly set this attribute to \'true\' when payment information can be optional for a particular booking scenario. * When \'pay_later\' is set to \'false\': - In this mode, the attribute mandates the inclusion of payment information during the order purchase screen request. Travelers are required to provide payment details. - Partners must exercise caution and ensure they supply the necessary payment information, as failure to do so in cases where \'pay_later\' is set to \'false\' will result in a \'Bad Request\' error. This error helps maintain the consistency and accuracy of the fraud prevention process and payment handling. | [`TravelProduct`](TravelProduct.md).`payLater` | | `price` | `public` | [`Amount`](Amount.md) | - | [`TravelProduct`](TravelProduct.md).`price` | | `shipName` | `public` | `string` | Name of the cruise ship. | - | -| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | +| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * Activity * [GUID1] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | | `type` | `readonly` | `"CRUISE"` | - | - | diff --git a/release/fraudPreventionV2/docs/models/classes/DelayedFulfillment.md b/release/fraudPreventionV2/docs/models/classes/DelayedFulfillment.md new file mode 100644 index 00000000..bc529f9f --- /dev/null +++ b/release/fraudPreventionV2/docs/models/classes/DelayedFulfillment.md @@ -0,0 +1,32 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / DelayedFulfillment + +# Class: DelayedFulfillment + +This field holds details about activity\'s capabilities and execution details related to inventory hold functionality. + +## Constructors + +### new DelayedFulfillment(delayedFulfillment) + +> **new DelayedFulfillment**(`delayedFulfillment`): [`DelayedFulfillment`](DelayedFulfillment.md) + +#### Parameters + +• **delayedFulfillment**: [`DelayedFulfillmentProperties`](../interfaces/DelayedFulfillmentProperties.md) + +#### Returns + +[`DelayedFulfillment`](DelayedFulfillment.md) + +#### Source + +models/DelayedFulfillment.ts:49 + +## Properties + +| Property | Type | Description | +| :------ | :------ | :------ | +| `holdDurationUnitOfMeasure?` | `string` | This field indicates the unit of duration of the hold on an activity. | +| `holdDurationValue?` | `number` | This field indicates the duration of the hold on an activity. | +| `isAvailable?` | `boolean` | This field indicates if the fulfillment of an activity is possible or not. | +| `isDelayedCustomerConfirmation?` | `boolean` | This field indicates whether customer order confirmation can be delayed. Customer will receive ticket number, voucher ID or any other type of confirmation until transaction is successfully completed or approved by an analyst during the review process. | diff --git a/release/fraudPreventionV2/docs/models/classes/Hotel.md b/release/fraudPreventionV2/docs/models/classes/Hotel.md index b86bf49b..00e10abf 100644 --- a/release/fraudPreventionV2/docs/models/classes/Hotel.md +++ b/release/fraudPreventionV2/docs/models/classes/Hotel.md @@ -2,7 +2,7 @@ # Class: Hotel -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` +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` * `ACTIVITY`: `Activity` ## Extends @@ -40,10 +40,10 @@ models/Hotel.ts:69 | `hotelId` | `public` | `string` | Unique hotel identifier assigned by the partner. | - | | `hotelName` | `public` | `string` | Name of the hotel. | - | | `inventorySource` | `public` | [`TravelProductInventorySourceEnum`](../type-aliases/TravelProductInventorySourceEnum.md) | 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. | [`TravelProduct`](TravelProduct.md).`inventorySource` | -| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` | [`TravelProduct`](TravelProduct.md).`inventoryType` | +| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` * `Activity` : `ACTIVITY` | [`TravelProduct`](TravelProduct.md).`inventoryType` | | `payLater?` | `public` | `boolean` | The attribute serves as a boolean indicator that significantly influences the handling of payment information during the fraud prevention process: * When \'pay_later\' is set to \'true\': - This configuration signals that payment information is optional for the booking. Travelers are given the choice to defer payment until they arrive at the rental counter following the completion of the booking. - It is imperative for partners to explicitly set this attribute to \'true\' when payment information can be optional for a particular booking scenario. * When \'pay_later\' is set to \'false\': - In this mode, the attribute mandates the inclusion of payment information during the order purchase screen request. Travelers are required to provide payment details. - Partners must exercise caution and ensure they supply the necessary payment information, as failure to do so in cases where \'pay_later\' is set to \'false\' will result in a \'Bad Request\' error. This error helps maintain the consistency and accuracy of the fraud prevention process and payment handling. | [`TravelProduct`](TravelProduct.md).`payLater` | | `price` | `public` | [`Amount`](Amount.md) | - | [`TravelProduct`](TravelProduct.md).`price` | | `priceWithheld?` | `public` | `boolean` | Identifies if the product price was withheld from the customer during the booking process. | - | | `roomCount?` | `public` | `number` | Total number of rooms booked within the hotel product collection. | - | -| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | +| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * Activity * [GUID1] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | | `type` | `readonly` | `"HOTEL"` | - | - | diff --git a/release/fraudPreventionV2/docs/models/classes/Insurance.md b/release/fraudPreventionV2/docs/models/classes/Insurance.md index a5412dc1..097f68c1 100644 --- a/release/fraudPreventionV2/docs/models/classes/Insurance.md +++ b/release/fraudPreventionV2/docs/models/classes/Insurance.md @@ -2,7 +2,7 @@ # Class: Insurance -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` +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` * `ACTIVITY`: `Activity` ## Extends @@ -35,8 +35,8 @@ models/Insurance.ts:30 | Property | Modifier | Type | Description | Inherited from | | :------ | :------ | :------ | :------ | :------ | | `inventorySource` | `public` | [`TravelProductInventorySourceEnum`](../type-aliases/TravelProductInventorySourceEnum.md) | 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. | [`TravelProduct`](TravelProduct.md).`inventorySource` | -| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` | [`TravelProduct`](TravelProduct.md).`inventoryType` | +| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` * `Activity` : `ACTIVITY` | [`TravelProduct`](TravelProduct.md).`inventoryType` | | `payLater?` | `public` | `boolean` | The attribute serves as a boolean indicator that significantly influences the handling of payment information during the fraud prevention process: * When \'pay_later\' is set to \'true\': - This configuration signals that payment information is optional for the booking. Travelers are given the choice to defer payment until they arrive at the rental counter following the completion of the booking. - It is imperative for partners to explicitly set this attribute to \'true\' when payment information can be optional for a particular booking scenario. * When \'pay_later\' is set to \'false\': - In this mode, the attribute mandates the inclusion of payment information during the order purchase screen request. Travelers are required to provide payment details. - Partners must exercise caution and ensure they supply the necessary payment information, as failure to do so in cases where \'pay_later\' is set to \'false\' will result in a \'Bad Request\' error. This error helps maintain the consistency and accuracy of the fraud prevention process and payment handling. | [`TravelProduct`](TravelProduct.md).`payLater` | | `price` | `public` | [`Amount`](Amount.md) | - | [`TravelProduct`](TravelProduct.md).`price` | -| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | +| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * Activity * [GUID1] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | | `type` | `readonly` | `"INSURANCE"` | - | - | diff --git a/release/fraudPreventionV2/docs/models/classes/Rail.md b/release/fraudPreventionV2/docs/models/classes/Rail.md index 4710f27f..33dd8c10 100644 --- a/release/fraudPreventionV2/docs/models/classes/Rail.md +++ b/release/fraudPreventionV2/docs/models/classes/Rail.md @@ -2,7 +2,7 @@ # Class: Rail -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` +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` * `ACTIVITY`: `Activity` ## Extends @@ -35,10 +35,10 @@ models/Rail.ts:44 | Property | Modifier | Type | Description | Inherited from | | :------ | :------ | :------ | :------ | :------ | | `inventorySource` | `public` | [`TravelProductInventorySourceEnum`](../type-aliases/TravelProductInventorySourceEnum.md) | 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. | [`TravelProduct`](TravelProduct.md).`inventorySource` | -| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` | [`TravelProduct`](TravelProduct.md).`inventoryType` | +| `inventoryType` | `public` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` * `Activity` : `ACTIVITY` | [`TravelProduct`](TravelProduct.md).`inventoryType` | | `payLater?` | `public` | `boolean` | The attribute serves as a boolean indicator that significantly influences the handling of payment information during the fraud prevention process: * When \'pay_later\' is set to \'true\': - This configuration signals that payment information is optional for the booking. Travelers are given the choice to defer payment until they arrive at the rental counter following the completion of the booking. - It is imperative for partners to explicitly set this attribute to \'true\' when payment information can be optional for a particular booking scenario. * When \'pay_later\' is set to \'false\': - In this mode, the attribute mandates the inclusion of payment information during the order purchase screen request. Travelers are required to provide payment details. - Partners must exercise caution and ensure they supply the necessary payment information, as failure to do so in cases where \'pay_later\' is set to \'false\' will result in a \'Bad Request\' error. This error helps maintain the consistency and accuracy of the fraud prevention process and payment handling. | [`TravelProduct`](TravelProduct.md).`payLater` | | `price` | `public` | [`Amount`](Amount.md) | - | [`TravelProduct`](TravelProduct.md).`price` | | `railSegments` | `public` | [`RailSegments`](RailSegments.md)[] | - | - | | `routeType` | `public` | [`RailRouteTypeEnum`](../type-aliases/RailRouteTypeEnum.md) | 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. | - | -| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | +| `travelersReferences?` | `public` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * Activity * [GUID1] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | [`TravelProduct`](TravelProduct.md).`travelersReferences` | | `type` | `readonly` | `"RAIL"` | - | - | diff --git a/release/fraudPreventionV2/docs/models/classes/SupplyProvider.md b/release/fraudPreventionV2/docs/models/classes/SupplyProvider.md new file mode 100644 index 00000000..5d81c9b6 --- /dev/null +++ b/release/fraudPreventionV2/docs/models/classes/SupplyProvider.md @@ -0,0 +1,29 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / SupplyProvider + +# Class: SupplyProvider + +## Constructors + +### new SupplyProvider(supplyProvider) + +> **new SupplyProvider**(`supplyProvider`): [`SupplyProvider`](SupplyProvider.md) + +#### Parameters + +• **supplyProvider**: [`SupplyProviderProperties`](../interfaces/SupplyProviderProperties.md) + +#### Returns + +[`SupplyProvider`](SupplyProvider.md) + +#### Source + +models/SupplyProvider.ts:41 + +## Properties + +| Property | Type | Description | +| :------ | :------ | :------ | +| `name` | `string` | This field provides name of the partner involved in offering the activity. | +| `type` | [`SupplyProviderTypeEnum`](../type-aliases/SupplyProviderTypeEnum.md) | This field indicates the nature or relationship of the vendor associated with a particular activity. * `THIRD_PARTY`: This value indicates that the partner integrates with a third-party platform via APIs and ingests activities from them. * `DIRECT`: This value signifies that the partner is a direct entity or provider associated with the organization or platform offering the activity. | +| `vendorName?` | `string` | This field describes the name of the third-party vendor who provided the supply provider or the operating company with the activity. | diff --git a/release/fraudPreventionV2/docs/models/classes/Ticket.md b/release/fraudPreventionV2/docs/models/classes/Ticket.md new file mode 100644 index 00000000..2b027a6f --- /dev/null +++ b/release/fraudPreventionV2/docs/models/classes/Ticket.md @@ -0,0 +1,28 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / Ticket + +# Class: Ticket + +## Constructors + +### new Ticket(ticket) + +> **new Ticket**(`ticket`): [`Ticket`](Ticket.md) + +#### Parameters + +• **ticket**: [`TicketProperties`](../interfaces/TicketProperties.md) + +#### Returns + +[`Ticket`](Ticket.md) + +#### Source + +models/Ticket.ts:36 + +## Properties + +| Property | Type | Description | +| :------ | :------ | :------ | +| `quantity` | `number` | This field represents the count or number of tickets associated with the type. | +| `type` | [`TicketTypeEnum`](../type-aliases/TicketTypeEnum.md) | Specifies the type of the ticket, such as ADULT, CHILD, SENIOR, STUDENT, or OTHER. | diff --git a/release/fraudPreventionV2/docs/models/classes/TravelProduct.md b/release/fraudPreventionV2/docs/models/classes/TravelProduct.md index 6be0e1cb..4ac4faed 100644 --- a/release/fraudPreventionV2/docs/models/classes/TravelProduct.md +++ b/release/fraudPreventionV2/docs/models/classes/TravelProduct.md @@ -2,10 +2,11 @@ # Class: 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` +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` * `ACTIVITY`: `Activity` ## Extended by +- [`Activity`](Activity.md) - [`Air`](Air.md) - [`Car`](Car.md) - [`Cruise`](Cruise.md) @@ -36,7 +37,7 @@ models/TravelProduct.ts:56 | Property | Type | Description | | :------ | :------ | :------ | | `inventorySource` | [`TravelProductInventorySourceEnum`](../type-aliases/TravelProductInventorySourceEnum.md) | 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. | -| `inventoryType` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` | +| `inventoryType` | `string` | Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` * `Activity` : `ACTIVITY` | | `payLater?` | `boolean` | The attribute serves as a boolean indicator that significantly influences the handling of payment information during the fraud prevention process: * When \'pay_later\' is set to \'true\': - This configuration signals that payment information is optional for the booking. Travelers are given the choice to defer payment until they arrive at the rental counter following the completion of the booking. - It is imperative for partners to explicitly set this attribute to \'true\' when payment information can be optional for a particular booking scenario. * When \'pay_later\' is set to \'false\': - In this mode, the attribute mandates the inclusion of payment information during the order purchase screen request. Travelers are required to provide payment details. - Partners must exercise caution and ensure they supply the necessary payment information, as failure to do so in cases where \'pay_later\' is set to \'false\' will result in a \'Bad Request\' error. This error helps maintain the consistency and accuracy of the fraud prevention process and payment handling. | | `price` | [`Amount`](Amount.md) | - | -| `travelersReferences?` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | +| `travelersReferences?` | `string`[] | List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * Activity * [GUID1] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. | diff --git a/release/fraudPreventionV2/docs/models/index.md b/release/fraudPreventionV2/docs/models/index.md index 3959cb4d..4bdd90e2 100644 --- a/release/fraudPreventionV2/docs/models/index.md +++ b/release/fraudPreventionV2/docs/models/index.md @@ -21,12 +21,14 @@ - [AccountUpdateNotFoundError](classes/AccountUpdateNotFoundError.md) - [AccountUpdateRequest](classes/AccountUpdateRequest.md) - [AccountUpdateResponse](classes/AccountUpdateResponse.md) +- [Activity](classes/Activity.md) - [Address](classes/Address.md) - [Air](classes/Air.md) - [AirSegment](classes/AirSegment.md) - [Amount](classes/Amount.md) - [Authorize](classes/Authorize.md) - [AuthorizeReversal](classes/AuthorizeReversal.md) +- [AvailablePolicy](classes/AvailablePolicy.md) - [BadGatewayError](classes/BadGatewayError.md) - [BadRequestError](classes/BadRequestError.md) - [BadRequestErrorAllOfCauses](classes/BadRequestErrorAllOfCauses.md) @@ -36,11 +38,13 @@ - [ChallengeDetail](classes/ChallengeDetail.md) - [ChargebackDetail](classes/ChargebackDetail.md) - [ChargebackFeedback](classes/ChargebackFeedback.md) +- [Coordinates](classes/Coordinates.md) - [CreditCard](classes/CreditCard.md) - [Cruise](classes/Cruise.md) - [CurrentUserSession](classes/CurrentUserSession.md) - [CustomerAccount](classes/CustomerAccount.md) - [CustomerAccountAddress](classes/CustomerAccountAddress.md) +- [DelayedFulfillment](classes/DelayedFulfillment.md) - [DeviceDetails](classes/DeviceDetails.md) - [DirectDebit](classes/DirectDebit.md) - [Email](classes/Email.md) @@ -92,7 +96,9 @@ - [SettledRefundUpdate](classes/SettledRefundUpdate.md) - [SettledRefundUpdateDetails](classes/SettledRefundUpdateDetails.md) - [SiteInfo](classes/SiteInfo.md) +- [SupplyProvider](classes/SupplyProvider.md) - [Telephone](classes/Telephone.md) +- [Ticket](classes/Ticket.md) - [TooManyRequestsError](classes/TooManyRequestsError.md) - [TransactionDetails](classes/TransactionDetails.md) - [TravelProduct](classes/TravelProduct.md) @@ -117,12 +123,14 @@ - [AccountUpdateNotFoundErrorProperties](interfaces/AccountUpdateNotFoundErrorProperties.md) - [AccountUpdateRequestProperties](interfaces/AccountUpdateRequestProperties.md) - [AccountUpdateResponseProperties](interfaces/AccountUpdateResponseProperties.md) +- [ActivityProperties](interfaces/ActivityProperties.md) - [AddressProperties](interfaces/AddressProperties.md) - [AirProperties](interfaces/AirProperties.md) - [AirSegmentProperties](interfaces/AirSegmentProperties.md) - [AmountProperties](interfaces/AmountProperties.md) - [AuthorizeProperties](interfaces/AuthorizeProperties.md) - [AuthorizeReversalProperties](interfaces/AuthorizeReversalProperties.md) +- [AvailablePolicyProperties](interfaces/AvailablePolicyProperties.md) - [BadGatewayErrorProperties](interfaces/BadGatewayErrorProperties.md) - [BadRequestErrorAllOfCausesProperties](interfaces/BadRequestErrorAllOfCausesProperties.md) - [BadRequestErrorProperties](interfaces/BadRequestErrorProperties.md) @@ -132,11 +140,13 @@ - [ChallengeDetailProperties](interfaces/ChallengeDetailProperties.md) - [ChargebackDetailProperties](interfaces/ChargebackDetailProperties.md) - [ChargebackFeedbackProperties](interfaces/ChargebackFeedbackProperties.md) +- [CoordinatesProperties](interfaces/CoordinatesProperties.md) - [CreditCardProperties](interfaces/CreditCardProperties.md) - [CruiseProperties](interfaces/CruiseProperties.md) - [CurrentUserSessionProperties](interfaces/CurrentUserSessionProperties.md) - [CustomerAccountAddressProperties](interfaces/CustomerAccountAddressProperties.md) - [CustomerAccountProperties](interfaces/CustomerAccountProperties.md) +- [DelayedFulfillmentProperties](interfaces/DelayedFulfillmentProperties.md) - [DeviceDetailsProperties](interfaces/DeviceDetailsProperties.md) - [DirectDebitProperties](interfaces/DirectDebitProperties.md) - [EmailProperties](interfaces/EmailProperties.md) @@ -188,7 +198,9 @@ - [SettledRefundUpdateDetailsProperties](interfaces/SettledRefundUpdateDetailsProperties.md) - [SettledRefundUpdateProperties](interfaces/SettledRefundUpdateProperties.md) - [SiteInfoProperties](interfaces/SiteInfoProperties.md) +- [SupplyProviderProperties](interfaces/SupplyProviderProperties.md) - [TelephoneProperties](interfaces/TelephoneProperties.md) +- [TicketProperties](interfaces/TicketProperties.md) - [TooManyRequestsErrorProperties](interfaces/TooManyRequestsErrorProperties.md) - [TransactionDetailsProperties](interfaces/TransactionDetailsProperties.md) - [TravelProductProperties](interfaces/TravelProductProperties.md) @@ -251,8 +263,10 @@ - [RetryableOrderPurchaseUpdateFailureCodeEnum](type-aliases/RetryableOrderPurchaseUpdateFailureCodeEnum.md) - [ServiceUnavailableErrorCodeEnum](type-aliases/ServiceUnavailableErrorCodeEnum.md) - [Status](type-aliases/Status.md) +- [SupplyProviderTypeEnum](type-aliases/SupplyProviderTypeEnum.md) - [TelephonePlatformType](type-aliases/TelephonePlatformType.md) - [TelephoneType](type-aliases/TelephoneType.md) +- [TicketTypeEnum](type-aliases/TicketTypeEnum.md) - [TooManyRequestsErrorCodeEnum](type-aliases/TooManyRequestsErrorCodeEnum.md) - [TransactionDetailsCurrentOrderStatusEnum](type-aliases/TransactionDetailsCurrentOrderStatusEnum.md) - [TransactionDetailsOrderTypeEnum](type-aliases/TransactionDetailsOrderTypeEnum.md) diff --git a/release/fraudPreventionV2/docs/models/interfaces/ActivityProperties.md b/release/fraudPreventionV2/docs/models/interfaces/ActivityProperties.md new file mode 100644 index 00000000..86863cc8 --- /dev/null +++ b/release/fraudPreventionV2/docs/models/interfaces/ActivityProperties.md @@ -0,0 +1,26 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / ActivityProperties + +# Interface: ActivityProperties + +## Extends + +- [`TravelProductProperties`](TravelProductProperties.md) + +## Properties + +| Property | Type | Inherited from | +| :------ | :------ | :------ | +| `activityDescription` | `string` | - | +| `availablePolicy?` | [`AvailablePolicy`](../classes/AvailablePolicy.md) | - | +| `categoryName` | `string` | - | +| `coordinates` | [`Coordinates`](../classes/Coordinates.md) | - | +| `endDateTime?` | `Date` | - | +| `inventorySource` | [`TravelProductInventorySourceEnum`](../type-aliases/TravelProductInventorySourceEnum.md) | [`TravelProductProperties`](TravelProductProperties.md).`inventorySource` | +| `inventoryType` | `string` | [`TravelProductProperties`](TravelProductProperties.md).`inventoryType` | +| `isPassbook?` | `boolean` | - | +| `payLater?` | `boolean` | [`TravelProductProperties`](TravelProductProperties.md).`payLater` | +| `price` | [`Amount`](../classes/Amount.md) | [`TravelProductProperties`](TravelProductProperties.md).`price` | +| `startDateTime?` | `Date` | - | +| `supplyProvider` | [`SupplyProvider`](../classes/SupplyProvider.md) | - | +| `tickets` | [`Ticket`](../classes/Ticket.md)[] | - | +| `travelersReferences?` | `string`[] | [`TravelProductProperties`](TravelProductProperties.md).`travelersReferences` | diff --git a/release/fraudPreventionV2/docs/models/interfaces/AvailablePolicyProperties.md b/release/fraudPreventionV2/docs/models/interfaces/AvailablePolicyProperties.md new file mode 100644 index 00000000..7f1287fa --- /dev/null +++ b/release/fraudPreventionV2/docs/models/interfaces/AvailablePolicyProperties.md @@ -0,0 +1,9 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / AvailablePolicyProperties + +# Interface: AvailablePolicyProperties + +## Properties + +| Property | Type | +| :------ | :------ | +| `delayedFulfillment?` | [`DelayedFulfillment`](../classes/DelayedFulfillment.md) | diff --git a/release/fraudPreventionV2/docs/models/interfaces/CoordinatesProperties.md b/release/fraudPreventionV2/docs/models/interfaces/CoordinatesProperties.md new file mode 100644 index 00000000..0dfd520a --- /dev/null +++ b/release/fraudPreventionV2/docs/models/interfaces/CoordinatesProperties.md @@ -0,0 +1,10 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / CoordinatesProperties + +# Interface: CoordinatesProperties + +## Properties + +| Property | Type | +| :------ | :------ | +| `latitude` | `number` | +| `longitude` | `number` | diff --git a/release/fraudPreventionV2/docs/models/interfaces/DelayedFulfillmentProperties.md b/release/fraudPreventionV2/docs/models/interfaces/DelayedFulfillmentProperties.md new file mode 100644 index 00000000..a8b10502 --- /dev/null +++ b/release/fraudPreventionV2/docs/models/interfaces/DelayedFulfillmentProperties.md @@ -0,0 +1,12 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / DelayedFulfillmentProperties + +# Interface: DelayedFulfillmentProperties + +## Properties + +| Property | Type | +| :------ | :------ | +| `holdDurationUnitOfMeasure?` | `string` | +| `holdDurationValue?` | `number` | +| `isAvailable?` | `boolean` | +| `isDelayedCustomerConfirmation?` | `boolean` | diff --git a/release/fraudPreventionV2/docs/models/interfaces/SupplyProviderProperties.md b/release/fraudPreventionV2/docs/models/interfaces/SupplyProviderProperties.md new file mode 100644 index 00000000..48808b19 --- /dev/null +++ b/release/fraudPreventionV2/docs/models/interfaces/SupplyProviderProperties.md @@ -0,0 +1,11 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / SupplyProviderProperties + +# Interface: SupplyProviderProperties + +## Properties + +| Property | Type | +| :------ | :------ | +| `name` | `string` | +| `type` | [`SupplyProviderTypeEnum`](../type-aliases/SupplyProviderTypeEnum.md) | +| `vendorName?` | `string` | diff --git a/release/fraudPreventionV2/docs/models/interfaces/TicketProperties.md b/release/fraudPreventionV2/docs/models/interfaces/TicketProperties.md new file mode 100644 index 00000000..729f8d7c --- /dev/null +++ b/release/fraudPreventionV2/docs/models/interfaces/TicketProperties.md @@ -0,0 +1,10 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / TicketProperties + +# Interface: TicketProperties + +## Properties + +| Property | Type | +| :------ | :------ | +| `quantity` | `number` | +| `type` | [`TicketTypeEnum`](../type-aliases/TicketTypeEnum.md) | diff --git a/release/fraudPreventionV2/docs/models/interfaces/TravelProductProperties.md b/release/fraudPreventionV2/docs/models/interfaces/TravelProductProperties.md index e6f8cacc..8cd564d5 100644 --- a/release/fraudPreventionV2/docs/models/interfaces/TravelProductProperties.md +++ b/release/fraudPreventionV2/docs/models/interfaces/TravelProductProperties.md @@ -4,6 +4,7 @@ ## Extended by +- [`ActivityProperties`](ActivityProperties.md) - [`AirProperties`](AirProperties.md) - [`CarProperties`](CarProperties.md) - [`CruiseProperties`](CruiseProperties.md) diff --git a/release/fraudPreventionV2/docs/models/type-aliases/SupplyProviderTypeEnum.md b/release/fraudPreventionV2/docs/models/type-aliases/SupplyProviderTypeEnum.md new file mode 100644 index 00000000..43942fda --- /dev/null +++ b/release/fraudPreventionV2/docs/models/type-aliases/SupplyProviderTypeEnum.md @@ -0,0 +1,9 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / SupplyProviderTypeEnum + +# Type alias: SupplyProviderTypeEnum + +> **SupplyProviderTypeEnum**: `"THIRD_PARTY"` \| `"DIRECT"` + +## Source + +models/SupplyProvider.ts:48 diff --git a/release/fraudPreventionV2/docs/models/type-aliases/TicketTypeEnum.md b/release/fraudPreventionV2/docs/models/type-aliases/TicketTypeEnum.md new file mode 100644 index 00000000..168fbd55 --- /dev/null +++ b/release/fraudPreventionV2/docs/models/type-aliases/TicketTypeEnum.md @@ -0,0 +1,9 @@ +[@expediagroup/fraudpreventionv2-sdk](../../index.md) / [models](../index.md) / TicketTypeEnum + +# Type alias: TicketTypeEnum + +> **TicketTypeEnum**: `"ADULT"` \| `"CHILD"` \| `"SENIOR"` \| `"STUDENT"` \| `"OTHER"` + +## Source + +models/Ticket.ts:42 diff --git a/release/fraudPreventionV2/docs/models/type-aliases/TravelProductType.md b/release/fraudPreventionV2/docs/models/type-aliases/TravelProductType.md index 1280a910..38ddbe16 100644 --- a/release/fraudPreventionV2/docs/models/type-aliases/TravelProductType.md +++ b/release/fraudPreventionV2/docs/models/type-aliases/TravelProductType.md @@ -2,7 +2,7 @@ # Type alias: TravelProductType -> **TravelProductType**: `"CRUISE"` \| `"AIR"` \| `"CAR"` \| `"INSURANCE"` \| `"HOTEL"` \| `"RAIL"` +> **TravelProductType**: `"CRUISE"` \| `"AIR"` \| `"CAR"` \| `"INSURANCE"` \| `"HOTEL"` \| `"RAIL"` \| `"ACTIVITY"` Type of product. diff --git a/release/fraudPreventionV2/src/client/apis/FraudPreventionV2Client.ts b/release/fraudPreventionV2/src/client/apis/FraudPreventionV2Client.ts index c361cea3..7b6645dc 100644 --- a/release/fraudPreventionV2/src/client/apis/FraudPreventionV2Client.ts +++ b/release/fraudPreventionV2/src/client/apis/FraudPreventionV2Client.ts @@ -49,7 +49,7 @@ export class FraudPreventionV2Client extends Client { private static readonly nodeVersion: string = process.version private static readonly operatingSystemName: string = platform() private static readonly operatingSystemVersion: string = release() - private static readonly userAgent: string = `${this.sdkTitle}/4.4.0 (Node.js ${this.nodeVersion} ${this.operatingSystemName} ${this.operatingSystemVersion})` + private static readonly userAgent: string = `${this.sdkTitle}/5.0.0 (Node.js ${this.nodeVersion} ${this.operatingSystemName} ${this.operatingSystemVersion})` constructor(configurations: ClientConfigurations) { super({ @@ -58,11 +58,11 @@ export class FraudPreventionV2Client extends Client { }) } - private static createHeaders(transactionId: string) { + private static createHeaders() { return { 'Content-Type': 'application/json', 'User-Agent': FraudPreventionV2Client.userAgent, - 'transaction-id': transactionId, + 'transaction-id': uuid(), 'x-sdk-title': FraudPreventionV2Client.sdkTitle, } } @@ -71,7 +71,7 @@ export class FraudPreventionV2Client extends Client { * Send an update as a result of an account screen transaction * The Account Update API is called when there is an account lifecycle transition such as a challenge outcome, account restoration, or remediation action completion. For example, if a user\'s account is disabled, deleted, or restored, the Account Update API is called to notify Expedia Group about the change. The Account Update API is also called when a user responds to a login Multi-Factor Authentication based on a Fraud recommendation. * @param accountUpdateRequest An AccountUpdate request may be of one of the following types `MULTI_FACTOR_AUTHENTICATION_UPDATE`, `REMEDIATION_UPDATE`. - * @param transactionId A unique ID to uniquely identify a request/response cycle (optional, defaults to a random generated UUID) + * @throws ExpediaGroupApiAccountTakeoverBadRequestError * @throws ExpediaGroupApiAccountTakeoverUnauthorizedError * @throws ExpediaGroupApiForbiddenError @@ -85,13 +85,12 @@ export class FraudPreventionV2Client extends Client { */ notifyWithAccountUpdate( accountUpdateRequest: AccountUpdateRequest, - transactionId: string = uuid(), ): Promise { let responsePromise = this.axiosClient .request({ method: 'POST', url: 'fraud-prevention/v2/account/update', - headers: FraudPreventionV2Client.createHeaders(transactionId), + headers: FraudPreventionV2Client.createHeaders(), data: Serializer.serialize(accountUpdateRequest), }) .catch((error) => { @@ -112,9 +111,9 @@ export class FraudPreventionV2Client extends Client { } /** * Send an update for a transaction - * The Order Purchase Update API is called when the status of the order has changed. For example, if the customer cancels the reservation, changes reservation in any way, or adds additional products or travelers to the reservation, the Order Purchase Update API is called to notify Expedia Group about the change. The Order Purchase Update API is also called when the merchant cancels or changes an order based on a Fraud recommendation. - * @param orderPurchaseUpdateRequest An OrderPurchaseUpdate request may be of one of the following types `ORDER_UPDATE`, `CHARGEBACK_FEEDBACK`, `INSULT_FEEDBACK`, `REFUND_UPDATE`, `PAYMENT_UPDATE`. - * @param transactionId A unique ID to uniquely identify a request/response cycle (optional, defaults to a random generated UUID) + * The Order Purchase Update API is called when the status of the order has changed. For example, if the customer cancels the reservation, changes reservation in any way, or adds additional products or travelers to the reservation, the Order Purchase Update API is called to notify Expedia Group about the change. The Order Purchase Update API is also called when the merchant cancels or changes an order based on a Fraud recommendation. + * @param orderPurchaseUpdateRequest An OrderPurchaseUpdate request may be of one of the following types `ORDER_UPDATE`, `CHARGEBACK_FEEDBACK`, `INSULT_FEEDBACK`, `REFUND_UPDATE`, `PAYMENT_UPDATE`. + * @throws ExpediaGroupApiBadRequestError * @throws ExpediaGroupApiUnauthorizedError * @throws ExpediaGroupApiForbiddenError @@ -128,13 +127,12 @@ export class FraudPreventionV2Client extends Client { */ notifyWithOrderUpdate( orderPurchaseUpdateRequest: OrderPurchaseUpdateRequest, - transactionId: string = uuid(), ): Promise { let responsePromise = this.axiosClient .request({ method: 'POST', url: 'fraud-prevention/v2/order/purchase/update', - headers: FraudPreventionV2Client.createHeaders(transactionId), + headers: FraudPreventionV2Client.createHeaders(), data: Serializer.serialize(orderPurchaseUpdateRequest), }) .catch((error) => { @@ -156,8 +154,8 @@ export class FraudPreventionV2Client extends Client { /** * Run fraud screening for one transaction * The Account Screen API gives a Fraud recommendation for an account transaction. A recommendation can be ACCEPT, CHALLENGE, or REJECT. A transaction is marked as CHALLENGE whenever there are insufficient signals to recommend ACCEPT or REJECT. These CHALLENGE incidents are manually reviewed, and a corrected recommendation is made asynchronously. - * @param accountScreenRequest - * @param transactionId A unique ID to uniquely identify a request/response cycle (optional, defaults to a random generated UUID) + * @param accountScreenRequest + * @throws ExpediaGroupApiAccountTakeoverBadRequestError * @throws ExpediaGroupApiAccountTakeoverUnauthorizedError * @throws ExpediaGroupApiForbiddenError @@ -171,13 +169,12 @@ export class FraudPreventionV2Client extends Client { */ screenAccount( accountScreenRequest: AccountScreenRequest, - transactionId: string = uuid(), ): Promise { let responsePromise = this.axiosClient .request({ method: 'POST', url: 'fraud-prevention/v2/account/screen', - headers: FraudPreventionV2Client.createHeaders(transactionId), + headers: FraudPreventionV2Client.createHeaders(), data: Serializer.serialize(accountScreenRequest), }) .catch((error) => { @@ -195,9 +192,9 @@ export class FraudPreventionV2Client extends Client { } /** * Run fraud screening for one transaction - * The Order Purchase API gives a Fraud recommendation for a transaction. A recommendation can be Accept, Reject, or Review. A transaction is marked as Review whenever there are insufficient signals to recommend Accept or Reject. These incidents are manually reviewed, and a corrected recommendation is made asynchronously. - * @param orderPurchaseScreenRequest - * @param transactionId A unique ID to uniquely identify a request/response cycle (optional, defaults to a random generated UUID) + * The Order Purchase API gives a Fraud recommendation for a transaction. A recommendation can be Accept, Reject, or Review. A transaction is marked as Review whenever there are insufficient signals to recommend Accept or Reject. These incidents are manually reviewed, and a corrected recommendation is made asynchronously. + * @param orderPurchaseScreenRequest + * @throws ExpediaGroupApiBadRequestError * @throws ExpediaGroupApiUnauthorizedError * @throws ExpediaGroupApiForbiddenError @@ -211,13 +208,12 @@ export class FraudPreventionV2Client extends Client { */ screenOrder( orderPurchaseScreenRequest: OrderPurchaseScreenRequest, - transactionId: string = uuid(), ): Promise { let responsePromise = this.axiosClient .request({ method: 'POST', url: 'fraud-prevention/v2/order/purchase/screen', - headers: FraudPreventionV2Client.createHeaders(transactionId), + headers: FraudPreventionV2Client.createHeaders(), data: Serializer.serialize(orderPurchaseScreenRequest), }) .catch((error) => { diff --git a/release/fraudPreventionV2/src/models/Activity.ts b/release/fraudPreventionV2/src/models/Activity.ts new file mode 100644 index 00000000..faf100ab --- /dev/null +++ b/release/fraudPreventionV2/src/models/Activity.ts @@ -0,0 +1,118 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AvailablePolicy } from './AvailablePolicy' +import { Coordinates } from './Coordinates' +import { SupplyProvider } from './SupplyProvider' +import { Ticket } from './Ticket' +import { TravelProduct } from './TravelProduct' + +import { SupplyProviderMapper } from './SupplyProviderMapper' + +import { TicketMapper } from './TicketMapper' + +import { CoordinatesMapper } from './CoordinatesMapper' + +import { AvailablePolicyMapper } from './AvailablePolicyMapper' + +import { JsonObject, JsonProperty } from 'typescript-json-serializer' +import { TravelProductProperties } from './TravelProduct' + +@JsonObject({ constructorParams: [{}] }) +export class Activity extends TravelProduct { + /** + * This field categorizes various types of activities available within the product. It allows API consumers to assign descriptive labels or keywords representing the nature of each activity. Possible category name values include: * `Adventures`: This category includes activities such as hiking, zip-lining, rock climbing, bungee jumping, and other adventurous pursuits. * `Air, Balloon & Helicopter Tours`: This category offers activities like hot air balloon rides, helicopter tours, and aerial sightseeing experiences. * `Cruises & Water Tours`: This includes options such as boat cruises, yacht tours, river rafting, snorkeling, and diving expeditions. * `Nightlife`: This category encompasses activities like clubbing, pub crawls, live music events, and cultural performances. These activities predominantly occur during the evening or nighttime. + */ + @JsonProperty({ name: 'category_name' }) + categoryName: string + /** + * This field provides additional details or a brief explanation of the specific activity. + */ + @JsonProperty({ name: 'activity_description' }) + activityDescription: string + @JsonProperty({ + name: 'supply_provider', + type: (property) => SupplyProviderMapper.getType(property), + }) + supplyProvider: SupplyProvider + @JsonProperty({ + name: 'tickets', + type: (property) => TicketMapper.getType(property), + }) + tickets: Array + @JsonProperty({ + name: 'coordinates', + type: (property) => CoordinatesMapper.getType(property), + }) + coordinates: Coordinates + /** + * The field represents the start time of an activity, using the ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. + */ + @JsonProperty({ name: 'start_date_time' }) + startDateTime?: Date + /** + * The field represents the end time of an activity, using the ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. + */ + @JsonProperty({ name: 'end_date_time' }) + endDateTime?: Date + /** + * Indicates whether a QR code is required for an activity, serving as proof of reservation or purchase. This includes digital tickets saved on mobile applications such as Google Pay, Apple Wallet, or similar services provided by activity organizers. + */ + @JsonProperty({ name: 'is_passbook' }) + isPassbook?: boolean + @JsonProperty({ + name: 'available_policy', + type: (property) => AvailablePolicyMapper.getType(property), + }) + availablePolicy?: AvailablePolicy + + @JsonProperty('type') + readonly type = 'ACTIVITY' + + public constructor(activity: ActivityProperties) { + super({ + price: activity.price, + inventoryType: activity.inventoryType, + inventorySource: activity.inventorySource, + travelersReferences: activity.travelersReferences, + payLater: activity.payLater, + }) + this.categoryName = activity.categoryName + this.activityDescription = activity.activityDescription + this.supplyProvider = activity.supplyProvider + this.tickets = activity.tickets + this.coordinates = activity.coordinates + this.startDateTime = activity.startDateTime + this.endDateTime = activity.endDateTime + this.isPassbook = activity.isPassbook + this.availablePolicy = activity.availablePolicy + } +} + +export interface ActivityProperties extends TravelProductProperties { + categoryName: string + activityDescription: string + supplyProvider: SupplyProvider + tickets: Array + coordinates: Coordinates + startDateTime?: Date + endDateTime?: Date + isPassbook?: boolean + availablePolicy?: AvailablePolicy +} diff --git a/release/fraudPreventionV2/src/models/ActivityMapper.ts b/release/fraudPreventionV2/src/models/ActivityMapper.ts new file mode 100644 index 00000000..5d4a08fe --- /dev/null +++ b/release/fraudPreventionV2/src/models/ActivityMapper.ts @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { Activity } from './Activity' + +export class ActivityMapper { + static getType(_) { + return Activity + } +} diff --git a/release/fraudPreventionV2/src/models/AvailablePolicy.ts b/release/fraudPreventionV2/src/models/AvailablePolicy.ts new file mode 100644 index 00000000..16e43edb --- /dev/null +++ b/release/fraudPreventionV2/src/models/AvailablePolicy.ts @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { DelayedFulfillment } from './DelayedFulfillment' +import { DelayedFulfillmentMapper } from './DelayedFulfillmentMapper' + +import { JsonObject, JsonProperty } from 'typescript-json-serializer' + +@JsonObject({ constructorParams: [{}] }) +export class AvailablePolicy { + @JsonProperty({ + name: 'delayed_fulfillment', + type: (property) => DelayedFulfillmentMapper.getType(property), + }) + delayedFulfillment?: DelayedFulfillment + + public constructor(availablePolicy: AvailablePolicyProperties) { + this.delayedFulfillment = availablePolicy.delayedFulfillment + } +} + +export interface AvailablePolicyProperties { + delayedFulfillment?: DelayedFulfillment +} diff --git a/release/fraudPreventionV2/src/models/AvailablePolicyMapper.ts b/release/fraudPreventionV2/src/models/AvailablePolicyMapper.ts new file mode 100644 index 00000000..7b3ac8de --- /dev/null +++ b/release/fraudPreventionV2/src/models/AvailablePolicyMapper.ts @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AvailablePolicy } from './AvailablePolicy' + +export class AvailablePolicyMapper { + static getType(_) { + return AvailablePolicy + } +} diff --git a/release/fraudPreventionV2/src/models/Coordinates.ts b/release/fraudPreventionV2/src/models/Coordinates.ts new file mode 100644 index 00000000..2540e624 --- /dev/null +++ b/release/fraudPreventionV2/src/models/Coordinates.ts @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { JsonObject, JsonProperty } from 'typescript-json-serializer' + +/** + * This field signifies the precise geographical coordinates denoting the location of the activity. + */ +@JsonObject({ constructorParams: [{}] }) +export class Coordinates { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + @JsonProperty({ name: 'latitude' }) + latitude: number + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + @JsonProperty({ name: 'longitude' }) + longitude: number + + public constructor(coordinates: CoordinatesProperties) { + this.latitude = coordinates.latitude + this.longitude = coordinates.longitude + } +} + +export interface CoordinatesProperties { + latitude: number + longitude: number +} diff --git a/release/fraudPreventionV2/src/models/CoordinatesMapper.ts b/release/fraudPreventionV2/src/models/CoordinatesMapper.ts new file mode 100644 index 00000000..e7a4bd34 --- /dev/null +++ b/release/fraudPreventionV2/src/models/CoordinatesMapper.ts @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { Coordinates } from './Coordinates' + +export class CoordinatesMapper { + static getType(_) { + return Coordinates + } +} diff --git a/release/fraudPreventionV2/src/models/DelayedFulfillment.ts b/release/fraudPreventionV2/src/models/DelayedFulfillment.ts new file mode 100644 index 00000000..3761718c --- /dev/null +++ b/release/fraudPreventionV2/src/models/DelayedFulfillment.ts @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { JsonObject, JsonProperty } from 'typescript-json-serializer' + +/** + * This field holds details about activity\'s capabilities and execution details related to inventory hold functionality. + */ +@JsonObject({ constructorParams: [{}] }) +export class DelayedFulfillment { + /** + * This field indicates if the fulfillment of an activity is possible or not. + */ + @JsonProperty({ name: 'is_available' }) + isAvailable?: boolean + /** + * This field indicates the duration of the hold on an activity. + */ + @JsonProperty({ name: 'hold_duration_value' }) + holdDurationValue?: number + /** + * This field indicates the unit of duration of the hold on an activity. + */ + @JsonProperty({ name: 'hold_duration_unit_of_measure' }) + holdDurationUnitOfMeasure?: string + /** + * This field indicates whether customer order confirmation can be delayed. Customer will receive ticket number, voucher ID or any other type of confirmation until transaction is successfully completed or approved by an analyst during the review process. + */ + @JsonProperty({ name: 'is_delayed_customer_confirmation' }) + isDelayedCustomerConfirmation?: boolean + + public constructor(delayedFulfillment: DelayedFulfillmentProperties) { + this.isAvailable = delayedFulfillment.isAvailable + this.holdDurationValue = delayedFulfillment.holdDurationValue + this.holdDurationUnitOfMeasure = + delayedFulfillment.holdDurationUnitOfMeasure + this.isDelayedCustomerConfirmation = + delayedFulfillment.isDelayedCustomerConfirmation + } +} + +export interface DelayedFulfillmentProperties { + isAvailable?: boolean + holdDurationValue?: number + holdDurationUnitOfMeasure?: string + isDelayedCustomerConfirmation?: boolean +} diff --git a/release/fraudPreventionV2/src/models/DelayedFulfillmentMapper.ts b/release/fraudPreventionV2/src/models/DelayedFulfillmentMapper.ts new file mode 100644 index 00000000..4dc7571e --- /dev/null +++ b/release/fraudPreventionV2/src/models/DelayedFulfillmentMapper.ts @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { DelayedFulfillment } from './DelayedFulfillment' + +export class DelayedFulfillmentMapper { + static getType(_) { + return DelayedFulfillment + } +} diff --git a/release/fraudPreventionV2/src/models/SupplyProvider.ts b/release/fraudPreventionV2/src/models/SupplyProvider.ts new file mode 100644 index 00000000..f4f0db1c --- /dev/null +++ b/release/fraudPreventionV2/src/models/SupplyProvider.ts @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { JsonObject, JsonProperty } from 'typescript-json-serializer' + +@JsonObject({ constructorParams: [{}] }) +export class SupplyProvider { + /** + * This field provides name of the partner involved in offering the activity. + */ + @JsonProperty({ name: 'name' }) + name: string + /** + * This field indicates the nature or relationship of the vendor associated with a particular activity. * `THIRD_PARTY`: This value indicates that the partner integrates with a third-party platform via APIs and ingests activities from them. * `DIRECT`: This value signifies that the partner is a direct entity or provider associated with the organization or platform offering the activity. + */ + @JsonProperty({ name: 'type' }) + type: SupplyProviderTypeEnum + /** + * This field describes the name of the third-party vendor who provided the supply provider or the operating company with the activity. + */ + @JsonProperty({ name: 'vendor_name' }) + vendorName?: string + + public constructor(supplyProvider: SupplyProviderProperties) { + this.name = supplyProvider.name + this.type = supplyProvider.type + this.vendorName = supplyProvider.vendorName + } +} + +export type SupplyProviderTypeEnum = 'THIRD_PARTY' | 'DIRECT' + +export interface SupplyProviderProperties { + name: string + type: SupplyProviderTypeEnum + vendorName?: string +} diff --git a/release/fraudPreventionV2/src/models/SupplyProviderMapper.ts b/release/fraudPreventionV2/src/models/SupplyProviderMapper.ts new file mode 100644 index 00000000..a442b65c --- /dev/null +++ b/release/fraudPreventionV2/src/models/SupplyProviderMapper.ts @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { SupplyProvider } from './SupplyProvider' + +export class SupplyProviderMapper { + static getType(_) { + return SupplyProvider + } +} diff --git a/release/fraudPreventionV2/src/models/Ticket.ts b/release/fraudPreventionV2/src/models/Ticket.ts new file mode 100644 index 00000000..1d96f1e3 --- /dev/null +++ b/release/fraudPreventionV2/src/models/Ticket.ts @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { JsonObject, JsonProperty } from 'typescript-json-serializer' + +@JsonObject({ constructorParams: [{}] }) +export class Ticket { + /** + * Specifies the type of the ticket, such as ADULT, CHILD, SENIOR, STUDENT, or OTHER. + */ + @JsonProperty({ name: 'type' }) + type: TicketTypeEnum + /** + * This field represents the count or number of tickets associated with the type. + */ + @JsonProperty({ name: 'quantity' }) + quantity: number + + public constructor(ticket: TicketProperties) { + this.type = ticket.type + this.quantity = ticket.quantity + } +} + +export type TicketTypeEnum = 'ADULT' | 'CHILD' | 'SENIOR' | 'STUDENT' | 'OTHER' + +export interface TicketProperties { + type: TicketTypeEnum + quantity: number +} diff --git a/release/fraudPreventionV2/src/models/TicketMapper.ts b/release/fraudPreventionV2/src/models/TicketMapper.ts new file mode 100644 index 00000000..c3d4fa48 --- /dev/null +++ b/release/fraudPreventionV2/src/models/TicketMapper.ts @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2023 Expedia, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { Ticket } from './Ticket' + +export class TicketMapper { + static getType(_) { + return Ticket + } +} diff --git a/release/fraudPreventionV2/src/models/TravelProduct.ts b/release/fraudPreventionV2/src/models/TravelProduct.ts index d0a9a955..e3a581ca 100644 --- a/release/fraudPreventionV2/src/models/TravelProduct.ts +++ b/release/fraudPreventionV2/src/models/TravelProduct.ts @@ -23,7 +23,7 @@ import { AmountMapper } from './AmountMapper' import { JsonObject, JsonProperty } from 'typescript-json-serializer' /** - * 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` + * 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` * `ACTIVITY`: `Activity` */ @JsonObject({ constructorParams: [{}] }) export class TravelProduct { @@ -33,7 +33,7 @@ export class TravelProduct { }) price: Amount /** - * Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` + * Type of inventory. Ensure attributes mentioned in dictionary below are set to corresponding values only. `inventory_type` has the following mapping with TravelProduct `type` attribute: * inventory_type : type * ------------------------------------------------------ * `Cruise` : `CRUISE` * `Air` : `AIR` * `Car` : `CAR` * `Insurance` : `INSURANCE` * `Hotel` : `HOTEL` * `Rail` : `RAIL` * `Activity` : `ACTIVITY` */ @JsonProperty({ name: 'inventory_type' }) inventoryType: string @@ -43,7 +43,7 @@ export class TravelProduct { @JsonProperty({ name: 'inventory_source' }) inventorySource: TravelProductInventorySourceEnum /** - * List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. + * List of travelerGuids who are part of the traveling party on the order for the product. Information for each product and its required travelers should be provided in the API request. If the product booking does not require accompanying quest information then that does not need to be provided in the API request. Example: * For Air products, all travelers\' details are required to complete the booking. * For Hotel products, typically the details on the person checking-in is required. * For Car products, typically only the primary driver information is required. If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers. This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below. The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id. Example: * Travelers * ------------ * A - GUID1 * B - GUID2 * C - GUID3 * * Products * ------------ * Air * [GUID1, GUID2, GUID3] * Hotel * [GUID1] * Car * [GUID3] * Rail * [GUID2] * Activity * [GUID1] * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. * Traveler B is associated with the Rail product. */ @JsonProperty({ name: 'travelers_references' }) travelersReferences?: Array diff --git a/release/fraudPreventionV2/src/models/TravelProductMapper.ts b/release/fraudPreventionV2/src/models/TravelProductMapper.ts index e59f63df..93e18d33 100644 --- a/release/fraudPreventionV2/src/models/TravelProductMapper.ts +++ b/release/fraudPreventionV2/src/models/TravelProductMapper.ts @@ -17,6 +17,7 @@ * https://openapi-generator.tech * Do not edit the class manually. */ +import { Activity } from './Activity' import { Air } from './Air' import { Car } from './Car' import { Cruise } from './Cruise' @@ -27,6 +28,7 @@ import { TravelProduct } from './TravelProduct' export class TravelProductMapper { static subTypes = new Map([ + ['ACTIVITY', Activity], ['AIR', Air], ['CAR', Car], ['CRUISE', Cruise], diff --git a/release/fraudPreventionV2/src/models/TravelProductType.ts b/release/fraudPreventionV2/src/models/TravelProductType.ts index 65090734..e7749c7e 100644 --- a/release/fraudPreventionV2/src/models/TravelProductType.ts +++ b/release/fraudPreventionV2/src/models/TravelProductType.ts @@ -28,3 +28,4 @@ export type TravelProductType = | 'INSURANCE' | 'HOTEL' | 'RAIL' + | 'ACTIVITY' diff --git a/release/fraudPreventionV2/src/models/index.ts b/release/fraudPreventionV2/src/models/index.ts index db0519f7..a8c54d36 100644 --- a/release/fraudPreventionV2/src/models/index.ts +++ b/release/fraudPreventionV2/src/models/index.ts @@ -34,12 +34,14 @@ export * from './AccountTransaction' export * from './AccountUpdateNotFoundError' export * from './AccountUpdateRequest' export * from './AccountUpdateResponse' +export * from './Activity' export * from './Address' export * from './Air' export * from './AirSegment' export * from './Amount' export * from './Authorize' export * from './AuthorizeReversal' +export * from './AvailablePolicy' export * from './BadGatewayError' export * from './BadRequestError' export * from './BadRequestErrorAllOfCauses' @@ -49,11 +51,13 @@ export * from './Car' export * from './ChallengeDetail' export * from './ChargebackDetail' export * from './ChargebackFeedback' +export * from './Coordinates' export * from './CreditCard' export * from './Cruise' export * from './CurrentUserSession' export * from './CustomerAccount' export * from './CustomerAccountAddress' +export * from './DelayedFulfillment' export * from './DeviceDetails' export * from './DirectDebit' export * from './Email' @@ -110,9 +114,11 @@ export * from './SettledRefundUpdate' export * from './SettledRefundUpdateDetails' export * from './SiteInfo' export * from './Status' +export * from './SupplyProvider' export * from './Telephone' export * from './TelephonePlatformType' export * from './TelephoneType' +export * from './Ticket' export * from './TooManyRequestsError' export * from './TransactionDetails' export * from './TravelProduct' diff --git a/release/fraudPreventionV2/src/package.json b/release/fraudPreventionV2/src/package.json index b39554cc..0a4f5fbe 100644 --- a/release/fraudPreventionV2/src/package.json +++ b/release/fraudPreventionV2/src/package.json @@ -1,7 +1,7 @@ { "name": "@expediagroup/fraudpreventionv2-sdk", - "version": "4.4.0", - "description": "ExpediaGroup FraudPreventionV2 SDK v4.4.0 Core Modules of EG Travel SDK", + "version": "5.0.0", + "description": "ExpediaGroup FraudPreventionV2 SDK v5.0.0 Core Modules of EG Travel SDK", "main": "lib/index.js", "types": "index.ts", "scripts": { @@ -15,7 +15,7 @@ }, "dependencies": { "@types/lodash": "4.14.202", - "@types/node": "20.11.16", + "@types/node": "20.11.19", "@types/uuid": "9.0.8", "axios": "1.6.7", "lodash": "4.17.21", @@ -33,8 +33,8 @@ "prettier-plugin-organize-imports": "3.2.4", "ts-jest": "29.1.2", "ts-standard": "12.0.2", - "typedoc": "0.25.7", - "typedoc-plugin-markdown": "4.0.0-next.50", + "typedoc": "0.25.8", + "typedoc-plugin-markdown": "4.0.0-next.53", "typedoc-plugin-missing-exports": "2.2.0", "typescript": "5.3.3" }, diff --git a/release/fraudPreventionV2/src/specs.yaml b/release/fraudPreventionV2/src/specs.yaml index 557d686d..10a784c7 100644 --- a/release/fraudPreventionV2/src/specs.yaml +++ b/release/fraudPreventionV2/src/specs.yaml @@ -1211,6 +1211,8 @@ components: * `HOTEL`: `Hotel` * `RAIL`: `Rail` + + * `ACTIVITY`: `Activity` required: - price - type @@ -1226,6 +1228,7 @@ components: INSURANCE: "#/components/schemas/Insurance" HOTEL: "#/components/schemas/Hotel" RAIL: "#/components/schemas/Rail" + ACTIVITY: "#/components/schemas/Activity" properties: price: $ref: "#/components/schemas/Amount" @@ -1253,7 +1256,9 @@ components: * `Hotel` : `HOTEL` - * `Rail` : `RAIL` + * `Rail` : `RAIL` + + * `Activity` : `ACTIVITY` type: string maxLength: 30 inventory_source: @@ -1325,11 +1330,15 @@ components: * [GUID2] + * Activity + + * [GUID1] + * The example above demonstrates the association of travelers with various products. * All three travelers (A, B, and C) are associated with the Air product. - * Traveler A is associated with the Hotel. + * Traveler A is associated with the Hotel and Activity products. * Traveler C is associated with the Car product. @@ -1486,6 +1495,183 @@ components: type: string maxLength: 200 example: America/New_York + Activity: + title: Activity + allOf: + - $ref: "#/components/schemas/TravelProduct" + - type: object + required: + - category_name + - activity_description + - supply_provider + - tickets + - coordinates + properties: + category_name: + description: > + This field categorizes various types of activities available + within the product. It allows API consumers to assign + descriptive labels or keywords representing the nature of each + activity. + + Possible category name values include: + + * `Adventures`: This category includes activities such as hiking, zip-lining, rock climbing, bungee jumping, and other adventurous pursuits. + + * `Air, Balloon & Helicopter Tours`: This category offers activities like hot air balloon rides, helicopter tours, and aerial sightseeing experiences. + + * `Cruises & Water Tours`: This includes options such as boat cruises, yacht tours, river rafting, snorkeling, and diving expeditions. + + * `Nightlife`: This category encompasses activities like clubbing, pub crawls, live music events, and cultural performances. These activities predominantly occur during the evening or nighttime. + type: string + maxLength: 200 + example: Tours & Sightseeing + activity_description: + description: This field provides additional details or a brief explanation of + the specific activity. + type: string + maxLength: 200 + example: 06:40 AM, Tour from Marbella in English, includes Food Only + supply_provider: + $ref: "#/components/schemas/SupplyProvider" + tickets: + type: array + minItems: 1 + maxItems: 40 + items: + $ref: "#/components/schemas/Ticket" + coordinates: + $ref: "#/components/schemas/Coordinates" + start_date_time: + description: The field represents the start time of an activity, using the + ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. + type: string + format: date-time + example: 2024-02-21T02:14:00.000-0800 + end_date_time: + description: The field represents the end time of an activity, using the + ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. + type: string + format: date-time + example: 2024-02-21T02:14:00.000-0800 + is_passbook: + description: > + Indicates whether a QR code is required for an activity, serving + as proof of reservation or purchase. This includes digital + tickets saved on mobile applications such as Google Pay, Apple + Wallet, or similar services provided by activity organizers. + type: boolean + available_policy: + $ref: "#/components/schemas/AvailablePolicy" + Coordinates: + type: object + description: This field signifies the precise geographical coordinates denoting + the location of the activity. + required: + - latitude + - longitude + properties: + latitude: + description: The latitude in degrees. It must be in the range [-90.0, +90.0]. + type: number + format: double + minimum: -90 + maximum: 90 + longitude: + description: The longitude in degrees. It must be in the range [-180.0, +180.0]. + type: number + format: double + minimum: -180 + maximum: 180 + SupplyProvider: + title: SupplyProvider + type: object + required: + - name + - type + properties: + name: + description: This field provides name of the partner involved in offering the + activity. + type: string + maxLength: 200 + example: VIATOR + type: + description: > + This field indicates the nature or relationship of the vendor + associated with a particular activity. + + * `THIRD_PARTY`: This value indicates that the partner integrates with a third-party platform via APIs and ingests activities from them. + + * `DIRECT`: This value signifies that the partner is a direct entity or provider associated with the organization or platform offering the activity. + type: string + enum: + - THIRD_PARTY + - DIRECT + vendor_name: + description: This field describes the name of the third-party vendor who + provided the supply provider or the operating company with the + activity. + type: string + maxLength: 200 + example: SuperShuttle + Ticket: + title: Ticket + type: object + required: + - type + - quantity + properties: + type: + description: Specifies the type of the ticket, such as ADULT, CHILD, SENIOR, + STUDENT, or OTHER. + type: string + enum: + - ADULT + - CHILD + - SENIOR + - STUDENT + - OTHER + quantity: + description: This field represents the count or number of tickets associated + with the type. + type: integer + format: int32 + minimum: 1 + maximum: 30 + AvailablePolicy: + title: AvailablePolicy + type: object + properties: + delayed_fulfillment: + $ref: "#/components/schemas/DelayedFulfillment" + DelayedFulfillment: + title: DelayedFulfillment + description: This field holds details about activity's capabilities and + execution details related to inventory hold functionality. + type: object + properties: + is_available: + description: This field indicates if the fulfillment of an activity is possible + or not. + type: boolean + hold_duration_value: + description: This field indicates the duration of the hold on an activity. + type: number + format: int32 + example: 40 + hold_duration_unit_of_measure: + description: This field indicates the unit of duration of the hold on an activity. + type: string + maxLength: 100 + example: minutes + is_delayed_customer_confirmation: + description: > + This field indicates whether customer order confirmation can be + delayed. Customer will receive ticket number, voucher ID or any + other type of confirmation until transaction is successfully + completed or approved by an analyst during the review process. + type: boolean Air: title: Air allOf: @@ -2128,6 +2314,7 @@ components: - INSURANCE - HOTEL - RAIL + - ACTIVITY Insurance: title: Insurance allOf: