Allow creation, removal, re-validation and retrieval of alerts that might get visible to Business Manager users. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ABTest.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ABTest.md
new file mode 100644
index 00000000..1626b9b5
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ABTest.md
@@ -0,0 +1,63 @@
+
+# Class ABTest
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.campaign.ABTest](dw.campaign.ABTest.md)
+
+Object representing an AB-test in Commerce Cloud Digital.
+
+
+AB-tests provide the merchant the ability to compare one set of storefront
+"experiences" - promotions, sorting rules, and slot configurations in
+particular - against another set. The merchant configures different AB-test
+segments which define the sets of experiences that the merchant wishes to
+test. AB-tests run for a configured period of time, and customers are
+randomly assigned by the platform to the test segments according to
+allocation percentages defined by the merchant.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Get the test ID for this AB-test. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getID](dw.campaign.ABTest.md#getid)() | Get the test ID for this AB-test. |
+
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Get the test ID for this AB-test.
+
+
+---
+
+## Method Details
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Get the test ID for this AB-test.
+
+ **Returns:**
+ - the test ID for this AB-test.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ABTestMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ABTestMgr.md
new file mode 100644
index 00000000..4f2805ca
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ABTestMgr.md
@@ -0,0 +1,76 @@
+
+# Class ABTestMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.ABTestMgr](dw.campaign.ABTestMgr.md)
+
+Manager class used to access AB-test information in the storefront.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [assignedTestSegments](#assignedtestsegments): [Collection](dw.util.Collection.md) `(read-only)` | Return the AB-test segments to which the current customer is assigned. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getAssignedTestSegments](dw.campaign.ABTestMgr.md#getassignedtestsegments)() | Return the AB-test segments to which the current customer is assigned. |
+| static [isParticipant](dw.campaign.ABTestMgr.md#isparticipantstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Test whether the current customer is a member of the specified AB-test segment. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### assignedTestSegments
+- assignedTestSegments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Return the AB-test segments to which the current customer is assigned.
+ AB-test segments deleted in the meantime will not be returned.
+
+
+
+---
+
+## Method Details
+
+### getAssignedTestSegments()
+- static getAssignedTestSegments(): [Collection](dw.util.Collection.md)
+ - : Return the AB-test segments to which the current customer is assigned.
+ AB-test segments deleted in the meantime will not be returned.
+
+
+ **Returns:**
+ - unordered collection of ABTestSegment instances representing the
+ AB-test segments to which the current customer is assigned.
+
+
+
+---
+
+### isParticipant(String, String)
+- static isParticipant(testID: [String](TopLevel.String.md), segmentID: [String](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Test whether the current customer is a member of the specified AB-test
+ segment. This method can be used to customize the storefront experience
+ in ways that are not supported using Business Manager configuration
+ alone.
+
+
+ **Parameters:**
+ - testID - The ID of the AB-test, must not be null.
+ - segmentID - The ID of the segment within the AB-test, must not be null.
+
+ **Returns:**
+ - true if the current customer is a member of the specified AB-test
+ segment, false otherwise.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ABTestSegment.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ABTestSegment.md
new file mode 100644
index 00000000..7df1df59
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ABTestSegment.md
@@ -0,0 +1,107 @@
+
+# Class ABTestSegment
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.campaign.ABTestSegment](dw.campaign.ABTestSegment.md)
+
+Object representing an AB-test segment in the Commerce Cloud Digital.
+
+
+Each AB-test defines 1 or more segments to which customers are randomly
+assigned by the platform when they qualify for the AB-test. Customers are
+assigned to segments according to allocation percentages controlled by the
+merchant. Each AB-test segment defines a set of "experiences" that the
+merchant is testing and which which apply only to the customers in that
+segment. There is always one "control" segment which contains only the
+default set of experiences for that site.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ABTest](#abtest): [ABTest](dw.campaign.ABTest.md) `(read-only)` | Get the AB-test to which this segment belongs. |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Get the ID of the AB-test segment. |
+| [controlSegment](#controlsegment): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if this is the "control segment" for the AB-test, meaning the segment that has no experiences associated with it. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getABTest](dw.campaign.ABTestSegment.md#getabtest)() | Get the AB-test to which this segment belongs. |
+| [getID](dw.campaign.ABTestSegment.md#getid)() | Get the ID of the AB-test segment. |
+| [isControlSegment](dw.campaign.ABTestSegment.md#iscontrolsegment)() | Returns true if this is the "control segment" for the AB-test, meaning the segment that has no experiences associated with it. |
+
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ABTest
+- ABTest: [ABTest](dw.campaign.ABTest.md) `(read-only)`
+ - : Get the AB-test to which this segment belongs.
+
+
+---
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Get the ID of the AB-test segment.
+
+
+---
+
+### controlSegment
+- controlSegment: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if this is the "control segment" for the AB-test, meaning
+ the segment that has no experiences associated with it.
+
+
+
+---
+
+## Method Details
+
+### getABTest()
+- getABTest(): [ABTest](dw.campaign.ABTest.md)
+ - : Get the AB-test to which this segment belongs.
+
+ **Returns:**
+ - the AB-test to which this segment belongs.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Get the ID of the AB-test segment.
+
+ **Returns:**
+ - the ID of the AB-test segment.
+
+
+---
+
+### isControlSegment()
+- isControlSegment(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this is the "control segment" for the AB-test, meaning
+ the segment that has no experiences associated with it.
+
+
+ **Returns:**
+ - true if this segment is the "control segment" for the AB-test, or
+ false otherwise.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.AmountDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.AmountDiscount.md
new file mode 100644
index 00000000..4e7c860d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.AmountDiscount.md
@@ -0,0 +1,70 @@
+
+# Class AmountDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.AmountDiscount](dw.campaign.AmountDiscount.md)
+
+Represents an _amount-off_ discount in the discount plan, for example
+"$10 off all orders $100 or more".
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [amount](#amount): [Number](TopLevel.Number.md) `(read-only)` | Returns the discount amount, for example 10.00 for a "$10 off" discount. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [AmountDiscount](#amountdiscountnumber)([Number](TopLevel.Number.md)) | Create an amount-discount on the fly. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAmount](dw.campaign.AmountDiscount.md#getamount)() | Returns the discount amount, for example 10.00 for a "$10 off" discount. |
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### amount
+- amount: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the discount amount, for example 10.00 for a "$10 off" discount.
+
+
+---
+
+## Constructor Details
+
+### AmountDiscount(Number)
+- AmountDiscount(amount: [Number](TopLevel.Number.md))
+ - : Create an amount-discount on the fly. Can be used to create a custom price adjustment.
+
+ **Parameters:**
+ - amount - amount off, e.g. 15.00 for a "15$ off" discount
+
+
+---
+
+## Method Details
+
+### getAmount()
+- getAmount(): [Number](TopLevel.Number.md)
+ - : Returns the discount amount, for example 10.00 for a "$10 off" discount.
+
+ **Returns:**
+ - Discount amount
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ApproachingDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ApproachingDiscount.md
new file mode 100644
index 00000000..903ec192
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.ApproachingDiscount.md
@@ -0,0 +1,157 @@
+
+# Class ApproachingDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.ApproachingDiscount](dw.campaign.ApproachingDiscount.md)
+
+Transient class representing a discount that a [LineItemCtnr](dw.order.LineItemCtnr.md)
+"almost" qualifies for based on the amount of merchandise in it. Storefronts
+can display information about approaching discounts to customers in order to
+entice them to buy more merchandise.
+
+
+Approaching discounts are calculated on the basis of a
+[DiscountPlan](dw.campaign.DiscountPlan.md) instead of a LineItemCtnr itself. When one
+of [PromotionMgr.getDiscounts(LineItemCtnr)](dw.campaign.PromotionMgr.md#getdiscountslineitemctnr) or
+[PromotionMgr.getDiscounts(LineItemCtnr, PromotionPlan)](dw.campaign.PromotionMgr.md#getdiscountslineitemctnr-promotionplan) is
+called, the promotions engine calculates the discounts the LineItemCtnr
+receives based on the promotions in context, and also tries to determine the
+discounts the LineItemCtnr would receive if additional merchandise were
+added. DiscountPlan provides different methods to retrieve this approaching
+discount info. Merchants can use these fine-grained methods to display
+information about approaching order discounts on the cart page, and
+approaching shipping discounts on the shipping method page during checkout,
+for example.
+
+
+The merchant may include or exclude individual promotions from being included
+in this list, and define distance thresholds when configuring their
+promotions.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [conditionThreshold](#conditionthreshold): [Money](dw.value.Money.md) `(read-only)` | The amount of merchandise required in the cart in order to receive the discount. |
+| [discount](#discount): [Discount](dw.campaign.Discount.md) `(read-only)` | The discount that the customer will receive if he adds more merchandise to the cart. |
+| [distanceFromConditionThreshold](#distancefromconditionthreshold): [Money](dw.value.Money.md) `(read-only)` | Convenience method that returns `getConditionThreshold().subtract(getMerchandiseValue())` |
+| [merchandiseTotal](#merchandisetotal): [Money](dw.value.Money.md) `(read-only)` | The amount of merchandise in the cart contributing towards the condition threshold. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getConditionThreshold](dw.campaign.ApproachingDiscount.md#getconditionthreshold)() | The amount of merchandise required in the cart in order to receive the discount. |
+| [getDiscount](dw.campaign.ApproachingDiscount.md#getdiscount)() | The discount that the customer will receive if he adds more merchandise to the cart. |
+| [getDistanceFromConditionThreshold](dw.campaign.ApproachingDiscount.md#getdistancefromconditionthreshold)() | Convenience method that returns `getConditionThreshold().subtract(getMerchandiseValue())` |
+| [getMerchandiseTotal](dw.campaign.ApproachingDiscount.md#getmerchandisetotal)() | The amount of merchandise in the cart contributing towards the condition threshold. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### conditionThreshold
+- conditionThreshold: [Money](dw.value.Money.md) `(read-only)`
+ - : The amount of merchandise required in the cart in order to receive the
+ discount. For an order promotion "Get 15% off orders of $100 or more",
+ the condition threshold is $100.00.
+
+
+
+---
+
+### discount
+- discount: [Discount](dw.campaign.Discount.md) `(read-only)`
+ - : The discount that the customer will receive if he adds more merchandise
+ to the cart. For an order promotion "Get 15% off orders of $100 or more",
+ the discount is a PercentageDiscount object.
+
+
+
+---
+
+### distanceFromConditionThreshold
+- distanceFromConditionThreshold: [Money](dw.value.Money.md) `(read-only)`
+ - : Convenience method that returns
+ `getConditionThreshold().subtract(getMerchandiseValue())`
+
+
+
+---
+
+### merchandiseTotal
+- merchandiseTotal: [Money](dw.value.Money.md) `(read-only)`
+ - : The amount of merchandise in the cart contributing towards the condition
+ threshold. This will always be less than the condition threshold.
+
+
+
+---
+
+## Method Details
+
+### getConditionThreshold()
+- getConditionThreshold(): [Money](dw.value.Money.md)
+ - : The amount of merchandise required in the cart in order to receive the
+ discount. For an order promotion "Get 15% off orders of $100 or more",
+ the condition threshold is $100.00.
+
+
+ **Returns:**
+ - The amount of merchandise required in the cart in order to
+ receive the discount.
+
+
+
+---
+
+### getDiscount()
+- getDiscount(): [Discount](dw.campaign.Discount.md)
+ - : The discount that the customer will receive if he adds more merchandise
+ to the cart. For an order promotion "Get 15% off orders of $100 or more",
+ the discount is a PercentageDiscount object.
+
+
+ **Returns:**
+ - The discount that the customer will receive if he adds more
+ merchandise to the cart.
+
+
+
+---
+
+### getDistanceFromConditionThreshold()
+- getDistanceFromConditionThreshold(): [Money](dw.value.Money.md)
+ - : Convenience method that returns
+ `getConditionThreshold().subtract(getMerchandiseValue())`
+
+
+ **Returns:**
+ - The amount of money needed to add to the order or shipment in
+ order to receive the discount.
+
+
+
+---
+
+### getMerchandiseTotal()
+- getMerchandiseTotal(): [Money](dw.value.Money.md)
+ - : The amount of merchandise in the cart contributing towards the condition
+ threshold. This will always be less than the condition threshold.
+
+
+ **Returns:**
+ - The amount of merchandise in the cart contributing towards the
+ condition threshold.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.BonusChoiceDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.BonusChoiceDiscount.md
new file mode 100644
index 00000000..1956093b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.BonusChoiceDiscount.md
@@ -0,0 +1,190 @@
+
+# Class BonusChoiceDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.BonusChoiceDiscount](dw.campaign.BonusChoiceDiscount.md)
+
+Represents a _choice of bonus products_ discount in the discount plan,
+for example "Choose 3 DVDs from a list of 20 options with your purchase of
+any DVD player."
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [bonusProducts](#bonusproducts): [List](dw.util.List.md) `(read-only)` | Get the list of bonus products which the customer is allowed to choose from for this discount. |
+| [maxBonusItems](#maxbonusitems): [Number](TopLevel.Number.md) `(read-only)` | Returns the maximum number of bonus items that a customer is entitled to select for this discount. |
+| [ruleBased](#rulebased): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if this is a "rule based" bonus choice discount. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBonusProductPrice](dw.campaign.BonusChoiceDiscount.md#getbonusproductpriceproduct)([Product](dw.catalog.Product.md)) | Get the effective price for the passed bonus product. |
+| [getBonusProducts](dw.campaign.BonusChoiceDiscount.md#getbonusproducts)() | Get the list of bonus products which the customer is allowed to choose from for this discount. |
+| [getMaxBonusItems](dw.campaign.BonusChoiceDiscount.md#getmaxbonusitems)() | Returns the maximum number of bonus items that a customer is entitled to select for this discount. |
+| [isRuleBased](dw.campaign.BonusChoiceDiscount.md#isrulebased)() | Returns true if this is a "rule based" bonus choice discount. |
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### bonusProducts
+- bonusProducts: [List](dw.util.List.md) `(read-only)`
+ - : Get the list of bonus products which the customer is allowed to choose
+ from for this discount. This list is configured by a merchant entering a
+ list of SKUs for the discount. Products which do not exist in the system,
+ or are offline, or are not assigned to a category in the site catalog are
+ filtered out. Unavailable (i.e. out-of-stock) products are NOT filtered
+ out. This allows merchants to display out-of-stock bonus products with
+ appropriate messaging.
+
+
+ If a returned product is a master product, the customer is entitled to
+ choose from any variant. If the product is an option product, the
+ customer is entitled to choose any value for each option. Since the
+ promotions engine does not touch the value of the product option line
+ items, it is the responsibility of custom code to set option prices.
+
+
+ If the promotion is rule based, then this method will return an empty list.
+ A ProductSearchModel should be used to return the bonus products the
+ customer may choose from instead. See
+ [ProductSearchModel.PROMOTION_PRODUCT_TYPE_BONUS](dw.catalog.ProductSearchModel.md#promotion_product_type_bonus) and
+ [ProductSearchModel.setPromotionID(String)](dw.catalog.ProductSearchModel.md#setpromotionidstring)
+
+
+
+---
+
+### maxBonusItems
+- maxBonusItems: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the maximum number of bonus items that a customer is entitled to
+ select for this discount.
+
+
+
+---
+
+### ruleBased
+- ruleBased: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if this is a "rule based" bonus choice discount.
+ For such discounts, there is no static list of bonus products
+ associated with the discount but rather a discounted product
+ rule associated with the promotion which defines the bonus
+ products. To retrieve the list of selectable bonus products for
+ display in the storefront, it is necessary to search for the
+ bonus products using the [ProductSearchModel](dw.catalog.ProductSearchModel.md)
+ API since the method [getBonusProducts()](dw.campaign.BonusChoiceDiscount.md#getbonusproducts) in this class
+ will always return an empty list. Furthermore, for rule based
+ bonus-choice discounts, [getBonusProductPrice(Product)](dw.campaign.BonusChoiceDiscount.md#getbonusproductpriceproduct)
+ will always return a price of 0.00 for bonus products.
+
+
+
+---
+
+## Method Details
+
+### getBonusProductPrice(Product)
+- getBonusProductPrice(product: [Product](dw.catalog.Product.md)): [Number](TopLevel.Number.md)
+ - : Get the effective price for the passed bonus product. This is expected to
+ be one of the products returned by [getBonusProducts()](dw.campaign.BonusChoiceDiscount.md#getbonusproducts) with one
+ exception: If a master product is configured as a bonus product, this
+ implies that a customer may choose from any of its variants. In this
+ case, it is allowed to pass in a variant to this method and a price will
+ be returned. If the passed product is not a valid bonus product, this
+ method throws an exception.
+
+
+ **Parameters:**
+ - product - The bonus product to retrieve a price for, must not be null.
+
+ **Returns:**
+ - The price of the passed bonus product as a Number.
+
+
+---
+
+### getBonusProducts()
+- getBonusProducts(): [List](dw.util.List.md)
+ - : Get the list of bonus products which the customer is allowed to choose
+ from for this discount. This list is configured by a merchant entering a
+ list of SKUs for the discount. Products which do not exist in the system,
+ or are offline, or are not assigned to a category in the site catalog are
+ filtered out. Unavailable (i.e. out-of-stock) products are NOT filtered
+ out. This allows merchants to display out-of-stock bonus products with
+ appropriate messaging.
+
+
+ If a returned product is a master product, the customer is entitled to
+ choose from any variant. If the product is an option product, the
+ customer is entitled to choose any value for each option. Since the
+ promotions engine does not touch the value of the product option line
+ items, it is the responsibility of custom code to set option prices.
+
+
+ If the promotion is rule based, then this method will return an empty list.
+ A ProductSearchModel should be used to return the bonus products the
+ customer may choose from instead. See
+ [ProductSearchModel.PROMOTION_PRODUCT_TYPE_BONUS](dw.catalog.ProductSearchModel.md#promotion_product_type_bonus) and
+ [ProductSearchModel.setPromotionID(String)](dw.catalog.ProductSearchModel.md#setpromotionidstring)
+
+
+ **Returns:**
+ - An ordered list of bonus products that the customer may choose
+ from for this discount.
+
+
+
+---
+
+### getMaxBonusItems()
+- getMaxBonusItems(): [Number](TopLevel.Number.md)
+ - : Returns the maximum number of bonus items that a customer is entitled to
+ select for this discount.
+
+
+ **Returns:**
+ - The maximum number of bonus items that this discount permits a
+ customer to select.
+
+
+
+---
+
+### isRuleBased()
+- isRuleBased(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this is a "rule based" bonus choice discount.
+ For such discounts, there is no static list of bonus products
+ associated with the discount but rather a discounted product
+ rule associated with the promotion which defines the bonus
+ products. To retrieve the list of selectable bonus products for
+ display in the storefront, it is necessary to search for the
+ bonus products using the [ProductSearchModel](dw.catalog.ProductSearchModel.md)
+ API since the method [getBonusProducts()](dw.campaign.BonusChoiceDiscount.md#getbonusproducts) in this class
+ will always return an empty list. Furthermore, for rule based
+ bonus-choice discounts, [getBonusProductPrice(Product)](dw.campaign.BonusChoiceDiscount.md#getbonusproductpriceproduct)
+ will always return a price of 0.00 for bonus products.
+
+
+ **Returns:**
+ - True if this is a rule-based bonus-choice discount, or
+ false if this discount defines a simple static list of
+ bonus products.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.BonusDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.BonusDiscount.md
new file mode 100644
index 00000000..c36c5bee
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.BonusDiscount.md
@@ -0,0 +1,59 @@
+
+# Class BonusDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.BonusDiscount](dw.campaign.BonusDiscount.md)
+
+Represents a _bonus_ discount in the discount plan, for example
+"Get a free DVD with your purchase of any DVD player."
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [bonusProducts](#bonusproducts): [Collection](dw.util.Collection.md) `(read-only)` | Returns the bonus products associated with this discount that are in stock, online and assigned to site catalog. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBonusProducts](dw.campaign.BonusDiscount.md#getbonusproducts)() | Returns the bonus products associated with this discount that are in stock, online and assigned to site catalog. |
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### bonusProducts
+- bonusProducts: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the bonus products associated with this discount that are in
+ stock, online and assigned to site catalog.
+
+
+
+---
+
+## Method Details
+
+### getBonusProducts()
+- getBonusProducts(): [Collection](dw.util.Collection.md)
+ - : Returns the bonus products associated with this discount that are in
+ stock, online and assigned to site catalog.
+
+
+ **Returns:**
+ - Collection of bonus products
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Campaign.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Campaign.md
new file mode 100644
index 00000000..e830242e
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Campaign.md
@@ -0,0 +1,346 @@
+
+# Class Campaign
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.campaign.Campaign](dw.campaign.Campaign.md)
+
+A Campaign is a set of experiences (or site configurations) which may be
+deployed as a single unit for a given time frame. The system currently
+supports 3 types of experience that may be assigned to a campaign:
+
+
+- Promotions
+- Slot Configurations
+- Sorting Rules
+
+
+This list may be extended in the future.
+
+
+A campaign can have a start and end date or be open-ended. It may also have
+"qualifiers" which determine which customers the campaign applies to.
+The currently supported qualifiers are:
+
+
+- Customer groups (where "Everyone" is a possible customer group)
+- Source codes
+- Coupons
+
+
+A campaign can have list of stores or store groups where it can be applicable to.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the unique campaign ID. |
+| [active](#active): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if the campaign is currently active, otherwise 'false'. |
+| [applicableInStore](#applicableinstore): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if campaign is applicable to store, otherwise false. |
+| [applicableOnline](#applicableonline): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if campaign is applicable to online site, otherwise false. |
+| [coupons](#coupons): [Collection](dw.util.Collection.md) `(read-only)` | Returns the coupons assigned to the campaign. |
+| [customerGroups](#customergroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns the customer groups assigned to the campaign. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the internal description of the campaign. |
+| [enabled](#enabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if campaign is enabled, otherwise false. |
+| [endDate](#enddate): [Date](TopLevel.Date.md) `(read-only)` | Returns the end date of the campaign. |
+| [promotions](#promotions): [Collection](dw.util.Collection.md) `(read-only)` | Returns promotions defined in this campaign in no particular order. |
+| [sourceCodeGroups](#sourcecodegroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns the source codes assigned to the campaign. |
+| [startDate](#startdate): [Date](TopLevel.Date.md) `(read-only)` | Returns the start date of the campaign. |
+| [storeGroups](#storegroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns store groups assigned to the campaign. |
+| [stores](#stores): [Collection](dw.util.Collection.md) `(read-only)` | Returns stores assigned to the campaign. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCoupons](dw.campaign.Campaign.md#getcoupons)() | Returns the coupons assigned to the campaign. |
+| [getCustomerGroups](dw.campaign.Campaign.md#getcustomergroups)() | Returns the customer groups assigned to the campaign. |
+| [getDescription](dw.campaign.Campaign.md#getdescription)() | Returns the internal description of the campaign. |
+| [getEndDate](dw.campaign.Campaign.md#getenddate)() | Returns the end date of the campaign. |
+| [getID](dw.campaign.Campaign.md#getid)() | Returns the unique campaign ID. |
+| [getPromotions](dw.campaign.Campaign.md#getpromotions)() | Returns promotions defined in this campaign in no particular order. |
+| [getSourceCodeGroups](dw.campaign.Campaign.md#getsourcecodegroups)() | Returns the source codes assigned to the campaign. |
+| [getStartDate](dw.campaign.Campaign.md#getstartdate)() | Returns the start date of the campaign. |
+| [getStoreGroups](dw.campaign.Campaign.md#getstoregroups)() | Returns store groups assigned to the campaign. |
+| [getStores](dw.campaign.Campaign.md#getstores)() | Returns stores assigned to the campaign. |
+| [isActive](dw.campaign.Campaign.md#isactive)() | Returns 'true' if the campaign is currently active, otherwise 'false'. |
+| [isApplicableInStore](dw.campaign.Campaign.md#isapplicableinstore)() | Returns true if campaign is applicable to store, otherwise false. |
+| [isApplicableOnline](dw.campaign.Campaign.md#isapplicableonline)() | Returns true if campaign is applicable to online site, otherwise false. |
+| [isEnabled](dw.campaign.Campaign.md#isenabled)() | Returns true if campaign is enabled, otherwise false. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique campaign ID.
+
+
+---
+
+### active
+- active: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if the campaign is currently active, otherwise
+ 'false'.
+
+ A campaign is active if it is enabled and scheduled for _now_.
+
+
+
+---
+
+### applicableInStore
+- applicableInStore: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if campaign is applicable to store, otherwise false.
+
+
+---
+
+### applicableOnline
+- applicableOnline: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if campaign is applicable to online site, otherwise false.
+
+
+---
+
+### coupons
+- coupons: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the coupons assigned to the campaign.
+
+
+---
+
+### customerGroups
+- customerGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the customer groups assigned to the campaign.
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the internal description of the campaign.
+
+
+---
+
+### enabled
+- enabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if campaign is enabled, otherwise false.
+
+
+---
+
+### endDate
+- endDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the end date of the campaign. If no end date is defined for the
+ campaign, null is returned. A campaign w/o end date will run forever.
+
+
+
+---
+
+### promotions
+- promotions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns promotions defined in this campaign in no particular order.
+
+
+---
+
+### sourceCodeGroups
+- sourceCodeGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the source codes assigned to the campaign.
+
+
+---
+
+### startDate
+- startDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the start date of the campaign. If no start date is defined for the
+ campaign, null is returned. A campaign w/o start date is immediately
+ effective.
+
+
+
+---
+
+### storeGroups
+- storeGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns store groups assigned to the campaign.
+
+
+---
+
+### stores
+- stores: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns stores assigned to the campaign.
+
+
+---
+
+## Method Details
+
+### getCoupons()
+- getCoupons(): [Collection](dw.util.Collection.md)
+ - : Returns the coupons assigned to the campaign.
+
+ **Returns:**
+ - All coupons assigned to the campaign.
+
+
+---
+
+### getCustomerGroups()
+- getCustomerGroups(): [Collection](dw.util.Collection.md)
+ - : Returns the customer groups assigned to the campaign.
+
+ **Returns:**
+ - Customer groups assigned to campaign.
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the internal description of the campaign.
+
+ **Returns:**
+ - Internal description of campaign.
+
+
+---
+
+### getEndDate()
+- getEndDate(): [Date](TopLevel.Date.md)
+ - : Returns the end date of the campaign. If no end date is defined for the
+ campaign, null is returned. A campaign w/o end date will run forever.
+
+
+ **Returns:**
+ - End date of campaign.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the unique campaign ID.
+
+ **Returns:**
+ - ID of the campaign.
+
+
+---
+
+### getPromotions()
+- getPromotions(): [Collection](dw.util.Collection.md)
+ - : Returns promotions defined in this campaign in no particular order.
+
+ **Returns:**
+ - All promotions defined in campaign.
+
+
+---
+
+### getSourceCodeGroups()
+- getSourceCodeGroups(): [Collection](dw.util.Collection.md)
+ - : Returns the source codes assigned to the campaign.
+
+ **Returns:**
+ - All source code groups assigned to campaign.
+
+
+---
+
+### getStartDate()
+- getStartDate(): [Date](TopLevel.Date.md)
+ - : Returns the start date of the campaign. If no start date is defined for the
+ campaign, null is returned. A campaign w/o start date is immediately
+ effective.
+
+
+ **Returns:**
+ - Start date of campaign.
+
+
+---
+
+### getStoreGroups()
+- getStoreGroups(): [Collection](dw.util.Collection.md)
+ - : Returns store groups assigned to the campaign.
+
+ **Returns:**
+ - All store groups assigned to the campaign.
+
+
+---
+
+### getStores()
+- getStores(): [Collection](dw.util.Collection.md)
+ - : Returns stores assigned to the campaign.
+
+ **Returns:**
+ - All stores assigned to the campaign.
+
+
+---
+
+### isActive()
+- isActive(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if the campaign is currently active, otherwise
+ 'false'.
+
+ A campaign is active if it is enabled and scheduled for _now_.
+
+
+ **Returns:**
+ - true of campaign is active, otherwise false.
+
+
+---
+
+### isApplicableInStore()
+- isApplicableInStore(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if campaign is applicable to store, otherwise false.
+
+ **Returns:**
+ - true if campaign is applicable to store, otherwise false.
+
+
+---
+
+### isApplicableOnline()
+- isApplicableOnline(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if campaign is applicable to online site, otherwise false.
+
+ **Returns:**
+ - true if campaign is applicable to online site, otherwise false.
+
+
+---
+
+### isEnabled()
+- isEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if campaign is enabled, otherwise false.
+
+ **Returns:**
+ - true if campaign is enabled, otherwise false.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CampaignMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CampaignMgr.md
new file mode 100644
index 00000000..8cb29542
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CampaignMgr.md
@@ -0,0 +1,436 @@
+
+# Class CampaignMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.CampaignMgr](dw.campaign.CampaignMgr.md)
+
+CampaignMgr provides static methods for managing campaign-specific operations
+such as accessing promotions or updating promotion line items.
+
+
+**Deprecated:**
+:::warning
+Use [PromotionMgr](dw.campaign.PromotionMgr.md) instead.
+:::
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| ~~[applicablePromotions](#applicablepromotions): [Collection](dw.util.Collection.md)~~ `(read-only)` | Returns the enabled promotions of active campaigns applicable for the current customer and source code. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| ~~static [applyBonusPromotions](dw.campaign.CampaignMgr.md#applybonuspromotionslineitemctnr-collection)([LineItemCtnr](dw.order.LineItemCtnr.md), [Collection](dw.util.Collection.md))~~ | This method has been deprecated and should not be used anymore. |
+| ~~static [applyOrderPromotions](dw.campaign.CampaignMgr.md#applyorderpromotionslineitemctnr-collection)([LineItemCtnr](dw.order.LineItemCtnr.md), [Collection](dw.util.Collection.md))~~ | Applies the applicable order promotions in the specified collection to the specified line item container. |
+| ~~static [applyProductPromotions](dw.campaign.CampaignMgr.md#applyproductpromotionslineitemctnr-collection)([LineItemCtnr](dw.order.LineItemCtnr.md), [Collection](dw.util.Collection.md))~~ | Applies all applicable product promotions in the specified collection to the specified line item container. |
+| ~~static [applyShippingPromotions](dw.campaign.CampaignMgr.md#applyshippingpromotionslineitemctnr-collection)([LineItemCtnr](dw.order.LineItemCtnr.md), [Collection](dw.util.Collection.md))~~ | Applies all applicable shipping promotions in the specified collection to the specified line item container. |
+| ~~static [getApplicableConditionalPromotions](dw.campaign.CampaignMgr.md#getapplicableconditionalpromotionsproduct)([Product](dw.catalog.Product.md))~~ | Returns the enabled promotions of active campaigns applicable for the current customer and source code for which the specified product is a qualifiying product. |
+| ~~static [getApplicablePromotions](dw.campaign.CampaignMgr.md#getapplicablepromotions)()~~ | Returns the enabled promotions of active campaigns applicable for the current customer and source code. |
+| ~~static [getApplicablePromotions](dw.campaign.CampaignMgr.md#getapplicablepromotionsproduct)([Product](dw.catalog.Product.md))~~ | Returns the enabled promotions of active campaigns applicable for the current customer and source code for which the specified product is a discounted product. |
+| ~~static [getApplicablePromotions](dw.campaign.CampaignMgr.md#getapplicablepromotionslineitemctnr)([LineItemCtnr](dw.order.LineItemCtnr.md))~~ | Returns the enabled promotions of active campaigns applicable for the current customer, source code and any coupon contained in the specified line item container. |
+| ~~static [getCampaignByID](dw.campaign.CampaignMgr.md#getcampaignbyidstring)([String](TopLevel.String.md))~~ | Returns the campaign identified by the specified ID. |
+| ~~static [getConditionalPromotions](dw.campaign.CampaignMgr.md#getconditionalpromotionsproduct)([Product](dw.catalog.Product.md))~~ | Returns the enabled promotions of active campaigns for which the specified product is a qualifiying product. |
+| ~~static [getPromotion](dw.campaign.CampaignMgr.md#getpromotionstring)([String](TopLevel.String.md))~~ | Returns the promotion associated with the specified coupon code. |
+| ~~static [getPromotionByCouponCode](dw.campaign.CampaignMgr.md#getpromotionbycouponcodestring)([String](TopLevel.String.md))~~ | Returns the promotion associated with the specified coupon code. |
+| ~~static [getPromotionByID](dw.campaign.CampaignMgr.md#getpromotionbyidstring)([String](TopLevel.String.md))~~ | Returns the promotion identified by the specified ID. |
+| ~~static [getPromotions](dw.campaign.CampaignMgr.md#getpromotionsproduct)([Product](dw.catalog.Product.md))~~ | Returns the enabled promotions of active campaigns for which the specified product is a discounted product. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### applicablePromotions
+- ~~applicablePromotions: [Collection](dw.util.Collection.md)~~ `(read-only)`
+ - : Returns the enabled promotions of active campaigns applicable for the
+ current customer and source code.
+
+
+ Note that this method does not return any coupon-based promotions.
+
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr.getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+ [PromotionPlan.getPromotions()](dw.campaign.PromotionPlan.md#getpromotions)
+
+:::
+
+---
+
+## Method Details
+
+### applyBonusPromotions(LineItemCtnr, Collection)
+- ~~static applyBonusPromotions(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md), promotions: [Collection](dw.util.Collection.md)): [Boolean](TopLevel.Boolean.md)~~
+ - : This method has been deprecated and should not be used anymore.
+ Instead, use [PromotionMgr](dw.campaign.PromotionMgr.md) to apply promotions to
+ line item containers.
+
+
+ The method does nothing, since bonus promotions are applied as product
+ or order promotions using methods
+ [applyProductPromotions(LineItemCtnr, Collection)](dw.campaign.CampaignMgr.md#applyproductpromotionslineitemctnr-collection) and
+ [applyOrderPromotions(LineItemCtnr, Collection)](dw.campaign.CampaignMgr.md#applyorderpromotionslineitemctnr-collection).
+
+
+ The method returns 'true' if any the line item container contains
+ any bonus product line items, and otherwise false.
+
+
+ **Parameters:**
+ - lineItemCtnr - Basket or order
+ - promotions - Parameter not used, can be null
+
+ **Returns:**
+ - True if line item container contains bonus product line items, else false
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr](dw.campaign.PromotionMgr.md) instead.
+:::
+
+---
+
+### applyOrderPromotions(LineItemCtnr, Collection)
+- ~~static applyOrderPromotions(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md), promotions: [Collection](dw.util.Collection.md)): [Boolean](TopLevel.Boolean.md)~~
+ - : Applies the applicable order promotions in the specified collection to the
+ specified line item container.
+
+
+ This method has been deprecated and should not be used anymore.
+ Instead, use [PromotionMgr](dw.campaign.PromotionMgr.md) to apply promotions to
+ line item containers.
+
+
+ Note that the method does also apply any bonus discounts defined
+ as order promotions (see also [applyBonusPromotions(LineItemCtnr, Collection)](dw.campaign.CampaignMgr.md#applybonuspromotionslineitemctnr-collection)).
+
+
+ **Parameters:**
+ - lineItemCtnr - basket or order
+ - promotions - list of all promotions to be applied
+
+ **Returns:**
+ - true if changes were made to the line item container, false otherwise.
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr](dw.campaign.PromotionMgr.md)
+:::
+
+---
+
+### applyProductPromotions(LineItemCtnr, Collection)
+- ~~static applyProductPromotions(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md), promotions: [Collection](dw.util.Collection.md)): [Boolean](TopLevel.Boolean.md)~~
+ - : Applies all applicable product promotions in the specified collection to the
+ specified line item container.
+
+
+ This method has been deprecated and should not be used anymore.
+ Instead, use [PromotionMgr](dw.campaign.PromotionMgr.md) to apply promotions to
+ line item containers.
+
+
+ Note that the method does also apply any bonus discounts defined
+ as product promotions (see also [applyBonusPromotions(LineItemCtnr, Collection)](dw.campaign.CampaignMgr.md#applybonuspromotionslineitemctnr-collection)).
+
+
+ **Parameters:**
+ - lineItemCtnr - basket or order
+ - promotions - list of all promotions to be applied
+
+ **Returns:**
+ - true if changes were made to the line item container, false otherwise.
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr](dw.campaign.PromotionMgr.md)
+:::
+
+---
+
+### applyShippingPromotions(LineItemCtnr, Collection)
+- ~~static applyShippingPromotions(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md), promotions: [Collection](dw.util.Collection.md)): [Boolean](TopLevel.Boolean.md)~~
+ - : Applies all applicable shipping promotions in the specified collection to
+ the specified line item container.
+
+
+ This method has been deprecated and should not be used anymore.
+ Instead, use [PromotionMgr](dw.campaign.PromotionMgr.md) to apply promotions to
+ line item containers.
+
+
+ **Parameters:**
+ - lineItemCtnr - basket or order
+ - promotions - list of all promotions to be applied
+
+ **Returns:**
+ - true if changes were made to the line item container, false otherwise.
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr](dw.campaign.PromotionMgr.md)
+:::
+
+---
+
+### getApplicableConditionalPromotions(Product)
+- ~~static getApplicableConditionalPromotions(product: [Product](dw.catalog.Product.md)): [Collection](dw.util.Collection.md)~~
+ - : Returns the enabled promotions of active campaigns applicable for the
+ current customer and source code for which the specified product
+ is a qualifiying product.
+
+
+ As a replacement of this deprecated method, use
+ [PromotionMgr.getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct).
+ Unlike [getApplicableConditionalPromotions(Product)](dw.campaign.CampaignMgr.md#getapplicableconditionalpromotionsproduct),
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)
+ returns all promotions related to the specified product, regardless
+ of whether the product is qualifying, discounted, or both, and
+ also returns promotions where the product is a bonus product.
+
+
+ **Parameters:**
+ - product - Qualifying product
+
+ **Returns:**
+ - List of active promotions
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr.getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)
+
+:::
+
+---
+
+### getApplicablePromotions()
+- ~~static getApplicablePromotions(): [Collection](dw.util.Collection.md)~~
+ - : Returns the enabled promotions of active campaigns applicable for the
+ current customer and source code.
+
+
+ Note that this method does not return any coupon-based promotions.
+
+
+ **Returns:**
+ - List of active promotions
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr.getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+ [PromotionPlan.getPromotions()](dw.campaign.PromotionPlan.md#getpromotions)
+
+:::
+
+---
+
+### getApplicablePromotions(Product)
+- ~~static getApplicablePromotions(product: [Product](dw.catalog.Product.md)): [Collection](dw.util.Collection.md)~~
+ - : Returns the enabled promotions of active campaigns applicable for the
+ current customer and source code for which the specified product is
+ a discounted product.
+
+
+ Note that this method does not return any coupon-based promotions.
+
+
+ As a replacement of this deprecated method, use
+ [PromotionMgr.getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct).
+ Unlike [getApplicablePromotions(Product)](dw.campaign.CampaignMgr.md#getapplicablepromotionsproduct),
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)
+ returns all promotions related to the specified product, regardless
+ of whether the product is qualifying, discounted, or both, and
+ also returns promotions where the product is a bonus product.
+
+
+ **Parameters:**
+ - product - The product whose promotions are returned.
+
+ **Returns:**
+ - A list of promotions
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr.getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)
+
+:::
+
+---
+
+### getApplicablePromotions(LineItemCtnr)
+- ~~static getApplicablePromotions(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md)): [Collection](dw.util.Collection.md)~~
+ - : Returns the enabled promotions of active campaigns applicable for the
+ current customer, source code and any coupon contained in the specified
+ line item container.
+
+
+ Note that although the method has been deprecated, no replacement
+ method is provided.
+
+
+ **Parameters:**
+ - lineItemCtnr - the basket or order
+
+ **Returns:**
+ - list of all applicable promotion for the given basket or order
+
+ **Deprecated:**
+:::warning
+There is no replacement for this method.
+:::
+
+---
+
+### getCampaignByID(String)
+- ~~static getCampaignByID(id: [String](TopLevel.String.md)): [Campaign](dw.campaign.Campaign.md)~~
+ - : Returns the campaign identified by the specified ID.
+
+ **Parameters:**
+ - id - Campaign ID
+
+ **Returns:**
+ - Campaign or null if not found
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr.getCampaign(String)](dw.campaign.PromotionMgr.md#getcampaignstring)
+:::
+
+---
+
+### getConditionalPromotions(Product)
+- ~~static getConditionalPromotions(product: [Product](dw.catalog.Product.md)): [Collection](dw.util.Collection.md)~~
+ - : Returns the enabled promotions of active campaigns for which the
+ specified product is a qualifiying product.
+
+ Note that the method also returns coupon-based promotions.
+
+
+ As a replacement of this deprecated method, use
+ [PromotionMgr.getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct).
+ Unlike [getConditionalPromotions(Product)](dw.campaign.CampaignMgr.md#getconditionalpromotionsproduct),
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)
+ returns all promotions related to the specified product, regardless
+ of whether the product is qualifying, discounted, or both, and
+ also returns promotions where the product is a bonus product.
+
+
+ **Parameters:**
+ - product - The product whose conditional promotions are returned.
+
+ **Returns:**
+ - A list of promotions
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr.getActivePromotions()](dw.campaign.PromotionMgr.md#getactivepromotions) and
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)
+
+:::
+
+---
+
+### getPromotion(String)
+- ~~static getPromotion(couponCode: [String](TopLevel.String.md)): [Promotion](dw.campaign.Promotion.md)~~
+ - : Returns the promotion associated with the specified coupon code.
+
+ **Parameters:**
+ - couponCode - The coupon code used to lookup the promotion
+
+ **Returns:**
+ - The resolved promotion object or null if none was found
+
+ **Deprecated:**
+:::warning
+Coupons are now related to multiple promotions. Method
+ returns the first promotion associated with the coupon
+ code in case of multiple assigned promotions.
+
+:::
+
+---
+
+### getPromotionByCouponCode(String)
+- ~~static getPromotionByCouponCode(couponCode: [String](TopLevel.String.md)): [Promotion](dw.campaign.Promotion.md)~~
+ - : Returns the promotion associated with the specified coupon code.
+
+ **Parameters:**
+ - couponCode - Coupon code
+
+ **Returns:**
+ - The associated promotion or null
+
+ **Deprecated:**
+:::warning
+Coupons are now related to multiple promotions. Method
+ returns the first promotion associated with the coupon
+ in case of multiple assigned promotions
+
+:::
+
+---
+
+### getPromotionByID(String)
+- ~~static getPromotionByID(id: [String](TopLevel.String.md)): [Promotion](dw.campaign.Promotion.md)~~
+ - : Returns the promotion identified by the specified ID.
+
+ **Parameters:**
+ - id - Promotion ID
+
+ **Returns:**
+ - Promotion or null if not found
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr.getPromotion(String)](dw.campaign.PromotionMgr.md#getpromotionstring)
+:::
+
+---
+
+### getPromotions(Product)
+- ~~static getPromotions(product: [Product](dw.catalog.Product.md)): [Collection](dw.util.Collection.md)~~
+ - : Returns the enabled promotions of active campaigns for which the
+ specified product is a discounted product.
+
+ Note that method does only return promotions based on customer groups
+ or source codes.
+
+
+ As a replacement of this deprecated method, use
+ [PromotionMgr.getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct).
+ Unlike [getPromotions(Product)](dw.campaign.CampaignMgr.md#getpromotionsproduct),
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)
+ returns all promotions related to the specified product, regardless
+ of whether the product is qualifying, discounted, or both, and
+ also returns promotions where the product is a bonus product.
+
+
+ **Parameters:**
+ - product - Discounted product
+
+ **Returns:**
+ - List of promotions
+
+ **Deprecated:**
+:::warning
+Use [PromotionMgr.getActivePromotions()](dw.campaign.PromotionMgr.md#getactivepromotions) and
+ [PromotionPlan.getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)
+
+:::
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CampaignStatusCodes.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CampaignStatusCodes.md
new file mode 100644
index 00000000..0628097f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CampaignStatusCodes.md
@@ -0,0 +1,103 @@
+
+# Class CampaignStatusCodes
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.CampaignStatusCodes](dw.campaign.CampaignStatusCodes.md)
+
+Deprecated. Formerly used to contain the various statuses that a coupon may
+be in.
+
+
+**Deprecated:**
+:::warning
+Use [CouponStatusCodes](dw.campaign.CouponStatusCodes.md) instead.
+:::
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| ~~[COUPON_ALREADY_APPLIED](#coupon_already_applied): [String](TopLevel.String.md) = "COUPON_ALREADY_APPLIED"~~ | Indicates that the coupon has already been applied to the basket. |
+| ~~[COUPON_ALREADY_REDEEMED](#coupon_already_redeemed): [String](TopLevel.String.md) = "COUPON_ALREADY_REDEEMED"~~ | Indicates that the coupon has already been redeemed. |
+| ~~[COUPON_NOT_REDEEMABLE](#coupon_not_redeemable): [String](TopLevel.String.md) = "COUPON_NOT_REDEEMABLE"~~ | Indicates that the coupon is not currently redeemable. |
+| ~~[COUPON_UNKNOWN](#coupon_unknown): [String](TopLevel.String.md) = "COUPON_UNKNOWN"~~ | Indicates that the coupon code is not valid. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [CampaignStatusCodes](#campaignstatuscodes)() | |
+
+## Method Summary
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### COUPON_ALREADY_APPLIED
+
+- ~~COUPON_ALREADY_APPLIED: [String](TopLevel.String.md) = "COUPON_ALREADY_APPLIED"~~
+ - : Indicates that the coupon has already been applied to the basket.
+
+ **Deprecated:**
+:::warning
+Use [CouponStatusCodes.COUPON_CODE_ALREADY_IN_BASKET](dw.campaign.CouponStatusCodes.md#coupon_code_already_in_basket),
+[CouponStatusCodes.COUPON_ALREADY_IN_BASKET](dw.campaign.CouponStatusCodes.md#coupon_already_in_basket) instead.
+
+:::
+
+---
+
+### COUPON_ALREADY_REDEEMED
+
+- ~~COUPON_ALREADY_REDEEMED: [String](TopLevel.String.md) = "COUPON_ALREADY_REDEEMED"~~
+ - : Indicates that the coupon has already been redeemed.
+
+ **Deprecated:**
+:::warning
+Use [CouponStatusCodes.COUPON_CODE_ALREADY_REDEEMED](dw.campaign.CouponStatusCodes.md#coupon_code_already_redeemed) instead.
+:::
+
+---
+
+### COUPON_NOT_REDEEMABLE
+
+- ~~COUPON_NOT_REDEEMABLE: [String](TopLevel.String.md) = "COUPON_NOT_REDEEMABLE"~~
+ - : Indicates that the coupon is not currently redeemable.
+
+ **Deprecated:**
+:::warning
+Use [CouponStatusCodes.COUPON_DISABLED](dw.campaign.CouponStatusCodes.md#coupon_disabled),
+[CouponStatusCodes.COUPON_CODE_UNKNOWN](dw.campaign.CouponStatusCodes.md#coupon_code_unknown),
+[CouponStatusCodes.REDEMPTION_LIMIT_EXCEEDED](dw.campaign.CouponStatusCodes.md#redemption_limit_exceeded),
+[CouponStatusCodes.CUSTOMER_REDEMPTION_LIMIT_EXCEEDED](dw.campaign.CouponStatusCodes.md#customer_redemption_limit_exceeded),
+[CouponStatusCodes.TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED](dw.campaign.CouponStatusCodes.md#timeframe_redemption_limit_exceeded) or
+[CouponStatusCodes.NO_APPLICABLE_PROMOTION](dw.campaign.CouponStatusCodes.md#no_applicable_promotion)
+
+:::
+
+---
+
+### COUPON_UNKNOWN
+
+- ~~COUPON_UNKNOWN: [String](TopLevel.String.md) = "COUPON_UNKNOWN"~~
+ - : Indicates that the coupon code is not valid.
+
+ **Deprecated:**
+:::warning
+Use [CouponStatusCodes.COUPON_CODE_UNKNOWN](dw.campaign.CouponStatusCodes.md#coupon_code_unknown) instead
+:::
+
+---
+
+## Constructor Details
+
+### CampaignStatusCodes()
+- CampaignStatusCodes()
+ - :
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Coupon.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Coupon.md
new file mode 100644
index 00000000..be457b4f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Coupon.md
@@ -0,0 +1,324 @@
+
+# Class Coupon
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.campaign.Coupon](dw.campaign.Coupon.md)
+
+Represents a coupon in Commerce Cloud Digital.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [TYPE_MULTIPLE_CODES](#type_multiple_codes): [String](TopLevel.String.md) = "MULTIPLE_CODES" | Constant representing coupon type _multiple-codes_. |
+| [TYPE_SINGLE_CODE](#type_single_code): [String](TopLevel.String.md) = "SINGLE_CODE" | Constant representing coupon type _single-code_. |
+| [TYPE_SYSTEM_CODES](#type_system_codes): [String](TopLevel.String.md) = "SYSTEM_CODES" | Constant representing coupon type _system-codes_. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the coupon. |
+| [codePrefix](#codeprefix): [String](TopLevel.String.md) `(read-only)` | Returns the prefix defined for coupons of type [TYPE_SYSTEM_CODES](dw.campaign.Coupon.md#type_system_codes) If no prefix is defined, or coupon is of type [TYPE_SINGLE_CODE](dw.campaign.Coupon.md#type_single_code) or [TYPE_MULTIPLE_CODES](dw.campaign.Coupon.md#type_multiple_codes), null is returned. |
+| [enabled](#enabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if coupon is enabled, else false. |
+| [nextCouponCode](#nextcouponcode): [String](TopLevel.String.md) `(read-only)` | Returns the next unissued code of this coupon. |
+| [promotions](#promotions): [Collection](dw.util.Collection.md) `(read-only)` | Returns the coupon-based promotions directly or indirectly (through campaigns) assigned to this coupon. |
+| [redemptionLimitPerCode](#redemptionlimitpercode): [Number](TopLevel.Number.md) `(read-only)` | Returns the defined limit on redemption per coupon code. |
+| [redemptionLimitPerCustomer](#redemptionlimitpercustomer): [Number](TopLevel.Number.md) `(read-only)` | Returns the defined limit on redemption of this coupon per customer. |
+| [redemptionLimitPerTimeFrame](#redemptionlimitpertimeframe): [Number](TopLevel.Number.md) `(read-only)` | Returns the defined limit on redemption per customer per time-frame (see [getRedemptionLimitTimeFrame()](dw.campaign.Coupon.md#getredemptionlimittimeframe). |
+| [redemptionLimitTimeFrame](#redemptionlimittimeframe): [Number](TopLevel.Number.md) `(read-only)` | Returns the time-frame (in days) of the defined limit on redemption per customer per time-frame. |
+| [type](#type): [String](TopLevel.String.md) `(read-only)` | Returns the coupon type. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCodePrefix](dw.campaign.Coupon.md#getcodeprefix)() | Returns the prefix defined for coupons of type [TYPE_SYSTEM_CODES](dw.campaign.Coupon.md#type_system_codes) If no prefix is defined, or coupon is of type [TYPE_SINGLE_CODE](dw.campaign.Coupon.md#type_single_code) or [TYPE_MULTIPLE_CODES](dw.campaign.Coupon.md#type_multiple_codes), null is returned. |
+| [getID](dw.campaign.Coupon.md#getid)() | Returns the ID of the coupon. |
+| [getNextCouponCode](dw.campaign.Coupon.md#getnextcouponcode)() | Returns the next unissued code of this coupon. |
+| [getPromotions](dw.campaign.Coupon.md#getpromotions)() | Returns the coupon-based promotions directly or indirectly (through campaigns) assigned to this coupon. |
+| [getRedemptionLimitPerCode](dw.campaign.Coupon.md#getredemptionlimitpercode)() | Returns the defined limit on redemption per coupon code. |
+| [getRedemptionLimitPerCustomer](dw.campaign.Coupon.md#getredemptionlimitpercustomer)() | Returns the defined limit on redemption of this coupon per customer. |
+| [getRedemptionLimitPerTimeFrame](dw.campaign.Coupon.md#getredemptionlimitpertimeframe)() | Returns the defined limit on redemption per customer per time-frame (see [getRedemptionLimitTimeFrame()](dw.campaign.Coupon.md#getredemptionlimittimeframe). |
+| [getRedemptionLimitTimeFrame](dw.campaign.Coupon.md#getredemptionlimittimeframe)() | Returns the time-frame (in days) of the defined limit on redemption per customer per time-frame. |
+| [getType](dw.campaign.Coupon.md#gettype)() | Returns the coupon type. |
+| [isEnabled](dw.campaign.Coupon.md#isenabled)() | Returns true if coupon is enabled, else false. |
+
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### TYPE_MULTIPLE_CODES
+
+- TYPE_MULTIPLE_CODES: [String](TopLevel.String.md) = "MULTIPLE_CODES"
+ - : Constant representing coupon type _multiple-codes_.
+
+
+---
+
+### TYPE_SINGLE_CODE
+
+- TYPE_SINGLE_CODE: [String](TopLevel.String.md) = "SINGLE_CODE"
+ - : Constant representing coupon type _single-code_.
+
+
+---
+
+### TYPE_SYSTEM_CODES
+
+- TYPE_SYSTEM_CODES: [String](TopLevel.String.md) = "SYSTEM_CODES"
+ - : Constant representing coupon type _system-codes_.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the coupon.
+
+
+---
+
+### codePrefix
+- codePrefix: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the prefix defined for coupons of type [TYPE_SYSTEM_CODES](dw.campaign.Coupon.md#type_system_codes)
+ If no prefix is defined, or coupon is of type [TYPE_SINGLE_CODE](dw.campaign.Coupon.md#type_single_code)
+ or [TYPE_MULTIPLE_CODES](dw.campaign.Coupon.md#type_multiple_codes), null is returned.
+
+
+
+---
+
+### enabled
+- enabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if coupon is enabled, else false.
+
+
+---
+
+### nextCouponCode
+- nextCouponCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the next unissued code of this coupon.
+ For single-code coupons, the single fixed coupon code is returned.
+ For all multi-code coupons, the next available, unissued coupon code is returned.
+ If all codes of the coupon have been issued, then there is no next code, and null is returned.
+
+ A transaction is required when calling this method. This needs to be ensured by the calling script.
+
+
+
+---
+
+### promotions
+- promotions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the coupon-based promotions directly or indirectly (through
+ campaigns) assigned to this coupon.
+
+
+
+---
+
+### redemptionLimitPerCode
+- redemptionLimitPerCode: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the defined limit on redemption per coupon code. Null is
+ returned if no limit is defined, which means that each code can be
+ redeemed an unlimited number of times.
+
+
+
+---
+
+### redemptionLimitPerCustomer
+- redemptionLimitPerCustomer: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the defined limit on redemption of this coupon per customer.
+ Null is returned if no limit is defined, which means that customers can
+ redeem this coupon an unlimited number of times.
+
+
+
+---
+
+### redemptionLimitPerTimeFrame
+- redemptionLimitPerTimeFrame: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the defined limit on redemption per customer per time-frame (see
+ [getRedemptionLimitTimeFrame()](dw.campaign.Coupon.md#getredemptionlimittimeframe). Null is returned if no limit is
+ defined, which means that there is no time-specific redemption limit for
+ customers.
+
+
+ **See Also:**
+ - [getRedemptionLimitTimeFrame()](dw.campaign.Coupon.md#getredemptionlimittimeframe)
+
+
+---
+
+### redemptionLimitTimeFrame
+- redemptionLimitTimeFrame: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the time-frame (in days) of the defined limit on redemption per
+ customer per time-frame. Null is returned if no limit is defined, which
+ means that there is no time-specific redemption limit for customers.
+
+
+ **See Also:**
+ - [getRedemptionLimitPerTimeFrame()](dw.campaign.Coupon.md#getredemptionlimitpertimeframe)
+
+
+---
+
+### type
+- type: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the coupon type.
+ Possible values are [TYPE_SINGLE_CODE](dw.campaign.Coupon.md#type_single_code), [TYPE_MULTIPLE_CODES](dw.campaign.Coupon.md#type_multiple_codes)
+ and [TYPE_SYSTEM_CODES](dw.campaign.Coupon.md#type_system_codes).
+
+
+
+---
+
+## Method Details
+
+### getCodePrefix()
+- getCodePrefix(): [String](TopLevel.String.md)
+ - : Returns the prefix defined for coupons of type [TYPE_SYSTEM_CODES](dw.campaign.Coupon.md#type_system_codes)
+ If no prefix is defined, or coupon is of type [TYPE_SINGLE_CODE](dw.campaign.Coupon.md#type_single_code)
+ or [TYPE_MULTIPLE_CODES](dw.campaign.Coupon.md#type_multiple_codes), null is returned.
+
+
+ **Returns:**
+ - Coupon code prefix or null
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the coupon.
+
+ **Returns:**
+ - Coupon ID
+
+
+---
+
+### getNextCouponCode()
+- getNextCouponCode(): [String](TopLevel.String.md)
+ - : Returns the next unissued code of this coupon.
+ For single-code coupons, the single fixed coupon code is returned.
+ For all multi-code coupons, the next available, unissued coupon code is returned.
+ If all codes of the coupon have been issued, then there is no next code, and null is returned.
+
+ A transaction is required when calling this method. This needs to be ensured by the calling script.
+
+
+ **Returns:**
+ - Next available code of this coupon, or null if there are no available codes.
+
+
+---
+
+### getPromotions()
+- getPromotions(): [Collection](dw.util.Collection.md)
+ - : Returns the coupon-based promotions directly or indirectly (through
+ campaigns) assigned to this coupon.
+
+
+ **Returns:**
+ - Promotions assigned to the coupon in no particular order.
+
+
+---
+
+### getRedemptionLimitPerCode()
+- getRedemptionLimitPerCode(): [Number](TopLevel.Number.md)
+ - : Returns the defined limit on redemption per coupon code. Null is
+ returned if no limit is defined, which means that each code can be
+ redeemed an unlimited number of times.
+
+
+ **Returns:**
+ - The maximum number of redemption per coupon code
+
+
+---
+
+### getRedemptionLimitPerCustomer()
+- getRedemptionLimitPerCustomer(): [Number](TopLevel.Number.md)
+ - : Returns the defined limit on redemption of this coupon per customer.
+ Null is returned if no limit is defined, which means that customers can
+ redeem this coupon an unlimited number of times.
+
+
+ **Returns:**
+ - The maximum number of redemption per customer
+
+
+---
+
+### getRedemptionLimitPerTimeFrame()
+- getRedemptionLimitPerTimeFrame(): [Number](TopLevel.Number.md)
+ - : Returns the defined limit on redemption per customer per time-frame (see
+ [getRedemptionLimitTimeFrame()](dw.campaign.Coupon.md#getredemptionlimittimeframe). Null is returned if no limit is
+ defined, which means that there is no time-specific redemption limit for
+ customers.
+
+
+ **Returns:**
+ - The maximum number of redemption per customer within time-frame
+
+ **See Also:**
+ - [getRedemptionLimitTimeFrame()](dw.campaign.Coupon.md#getredemptionlimittimeframe)
+
+
+---
+
+### getRedemptionLimitTimeFrame()
+- getRedemptionLimitTimeFrame(): [Number](TopLevel.Number.md)
+ - : Returns the time-frame (in days) of the defined limit on redemption per
+ customer per time-frame. Null is returned if no limit is defined, which
+ means that there is no time-specific redemption limit for customers.
+
+
+ **Returns:**
+ - Timeframe (days) of redemption per time
+
+ **See Also:**
+ - [getRedemptionLimitPerTimeFrame()](dw.campaign.Coupon.md#getredemptionlimitpertimeframe)
+
+
+---
+
+### getType()
+- getType(): [String](TopLevel.String.md)
+ - : Returns the coupon type.
+ Possible values are [TYPE_SINGLE_CODE](dw.campaign.Coupon.md#type_single_code), [TYPE_MULTIPLE_CODES](dw.campaign.Coupon.md#type_multiple_codes)
+ and [TYPE_SYSTEM_CODES](dw.campaign.Coupon.md#type_system_codes).
+
+
+ **Returns:**
+ - Coupon type
+
+
+---
+
+### isEnabled()
+- isEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if coupon is enabled, else false.
+
+ **Returns:**
+ - true if coupon is enabled.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CouponMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CouponMgr.md
new file mode 100644
index 00000000..f8e7a9f6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CouponMgr.md
@@ -0,0 +1,137 @@
+
+# Class CouponMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.CouponMgr](dw.campaign.CouponMgr.md)
+
+Manager to access coupons.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [MR_ERROR_INVALID_SITE_ID](#mr_error_invalid_site_id): [String](TopLevel.String.md) = "MASKREDEMPTIONS_SITE_NOT_FOUND" | Indicates that an error occurred because a valid data domain cannot be found for given siteID. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [coupons](#coupons): [Collection](dw.util.Collection.md) `(read-only)` | Returns all coupons in the current site in no specific order. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getCoupon](dw.campaign.CouponMgr.md#getcouponstring)([String](TopLevel.String.md)) | Returns the coupon with the specified ID. |
+| static [getCouponByCode](dw.campaign.CouponMgr.md#getcouponbycodestring)([String](TopLevel.String.md)) | Tries to find a coupon for the given coupon code. |
+| static [getCoupons](dw.campaign.CouponMgr.md#getcoupons)() | Returns all coupons in the current site in no specific order. |
+| static [getRedemptions](dw.campaign.CouponMgr.md#getredemptionsstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns list of CouponRedemptions for the specified coupon and coupon code, sorted by redemption date descending (i.e. |
+| static [maskRedemptions](dw.campaign.CouponMgr.md#maskredemptionsstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Mask customer email address in coupon redemptions for the given siteID and email address |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### MR_ERROR_INVALID_SITE_ID
+
+- MR_ERROR_INVALID_SITE_ID: [String](TopLevel.String.md) = "MASKREDEMPTIONS_SITE_NOT_FOUND"
+ - : Indicates that an error occurred because a valid data domain cannot be found for given siteID.
+
+
+---
+
+## Property Details
+
+### coupons
+- coupons: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all coupons in the current site in no specific order.
+
+
+---
+
+## Method Details
+
+### getCoupon(String)
+- static getCoupon(couponID: [String](TopLevel.String.md)): [Coupon](dw.campaign.Coupon.md)
+ - : Returns the coupon with the specified ID.
+
+ **Parameters:**
+ - couponID - the coupon identifier.
+
+ **Returns:**
+ - Coupon with specified ID or null
+
+
+---
+
+### getCouponByCode(String)
+- static getCouponByCode(couponCode: [String](TopLevel.String.md)): [Coupon](dw.campaign.Coupon.md)
+ - : Tries to find a coupon for the given coupon code. The method first
+ searches for a coupon with a fixed code matching the passed value. If no
+ such fixed coupon is found, it searches for a coupon with a
+ system-generated code matching the passed value. If found, the coupon is
+ returned. Otherwise, the method returns null.
+
+
+ **Parameters:**
+ - couponCode - The coupon code to get the coupon for.
+
+ **Returns:**
+ - The coupon with the matching coupon code or null if no coupon was
+ found.
+
+
+
+---
+
+### getCoupons()
+- static getCoupons(): [Collection](dw.util.Collection.md)
+ - : Returns all coupons in the current site in no specific order.
+
+ **Returns:**
+ - Coupons in current site
+
+
+---
+
+### getRedemptions(String, String)
+- static getRedemptions(couponID: [String](TopLevel.String.md), couponCode: [String](TopLevel.String.md)): [Collection](dw.util.Collection.md)
+ - : Returns list of CouponRedemptions for the specified coupon and coupon code,
+ sorted by redemption date descending (i.e. last redemption first).
+ Usually, there should only either be 0 or 1 redemption. But if a coupon and code
+ is removed and recreated and re-issued later, there might be multiple such redemption records.
+ Returns an empty list if no redemption record exists in system for the specified coupon and code.
+
+
+ **Parameters:**
+ - couponID - The coupon id to find redemption for.
+ - couponCode - The coupon code to find redemption for.
+
+ **Returns:**
+ - A sorted list of CouponRedemptions for the specified coupon and coupon code or
+ an empty list if no redemption record exists.
+
+
+
+---
+
+### maskRedemptions(String, String)
+- static maskRedemptions(siteID: [String](TopLevel.String.md), email: [String](TopLevel.String.md)): [Status](dw.system.Status.md)
+ - : Mask customer email address in coupon redemptions for the given siteID and email address
+
+ **Parameters:**
+ - siteID - the site ID
+ - email - the customer email address
+
+ **Returns:**
+ - The status of the masking result
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CouponRedemption.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CouponRedemption.md
new file mode 100644
index 00000000..7d722010
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CouponRedemption.md
@@ -0,0 +1,87 @@
+
+# Class CouponRedemption
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.CouponRedemption](dw.campaign.CouponRedemption.md)
+
+Represents a redeemed coupon.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [customerEmail](#customeremail): [String](TopLevel.String.md) `(read-only)` | Returns email of redeeming customer. |
+| [orderNo](#orderno): [String](TopLevel.String.md) `(read-only)` | Returns number of the order the code was redeemed with. |
+| [redemptionDate](#redemptiondate): [Date](TopLevel.Date.md) `(read-only)` | Returns date of redemption. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCustomerEmail](dw.campaign.CouponRedemption.md#getcustomeremail)() | Returns email of redeeming customer. |
+| [getOrderNo](dw.campaign.CouponRedemption.md#getorderno)() | Returns number of the order the code was redeemed with. |
+| [getRedemptionDate](dw.campaign.CouponRedemption.md#getredemptiondate)() | Returns date of redemption. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### customerEmail
+- customerEmail: [String](TopLevel.String.md) `(read-only)`
+ - : Returns email of redeeming customer.
+
+
+---
+
+### orderNo
+- orderNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns number of the order the code was redeemed with.
+
+
+---
+
+### redemptionDate
+- redemptionDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns date of redemption.
+
+
+---
+
+## Method Details
+
+### getCustomerEmail()
+- getCustomerEmail(): [String](TopLevel.String.md)
+ - : Returns email of redeeming customer.
+
+ **Returns:**
+ - email of redeeming customer.
+
+
+---
+
+### getOrderNo()
+- getOrderNo(): [String](TopLevel.String.md)
+ - : Returns number of the order the code was redeemed with.
+
+ **Returns:**
+ - number of the order the code was redeemed with.
+
+
+---
+
+### getRedemptionDate()
+- getRedemptionDate(): [Date](TopLevel.Date.md)
+ - : Returns date of redemption.
+
+ **Returns:**
+ - date of redemption.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CouponStatusCodes.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CouponStatusCodes.md
new file mode 100644
index 00000000..6043a3b5
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.CouponStatusCodes.md
@@ -0,0 +1,130 @@
+
+# Class CouponStatusCodes
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.CouponStatusCodes](dw.campaign.CouponStatusCodes.md)
+
+Helper class containing status codes for why a coupon code cannot be added
+to cart or why a coupon code already in cart is not longer valid for redemption.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [APPLIED](#applied): [String](TopLevel.String.md) = "APPLIED" | Coupon is currently applied in basket = Coupon code is valid for redemption and Coupon is assigned to one or multiple applicable promotions. |
+| [COUPON_ALREADY_IN_BASKET](#coupon_already_in_basket): [String](TopLevel.String.md) = "COUPON_ALREADY_IN_BASKET" | Indicates that another code of the same MultiCode/System coupon has already been added to basket. |
+| [COUPON_CODE_ALREADY_IN_BASKET](#coupon_code_already_in_basket): [String](TopLevel.String.md) = "COUPON_CODE_ALREADY_IN_BASKET" | Indicates that coupon code has already been added to basket. |
+| [COUPON_CODE_ALREADY_REDEEMED](#coupon_code_already_redeemed): [String](TopLevel.String.md) = "COUPON_CODE_ALREADY_REDEEMED" | Indicates that code of MultiCode/System coupon has already been redeemed. |
+| [COUPON_CODE_UNKNOWN](#coupon_code_unknown): [String](TopLevel.String.md) = "COUPON_CODE_UNKNOWN" | Indicates that coupon not found for given coupon code or that the code itself was not found. |
+| [COUPON_DISABLED](#coupon_disabled): [String](TopLevel.String.md) = "COUPON_DISABLED" | Indicates that coupon is not enabled. |
+| [CUSTOMER_REDEMPTION_LIMIT_EXCEEDED](#customer_redemption_limit_exceeded): [String](TopLevel.String.md) = "CUSTOMER_REDEMPTION_LIMIT_EXCEEDED" | Indicates that No. |
+| [NO_ACTIVE_PROMOTION](#no_active_promotion): [String](TopLevel.String.md) = "NO_ACTIVE_PROMOTION" | Indicates that coupon is not assigned to an active promotion. |
+| [NO_APPLICABLE_PROMOTION](#no_applicable_promotion): [String](TopLevel.String.md) = "NO_APPLICABLE_PROMOTION" | Coupon is assigned to one or multiple active promotions, but none of these promotions is currently applicable. |
+| [REDEMPTION_LIMIT_EXCEEDED](#redemption_limit_exceeded): [String](TopLevel.String.md) = "REDEMPTION_LIMIT_EXCEEDED" | Indicates that no. |
+| [TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED](#timeframe_redemption_limit_exceeded): [String](TopLevel.String.md) = "TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED" | Indicates that No. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### APPLIED
+
+- APPLIED: [String](TopLevel.String.md) = "APPLIED"
+ - : Coupon is currently applied in basket = Coupon code is valid for redemption and
+ Coupon is assigned to one or multiple applicable promotions.
+
+
+
+---
+
+### COUPON_ALREADY_IN_BASKET
+
+- COUPON_ALREADY_IN_BASKET: [String](TopLevel.String.md) = "COUPON_ALREADY_IN_BASKET"
+ - : Indicates that another code of the same MultiCode/System coupon has already been added to basket.
+
+
+---
+
+### COUPON_CODE_ALREADY_IN_BASKET
+
+- COUPON_CODE_ALREADY_IN_BASKET: [String](TopLevel.String.md) = "COUPON_CODE_ALREADY_IN_BASKET"
+ - : Indicates that coupon code has already been added to basket.
+
+
+---
+
+### COUPON_CODE_ALREADY_REDEEMED
+
+- COUPON_CODE_ALREADY_REDEEMED: [String](TopLevel.String.md) = "COUPON_CODE_ALREADY_REDEEMED"
+ - : Indicates that code of MultiCode/System coupon has already been redeemed.
+
+
+---
+
+### COUPON_CODE_UNKNOWN
+
+- COUPON_CODE_UNKNOWN: [String](TopLevel.String.md) = "COUPON_CODE_UNKNOWN"
+ - : Indicates that coupon not found for given coupon code or that the code itself was not found.
+
+
+---
+
+### COUPON_DISABLED
+
+- COUPON_DISABLED: [String](TopLevel.String.md) = "COUPON_DISABLED"
+ - : Indicates that coupon is not enabled.
+
+
+---
+
+### CUSTOMER_REDEMPTION_LIMIT_EXCEEDED
+
+- CUSTOMER_REDEMPTION_LIMIT_EXCEEDED: [String](TopLevel.String.md) = "CUSTOMER_REDEMPTION_LIMIT_EXCEEDED"
+ - : Indicates that No. of redemptions per code & customer exceeded.
+
+
+---
+
+### NO_ACTIVE_PROMOTION
+
+- NO_ACTIVE_PROMOTION: [String](TopLevel.String.md) = "NO_ACTIVE_PROMOTION"
+ - : Indicates that coupon is not assigned to an active promotion.
+
+
+---
+
+### NO_APPLICABLE_PROMOTION
+
+- NO_APPLICABLE_PROMOTION: [String](TopLevel.String.md) = "NO_APPLICABLE_PROMOTION"
+ - : Coupon is assigned to one or multiple active promotions, but none of these promotions is currently applicable.
+
+
+---
+
+### REDEMPTION_LIMIT_EXCEEDED
+
+- REDEMPTION_LIMIT_EXCEEDED: [String](TopLevel.String.md) = "REDEMPTION_LIMIT_EXCEEDED"
+ - : Indicates that no. of redemptions per code exceeded.
+ Usually happens for single code coupons
+
+
+
+---
+
+### TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED
+
+- TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED: [String](TopLevel.String.md) = "TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED"
+ - : Indicates that No. of redemptions per code,customer & time exceeded.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Discount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Discount.md
new file mode 100644
index 00000000..4fa7d6b4
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Discount.md
@@ -0,0 +1,271 @@
+
+# Class Discount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+
+Superclass of all specific discount classes.
+
+
+## All Known Subclasses
+[AmountDiscount](dw.campaign.AmountDiscount.md), [BonusChoiceDiscount](dw.campaign.BonusChoiceDiscount.md), [BonusDiscount](dw.campaign.BonusDiscount.md), [FixedPriceDiscount](dw.campaign.FixedPriceDiscount.md), [FixedPriceShippingDiscount](dw.campaign.FixedPriceShippingDiscount.md), [FreeDiscount](dw.campaign.FreeDiscount.md), [FreeShippingDiscount](dw.campaign.FreeShippingDiscount.md), [PercentageDiscount](dw.campaign.PercentageDiscount.md), [PercentageOptionDiscount](dw.campaign.PercentageOptionDiscount.md), [PriceBookPriceDiscount](dw.campaign.PriceBookPriceDiscount.md), [TotalFixedPriceDiscount](dw.campaign.TotalFixedPriceDiscount.md)
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [TYPE_AMOUNT](#type_amount): [String](TopLevel.String.md) = "AMOUNT" | Constant representing discounts of type _amount_. |
+| [TYPE_BONUS](#type_bonus): [String](TopLevel.String.md) = "BONUS" | Constant representing discounts of type _bonus_. |
+| [TYPE_BONUS_CHOICE](#type_bonus_choice): [String](TopLevel.String.md) = "BONUS_CHOICE" | Constant representing discounts of type _bonus choice_. |
+| [TYPE_FIXED_PRICE](#type_fixed_price): [String](TopLevel.String.md) = "FIXED_PRICE" | Constant representing discounts of type _fixed-price_. |
+| [TYPE_FIXED_PRICE_SHIPPING](#type_fixed_price_shipping): [String](TopLevel.String.md) = "FIXED_PRICE_SHIPPING" | Constant representing discounts of type _fixed price shipping_. |
+| [TYPE_FREE](#type_free): [String](TopLevel.String.md) = "FREE" | Constant representing discounts of type _free_. |
+| [TYPE_FREE_SHIPPING](#type_free_shipping): [String](TopLevel.String.md) = "FREE_SHIPPING" | Constant representing discounts of type _free shipping_. |
+| [TYPE_PERCENTAGE](#type_percentage): [String](TopLevel.String.md) = "PERCENTAGE" | Constant representing discounts of type _percentage_. |
+| [TYPE_PERCENTAGE_OFF_OPTIONS](#type_percentage_off_options): [String](TopLevel.String.md) = "PERCENTAGE_OFF_OPTIONS" | Constant representing discounts of type _percent off options_. |
+| [TYPE_PRICEBOOK_PRICE](#type_pricebook_price): [String](TopLevel.String.md) = "PRICE_BOOK_PRICE" | Constant representing discounts of type _price book price_. |
+| [TYPE_TOTAL_FIXED_PRICE](#type_total_fixed_price): [String](TopLevel.String.md) = "TOTAL_FIXED_PRICE" | Constant representing discounts of type _total fixed price_. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [itemPromotionTiers](#itempromotiontiers): [Map](dw.util.Map.md) `(read-only)` | Returns the tier index by quantity Id of Product promotion. |
+| [promotion](#promotion): [Promotion](dw.campaign.Promotion.md) `(read-only)` | Returns the promotion this discount is based on. |
+| [promotionTier](#promotiontier): [Number](TopLevel.Number.md) `(read-only)` | Returns the tier index for promotion at order level or bonus product. |
+| [quantity](#quantity): [Number](TopLevel.Number.md) `(read-only)` | Returns the quantity of the discount. |
+| [type](#type): [String](TopLevel.String.md) `(read-only)` | Returns the type of the discount. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers)() | Returns the tier index by quantity Id of Product promotion. |
+| [getPromotion](dw.campaign.Discount.md#getpromotion)() | Returns the promotion this discount is based on. |
+| [getPromotionTier](dw.campaign.Discount.md#getpromotiontier)() | Returns the tier index for promotion at order level or bonus product. |
+| [getQuantity](dw.campaign.Discount.md#getquantity)() | Returns the quantity of the discount. |
+| [getType](dw.campaign.Discount.md#gettype)() | Returns the type of the discount. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### TYPE_AMOUNT
+
+- TYPE_AMOUNT: [String](TopLevel.String.md) = "AMOUNT"
+ - : Constant representing discounts of type _amount_.
+
+
+---
+
+### TYPE_BONUS
+
+- TYPE_BONUS: [String](TopLevel.String.md) = "BONUS"
+ - : Constant representing discounts of type _bonus_.
+
+
+---
+
+### TYPE_BONUS_CHOICE
+
+- TYPE_BONUS_CHOICE: [String](TopLevel.String.md) = "BONUS_CHOICE"
+ - : Constant representing discounts of type _bonus choice_.
+
+
+---
+
+### TYPE_FIXED_PRICE
+
+- TYPE_FIXED_PRICE: [String](TopLevel.String.md) = "FIXED_PRICE"
+ - : Constant representing discounts of type _fixed-price_.
+
+
+---
+
+### TYPE_FIXED_PRICE_SHIPPING
+
+- TYPE_FIXED_PRICE_SHIPPING: [String](TopLevel.String.md) = "FIXED_PRICE_SHIPPING"
+ - : Constant representing discounts of type _fixed price shipping_.
+
+
+---
+
+### TYPE_FREE
+
+- TYPE_FREE: [String](TopLevel.String.md) = "FREE"
+ - : Constant representing discounts of type _free_.
+
+
+---
+
+### TYPE_FREE_SHIPPING
+
+- TYPE_FREE_SHIPPING: [String](TopLevel.String.md) = "FREE_SHIPPING"
+ - : Constant representing discounts of type _free shipping_.
+
+
+---
+
+### TYPE_PERCENTAGE
+
+- TYPE_PERCENTAGE: [String](TopLevel.String.md) = "PERCENTAGE"
+ - : Constant representing discounts of type _percentage_.
+
+
+---
+
+### TYPE_PERCENTAGE_OFF_OPTIONS
+
+- TYPE_PERCENTAGE_OFF_OPTIONS: [String](TopLevel.String.md) = "PERCENTAGE_OFF_OPTIONS"
+ - : Constant representing discounts of type _percent off options_.
+
+
+---
+
+### TYPE_PRICEBOOK_PRICE
+
+- TYPE_PRICEBOOK_PRICE: [String](TopLevel.String.md) = "PRICE_BOOK_PRICE"
+ - : Constant representing discounts of type _price book price_.
+
+
+---
+
+### TYPE_TOTAL_FIXED_PRICE
+
+- TYPE_TOTAL_FIXED_PRICE: [String](TopLevel.String.md) = "TOTAL_FIXED_PRICE"
+ - : Constant representing discounts of type _total fixed price_.
+
+
+---
+
+## Property Details
+
+### itemPromotionTiers
+- itemPromotionTiers: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns the tier index by quantity Id of Product promotion. ProductLineItems may have more than one quantity, but
+ not all items of that SKU may have received the same tier of promotion. Each quantity of the ProductLineItem is
+ indexed from 1 to n, where n is the quantity of the ProductLineItem, and this method returns a mapping from that
+ quantity index to the index of tier of the promotion that item received. For more information about tier indexes,
+ see [getPromotionTier()](dw.campaign.Discount.md#getpromotiontier) method.
+
+
+ **See Also:**
+ - [getPromotionTier()](dw.campaign.Discount.md#getpromotiontier)
+
+
+---
+
+### promotion
+- promotion: [Promotion](dw.campaign.Promotion.md) `(read-only)`
+ - : Returns the promotion this discount is based on.
+
+
+---
+
+### promotionTier
+- promotionTier: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the tier index for promotion at order level or bonus product.
+ Promotion tiers are always evaluated in the order of the highest threshold (e.g. quantity, or amount)
+ to the lowest threshold. The tier that is evaluated first (i.e. the highest quantity or amount) is indexed as 0,
+ the next tier 1, etc. The lowest tier will have index n - 1, where n is the total number of tiers.
+
+
+
+---
+
+### quantity
+- quantity: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the quantity of the discount. This quantity specifies how often
+ this discount applies to its target object. For example, a 10% off
+ discount with quantity 2 associated to a product line item with
+ quantity 3 is applied to two items of the product line item.
+
+ Discounts of order and shipping promotions, and bonus discounts
+ have a fix quantity of 1.
+
+
+
+---
+
+### type
+- type: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the type of the discount.
+
+
+---
+
+## Method Details
+
+### getItemPromotionTiers()
+- getItemPromotionTiers(): [Map](dw.util.Map.md)
+ - : Returns the tier index by quantity Id of Product promotion. ProductLineItems may have more than one quantity, but
+ not all items of that SKU may have received the same tier of promotion. Each quantity of the ProductLineItem is
+ indexed from 1 to n, where n is the quantity of the ProductLineItem, and this method returns a mapping from that
+ quantity index to the index of tier of the promotion that item received. For more information about tier indexes,
+ see [getPromotionTier()](dw.campaign.Discount.md#getpromotiontier) method.
+
+
+ **Returns:**
+ - Map of Tier index by quantity Id or `empty map`
+
+ **See Also:**
+ - [getPromotionTier()](dw.campaign.Discount.md#getpromotiontier)
+
+
+---
+
+### getPromotion()
+- getPromotion(): [Promotion](dw.campaign.Promotion.md)
+ - : Returns the promotion this discount is based on.
+
+ **Returns:**
+ - Promotion related to this discount
+
+
+---
+
+### getPromotionTier()
+- getPromotionTier(): [Number](TopLevel.Number.md)
+ - : Returns the tier index for promotion at order level or bonus product.
+ Promotion tiers are always evaluated in the order of the highest threshold (e.g. quantity, or amount)
+ to the lowest threshold. The tier that is evaluated first (i.e. the highest quantity or amount) is indexed as 0,
+ the next tier 1, etc. The lowest tier will have index n - 1, where n is the total number of tiers.
+
+
+ **Returns:**
+ - Tier index or `null`
+
+
+---
+
+### getQuantity()
+- getQuantity(): [Number](TopLevel.Number.md)
+ - : Returns the quantity of the discount. This quantity specifies how often
+ this discount applies to its target object. For example, a 10% off
+ discount with quantity 2 associated to a product line item with
+ quantity 3 is applied to two items of the product line item.
+
+ Discounts of order and shipping promotions, and bonus discounts
+ have a fix quantity of 1.
+
+
+ **Returns:**
+ - Discount quantity
+
+
+---
+
+### getType()
+- getType(): [String](TopLevel.String.md)
+ - : Returns the type of the discount.
+
+ **Returns:**
+ - Discount type
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.DiscountPlan.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.DiscountPlan.md
new file mode 100644
index 00000000..a0f0f839
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.DiscountPlan.md
@@ -0,0 +1,322 @@
+
+# Class DiscountPlan
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.DiscountPlan](dw.campaign.DiscountPlan.md)
+
+DiscountPlan represents a set of [Discount](dw.campaign.Discount.md)s. Instances of the class are
+returned by the [PromotionMgr](dw.campaign.PromotionMgr.md) when requesting applicable discounts
+for a specified set of promotions and a line item container
+(see [PromotionMgr.getDiscounts(LineItemCtnr, PromotionPlan)](dw.campaign.PromotionMgr.md#getdiscountslineitemctnr-promotionplan)).
+
+
+DiscountPlan provides methods to access the discounts contained in the plan,
+add additional discounts to the plan (future) or remove discounts from the plan.
+
+
+**See Also:**
+- [PromotionMgr](dw.campaign.PromotionMgr.md)
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [approachingOrderDiscounts](#approachingorderdiscounts): [Collection](dw.util.Collection.md) `(read-only)` | Get the collection of order discounts that the LineItemCtnr "almost" qualifies for based on the merchandise total in the cart. |
+| [bonusDiscounts](#bonusdiscounts): [Collection](dw.util.Collection.md) `(read-only)` | Returns all bonus discounts contained in the discount plan. |
+| [lineItemCtnr](#lineitemctnr): [LineItemCtnr](dw.order.LineItemCtnr.md) `(read-only)` | Returns line item container associated with discount plan. |
+| [orderDiscounts](#orderdiscounts): [Collection](dw.util.Collection.md) `(read-only)` | Returns the percentage and amount order discounts contained in the discount plan. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getApproachingOrderDiscounts](dw.campaign.DiscountPlan.md#getapproachingorderdiscounts)() | Get the collection of order discounts that the LineItemCtnr "almost" qualifies for based on the merchandise total in the cart. |
+| [getApproachingShippingDiscounts](dw.campaign.DiscountPlan.md#getapproachingshippingdiscountsshipment)([Shipment](dw.order.Shipment.md)) | Get the collection of shipping discounts that the passed shipment "almost" qualifies for based on the merchandise total in the shipment. |
+| [getApproachingShippingDiscounts](dw.campaign.DiscountPlan.md#getapproachingshippingdiscountsshipment-shippingmethod)([Shipment](dw.order.Shipment.md), [ShippingMethod](dw.order.ShippingMethod.md)) | Get the collection of shipping discounts that the passed shipment "almost" qualifies for based on the merchandise total in the shipment. |
+| [getApproachingShippingDiscounts](dw.campaign.DiscountPlan.md#getapproachingshippingdiscountsshipment-collection)([Shipment](dw.order.Shipment.md), [Collection](dw.util.Collection.md)) | Get the collection of shipping discounts that the passed shipment "almost" qualifies for based on the merchandise total in the shipment. |
+| [getBonusDiscounts](dw.campaign.DiscountPlan.md#getbonusdiscounts)() | Returns all bonus discounts contained in the discount plan. |
+| [getLineItemCtnr](dw.campaign.DiscountPlan.md#getlineitemctnr)() | Returns line item container associated with discount plan. |
+| [getOrderDiscounts](dw.campaign.DiscountPlan.md#getorderdiscounts)() | Returns the percentage and amount order discounts contained in the discount plan. |
+| [getProductDiscounts](dw.campaign.DiscountPlan.md#getproductdiscountsproductlineitem)([ProductLineItem](dw.order.ProductLineItem.md)) | Returns the percentage, amount and fix price discounts associated with the specified product line item. |
+| [getProductShippingDiscounts](dw.campaign.DiscountPlan.md#getproductshippingdiscountsproductlineitem)([ProductLineItem](dw.order.ProductLineItem.md)) | Returns the product-shipping discounts associated with the specified product line item. |
+| [getShippingDiscounts](dw.campaign.DiscountPlan.md#getshippingdiscountsshipment)([Shipment](dw.order.Shipment.md)) | Returns the percentage, amount and fix price discounts associated with the specified shipment. |
+| [removeDiscount](dw.campaign.DiscountPlan.md#removediscountdiscount)([Discount](dw.campaign.Discount.md)) | Removes the specified discount from the discount plan. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### approachingOrderDiscounts
+- approachingOrderDiscounts: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Get the collection of order discounts that the LineItemCtnr "almost"
+ qualifies for based on the merchandise total in the cart. Nearness is
+ controlled by thresholds configured at the promotion level.
+
+
+ The collection of returned approaching discounts is ordered by the
+ condition threshold of the promotion (e.g. "spend $100 and get 10% off"
+ discount is returned before "spend $150 and get 15% off" discount.) A
+ discount is not returned if it would be prevented from applying (because
+ of compatibility rules) by an order discount already in the DiscountPlan
+ or an approaching order discount with a lower condition threshold.
+
+
+
+---
+
+### bonusDiscounts
+- bonusDiscounts: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all bonus discounts contained in the discount plan.
+
+
+---
+
+### lineItemCtnr
+- lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md) `(read-only)`
+ - : Returns line item container associated with discount plan.
+
+ A discount plan is created from and associated with a line item container.
+ This method returns the line item container associated with this discount plan.
+
+
+
+---
+
+### orderDiscounts
+- orderDiscounts: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the percentage and amount order discounts contained in the
+ discount plan.
+
+
+
+---
+
+## Method Details
+
+### getApproachingOrderDiscounts()
+- getApproachingOrderDiscounts(): [Collection](dw.util.Collection.md)
+ - : Get the collection of order discounts that the LineItemCtnr "almost"
+ qualifies for based on the merchandise total in the cart. Nearness is
+ controlled by thresholds configured at the promotion level.
+
+
+ The collection of returned approaching discounts is ordered by the
+ condition threshold of the promotion (e.g. "spend $100 and get 10% off"
+ discount is returned before "spend $150 and get 15% off" discount.) A
+ discount is not returned if it would be prevented from applying (because
+ of compatibility rules) by an order discount already in the DiscountPlan
+ or an approaching order discount with a lower condition threshold.
+
+
+ **Returns:**
+ - Collection of approaching order discounts ordered by the
+ condition threshold of the promotion ascending.
+
+
+
+---
+
+### getApproachingShippingDiscounts(Shipment)
+- getApproachingShippingDiscounts(shipment: [Shipment](dw.order.Shipment.md)): [Collection](dw.util.Collection.md)
+ - : Get the collection of shipping discounts that the passed shipment
+ "almost" qualifies for based on the merchandise total in the shipment.
+ Nearness is controlled by thresholds configured at the promotion level.
+
+
+ The collection of returned approaching discounts is ordered by the
+ condition threshold of the promotion (e.g.
+ "spend $100 and get free standard shipping" discount is returned before
+ "spend $150 and get free standard shipping" discount.) A discount is not
+ returned if it would be prevented from applying (because of compatibility
+ rules) by a shipping discount already in the DiscountPlan or an
+ approaching shipping discount with a lower condition threshold.
+
+
+ **Parameters:**
+ - shipment - The shipment to calculate approaching discounts for.
+
+ **Returns:**
+ - Collection of approaching shipping discounts ordered by the
+ condition threshold of the promotion ascending.
+
+
+
+---
+
+### getApproachingShippingDiscounts(Shipment, ShippingMethod)
+- getApproachingShippingDiscounts(shipment: [Shipment](dw.order.Shipment.md), shippingMethod: [ShippingMethod](dw.order.ShippingMethod.md)): [Collection](dw.util.Collection.md)
+ - : Get the collection of shipping discounts that the passed shipment
+ "almost" qualifies for based on the merchandise total in the shipment.
+ Here "almost" is controlled by thresholds configured at the promotion
+ level.
+
+
+ This method only returns discounts for shipping promotions which apply to
+ the passed shipping method.
+
+
+ The collection of returned approaching discounts is ordered by the
+ condition threshold of the promotion (e.g.
+ "spend $100 and get free standard shipping" discount is returned before
+ "spend $150 and get free standard shipping" discount.) A discount is not
+ returned if it would be prevented from applying (because of compatibility
+ rules) by a shipping discount already in the DiscountPlan or an
+ approaching shipping discount with a lower condition threshold.
+
+
+ **Parameters:**
+ - shipment - The shipment to calculate approaching discounts for.
+ - shippingMethod - The shipping method to filter by.
+
+ **Returns:**
+ - Collection of approaching shipping discounts ordered by the
+ condition threshold of the promotion, ascending.
+
+
+
+---
+
+### getApproachingShippingDiscounts(Shipment, Collection)
+- getApproachingShippingDiscounts(shipment: [Shipment](dw.order.Shipment.md), shippingMethods: [Collection](dw.util.Collection.md)): [Collection](dw.util.Collection.md)
+ - : Get the collection of shipping discounts that the passed shipment
+ "almost" qualifies for based on the merchandise total in the shipment.
+ Here "almost" is controlled by thresholds configured at the promotion
+ level.
+
+
+ This method only returns discounts for shipping promotions which apply to
+ one of the passed shipping methods.
+
+
+ The collection of returned approaching discounts is ordered by the
+ condition threshold of the promotion (e.g.
+ "spend $100 and get free standard shipping" discount is returned before
+ "spend $150 and get free standard shipping" discount.) A discount is not
+ returned if it would be prevented from applying (because of compatibility
+ rules) by a shipping discount already in the DiscountPlan or an
+ approaching shipping discount with a lower condition threshold.
+
+
+ **Parameters:**
+ - shipment - The shipment to calculate approaching discounts for.
+ - shippingMethods - The shipping methods to filter by.
+
+ **Returns:**
+ - Collection of approaching shipping discounts ordered by the
+ condition threshold of the promotion ascending.
+
+
+
+---
+
+### getBonusDiscounts()
+- getBonusDiscounts(): [Collection](dw.util.Collection.md)
+ - : Returns all bonus discounts contained in the discount plan.
+
+ **Returns:**
+ - All bonus discounts contained in discount plan
+
+
+---
+
+### getLineItemCtnr()
+- getLineItemCtnr(): [LineItemCtnr](dw.order.LineItemCtnr.md)
+ - : Returns line item container associated with discount plan.
+
+ A discount plan is created from and associated with a line item container.
+ This method returns the line item container associated with this discount plan.
+
+
+ **Returns:**
+ - Line item container associated with plan
+
+
+---
+
+### getOrderDiscounts()
+- getOrderDiscounts(): [Collection](dw.util.Collection.md)
+ - : Returns the percentage and amount order discounts contained in the
+ discount plan.
+
+
+ **Returns:**
+ - Order discounts contained in the discount plan
+
+
+---
+
+### getProductDiscounts(ProductLineItem)
+- getProductDiscounts(productLineItem: [ProductLineItem](dw.order.ProductLineItem.md)): [Collection](dw.util.Collection.md)
+ - : Returns the percentage, amount and fix price discounts associated
+ with the specified product line item. If the specified product line
+ item is not contained in the discount plan, an empty collection is
+ returned.
+
+
+ **Parameters:**
+ - productLineItem - Product line item
+
+ **Returns:**
+ - Discounts associated with specified product line item
+
+
+---
+
+### getProductShippingDiscounts(ProductLineItem)
+- getProductShippingDiscounts(productLineItem: [ProductLineItem](dw.order.ProductLineItem.md)): [Collection](dw.util.Collection.md)
+ - : Returns the product-shipping discounts associated with the specified
+ product line item. If the specified product line item is not contained in
+ the discount plan, an empty collection is returned.
+
+
+ **Parameters:**
+ - productLineItem - Product line item
+
+ **Returns:**
+ - Product-shipping discounts associated with specified product line
+ item
+
+
+
+---
+
+### getShippingDiscounts(Shipment)
+- getShippingDiscounts(shipment: [Shipment](dw.order.Shipment.md)): [Collection](dw.util.Collection.md)
+ - : Returns the percentage, amount and fix price discounts associated with
+ the specified shipment. If the specified shipment is not contained in
+ the discount plan, an empty collection is returned.
+
+
+ **Parameters:**
+ - shipment - the shipment for which to fetch discounts.
+
+ **Returns:**
+ - Discounts associated with specified shipment
+
+
+---
+
+### removeDiscount(Discount)
+- removeDiscount(discount: [Discount](dw.campaign.Discount.md)): void
+ - : Removes the specified discount from the discount plan.
+
+
+ This method should only be used for very simple discount scenarios. It
+ is not recommended to use the method in case of stacked discounts
+ (i.e. multiple order or product discounts), or complex discount types
+ like Buy X Get Y or Total Fixed Price, since correct re-calculation of the
+ discount plan based on the promotion rules is not guaranteed.
+
+
+ **Parameters:**
+ - discount - Discount to be removed
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FixedPriceDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FixedPriceDiscount.md
new file mode 100644
index 00000000..ade65d37
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FixedPriceDiscount.md
@@ -0,0 +1,74 @@
+
+# Class FixedPriceDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.FixedPriceDiscount](dw.campaign.FixedPriceDiscount.md)
+
+Represents a _fix price_ discount in the discount plan, for example
+"Shipping only 0.99 all orders $25 or more."
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [fixedPrice](#fixedprice): [Number](TopLevel.Number.md) `(read-only)` | Returns the fixed price amount, for example 0.99 for a "Shipping only $0.99" discount. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [FixedPriceDiscount](#fixedpricediscountnumber)([Number](TopLevel.Number.md)) | Create a fixed-price-discount on the fly. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getFixedPrice](dw.campaign.FixedPriceDiscount.md#getfixedprice)() | Returns the fixed price amount, for example 0.99 for a "Shipping only $0.99" discount. |
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### fixedPrice
+- fixedPrice: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the fixed price amount, for example 0.99 for a "Shipping only $0.99"
+ discount.
+
+
+
+---
+
+## Constructor Details
+
+### FixedPriceDiscount(Number)
+- FixedPriceDiscount(amount: [Number](TopLevel.Number.md))
+ - : Create a fixed-price-discount on the fly. Can be used to create a custom price adjustment.
+
+ **Parameters:**
+ - amount - fixed price e.g. 10.00
+
+
+---
+
+## Method Details
+
+### getFixedPrice()
+- getFixedPrice(): [Number](TopLevel.Number.md)
+ - : Returns the fixed price amount, for example 0.99 for a "Shipping only $0.99"
+ discount.
+
+
+ **Returns:**
+ - Fixed price amount
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FixedPriceShippingDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FixedPriceShippingDiscount.md
new file mode 100644
index 00000000..a2a17fc3
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FixedPriceShippingDiscount.md
@@ -0,0 +1,74 @@
+
+# Class FixedPriceShippingDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.FixedPriceShippingDiscount](dw.campaign.FixedPriceShippingDiscount.md)
+
+Represents a _fixed price shipping_ discount in the discount plan, for
+example "Shipping only 0.99 for iPods."
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [fixedPrice](#fixedprice): [Number](TopLevel.Number.md) `(read-only)` | Returns the fixed price amount, for example 0.99 for a "Shipping only $0.99" discount. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [FixedPriceShippingDiscount](#fixedpriceshippingdiscountnumber)([Number](TopLevel.Number.md)) | Create a fixed-price-shipping-discount on the fly. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getFixedPrice](dw.campaign.FixedPriceShippingDiscount.md#getfixedprice)() | Returns the fixed price amount, for example 0.99 for a "Shipping only $0.99" discount. |
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### fixedPrice
+- fixedPrice: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the fixed price amount, for example 0.99 for a "Shipping only $0.99"
+ discount.
+
+
+
+---
+
+## Constructor Details
+
+### FixedPriceShippingDiscount(Number)
+- FixedPriceShippingDiscount(amount: [Number](TopLevel.Number.md))
+ - : Create a fixed-price-shipping-discount on the fly. Can be used to create a custom price adjustment.
+
+ **Parameters:**
+ - amount - fixed price for shipping e.g. 10.00
+
+
+---
+
+## Method Details
+
+### getFixedPrice()
+- getFixedPrice(): [Number](TopLevel.Number.md)
+ - : Returns the fixed price amount, for example 0.99 for a "Shipping only $0.99"
+ discount.
+
+
+ **Returns:**
+ - Fixed price amount
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FreeDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FreeDiscount.md
new file mode 100644
index 00000000..54428896
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FreeDiscount.md
@@ -0,0 +1,24 @@
+
+# Class FreeDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.FreeDiscount](dw.campaign.FreeDiscount.md)
+
+Represents a _free_ discount in the discount plan, for example
+"Free shipping on all orders $25 or more."
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FreeShippingDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FreeShippingDiscount.md
new file mode 100644
index 00000000..e477c244
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.FreeShippingDiscount.md
@@ -0,0 +1,24 @@
+
+# Class FreeShippingDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.FreeShippingDiscount](dw.campaign.FreeShippingDiscount.md)
+
+Represents a _free shipping_ discount in the discount plan, for example
+"Free shipping on all iPods."
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PercentageDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PercentageDiscount.md
new file mode 100644
index 00000000..09618281
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PercentageDiscount.md
@@ -0,0 +1,74 @@
+
+# Class PercentageDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.PercentageDiscount](dw.campaign.PercentageDiscount.md)
+
+Represents a _percentage-off_ discount in the discount plan, for example
+"10% off all T-Shirts".
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [percentage](#percentage): [Number](TopLevel.Number.md) `(read-only)` | Returns the percentage discount value, for example 10.00 for a "10% off" discount. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [PercentageDiscount](#percentagediscountnumber)([Number](TopLevel.Number.md)) | Create a percentage-discount on the fly. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getPercentage](dw.campaign.PercentageDiscount.md#getpercentage)() | Returns the percentage discount value, for example 10.00 for a "10% off" discount. |
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### percentage
+- percentage: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the percentage discount value, for example 10.00 for a "10% off"
+ discount.
+
+
+
+---
+
+## Constructor Details
+
+### PercentageDiscount(Number)
+- PercentageDiscount(percentage: [Number](TopLevel.Number.md))
+ - : Create a percentage-discount on the fly. Can be used to create a custom price adjustment.
+
+ **Parameters:**
+ - percentage - percentage value, e.g. 15.00 for 15%
+
+
+---
+
+## Method Details
+
+### getPercentage()
+- getPercentage(): [Number](TopLevel.Number.md)
+ - : Returns the percentage discount value, for example 10.00 for a "10% off"
+ discount.
+
+
+ **Returns:**
+ - Discount percentage value
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PercentageOptionDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PercentageOptionDiscount.md
new file mode 100644
index 00000000..c5bdc7df
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PercentageOptionDiscount.md
@@ -0,0 +1,59 @@
+
+# Class PercentageOptionDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.PercentageOptionDiscount](dw.campaign.PercentageOptionDiscount.md)
+
+Represents a _percentage-off options_ discount in the discount plan, for
+example "50% off monogramming on shirts".
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [percentage](#percentage): [Number](TopLevel.Number.md) `(read-only)` | Returns the percentage discount value, for example 10.00 for a "10% off" discount. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getPercentage](dw.campaign.PercentageOptionDiscount.md#getpercentage)() | Returns the percentage discount value, for example 10.00 for a "10% off" discount. |
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### percentage
+- percentage: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the percentage discount value, for example 10.00 for a "10% off"
+ discount.
+
+
+
+---
+
+## Method Details
+
+### getPercentage()
+- getPercentage(): [Number](TopLevel.Number.md)
+ - : Returns the percentage discount value, for example 10.00 for a "10% off"
+ discount.
+
+
+ **Returns:**
+ - Discount percentage value
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PriceBookPriceDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PriceBookPriceDiscount.md
new file mode 100644
index 00000000..a567f9eb
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PriceBookPriceDiscount.md
@@ -0,0 +1,56 @@
+
+# Class PriceBookPriceDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.PriceBookPriceDiscount](dw.campaign.PriceBookPriceDiscount.md)
+
+Discount representing that a product's price has been calculated from a
+separate sales price book other than the standard price book assigned to the
+site.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [priceBookID](#pricebookid): [String](TopLevel.String.md) `(read-only)` | Returns the price book identifier. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getPriceBookID](dw.campaign.PriceBookPriceDiscount.md#getpricebookid)() | Returns the price book identifier. |
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### priceBookID
+- priceBookID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the price book identifier.
+
+
+---
+
+## Method Details
+
+### getPriceBookID()
+- getPriceBookID(): [String](TopLevel.String.md)
+ - : Returns the price book identifier.
+
+ **Returns:**
+ - the price book identifier.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Promotion.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Promotion.md
new file mode 100644
index 00000000..34e938c6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.Promotion.md
@@ -0,0 +1,939 @@
+
+# Class Promotion
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.campaign.Promotion](dw.campaign.Promotion.md)
+
+This class represents a promotion in Commerce Cloud Digital. Examples of
+promotions include:
+
+
+- "Get 20% off your order"
+- "$15 off a given product"
+- "free shipping for all orders over $50"
+- Get a bonus product with purchase of another product
+
+
+The Promotion class provides access to the basic attributes of the promotion
+such as name, callout message, and description, but the details of the
+promotion rules are not available in the API due to their complexity.
+
+
+Commerce Cloud Digital allows merchants to create a single logical "promotion
+rule" (e.g. "Get 20% off your order") and then assign it to one or more
+"containers" where the supported container types are campaigns or AB-tests. A
+Promotion represents a specific instance of a promotion rule assigned to a
+container. Promotion rules themselves that are not assigned to any container
+are inaccessible through the API. Each instance (i.e. assignment) can have
+separate "qualifiers". Qualifiers are the customer groups, source code
+groups, or coupons that trigger a given promotion for a customer.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [EXCLUSIVITY_CLASS](#exclusivity_class): [String](TopLevel.String.md) = "CLASS" | Constant representing promotion exclusivity of type _class_. |
+| [EXCLUSIVITY_GLOBAL](#exclusivity_global): [String](TopLevel.String.md) = "GLOBAL" | Constant representing promotion exclusivity of type _global_. |
+| [EXCLUSIVITY_NO](#exclusivity_no): [String](TopLevel.String.md) = "NO" | Constant representing promotion exclusivity of type _no_. |
+| [PROMOTION_CLASS_ORDER](#promotion_class_order): [String](TopLevel.String.md) = "ORDER" | Constant representing promotion class of type _order_. |
+| [PROMOTION_CLASS_PRODUCT](#promotion_class_product): [String](TopLevel.String.md) = "PRODUCT" | Constant representing promotion class of type _product_. |
+| [PROMOTION_CLASS_SHIPPING](#promotion_class_shipping): [String](TopLevel.String.md) = "SHIPPING" | Constant representing promotion class of type _shipping_. |
+| [QUALIFIER_MATCH_MODE_ALL](#qualifier_match_mode_all): [String](TopLevel.String.md) = "all" | Constant indicating that that all qualifier conditions must be met in order for this promotion to apply for a given customer. |
+| [QUALIFIER_MATCH_MODE_ANY](#qualifier_match_mode_any): [String](TopLevel.String.md) = "any" | Constant indicating that that at least one qualifier condition must be met in order for this promotion to apply for a given customer. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the unique ID of the promotion. |
+| [active](#active): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if promotion is active, otherwise 'false'. |
+| ~~[basedOnCoupon](#basedoncoupon): [Boolean](TopLevel.Boolean.md)~~ `(read-only)` | Returns 'true' if the promotion is triggered by a coupon, false otherwise. |
+| [basedOnCoupons](#basedoncoupons): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if the promotion is triggered by coupons, false otherwise. |
+| [basedOnCustomerGroups](#basedoncustomergroups): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if the promotion is triggered by customer groups, false otherwise. |
+| [basedOnSourceCodes](#basedonsourcecodes): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if the promotion is triggered by source codes, false otherwise. |
+| [calloutMsg](#calloutmsg): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the callout message of the promotion. |
+| [campaign](#campaign): [Campaign](dw.campaign.Campaign.md) `(read-only)` | Returns the campaign this particular instance of the promotion is defined in. |
+| [combinablePromotions](#combinablepromotions): [String\[\]](TopLevel.String.md) `(read-only)` | Returns the promotion's combinable promotions. |
+| ~~[conditionalDescription](#conditionaldescription): [MarkupText](dw.content.MarkupText.md)~~ `(read-only)` | Returns a description of the condition that must be met for this promotion to be applicable. |
+| [coupons](#coupons): [Collection](dw.util.Collection.md) `(read-only)` | Returns the coupons directly assigned to the promotion or assigned to the campaign of the promotion. |
+| [custom](#custom): [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)` | Returns the custom attributes for this extensible object. |
+| [customerGroups](#customergroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns the customer groups directly assigned to the promotion or assigned to the campaign of the promotion. |
+| ~~[description](#description): [MarkupText](dw.content.MarkupText.md)~~ `(read-only)` | Returns the description of the promotion. |
+| [details](#details): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the detailed description of the promotion. |
+| [enabled](#enabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if promotion is enabled, otherwise false. |
+| [endDate](#enddate): [Date](TopLevel.Date.md) `(read-only)` | Returns the effective end date of this instance of the promotion. |
+| [exclusivity](#exclusivity): [String](TopLevel.String.md) `(read-only)` | Returns the promotion's exclusivity specifying how the promotion can be combined with other promotions. |
+| [image](#image): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the reference to the promotion image. |
+| [lastModified](#lastmodified): [Date](TopLevel.Date.md) `(read-only)` | Returns the date that this object was last modified. |
+| [mutuallyExclusivePromotions](#mutuallyexclusivepromotions): [String\[\]](TopLevel.String.md) `(read-only)` | Returns the promotion's mutually exclusive Promotions. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of the promotion. |
+| [promotionClass](#promotionclass): [String](TopLevel.String.md) `(read-only)` | Returns the promotion class indicating the general type of the promotion. |
+| [qualifierMatchMode](#qualifiermatchmode): [String](TopLevel.String.md) `(read-only)` | Returns the qualifier matching mode specified by this promotion. |
+| [rank](#rank): [Number](TopLevel.Number.md) `(read-only)` | Returns the promotion's rank. |
+| [refinable](#refinable): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if promotion is refinable, otherwise false. |
+| [sourceCodeGroups](#sourcecodegroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns the source code groups directly assigned to the promotion or assigned to the campaign of the promotion. |
+| [startDate](#startdate): [Date](TopLevel.Date.md) `(read-only)` | Returns the effective start date of this instance of the promotion. |
+| [tags](#tags): [String\[\]](TopLevel.String.md) `(read-only)` | Returns the promotion's tags. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCalloutMsg](dw.campaign.Promotion.md#getcalloutmsg)() | Returns the callout message of the promotion. |
+| [getCampaign](dw.campaign.Promotion.md#getcampaign)() | Returns the campaign this particular instance of the promotion is defined in. |
+| [getCombinablePromotions](dw.campaign.Promotion.md#getcombinablepromotions)() | Returns the promotion's combinable promotions. |
+| ~~[getConditionalDescription](dw.campaign.Promotion.md#getconditionaldescription)()~~ | Returns a description of the condition that must be met for this promotion to be applicable. |
+| [getCoupons](dw.campaign.Promotion.md#getcoupons)() | Returns the coupons directly assigned to the promotion or assigned to the campaign of the promotion. |
+| [getCustom](dw.campaign.Promotion.md#getcustom)() | Returns the custom attributes for this extensible object. |
+| [getCustomerGroups](dw.campaign.Promotion.md#getcustomergroups)() | Returns the customer groups directly assigned to the promotion or assigned to the campaign of the promotion. |
+| ~~[getDescription](dw.campaign.Promotion.md#getdescription)()~~ | Returns the description of the promotion. |
+| [getDetails](dw.campaign.Promotion.md#getdetails)() | Returns the detailed description of the promotion. |
+| [getEndDate](dw.campaign.Promotion.md#getenddate)() | Returns the effective end date of this instance of the promotion. |
+| [getExclusivity](dw.campaign.Promotion.md#getexclusivity)() | Returns the promotion's exclusivity specifying how the promotion can be combined with other promotions. |
+| [getID](dw.campaign.Promotion.md#getid)() | Returns the unique ID of the promotion. |
+| [getImage](dw.campaign.Promotion.md#getimage)() | Returns the reference to the promotion image. |
+| [getLastModified](dw.campaign.Promotion.md#getlastmodified)() | Returns the date that this object was last modified. |
+| [getMutuallyExclusivePromotions](dw.campaign.Promotion.md#getmutuallyexclusivepromotions)() | Returns the promotion's mutually exclusive Promotions. |
+| [getName](dw.campaign.Promotion.md#getname)() | Returns the name of the promotion. |
+| [getPromotionClass](dw.campaign.Promotion.md#getpromotionclass)() | Returns the promotion class indicating the general type of the promotion. |
+| [getPromotionalPrice](dw.campaign.Promotion.md#getpromotionalpriceproduct)([Product](dw.catalog.Product.md)) | Returns the promotional price for the specified product. |
+| [getPromotionalPrice](dw.campaign.Promotion.md#getpromotionalpriceproduct-productoptionmodel)([Product](dw.catalog.Product.md), [ProductOptionModel](dw.catalog.ProductOptionModel.md)) | This method follows the same logic as [getPromotionalPrice(Product)](dw.campaign.Promotion.md#getpromotionalpriceproduct) but prices are calculated based on the option values selected in the specified option model. |
+| [getQualifierMatchMode](dw.campaign.Promotion.md#getqualifiermatchmode)() | Returns the qualifier matching mode specified by this promotion. |
+| [getRank](dw.campaign.Promotion.md#getrank)() | Returns the promotion's rank. |
+| [getSourceCodeGroups](dw.campaign.Promotion.md#getsourcecodegroups)() | Returns the source code groups directly assigned to the promotion or assigned to the campaign of the promotion. |
+| [getStartDate](dw.campaign.Promotion.md#getstartdate)() | Returns the effective start date of this instance of the promotion. |
+| [getTags](dw.campaign.Promotion.md#gettags)() | Returns the promotion's tags. |
+| [isActive](dw.campaign.Promotion.md#isactive)() | Returns 'true' if promotion is active, otherwise 'false'. |
+| ~~[isBasedOnCoupon](dw.campaign.Promotion.md#isbasedoncoupon)()~~ | Returns 'true' if the promotion is triggered by a coupon, false otherwise. |
+| [isBasedOnCoupons](dw.campaign.Promotion.md#isbasedoncoupons)() | Returns 'true' if the promotion is triggered by coupons, false otherwise. |
+| [isBasedOnCustomerGroups](dw.campaign.Promotion.md#isbasedoncustomergroups)() | Returns 'true' if the promotion is triggered by customer groups, false otherwise. |
+| [isBasedOnSourceCodes](dw.campaign.Promotion.md#isbasedonsourcecodes)() | Returns 'true' if the promotion is triggered by source codes, false otherwise. |
+| [isEnabled](dw.campaign.Promotion.md#isenabled)() | Returns true if promotion is enabled, otherwise false. |
+| [isRefinable](dw.campaign.Promotion.md#isrefinable)() | Returns true if promotion is refinable, otherwise false. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### EXCLUSIVITY_CLASS
+
+- EXCLUSIVITY_CLASS: [String](TopLevel.String.md) = "CLASS"
+ - : Constant representing promotion exclusivity of type _class_.
+
+
+---
+
+### EXCLUSIVITY_GLOBAL
+
+- EXCLUSIVITY_GLOBAL: [String](TopLevel.String.md) = "GLOBAL"
+ - : Constant representing promotion exclusivity of type _global_.
+
+
+---
+
+### EXCLUSIVITY_NO
+
+- EXCLUSIVITY_NO: [String](TopLevel.String.md) = "NO"
+ - : Constant representing promotion exclusivity of type _no_.
+
+
+---
+
+### PROMOTION_CLASS_ORDER
+
+- PROMOTION_CLASS_ORDER: [String](TopLevel.String.md) = "ORDER"
+ - : Constant representing promotion class of type _order_.
+
+
+---
+
+### PROMOTION_CLASS_PRODUCT
+
+- PROMOTION_CLASS_PRODUCT: [String](TopLevel.String.md) = "PRODUCT"
+ - : Constant representing promotion class of type _product_.
+
+
+---
+
+### PROMOTION_CLASS_SHIPPING
+
+- PROMOTION_CLASS_SHIPPING: [String](TopLevel.String.md) = "SHIPPING"
+ - : Constant representing promotion class of type _shipping_.
+
+
+---
+
+### QUALIFIER_MATCH_MODE_ALL
+
+- QUALIFIER_MATCH_MODE_ALL: [String](TopLevel.String.md) = "all"
+ - : Constant indicating that that all qualifier conditions must be met in
+ order for this promotion to apply for a given customer.
+
+
+
+---
+
+### QUALIFIER_MATCH_MODE_ANY
+
+- QUALIFIER_MATCH_MODE_ANY: [String](TopLevel.String.md) = "any"
+ - : Constant indicating that that at least one qualifier condition must be
+ met in order for this promotion to apply for a given customer.
+
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique ID of the promotion.
+
+
+---
+
+### active
+- active: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if promotion is active, otherwise 'false'.
+
+ A promotion is active if its campaign is active, and the promotion
+ is enabled, and it is scheduled for _now_.
+
+
+
+---
+
+### basedOnCoupon
+- ~~basedOnCoupon: [Boolean](TopLevel.Boolean.md)~~ `(read-only)`
+ - : Returns 'true' if the promotion is triggered by a coupon,
+ false otherwise.
+
+
+ **Deprecated:**
+:::warning
+Use [isBasedOnCoupons()](dw.campaign.Promotion.md#isbasedoncoupons)
+:::
+
+---
+
+### basedOnCoupons
+- basedOnCoupons: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if the promotion is triggered by coupons,
+ false otherwise.
+
+
+
+---
+
+### basedOnCustomerGroups
+- basedOnCustomerGroups: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if the promotion is triggered by customer groups,
+ false otherwise.
+
+
+
+---
+
+### basedOnSourceCodes
+- basedOnSourceCodes: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if the promotion is triggered by source codes,
+ false otherwise.
+
+
+
+---
+
+### calloutMsg
+- calloutMsg: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the callout message of the promotion.
+
+
+---
+
+### campaign
+- campaign: [Campaign](dw.campaign.Campaign.md) `(read-only)`
+ - : Returns the campaign this particular instance of the promotion is defined
+ in.
+
+
+ Note: If this promotion is defined as part of an AB-test, then a Campaign
+ object will be returned, but it is a mock implementation, and not a true
+ Campaign. This behavior is required for backwards compatibility and
+ should not be relied upon as it may change in future releases.
+
+
+
+---
+
+### combinablePromotions
+- combinablePromotions: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Returns the promotion's combinable promotions. Combinable promotions is a set of promotions or groups this
+ promotion can be combined with.
+
+
+
+---
+
+### conditionalDescription
+- ~~conditionalDescription: [MarkupText](dw.content.MarkupText.md)~~ `(read-only)`
+ - : Returns a description of the condition that must be met for this
+ promotion to be applicable.
+
+
+ The method and the related attribute have been deprecated. Use the
+ [getDetails()](dw.campaign.Promotion.md#getdetails) method instead.
+
+
+ **Deprecated:**
+:::warning
+Use [getDetails()](dw.campaign.Promotion.md#getdetails)
+:::
+
+---
+
+### coupons
+- coupons: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the coupons directly assigned to the promotion or assigned to the campaign of the promotion.
+
+ If the promotion is not based on coupons (see [isBasedOnCoupons()](dw.campaign.Promotion.md#isbasedoncoupons)), or no coupons is assigned to the
+ promotion or its campaign, an empty collection is returned.
+
+
+
+---
+
+### custom
+- custom: [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)`
+ - : Returns the custom attributes for this extensible object.
+
+
+---
+
+### customerGroups
+- customerGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the customer groups directly assigned to the promotion or assigned to the campaign of the promotion.
+
+ If the promotion is not based on customer groups (see [isBasedOnCustomerGroups()](dw.campaign.Promotion.md#isbasedoncustomergroups)), or no customer group is assigned to the
+ promotion or its campaign, an empty collection is returned.
+
+
+
+---
+
+### description
+- ~~description: [MarkupText](dw.content.MarkupText.md)~~ `(read-only)`
+ - : Returns the description of the promotion.
+
+
+ Method is deprecated and returns the same value as [getCalloutMsg()](dw.campaign.Promotion.md#getcalloutmsg).
+
+
+ **Deprecated:**
+:::warning
+Use [getCalloutMsg()](dw.campaign.Promotion.md#getcalloutmsg)
+:::
+
+---
+
+### details
+- details: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the detailed description of the promotion.
+
+
+---
+
+### enabled
+- enabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if promotion is enabled, otherwise false.
+
+
+---
+
+### endDate
+- endDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the effective end date of this instance of the promotion. If no
+ explicit end date is defined for the promotion, the end date of the
+ containing Campaign or AB-test is returned.
+
+
+
+---
+
+### exclusivity
+- exclusivity: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the promotion's exclusivity specifying how the promotion can be
+ combined with other promotions.
+ Possible values are [EXCLUSIVITY_NO](dw.campaign.Promotion.md#exclusivity_no), [EXCLUSIVITY_CLASS](dw.campaign.Promotion.md#exclusivity_class)
+ and [EXCLUSIVITY_GLOBAL](dw.campaign.Promotion.md#exclusivity_global).
+
+
+
+---
+
+### image
+- image: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the reference to the promotion image.
+
+
+---
+
+### lastModified
+- lastModified: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date that this object was last modified.
+
+
+---
+
+### mutuallyExclusivePromotions
+- mutuallyExclusivePromotions: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Returns the promotion's mutually exclusive Promotions. Mutually exclusive Promotions is a set of promotions or
+ groups this promotion cannot be combined with.
+
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the promotion.
+
+
+---
+
+### promotionClass
+- promotionClass: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the promotion class indicating the general type of the promotion.
+ Possible values are [PROMOTION_CLASS_PRODUCT](dw.campaign.Promotion.md#promotion_class_product),
+ [PROMOTION_CLASS_ORDER](dw.campaign.Promotion.md#promotion_class_order), and [PROMOTION_CLASS_SHIPPING](dw.campaign.Promotion.md#promotion_class_shipping).
+
+
+
+---
+
+### qualifierMatchMode
+- qualifierMatchMode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the qualifier matching mode specified by this promotion. A
+ promotion may have up to 3 qualifier conditions based on whether it is
+ customer-group based, coupon based, and/or source-code based. A promotion
+ may require for example that a customer belong to a certain customer
+ group and also have a certain coupon in the cart in order for the
+ promotion to apply. This method returns QUALIFIER\_MATCH\_MODE\_ALL if it is
+ necessary that all the qualifier conditions are satisfied in order for
+ this promotion to apply for a given customer. Otherwise, this method
+ returns QUALIFIER\_MATCH\_MODE\_ANY indicating that at least of the
+ qualifier conditions must be satisfied.
+
+
+ Note: currently QUALIFIER\_MATCH\_MODE\_ALL is only supported for promotions
+ assigned to campaigns, and not those assigned to AB-tests.
+
+
+
+---
+
+### rank
+- rank: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the promotion's rank. Rank is a numeric attribute that you can specify.
+ Promotions with a defined rank are calculated before promotions without a defined rank.
+ If two promotions have a rank, the one with the lowest rank is calculated first.
+ For example, a promotion with rank 10 is calculated before one with rank 30.
+
+
+
+---
+
+### refinable
+- refinable: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if promotion is refinable, otherwise false.
+
+
+---
+
+### sourceCodeGroups
+- sourceCodeGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the source code groups directly assigned to the promotion or assigned to the campaign of the promotion.
+
+ If the promotion is not based on source code groups (see [isBasedOnSourceCodes()](dw.campaign.Promotion.md#isbasedonsourcecodes)), or no source code group is assigned to the
+ promotion or its campaign, an empty collection is returned.
+
+
+
+---
+
+### startDate
+- startDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the effective start date of this instance of the promotion. If no
+ explicit start date is defined for this instance, the start date of the
+ containing Campaign or AB-test is returned.
+
+
+
+---
+
+### tags
+- tags: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Returns the promotion's tags. Tags are a way of categorizing and organizing promotions. A promotion can have many
+ tags. Tags will be returned in alphabetical order.
+
+
+
+---
+
+## Method Details
+
+### getCalloutMsg()
+- getCalloutMsg(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the callout message of the promotion.
+
+ **Returns:**
+ - Callout message of the promotion.
+
+
+---
+
+### getCampaign()
+- getCampaign(): [Campaign](dw.campaign.Campaign.md)
+ - : Returns the campaign this particular instance of the promotion is defined
+ in.
+
+
+ Note: If this promotion is defined as part of an AB-test, then a Campaign
+ object will be returned, but it is a mock implementation, and not a true
+ Campaign. This behavior is required for backwards compatibility and
+ should not be relied upon as it may change in future releases.
+
+
+ **Returns:**
+ - Campaign of the promotion.
+
+
+---
+
+### getCombinablePromotions()
+- getCombinablePromotions(): [String\[\]](TopLevel.String.md)
+ - : Returns the promotion's combinable promotions. Combinable promotions is a set of promotions or groups this
+ promotion can be combined with.
+
+
+ **Returns:**
+ - The promotion's set of combinable promotions.
+
+
+---
+
+### getConditionalDescription()
+- ~~getConditionalDescription(): [MarkupText](dw.content.MarkupText.md)~~
+ - : Returns a description of the condition that must be met for this
+ promotion to be applicable.
+
+
+ The method and the related attribute have been deprecated. Use the
+ [getDetails()](dw.campaign.Promotion.md#getdetails) method instead.
+
+
+ **Returns:**
+ - Condition promotion description.
+
+ **Deprecated:**
+:::warning
+Use [getDetails()](dw.campaign.Promotion.md#getdetails)
+:::
+
+---
+
+### getCoupons()
+- getCoupons(): [Collection](dw.util.Collection.md)
+ - : Returns the coupons directly assigned to the promotion or assigned to the campaign of the promotion.
+
+ If the promotion is not based on coupons (see [isBasedOnCoupons()](dw.campaign.Promotion.md#isbasedoncoupons)), or no coupons is assigned to the
+ promotion or its campaign, an empty collection is returned.
+
+
+ **Returns:**
+ - Coupons assigned to promotion in no particular order.
+
+
+---
+
+### getCustom()
+- getCustom(): [CustomAttributes](dw.object.CustomAttributes.md)
+ - : Returns the custom attributes for this extensible object.
+
+
+---
+
+### getCustomerGroups()
+- getCustomerGroups(): [Collection](dw.util.Collection.md)
+ - : Returns the customer groups directly assigned to the promotion or assigned to the campaign of the promotion.
+
+ If the promotion is not based on customer groups (see [isBasedOnCustomerGroups()](dw.campaign.Promotion.md#isbasedoncustomergroups)), or no customer group is assigned to the
+ promotion or its campaign, an empty collection is returned.
+
+
+ **Returns:**
+ - Customer groups assigned to promotion in no particular order.
+
+
+---
+
+### getDescription()
+- ~~getDescription(): [MarkupText](dw.content.MarkupText.md)~~
+ - : Returns the description of the promotion.
+
+
+ Method is deprecated and returns the same value as [getCalloutMsg()](dw.campaign.Promotion.md#getcalloutmsg).
+
+
+ **Returns:**
+ - Description of the promotion.
+
+ **Deprecated:**
+:::warning
+Use [getCalloutMsg()](dw.campaign.Promotion.md#getcalloutmsg)
+:::
+
+---
+
+### getDetails()
+- getDetails(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the detailed description of the promotion.
+
+ **Returns:**
+ - Detailed promotion description.
+
+
+---
+
+### getEndDate()
+- getEndDate(): [Date](TopLevel.Date.md)
+ - : Returns the effective end date of this instance of the promotion. If no
+ explicit end date is defined for the promotion, the end date of the
+ containing Campaign or AB-test is returned.
+
+
+ **Returns:**
+ - End date of the promotion, or null if no end date is defined.
+
+
+---
+
+### getExclusivity()
+- getExclusivity(): [String](TopLevel.String.md)
+ - : Returns the promotion's exclusivity specifying how the promotion can be
+ combined with other promotions.
+ Possible values are [EXCLUSIVITY_NO](dw.campaign.Promotion.md#exclusivity_no), [EXCLUSIVITY_CLASS](dw.campaign.Promotion.md#exclusivity_class)
+ and [EXCLUSIVITY_GLOBAL](dw.campaign.Promotion.md#exclusivity_global).
+
+
+ **Returns:**
+ - Promotion exclusivity
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the unique ID of the promotion.
+
+ **Returns:**
+ - ID of the promotion.
+
+
+---
+
+### getImage()
+- getImage(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the reference to the promotion image.
+
+ **Returns:**
+ - Image of the promotion.
+
+
+---
+
+### getLastModified()
+- getLastModified(): [Date](TopLevel.Date.md)
+ - : Returns the date that this object was last modified.
+
+ **Returns:**
+ - the date that this object was last modified.
+
+
+---
+
+### getMutuallyExclusivePromotions()
+- getMutuallyExclusivePromotions(): [String\[\]](TopLevel.String.md)
+ - : Returns the promotion's mutually exclusive Promotions. Mutually exclusive Promotions is a set of promotions or
+ groups this promotion cannot be combined with.
+
+
+ **Returns:**
+ - The promotion's set of mutually exclusive Promotions.
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of the promotion.
+
+ **Returns:**
+ - Name of the promotion.
+
+
+---
+
+### getPromotionClass()
+- getPromotionClass(): [String](TopLevel.String.md)
+ - : Returns the promotion class indicating the general type of the promotion.
+ Possible values are [PROMOTION_CLASS_PRODUCT](dw.campaign.Promotion.md#promotion_class_product),
+ [PROMOTION_CLASS_ORDER](dw.campaign.Promotion.md#promotion_class_order), and [PROMOTION_CLASS_SHIPPING](dw.campaign.Promotion.md#promotion_class_shipping).
+
+
+ **Returns:**
+ - Promotion class or null if the promotion rule has not been
+ configured.
+
+
+
+---
+
+### getPromotionalPrice(Product)
+- getPromotionalPrice(product: [Product](dw.catalog.Product.md)): [Money](dw.value.Money.md)
+ - : Returns the promotional price for the specified product. The promotional
+ price is only returned if the following conditions are met:
+
+
+ - this promotion is a product promotion without purchase conditions, i.e. is of type 'Without qualifying products'.
+ - this promotion's discount is Discount.TYPE\_AMOUNT, Discount.TYPE\_PERCENTAGE, Discount.TYPE\_FIXED\_PRICE, or Discount.TYPE\_PRICEBOOK\_PRICE.
+ - specified product is one of the discounted products of the promotion.
+ - the product has a valid sales price for quantity 1.0.
+
+
+ In all other cases, the method will return Money.NOT\_AVAILABLE. It is
+ not required that this promotion be an active customer
+ promotion.
+
+ NOTE: the method might be extended in the future to support more
+ promotion types.
+
+ To calculate the promotional price, the method uses the current sales
+ price of the product for quantity 1.0, and applies the discount
+ associated with the promotion to this price. For example, if the product
+ price is $14.99, and the promotion discount is 10%, the method will
+ return $13.49. If the discount is $2 off, the method will return $12.99.
+ If the discount is $10.00 fixed price, the method will return $10.00.
+
+
+ **Parameters:**
+ - product - the product to calculate the discount for
+
+ **Returns:**
+ - the price of the passed product after promotional discount is
+ applied, or Money.NOT\_AVAILABLE if any of the restrictions on
+ product or promotion are not met.
+
+
+
+---
+
+### getPromotionalPrice(Product, ProductOptionModel)
+- getPromotionalPrice(product: [Product](dw.catalog.Product.md), optionModel: [ProductOptionModel](dw.catalog.ProductOptionModel.md)): [Money](dw.value.Money.md)
+ - : This method follows the same logic as
+ [getPromotionalPrice(Product)](dw.campaign.Promotion.md#getpromotionalpriceproduct) but prices are calculated based
+ on the option values selected in the specified option model.
+
+
+ **Parameters:**
+ - product - the product to calculate the discount for
+ - optionModel - the option model to use when calculating
+
+ **Returns:**
+ - the price of the passed product after promotional discount is
+ applied, or Money.NOT\_AVAILABLE if any of the restrictions on
+ product or promotion are not met.
+
+
+
+---
+
+### getQualifierMatchMode()
+- getQualifierMatchMode(): [String](TopLevel.String.md)
+ - : Returns the qualifier matching mode specified by this promotion. A
+ promotion may have up to 3 qualifier conditions based on whether it is
+ customer-group based, coupon based, and/or source-code based. A promotion
+ may require for example that a customer belong to a certain customer
+ group and also have a certain coupon in the cart in order for the
+ promotion to apply. This method returns QUALIFIER\_MATCH\_MODE\_ALL if it is
+ necessary that all the qualifier conditions are satisfied in order for
+ this promotion to apply for a given customer. Otherwise, this method
+ returns QUALIFIER\_MATCH\_MODE\_ANY indicating that at least of the
+ qualifier conditions must be satisfied.
+
+
+ Note: currently QUALIFIER\_MATCH\_MODE\_ALL is only supported for promotions
+ assigned to campaigns, and not those assigned to AB-tests.
+
+
+ **Returns:**
+ - the qualifier matching mode specified by this promotion, either
+ QUALIFIER\_MATCH\_MODE\_ALL or QUALIFIER\_MATCH\_MODE\_ANY.
+
+
+
+---
+
+### getRank()
+- getRank(): [Number](TopLevel.Number.md)
+ - : Returns the promotion's rank. Rank is a numeric attribute that you can specify.
+ Promotions with a defined rank are calculated before promotions without a defined rank.
+ If two promotions have a rank, the one with the lowest rank is calculated first.
+ For example, a promotion with rank 10 is calculated before one with rank 30.
+
+
+ **Returns:**
+ - The promotion's rank.
+
+
+---
+
+### getSourceCodeGroups()
+- getSourceCodeGroups(): [Collection](dw.util.Collection.md)
+ - : Returns the source code groups directly assigned to the promotion or assigned to the campaign of the promotion.
+
+ If the promotion is not based on source code groups (see [isBasedOnSourceCodes()](dw.campaign.Promotion.md#isbasedonsourcecodes)), or no source code group is assigned to the
+ promotion or its campaign, an empty collection is returned.
+
+
+ **Returns:**
+ - Source code groups assigned to promotion in no particular order.
+
+
+---
+
+### getStartDate()
+- getStartDate(): [Date](TopLevel.Date.md)
+ - : Returns the effective start date of this instance of the promotion. If no
+ explicit start date is defined for this instance, the start date of the
+ containing Campaign or AB-test is returned.
+
+
+ **Returns:**
+ - Start date of the promotion, or null if no start date is defined.
+
+
+---
+
+### getTags()
+- getTags(): [String\[\]](TopLevel.String.md)
+ - : Returns the promotion's tags. Tags are a way of categorizing and organizing promotions. A promotion can have many
+ tags. Tags will be returned in alphabetical order.
+
+
+ **Returns:**
+ - The promotion's set of tags.
+
+
+---
+
+### isActive()
+- isActive(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if promotion is active, otherwise 'false'.
+
+ A promotion is active if its campaign is active, and the promotion
+ is enabled, and it is scheduled for _now_.
+
+
+ **Returns:**
+ - true if promotion is active, otherwise false.
+
+
+---
+
+### isBasedOnCoupon()
+- ~~isBasedOnCoupon(): [Boolean](TopLevel.Boolean.md)~~
+ - : Returns 'true' if the promotion is triggered by a coupon,
+ false otherwise.
+
+
+ **Returns:**
+ - true if promotion is triggered by coupon, otherwise false.
+
+ **Deprecated:**
+:::warning
+Use [isBasedOnCoupons()](dw.campaign.Promotion.md#isbasedoncoupons)
+:::
+
+---
+
+### isBasedOnCoupons()
+- isBasedOnCoupons(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if the promotion is triggered by coupons,
+ false otherwise.
+
+
+ **Returns:**
+ - true if promotion is triggered by coupons, otherwise false.
+
+
+---
+
+### isBasedOnCustomerGroups()
+- isBasedOnCustomerGroups(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if the promotion is triggered by customer groups,
+ false otherwise.
+
+
+ **Returns:**
+ - true if promotion is triggered by customer groups, otherwise false.
+
+
+---
+
+### isBasedOnSourceCodes()
+- isBasedOnSourceCodes(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if the promotion is triggered by source codes,
+ false otherwise.
+
+
+ **Returns:**
+ - true if promotion is triggered by source codes, otherwise false.
+
+
+---
+
+### isEnabled()
+- isEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if promotion is enabled, otherwise false.
+
+ **Returns:**
+ - true if promotion is enabled, otherwise false.
+
+
+---
+
+### isRefinable()
+- isRefinable(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if promotion is refinable, otherwise false.
+
+ **Returns:**
+ - true if promotion is refinable, otherwise false.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PromotionMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PromotionMgr.md
new file mode 100644
index 00000000..d02137d2
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PromotionMgr.md
@@ -0,0 +1,478 @@
+
+# Class PromotionMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.PromotionMgr](dw.campaign.PromotionMgr.md)
+
+[PromotionMgr](dw.campaign.PromotionMgr.md) is used to access campaigns and promotion
+definitions, display active or upcoming promotions in a storefront, and to
+calculate and apply promotional discounts to line item containers.
+
+
+To access campaign and promotion definitions, use methods
+[getCampaigns()](dw.campaign.PromotionMgr.md#getcampaigns), [getCampaign(String)](dw.campaign.PromotionMgr.md#getcampaignstring),
+[getPromotions()](dw.campaign.PromotionMgr.md#getpromotions) and [getPromotion(String)](dw.campaign.PromotionMgr.md#getpromotionstring).
+
+
+To display active or upcoming promotions in the storefront, e.g. on product
+pages, various methods are provided. [getActivePromotions()](dw.campaign.PromotionMgr.md#getactivepromotions) returns
+a [PromotionPlan](dw.campaign.PromotionPlan.md) with all enabled promotions scheduled for _now_.
+[getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) returns a [PromotionPlan](dw.campaign.PromotionPlan.md) with
+all enabled promotions scheduled for _now_ and applicable for the
+session currency, current customer and active source code.
+[getUpcomingPromotions(Number)](dw.campaign.PromotionMgr.md#getupcomingpromotionsnumber) returns a [PromotionPlan](dw.campaign.PromotionPlan.md) with all
+promotions that are enabled, not scheduled for _now_, but scheduled for
+any time between _now_ and _now + previewTime(hours)_.
+
+
+Applying promotions to line item containers is a 3-step process, and
+[PromotionMgr](dw.campaign.PromotionMgr.md) provides methods supporting each of these steps.
+Convenience methods can be used that execute all three steps at once,
+or the steps can be executed individually if you need to customize
+the output of the steps due to specific business rules.
+
+
+- Step 1 - calculate active customer promotions: Determine the active promotions for the session currency, current customer, source code and redeemed coupons.
+- Step 2 - calculate applicable discounts: Based on the active promotions determined in step 1, applicable discounts are calculated.
+- Step 3 - apply discounts: applicable discounts are applied to a line item container by creating price adjustment line items.
+
+
+
+The simpliest way to execute steps 1-3 is to use method
+[applyDiscounts(LineItemCtnr)](dw.campaign.PromotionMgr.md#applydiscountslineitemctnr). The method identifies all active
+customer promotions, calculates and applies applicable discounts.
+
+
+Due to specific business rules it might be necessary to manipulate
+the set of applicable discounts calculated by the promotion engine
+before applying them to the line item container. To implement such a scenario,
+you want to use method [getDiscounts(LineItemCtnr)](dw.campaign.PromotionMgr.md#getdiscountslineitemctnr), which
+identifies all active customer promotions, and calculates and returns
+applicable discounts in an instance of [DiscountPlan](dw.campaign.DiscountPlan.md). The discount
+plan contains a description for all applicable discounts for the specified line
+item container, and you can remove discounts from it if necessary.
+The customized discount plan can then be passed on for application by
+using method [applyDiscounts(DiscountPlan)](dw.campaign.PromotionMgr.md#applydiscountsdiscountplan).
+
+
+Due to specific business rules it might be necessary to manipulate the
+set of active customer promotions before calculating applicable discounts
+from it. For example, you might want to add promotions to the
+plan or remove promotions from it.
+You want to use method [getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+[getActiveCustomerPromotions(Boolean)](dw.campaign.PromotionMgr.md#getactivecustomerpromotionsboolean), which
+identifies all active customer promotions and returns an instance of
+[PromotionPlan](dw.campaign.PromotionPlan.md). You can add promotions to the promotion plan
+or remove promotions from the plan. The customized promotion plan can then be
+passed on to calculate applicable discounts by using method
+[getDiscounts(LineItemCtnr, PromotionPlan)](dw.campaign.PromotionMgr.md#getdiscountslineitemctnr-promotionplan).
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [activeCustomerPromotions](#activecustomerpromotions): [PromotionPlan](dw.campaign.PromotionPlan.md) `(read-only)` | Returns all promotions scheduled for _now_ and applicable for the session currency, current customer, source code, or presented coupons.
The active promotions are returned in an instance of [PromotionPlan](dw.campaign.PromotionPlan.md). |
+| [activePromotions](#activepromotions): [PromotionPlan](dw.campaign.PromotionPlan.md) `(read-only)` | Returns all promotions scheduled for _now_, and applicable for the session currency but regardless of current customer or source code.
The active promotions are returned in an instance of [PromotionPlan](dw.campaign.PromotionPlan.md). |
+| [campaigns](#campaigns): [Collection](dw.util.Collection.md) `(read-only)` | Returns all campaigns of the current site in no specific order. |
+| [promotions](#promotions): [Collection](dw.util.Collection.md) `(read-only)` | Returns all promotions of the current site in no specific order. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [applyDiscounts](dw.campaign.PromotionMgr.md#applydiscountsdiscountplan)([DiscountPlan](dw.campaign.DiscountPlan.md)) | Applies the discounts contained in the specified discount plan to the line item container associated with the discount plan. |
+| static [applyDiscounts](dw.campaign.PromotionMgr.md#applydiscountslineitemctnr)([LineItemCtnr](dw.order.LineItemCtnr.md)) | Identifies active promotions, calculates the applicable discounts from these promotions and applies these discounts to the specified line item container. |
+| static [getActiveCustomerPromotions](dw.campaign.PromotionMgr.md#getactivecustomerpromotions)() | Returns all promotions scheduled for _now_ and applicable for the session currency, current customer, source code, or presented coupons.
The active promotions are returned in an instance of [PromotionPlan](dw.campaign.PromotionPlan.md). |
+| static [getActiveCustomerPromotions](dw.campaign.PromotionMgr.md#getactivecustomerpromotionsboolean)([Boolean](TopLevel.Boolean.md)) | Returns all promotions scheduled for _now_ and applicable for the session currency, current customer, source code, or presented coupons. |
+| static [getActiveCustomerPromotionsForCampaign](dw.campaign.PromotionMgr.md#getactivecustomerpromotionsforcampaigncampaign-date-date)([Campaign](dw.campaign.Campaign.md), [Date](TopLevel.Date.md), [Date](TopLevel.Date.md)) | Returns all promotions assigned to the passed campaign, which are active at some point within the specified date range, and are applicable for the current customer, source code, or presented coupons. |
+| static [getActivePromotions](dw.campaign.PromotionMgr.md#getactivepromotions)() | Returns all promotions scheduled for _now_, and applicable for the session currency but regardless of current customer or source code.
The active promotions are returned in an instance of [PromotionPlan](dw.campaign.PromotionPlan.md). |
+| static [getActivePromotionsForCampaign](dw.campaign.PromotionMgr.md#getactivepromotionsforcampaigncampaign-date-date)([Campaign](dw.campaign.Campaign.md), [Date](TopLevel.Date.md), [Date](TopLevel.Date.md)) | Returns all promotions assigned to the passed campaign which are active at some point within the specified date range. |
+| static [getCampaign](dw.campaign.PromotionMgr.md#getcampaignstring)([String](TopLevel.String.md)) | Returns the campaign identified by the specified ID. |
+| static [getCampaigns](dw.campaign.PromotionMgr.md#getcampaigns)() | Returns all campaigns of the current site in no specific order. |
+| static [getDiscounts](dw.campaign.PromotionMgr.md#getdiscountslineitemctnr)([LineItemCtnr](dw.order.LineItemCtnr.md)) | Returns the discounts applicable for the current customer, active source code and specified line item container. |
+| static [getDiscounts](dw.campaign.PromotionMgr.md#getdiscountslineitemctnr-promotionplan)([LineItemCtnr](dw.order.LineItemCtnr.md), [PromotionPlan](dw.campaign.PromotionPlan.md)) | Returns the discounts applicable for the current customer, active source code and specified line item container, based on the specified promotion plan. |
+| static [getPromotion](dw.campaign.PromotionMgr.md#getpromotionstring)([String](TopLevel.String.md)) | Returns the promotion identified by the specified ID. |
+| static [getPromotions](dw.campaign.PromotionMgr.md#getpromotions)() | Returns all promotions of the current site in no specific order. |
+| static [getUpcomingCustomerPromotions](dw.campaign.PromotionMgr.md#getupcomingcustomerpromotionsnumber)([Number](TopLevel.Number.md)) | Returns all promotions currently inactive, but scheduled for any time between _now_ and _now + previewTime(hours)_, and which are applicable based on the current customer, source code, and coupons in the current basket.
The parameter _previewTime_ specifies for how many hours promotions should be previewed. |
+| static [getUpcomingPromotions](dw.campaign.PromotionMgr.md#getupcomingpromotionsnumber)([Number](TopLevel.Number.md)) | Returns all promotions currently inactive, but scheduled for any time between _now_ and _now + previewTime(hours)_. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### activeCustomerPromotions
+- activeCustomerPromotions: [PromotionPlan](dw.campaign.PromotionPlan.md) `(read-only)`
+ - : Returns all promotions scheduled for _now_ and applicable for the
+ session currency, current customer, source code, or presented coupons.
+
+
+ The active promotions are returned in an instance of
+ [PromotionPlan](dw.campaign.PromotionPlan.md). The promotion plan contains all
+ promotions assigned to any customer group of the current customer, the
+ current source code, or coupons in the current session basket.
+
+
+ **See Also:**
+ - [getActivePromotions()](dw.campaign.PromotionMgr.md#getactivepromotions)
+
+
+---
+
+### activePromotions
+- activePromotions: [PromotionPlan](dw.campaign.PromotionPlan.md) `(read-only)`
+ - : Returns all promotions scheduled for _now_, and applicable for the
+ session currency but regardless of current customer or source code.
+
+ The active promotions are returned in an instance of [PromotionPlan](dw.campaign.PromotionPlan.md).
+
+
+ **See Also:**
+ - [getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions)
+
+
+---
+
+### campaigns
+- campaigns: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all campaigns of the current site in no specific order.
+
+
+---
+
+### promotions
+- promotions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all promotions of the current site in no specific order.
+
+
+---
+
+## Method Details
+
+### applyDiscounts(DiscountPlan)
+- static applyDiscounts(discountPlan: [DiscountPlan](dw.campaign.DiscountPlan.md)): void
+ - : Applies the discounts contained in the specified discount plan
+ to the line item container associated with the discount
+ plan.
+
+
+
+ As a result of this method, the specified line item container
+ contains price adjustments and/or bonus product line items for
+ all discounts contained in the specified discount plan.
+ The method also removes price adjustment and/or bonus product line items
+ from the line item container if the specified discount plan does not
+ contain the related discount.
+
+
+ _Note that the method does not evaluate if the discounts in the specified
+ discount plan are applicable nor that the promotions related to these
+ discounts are active._
+
+
+ **Parameters:**
+ - discountPlan - Discount plan to apply to associated line item container
+
+ **See Also:**
+ - [getDiscounts(LineItemCtnr)](dw.campaign.PromotionMgr.md#getdiscountslineitemctnr)
+ - [applyDiscounts(LineItemCtnr)](dw.campaign.PromotionMgr.md#applydiscountslineitemctnr)
+
+
+---
+
+### applyDiscounts(LineItemCtnr)
+- static applyDiscounts(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md)): void
+ - : Identifies active promotions, calculates the applicable
+ discounts from these promotions and applies these discounts to the
+ specified line item container.
+
+
+ As a result of this method, the specified line item container
+ contains price adjustments and/or bonus product line items for
+ all applicable discounts. The method also removes price
+ adjustment and/or bonus product line items from the line item
+ container if the related to promotions/discounts are no longer
+ applicable.
+
+
+ **Parameters:**
+ - lineItemCtnr - Line item ctnr to apply promotions on
+
+
+---
+
+### getActiveCustomerPromotions()
+- static getActiveCustomerPromotions(): [PromotionPlan](dw.campaign.PromotionPlan.md)
+ - : Returns all promotions scheduled for _now_ and applicable for the
+ session currency, current customer, source code, or presented coupons.
+
+
+ The active promotions are returned in an instance of
+ [PromotionPlan](dw.campaign.PromotionPlan.md). The promotion plan contains all
+ promotions assigned to any customer group of the current customer, the
+ current source code, or coupons in the current session basket.
+
+
+ **Returns:**
+ - [PromotionPlan](dw.campaign.PromotionPlan.md) with active customer promotions
+
+ **See Also:**
+ - [getActivePromotions()](dw.campaign.PromotionMgr.md#getactivepromotions)
+
+
+---
+
+### getActiveCustomerPromotions(Boolean)
+- static getActiveCustomerPromotions(ignoreCouponCondition: [Boolean](TopLevel.Boolean.md)): [PromotionPlan](dw.campaign.PromotionPlan.md)
+ - : Returns all promotions scheduled for _now_ and applicable for the
+ session currency, current customer, source code, or presented coupons.
+
+
+ The active promotions are returned in an instance of
+ [PromotionPlan](dw.campaign.PromotionPlan.md). The promotion plan contains all
+ promotions assigned to any customer group of the current customer, the
+ current source code, or coupons in the current session basket.
+
+
+ **Parameters:**
+ - ignoreCouponCondition - true if coupon condition will be ignored when get active promotions.
+
+ **Returns:**
+ - [PromotionPlan](dw.campaign.PromotionPlan.md) with active customer promotions
+
+
+---
+
+### getActiveCustomerPromotionsForCampaign(Campaign, Date, Date)
+- static getActiveCustomerPromotionsForCampaign(campaign: [Campaign](dw.campaign.Campaign.md), from: [Date](TopLevel.Date.md), to: [Date](TopLevel.Date.md)): [PromotionPlan](dw.campaign.PromotionPlan.md)
+ - : Returns all promotions assigned to the passed campaign, which are active
+ at some point within the specified date range, and are applicable for the
+ current customer, source code, or presented coupons. A promotion must be
+ active for an actual time period within the passed date range, and not
+ just a single point.
+
+
+ The passed campaign and dates must not be null or an exception is thrown.
+ It is valid for the from and to dates to be in the past. If an invalid
+ time range is specified (i.e. from is after to), the returned
+ PromotionPlan will be empty.
+
+
+ **Parameters:**
+ - campaign - The campaign, must not be null or an exception is thrown.
+ - from - The start of the date range to consider. If null, this signifies an open ended time period.
+ - to - The end of the date range to consider. If null, this signifies an open ended time period.
+
+ **Returns:**
+ - PromotionPlan with promotions matching all the criteria.
+
+
+---
+
+### getActivePromotions()
+- static getActivePromotions(): [PromotionPlan](dw.campaign.PromotionPlan.md)
+ - : Returns all promotions scheduled for _now_, and applicable for the
+ session currency but regardless of current customer or source code.
+
+ The active promotions are returned in an instance of [PromotionPlan](dw.campaign.PromotionPlan.md).
+
+
+ **Returns:**
+ - [PromotionPlan](dw.campaign.PromotionPlan.md) with active promotions
+
+ **See Also:**
+ - [getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions)
+
+
+---
+
+### getActivePromotionsForCampaign(Campaign, Date, Date)
+- static getActivePromotionsForCampaign(campaign: [Campaign](dw.campaign.Campaign.md), from: [Date](TopLevel.Date.md), to: [Date](TopLevel.Date.md)): [PromotionPlan](dw.campaign.PromotionPlan.md)
+ - : Returns all promotions assigned to the passed campaign which are active
+ at some point within the specified date range. A promotion must be active
+ for an actual time period within the passed date range, and not just a
+ single point. A promotion must be applicable for the session currency.
+
+
+ This method considers only the enabled flags and time conditions of the
+ promotion and campaign. It does not consider whether the current customer
+ satisfies the qualifiers of the promotion (customer group, source code,
+ or coupon).
+
+
+ The passed campaign and dates must not be null or an exception is thrown.
+ It is valid for the from and/or to dates to be in the past. If an invalid
+ time range is specified (i.e. from is after to), the returned
+ PromotionPlan will be empty.
+
+
+ **Parameters:**
+ - campaign - The campaign. Must not be null.
+ - from - The start of the date range to consider. Must not be null
+ - to - The end of the date range to consider. Must not be null.
+
+ **Returns:**
+ - PromotionPlan with promotions matching all the criteria.
+
+
+---
+
+### getCampaign(String)
+- static getCampaign(id: [String](TopLevel.String.md)): [Campaign](dw.campaign.Campaign.md)
+ - : Returns the campaign identified by the specified ID.
+
+ **Parameters:**
+ - id - Campaign ID
+
+ **Returns:**
+ - Campaign or null if not found
+
+
+---
+
+### getCampaigns()
+- static getCampaigns(): [Collection](dw.util.Collection.md)
+ - : Returns all campaigns of the current site in no specific order.
+
+ **Returns:**
+ - All campaigns of current site
+
+
+---
+
+### getDiscounts(LineItemCtnr)
+- static getDiscounts(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md)): [DiscountPlan](dw.campaign.DiscountPlan.md)
+ - : Returns the discounts applicable for the current customer, active
+ source code and specified line item container.
+
+
+ This method identifies all active promotions assigned to the customer
+ groups of the current customer, the active source code and any coupon
+ contained in the specified line item container, and calculates applicable
+ discounts from these promotions.
+
+
+ The applicable discounts are contained in the returned instance of
+ [DiscountPlan](dw.campaign.DiscountPlan.md).
+
+
+ **Parameters:**
+ - lineItemCtnr - Line item container
+
+ **Returns:**
+ - Discount plan with applicable discounts
+
+
+---
+
+### getDiscounts(LineItemCtnr, PromotionPlan)
+- static getDiscounts(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md), promotionPlan: [PromotionPlan](dw.campaign.PromotionPlan.md)): [DiscountPlan](dw.campaign.DiscountPlan.md)
+ - : Returns the discounts applicable for the current customer, active
+ source code and specified line item container, based on the specified
+ promotion plan.
+
+
+ This method calculates applicable discounts from the promotions in the
+ specified promotion plan. Note that any promotion in the promotion
+ plan that is inactive, or not applicable for the current customer
+ or source code, is being ignored.
+
+
+ The applicable discounts are contained in the returned instance of
+ [DiscountPlan](dw.campaign.DiscountPlan.md).
+
+
+ **Parameters:**
+ - lineItemCtnr - Line item container
+ - promotionPlan - Promotion plan with active promotions
+
+ **Returns:**
+ - Discount plan with applicable discounts
+
+
+---
+
+### getPromotion(String)
+- static getPromotion(id: [String](TopLevel.String.md)): [Promotion](dw.campaign.Promotion.md)
+ - : Returns the promotion identified by the specified ID. The same logical
+ promotion may be assigned to multiple campaigns or AB-tests. In this
+ case, the system returns the instance of highest rank. Some attributes of
+ the returned Promotion may vary based on exactly which instance is
+ returned. This method returns null if there is no promotion in the system
+ with the given ID, or if a promotion with the given ID exists but it is
+ not assigned to any campaign or AB-test.
+
+
+ **Parameters:**
+ - id - Promotion ID
+
+ **Returns:**
+ - Promotion or null if not found
+
+
+---
+
+### getPromotions()
+- static getPromotions(): [Collection](dw.util.Collection.md)
+ - : Returns all promotions of the current site in no specific order.
+
+ **Returns:**
+ - All promotions of current site
+
+
+---
+
+### getUpcomingCustomerPromotions(Number)
+- static getUpcomingCustomerPromotions(previewTime: [Number](TopLevel.Number.md)): [PromotionPlan](dw.campaign.PromotionPlan.md)
+ - : Returns all promotions currently inactive, but scheduled
+ for any time between _now_ and _now + previewTime(hours)_,
+ and which are applicable based on the current customer, source code, and
+ coupons in the current basket.
+
+ The parameter _previewTime_ specifies for how many hours promotions
+ should be previewed.
+
+
+ **Parameters:**
+ - previewTime - Preview time in hours
+
+ **Returns:**
+ - PromotionPlan with active promotions
+
+ **See Also:**
+ - [getActivePromotions()](dw.campaign.PromotionMgr.md#getactivepromotions)
+
+
+---
+
+### getUpcomingPromotions(Number)
+- static getUpcomingPromotions(previewTime: [Number](TopLevel.Number.md)): [PromotionPlan](dw.campaign.PromotionPlan.md)
+ - : Returns all promotions currently inactive, but scheduled
+ for any time between _now_ and _now + previewTime(hours)_.
+
+ The upcoming promotions are returned in an instance of
+ [PromotionPlan](dw.campaign.PromotionPlan.md) and might not necessarily be applicable for
+ the current customer or source code.
+
+ The parameter _previewTime_ specifies for how many hours promotions
+ should be previewed.
+
+
+ **Parameters:**
+ - previewTime - Preview time in hours
+
+ **Returns:**
+ - PromotionPlan with active promotions
+
+ **See Also:**
+ - [getActivePromotions()](dw.campaign.PromotionMgr.md#getactivepromotions)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PromotionPlan.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PromotionPlan.md
new file mode 100644
index 00000000..b53aaff7
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.PromotionPlan.md
@@ -0,0 +1,378 @@
+
+# Class PromotionPlan
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.PromotionPlan](dw.campaign.PromotionPlan.md)
+
+PromotionPlan represents a set of [Promotion](dw.campaign.Promotion.md) instances and
+is used to display active or upcoming promotions on storefront pages, or to
+pass it to the [PromotionMgr](dw.campaign.PromotionMgr.md) to calculate a
+[DiscountPlan](dw.campaign.DiscountPlan.md) and subsequently apply discounts to a line
+item container. Instances of the class are returned by the
+[PromotionMgr.getActivePromotions()](dw.campaign.PromotionMgr.md#getactivepromotions),
+[PromotionMgr.getActiveCustomerPromotions()](dw.campaign.PromotionMgr.md#getactivecustomerpromotions) and
+[PromotionMgr.getUpcomingPromotions(Number)](dw.campaign.PromotionMgr.md#getupcomingpromotionsnumber).
+
+
+PromotionPlan provides methods to access the promotions in the plan and to
+remove promotions from the plan. All methods which return a collection of
+promotions sort them by the following ordered criteria:
+
+
+
+
+1. Exclusivity: GLOBAL exclusive promotions first, followed by CLASS exclusive promotions, and NO exclusive promotions last.
+2. Rank: sorted ascending
+3. Promotion Class: PRODUCT promotions first, followed by ORDER promotions, and SHIPPING promotions last.
+4. Discount type: Fixed price promotions first, followed by free, amount-off, percentage-off, and bonus product promotions last.
+5. Best discount: Sorted descending. For example, 30% off comes before 20% off.
+6. ID: alphanumeric ascending.
+
+
+**See Also:**
+- [PromotionMgr](dw.campaign.PromotionMgr.md)
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [SORT_BY_EXCLUSIVITY](#sort_by_exclusivity): [Number](TopLevel.Number.md) = 1 | Constant indicating that a collection of promotions should be sorted first by exclusivity, then rank, promotion class, etc. |
+| [SORT_BY_START_DATE](#sort_by_start_date): [Number](TopLevel.Number.md) = 2 | Constant indicating that a collection of promotions should be sorted by start date ascending. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [orderPromotions](#orderpromotions): [Collection](dw.util.Collection.md) `(read-only)` | Returns all order promotions contained in this plan. |
+| [productPromotions](#productpromotions): [Collection](dw.util.Collection.md) `(read-only)` | Returns all product promotions contained in this plan. |
+| [promotions](#promotions): [Collection](dw.util.Collection.md) `(read-only)` | Returns all promotions contained in this plan sorted by exclusivity. |
+| [shippingPromotions](#shippingpromotions): [Collection](dw.util.Collection.md) `(read-only)` | Returns all shipping promotions contained in this plan. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getOrderPromotions](dw.campaign.PromotionPlan.md#getorderpromotions)() | Returns all order promotions contained in this plan. |
+| [getPaymentCardPromotions](dw.campaign.PromotionPlan.md#getpaymentcardpromotionspaymentcard)([PaymentCard](dw.order.PaymentCard.md)) | Returns the order promotions explicitly associated to the specified discounted payment card. |
+| [getPaymentMethodPromotions](dw.campaign.PromotionPlan.md#getpaymentmethodpromotionspaymentmethod)([PaymentMethod](dw.order.PaymentMethod.md)) | Returns the order promotions explicitly associated to the specified discounted payment method. |
+| [getProductPromotions](dw.campaign.PromotionPlan.md#getproductpromotions)() | Returns all product promotions contained in this plan. |
+| [getProductPromotions](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)([Product](dw.catalog.Product.md)) | Returns the promotions related to the specified product. |
+| [getProductPromotionsForDiscountedProduct](dw.campaign.PromotionPlan.md#getproductpromotionsfordiscountedproductproduct)([Product](dw.catalog.Product.md)) | Returns the product promotions for which the specified product is a discounted (and possibly also a qualifying) product. |
+| [getProductPromotionsForQualifyingProduct](dw.campaign.PromotionPlan.md#getproductpromotionsforqualifyingproductproduct)([Product](dw.catalog.Product.md)) | Returns the product promotions for which the specified product is a qualifying but NOT a discounted product. |
+| [getPromotions](dw.campaign.PromotionPlan.md#getpromotions)() | Returns all promotions contained in this plan sorted by exclusivity. |
+| ~~[getPromotions](dw.campaign.PromotionPlan.md#getpromotionsproduct)([Product](dw.catalog.Product.md))~~ | Returns the promotions related to the specified product. |
+| [getPromotions](dw.campaign.PromotionPlan.md#getpromotionsnumber)([Number](TopLevel.Number.md)) | Returns all promotions contained in this plan sorted according to the specified sort order. |
+| [getShippingPromotions](dw.campaign.PromotionPlan.md#getshippingpromotions)() | Returns all shipping promotions contained in this plan. |
+| [getShippingPromotions](dw.campaign.PromotionPlan.md#getshippingpromotionsshippingmethod)([ShippingMethod](dw.order.ShippingMethod.md)) | Returns the shipping promotions related to the specified discounted shipping method, i.e. |
+| [removePromotion](dw.campaign.PromotionPlan.md#removepromotionpromotion)([Promotion](dw.campaign.Promotion.md)) | Remove promotion from promotion plan. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### SORT_BY_EXCLUSIVITY
+
+- SORT_BY_EXCLUSIVITY: [Number](TopLevel.Number.md) = 1
+ - : Constant indicating that a collection of promotions should be sorted
+ first by exclusivity, then rank, promotion class, etc. See class-level
+ javadoc for details. This is the default sort order for methods that
+ return a collection of promotions.
+
+
+
+---
+
+### SORT_BY_START_DATE
+
+- SORT_BY_START_DATE: [Number](TopLevel.Number.md) = 2
+ - : Constant indicating that a collection of promotions should be sorted by
+ start date ascending. If there is no explicit start date for a promotion
+ the start date of its containing Campaign or AB-test is used instead.
+ Promotions without a start date are sorted before promotions with a start
+ date in the future and after promotions with a start date in the past. In
+ case two promotion assignments have the same start date, they are sorted
+ by their ID.
+
+
+
+---
+
+## Property Details
+
+### orderPromotions
+- orderPromotions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all order promotions contained in this plan.
+
+
+---
+
+### productPromotions
+- productPromotions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all product promotions contained in this plan.
+
+
+---
+
+### promotions
+- promotions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all promotions contained in this plan sorted by exclusivity.
+
+
+---
+
+### shippingPromotions
+- shippingPromotions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all shipping promotions contained in this plan.
+
+
+---
+
+## Method Details
+
+### getOrderPromotions()
+- getOrderPromotions(): [Collection](dw.util.Collection.md)
+ - : Returns all order promotions contained in this plan.
+
+ **Returns:**
+ - The sorted collection of order promotions contained in the promotion plan.
+
+
+---
+
+### getPaymentCardPromotions(PaymentCard)
+- getPaymentCardPromotions(paymentCard: [PaymentCard](dw.order.PaymentCard.md)): [Collection](dw.util.Collection.md)
+ - : Returns the order promotions explicitly associated to the specified
+ discounted payment card.
+
+
+ This method is usually used to display order promotions along with
+ payment card choices.
+
+
+ **Parameters:**
+ - paymentCard - Discounted payment card
+
+ **Returns:**
+ - The sorted collection of order promotions associated with the
+ specified payment card.
+
+
+
+---
+
+### getPaymentMethodPromotions(PaymentMethod)
+- getPaymentMethodPromotions(paymentMethod: [PaymentMethod](dw.order.PaymentMethod.md)): [Collection](dw.util.Collection.md)
+ - : Returns the order promotions explicitly associated to the specified
+ discounted payment method.
+
+
+ This method is usually used to display order promotions along with
+ payment method choices.
+
+
+ **Parameters:**
+ - paymentMethod - Discounted payment method
+
+ **Returns:**
+ - The sorted collection of order promotions associated with the
+ specified payment method.
+
+
+
+---
+
+### getProductPromotions()
+- getProductPromotions(): [Collection](dw.util.Collection.md)
+ - : Returns all product promotions contained in this plan.
+
+ **Returns:**
+ - The sorted collection of product promotions contained in the promotion plan.
+
+
+---
+
+### getProductPromotions(Product)
+- getProductPromotions(product: [Product](dw.catalog.Product.md)): [Collection](dw.util.Collection.md)
+ - : Returns the promotions related to the specified product.
+
+ The method returns all promotions where the product is either a
+ qualifying product, or a discounted product, or both. It also returns
+ promotions where the specified product is a bonus product.
+
+
+ This method is usually used to display product promotions on a product
+ details page.
+
+
+ If a master product is passed, then this method will return promotions
+ which are relevant for the master itself or at least one of its variants.
+
+
+ **Parameters:**
+ - product - Product associated with promotion
+
+ **Returns:**
+ - The sorted collection of promotions related to specified
+ discounted product.
+
+
+
+---
+
+### getProductPromotionsForDiscountedProduct(Product)
+- getProductPromotionsForDiscountedProduct(product: [Product](dw.catalog.Product.md)): [Collection](dw.util.Collection.md)
+ - : Returns the product promotions for which the specified product is a
+ discounted (and possibly also a qualifying) product. It also returns
+ promotions where the specified product is a bonus product.
+
+
+ This method is usually used to display product promotions on a product
+ details page when separate callout messages are defined depending on if
+ the product is a qualifying or discounted product for the promotion.
+
+
+ If a master product is passed, then this method will return promotions
+ for which the master product itself or at least one of its product's
+ variants is a discounted product.
+
+
+ **Parameters:**
+ - product - The discounted product.
+
+ **Returns:**
+ - Product promotions related to the specified discounted product.
+
+
+---
+
+### getProductPromotionsForQualifyingProduct(Product)
+- getProductPromotionsForQualifyingProduct(product: [Product](dw.catalog.Product.md)): [Collection](dw.util.Collection.md)
+ - : Returns the product promotions for which the specified product is a
+ qualifying but NOT a discounted product.
+
+
+ This method is usually used to display product promotions on a product
+ details page when separate callout messages are defined depending on if
+ the product is a qualifying or discounted product for the promotion.
+
+
+ If a master product is passed, then this method will return promotions
+ for which the master product itself or at least one of its product's
+ variants is a qualifying product.
+
+
+ **Parameters:**
+ - product - The qualifying product.
+
+ **Returns:**
+ - Product promotions related to the specified qualifying product.
+
+
+---
+
+### getPromotions()
+- getPromotions(): [Collection](dw.util.Collection.md)
+ - : Returns all promotions contained in this plan sorted by exclusivity.
+
+ **Returns:**
+ - The sorted collection of promotions contained in the promotion plan.
+
+
+---
+
+### getPromotions(Product)
+- ~~getPromotions(product: [Product](dw.catalog.Product.md)): [Collection](dw.util.Collection.md)~~
+ - : Returns the promotions related to the specified product.
+
+ The method returns all promotions where the product is either
+ a qualifying product, or a discounted product, or both. It also
+ returns promotions where the specified product is a bonus product.
+
+
+ This method is usually used to display product promotions on a
+ product details page.
+
+
+ **Parameters:**
+ - product - Product associated with promotion
+
+ **Returns:**
+ - The sorted collection of promotions related to the specified discounted product.
+
+ **Deprecated:**
+:::warning
+Use [getProductPromotions(Product)](dw.campaign.PromotionPlan.md#getproductpromotionsproduct)
+:::
+
+---
+
+### getPromotions(Number)
+- getPromotions(sortOrder: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns all promotions contained in this plan sorted according to the
+ specified sort order. If the passed sort order is invalid, then the
+ returned promotions will be sorted by exclusivity.
+
+
+ **Parameters:**
+ - sortOrder - the sort order to use. Must be SORT\_BY\_EXCLUSIVITY or SORT\_BY\_START\_DATE. If an invalid value is passed, SORT\_BY\_EXCLUSIVITY is used.
+
+ **Returns:**
+ - The sorted collection of promotions contained in the promotion
+ plan.
+
+
+
+---
+
+### getShippingPromotions()
+- getShippingPromotions(): [Collection](dw.util.Collection.md)
+ - : Returns all shipping promotions contained in this plan.
+
+ **Returns:**
+ - The sorted collection of shipping promotions contained in promotion plan.
+
+
+---
+
+### getShippingPromotions(ShippingMethod)
+- getShippingPromotions(shippingMethod: [ShippingMethod](dw.order.ShippingMethod.md)): [Collection](dw.util.Collection.md)
+ - : Returns the shipping promotions related to the specified discounted
+ shipping method, i.e. the returned promotions apply a discount on
+ the specified shipping method.
+
+
+ This method is usually used to display shipping promotions along with
+ shipping methods.
+
+
+ **Parameters:**
+ - shippingMethod - Discounted shipping method
+
+ **Returns:**
+ - The sorted collection of shipping promotions with specified method as discounted method.
+
+
+---
+
+### removePromotion(Promotion)
+- removePromotion(promotion: [Promotion](dw.campaign.Promotion.md)): void
+ - : Remove promotion from promotion plan.
+
+ Please note that this is the only way to remove promotions from the
+ plan, i.e. removing promotions from the collections returned
+ by methods such as [getProductPromotions()](dw.campaign.PromotionPlan.md#getproductpromotions) has no effect
+ on the promotion plan.
+
+
+ **Parameters:**
+ - promotion - Promotion to remove from promotion plan
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SlotContent.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SlotContent.md
new file mode 100644
index 00000000..e0981566
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SlotContent.md
@@ -0,0 +1,131 @@
+
+# Class SlotContent
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.SlotContent](dw.campaign.SlotContent.md)
+
+Represents content for a slot.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [calloutMsg](#calloutmsg): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the callout message for the slot. |
+| [content](#content): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of content based on the content type for the slot. |
+| [custom](#custom): [Map](dw.util.Map.md) `(read-only)` | Returns the custom attributes for the slot. |
+| [recommenderName](#recommendername): [String](TopLevel.String.md) `(read-only)` | Returns the recommender name for slot configurations of type 'Recommendation' |
+| [slotID](#slotid): [String](TopLevel.String.md) `(read-only)` | Returns the unique slot ID. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCalloutMsg](dw.campaign.SlotContent.md#getcalloutmsg)() | Returns the callout message for the slot. |
+| [getContent](dw.campaign.SlotContent.md#getcontent)() | Returns a collection of content based on the content type for the slot. |
+| [getCustom](dw.campaign.SlotContent.md#getcustom)() | Returns the custom attributes for the slot. |
+| [getRecommenderName](dw.campaign.SlotContent.md#getrecommendername)() | Returns the recommender name for slot configurations of type 'Recommendation' |
+| [getSlotID](dw.campaign.SlotContent.md#getslotid)() | Returns the unique slot ID. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### calloutMsg
+- calloutMsg: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the callout message for the slot.
+
+
+---
+
+### content
+- content: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of content based on the content type
+ for the slot. The collection will include one of the following
+ types: [Product](dw.catalog.Product.md), [Content](dw.content.Content.md), [Category](dw.catalog.Category.md), or [MarkupText](dw.content.MarkupText.md).
+
+
+
+---
+
+### custom
+- custom: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns the custom attributes for the slot.
+
+
+---
+
+### recommenderName
+- recommenderName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the recommender name for slot configurations of type 'Recommendation'
+
+
+---
+
+### slotID
+- slotID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique slot ID.
+
+
+---
+
+## Method Details
+
+### getCalloutMsg()
+- getCalloutMsg(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the callout message for the slot.
+
+ **Returns:**
+ - Callout message of the slot.
+
+
+---
+
+### getContent()
+- getContent(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of content based on the content type
+ for the slot. The collection will include one of the following
+ types: [Product](dw.catalog.Product.md), [Content](dw.content.Content.md), [Category](dw.catalog.Category.md), or [MarkupText](dw.content.MarkupText.md).
+
+
+ **Returns:**
+ - All content of the slot.
+
+
+---
+
+### getCustom()
+- getCustom(): [Map](dw.util.Map.md)
+ - : Returns the custom attributes for the slot.
+
+ **Returns:**
+ - Custom attributes of the slot.
+
+
+---
+
+### getRecommenderName()
+- getRecommenderName(): [String](TopLevel.String.md)
+ - : Returns the recommender name for slot configurations of type 'Recommendation'
+
+ **Returns:**
+ - the recommender name for slot configurations of type 'Recommendation'
+
+
+---
+
+### getSlotID()
+- getSlotID(): [String](TopLevel.String.md)
+ - : Returns the unique slot ID.
+
+ **Returns:**
+ - ID of the slot.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SourceCodeGroup.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SourceCodeGroup.md
new file mode 100644
index 00000000..1d7c1684
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SourceCodeGroup.md
@@ -0,0 +1,83 @@
+
+# Class SourceCodeGroup
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.campaign.SourceCodeGroup](dw.campaign.SourceCodeGroup.md)
+
+A source code group defines a collection of source codes. Source code groups
+are generally pattern based and any source code satisfying the pattern
+belongs to the group. In this way, merchants may define a large set of source
+codes which qualify a customer for site experiences (different prices, for
+example), which customers without that source code do not receive.
+The class [SourceCodeInfo](dw.campaign.SourceCodeInfo.md) represents an individual source
+code.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | The ID of the SourceCodeGroup. |
+| [priceBooks](#pricebooks): [Collection](dw.util.Collection.md) `(read-only)` | Returns a Collection of PriceBooks the SourceCodeGroup is assigned to. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getID](dw.campaign.SourceCodeGroup.md#getid)() | The ID of the SourceCodeGroup. |
+| [getPriceBooks](dw.campaign.SourceCodeGroup.md#getpricebooks)() | Returns a Collection of PriceBooks the SourceCodeGroup is assigned to. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : The ID of the SourceCodeGroup.
+
+
+---
+
+### priceBooks
+- priceBooks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a Collection of PriceBooks the SourceCodeGroup is assigned to.
+
+
+---
+
+## Method Details
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : The ID of the SourceCodeGroup.
+
+ **Returns:**
+ - the ID.
+
+
+---
+
+### getPriceBooks()
+- getPriceBooks(): [Collection](dw.util.Collection.md)
+ - : Returns a Collection of PriceBooks the SourceCodeGroup is assigned to.
+
+ **Returns:**
+ - Collection of PriceBooks the SourceCodeGroup is assigned to.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SourceCodeInfo.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SourceCodeInfo.md
new file mode 100644
index 00000000..058f5074
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SourceCodeInfo.md
@@ -0,0 +1,167 @@
+
+# Class SourceCodeInfo
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.SourceCodeInfo](dw.campaign.SourceCodeInfo.md)
+
+Class representing a code (i.e. a "source code") that has been applied to a
+customer's session. Source codes can qualify customers for different
+campaigns, promotions, and other site experiences from those that the typical
+customer sees. Codes are organized into source code groups.
+
+
+Typically, a code is applied to a customer's session automatically by
+Commerce Cloud Digital when a customer accesses a Digital URL with a well
+known request parameter in the querystring. A code may also be explicitly
+applied to a customer session using the `SetSourceCode`
+pipelet.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [STATUS_ACTIVE](#status_active): [Number](TopLevel.Number.md) = 2 | The literal source-code is found and currently active. |
+| [STATUS_INACTIVE](#status_inactive): [Number](TopLevel.Number.md) = 1 | The literal source-code is found but not active. |
+| [STATUS_INVALID](#status_invalid): [Number](TopLevel.Number.md) = 0 | The literal source-code is not found in the system. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [code](#code): [String](TopLevel.String.md) `(read-only)` | The literal source-code. |
+| [group](#group): [SourceCodeGroup](dw.campaign.SourceCodeGroup.md) `(read-only)` | The associated source-code group. |
+| [redirect](#redirect): [URLRedirect](dw.web.URLRedirect.md) `(read-only)` | Retrieves the redirect information from the last processed SourceCodeGroup (active or inactive). |
+| [status](#status): [Number](TopLevel.Number.md) `(read-only)` | The status of the source-code. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCode](dw.campaign.SourceCodeInfo.md#getcode)() | The literal source-code. |
+| [getGroup](dw.campaign.SourceCodeInfo.md#getgroup)() | The associated source-code group. |
+| [getRedirect](dw.campaign.SourceCodeInfo.md#getredirect)() | Retrieves the redirect information from the last processed SourceCodeGroup (active or inactive). |
+| [getStatus](dw.campaign.SourceCodeInfo.md#getstatus)() | The status of the source-code. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### STATUS_ACTIVE
+
+- STATUS_ACTIVE: [Number](TopLevel.Number.md) = 2
+ - : The literal source-code is found and currently active.
+
+
+---
+
+### STATUS_INACTIVE
+
+- STATUS_INACTIVE: [Number](TopLevel.Number.md) = 1
+ - : The literal source-code is found but not active.
+
+
+---
+
+### STATUS_INVALID
+
+- STATUS_INVALID: [Number](TopLevel.Number.md) = 0
+ - : The literal source-code is not found in the system.
+
+
+---
+
+## Property Details
+
+### code
+- code: [String](TopLevel.String.md) `(read-only)`
+ - : The literal source-code.
+
+
+---
+
+### group
+- group: [SourceCodeGroup](dw.campaign.SourceCodeGroup.md) `(read-only)`
+ - : The associated source-code group.
+
+
+---
+
+### redirect
+- redirect: [URLRedirect](dw.web.URLRedirect.md) `(read-only)`
+ - : Retrieves the redirect information from the last processed SourceCodeGroup (active or inactive). If none exists,
+ then the redirect information is retrieved from the source-code preferences, based on the active/inactive status
+ of the SourceCodeGroup. The redirect information is then resolved to the output URL. If the redirect information
+ cannot be resolved to a URL, or there is an error retrieving the preferences, then null is returned.
+
+
+
+---
+
+### status
+- status: [Number](TopLevel.Number.md) `(read-only)`
+ - : The status of the source-code. One of the following:
+ STATUS\_INVALID - The source code is not found in the system.
+ STATUS\_INACTIVE - The source code is found but not active.
+ STATUS\_INACTIVE - The source code is found and active.
+
+
+
+---
+
+## Method Details
+
+### getCode()
+- getCode(): [String](TopLevel.String.md)
+ - : The literal source-code.
+
+ **Returns:**
+ - the source-code.
+
+
+---
+
+### getGroup()
+- getGroup(): [SourceCodeGroup](dw.campaign.SourceCodeGroup.md)
+ - : The associated source-code group.
+
+ **Returns:**
+ - the source-code group.
+
+
+---
+
+### getRedirect()
+- getRedirect(): [URLRedirect](dw.web.URLRedirect.md)
+ - : Retrieves the redirect information from the last processed SourceCodeGroup (active or inactive). If none exists,
+ then the redirect information is retrieved from the source-code preferences, based on the active/inactive status
+ of the SourceCodeGroup. The redirect information is then resolved to the output URL. If the redirect information
+ cannot be resolved to a URL, or there is an error retrieving the preferences, then null is returned.
+
+
+ **Returns:**
+ - URLRedirect containing the location and status code, null in case of no redirect was found
+
+
+---
+
+### getStatus()
+- getStatus(): [Number](TopLevel.Number.md)
+ - : The status of the source-code. One of the following:
+ STATUS\_INVALID - The source code is not found in the system.
+ STATUS\_INACTIVE - The source code is found but not active.
+ STATUS\_INACTIVE - The source code is found and active.
+
+
+ **Returns:**
+ - the status.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SourceCodeStatusCodes.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SourceCodeStatusCodes.md
new file mode 100644
index 00000000..d0621132
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.SourceCodeStatusCodes.md
@@ -0,0 +1,61 @@
+
+# Class SourceCodeStatusCodes
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.SourceCodeStatusCodes](dw.campaign.SourceCodeStatusCodes.md)
+
+Helper class which contains error result codes returned by the SetSourceCode
+pipelet.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [CODE_INACTIVE](#code_inactive): [String](TopLevel.String.md) = "CODE_INACTIVE" | Indicates that the specified source code was found in one or more source-code groups, none of which are active. |
+| [CODE_INVALID](#code_invalid): [String](TopLevel.String.md) = "CODE_INVALID" | Indicates that the specified source code is not contained in any source-code group. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [SourceCodeStatusCodes](#sourcecodestatuscodes)() | |
+
+## Method Summary
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### CODE_INACTIVE
+
+- CODE_INACTIVE: [String](TopLevel.String.md) = "CODE_INACTIVE"
+ - : Indicates that the specified source code was found in one or more
+ source-code groups, none of which are active.
+
+
+
+---
+
+### CODE_INVALID
+
+- CODE_INVALID: [String](TopLevel.String.md) = "CODE_INVALID"
+ - : Indicates that the specified source code is not contained
+ in any source-code group.
+
+
+
+---
+
+## Constructor Details
+
+### SourceCodeStatusCodes()
+- SourceCodeStatusCodes()
+ - :
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.TotalFixedPriceDiscount.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.TotalFixedPriceDiscount.md
new file mode 100644
index 00000000..b527dffd
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.TotalFixedPriceDiscount.md
@@ -0,0 +1,56 @@
+
+# Class TotalFixedPriceDiscount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.campaign.Discount](dw.campaign.Discount.md)
+ - [dw.campaign.TotalFixedPriceDiscount](dw.campaign.TotalFixedPriceDiscount.md)
+
+Represents a _total fix price_ discount on a group of products in the
+discount plan. For example: "buy 3 products of type X for a total price
+of $29.99".
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [totalFixedPrice](#totalfixedprice): [Number](TopLevel.Number.md) `(read-only)` | Returns the total fixed price amount. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getTotalFixedPrice](dw.campaign.TotalFixedPriceDiscount.md#gettotalfixedprice)() | Returns the total fixed price amount. |
+
+### Methods inherited from class Discount
+
+[getItemPromotionTiers](dw.campaign.Discount.md#getitempromotiontiers), [getPromotion](dw.campaign.Discount.md#getpromotion), [getPromotionTier](dw.campaign.Discount.md#getpromotiontier), [getQuantity](dw.campaign.Discount.md#getquantity), [getType](dw.campaign.Discount.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### totalFixedPrice
+- totalFixedPrice: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the total fixed price amount.
+
+
+---
+
+## Method Details
+
+### getTotalFixedPrice()
+- getTotalFixedPrice(): [Number](TopLevel.Number.md)
+ - : Returns the total fixed price amount.
+
+ **Returns:**
+ - Total fixed price amount
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.campaign.md b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.md
new file mode 100644
index 00000000..6019fc49
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.campaign.md
@@ -0,0 +1,36 @@
+# Package dw.campaign
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [ABTest](dw.campaign.ABTest.md) | Object representing an AB-test in Commerce Cloud Digital. |
+| [ABTestMgr](dw.campaign.ABTestMgr.md) | Manager class used to access AB-test information in the storefront. |
+| [ABTestSegment](dw.campaign.ABTestSegment.md) | Object representing an AB-test segment in the Commerce Cloud Digital. |
+| [AmountDiscount](dw.campaign.AmountDiscount.md) | Represents an _amount-off_ discount in the discount plan, for example "$10 off all orders $100 or more". |
+| [ApproachingDiscount](dw.campaign.ApproachingDiscount.md) | Transient class representing a discount that a [LineItemCtnr](dw.order.LineItemCtnr.md) "almost" qualifies for based on the amount of merchandise in it. |
+| [BonusChoiceDiscount](dw.campaign.BonusChoiceDiscount.md) | Represents a _choice of bonus products_ discount in the discount plan, for example "Choose 3 DVDs from a list of 20 options with your purchase of any DVD player." |
+| [BonusDiscount](dw.campaign.BonusDiscount.md) | Represents a _bonus_ discount in the discount plan, for example "Get a free DVD with your purchase of any DVD player." |
+| [Campaign](dw.campaign.Campaign.md) | A Campaign is a set of experiences (or site configurations) which may be deployed as a single unit for a given time frame. |
+| [CampaignMgr](dw.campaign.CampaignMgr.md) | CampaignMgr provides static methods for managing campaign-specific operations such as accessing promotions or updating promotion line items. |
+| [CampaignStatusCodes](dw.campaign.CampaignStatusCodes.md) | Deprecated. |
+| [Coupon](dw.campaign.Coupon.md) | Represents a coupon in Commerce Cloud Digital. |
+| [CouponMgr](dw.campaign.CouponMgr.md) | Manager to access coupons. |
+| [CouponRedemption](dw.campaign.CouponRedemption.md) | Represents a redeemed coupon. |
+| [CouponStatusCodes](dw.campaign.CouponStatusCodes.md) | Helper class containing status codes for why a coupon code cannot be added to cart or why a coupon code already in cart is not longer valid for redemption. |
+| [Discount](dw.campaign.Discount.md) | Superclass of all specific discount classes. |
+| [DiscountPlan](dw.campaign.DiscountPlan.md) | DiscountPlan represents a set of [Discount](dw.campaign.Discount.md)s. |
+| [FixedPriceDiscount](dw.campaign.FixedPriceDiscount.md) | Represents a _fix price_ discount in the discount plan, for example "Shipping only 0.99 all orders $25 or more." |
+| [FixedPriceShippingDiscount](dw.campaign.FixedPriceShippingDiscount.md) | Represents a _fixed price shipping_ discount in the discount plan, for example "Shipping only 0.99 for iPods." |
+| [FreeDiscount](dw.campaign.FreeDiscount.md) | Represents a _free_ discount in the discount plan, for example "Free shipping on all orders $25 or more." |
+| [FreeShippingDiscount](dw.campaign.FreeShippingDiscount.md) | Represents a _free shipping_ discount in the discount plan, for example "Free shipping on all iPods." |
+| [PercentageDiscount](dw.campaign.PercentageDiscount.md) | Represents a _percentage-off_ discount in the discount plan, for example "10% off all T-Shirts". |
+| [PercentageOptionDiscount](dw.campaign.PercentageOptionDiscount.md) | Represents a _percentage-off options_ discount in the discount plan, for example "50% off monogramming on shirts". |
+| [PriceBookPriceDiscount](dw.campaign.PriceBookPriceDiscount.md) | Discount representing that a product's price has been calculated from a separate sales price book other than the standard price book assigned to the site. |
+| [Promotion](dw.campaign.Promotion.md) | This class represents a promotion in Commerce Cloud Digital. |
+| [PromotionMgr](dw.campaign.PromotionMgr.md) | [PromotionMgr](dw.campaign.PromotionMgr.md) is used to access campaigns and promotion definitions, display active or upcoming promotions in a storefront, and to calculate and apply promotional discounts to line item containers. |
+| [PromotionPlan](dw.campaign.PromotionPlan.md) | PromotionPlan represents a set of [Promotion](dw.campaign.Promotion.md) instances and is used to display active or upcoming promotions on storefront pages, or to pass it to the [PromotionMgr](dw.campaign.PromotionMgr.md) to calculate a [DiscountPlan](dw.campaign.DiscountPlan.md) and subsequently apply discounts to a line item container. |
+| [SlotContent](dw.campaign.SlotContent.md) | Represents content for a slot. |
+| [SourceCodeGroup](dw.campaign.SourceCodeGroup.md) | A source code group defines a collection of source codes. |
+| [SourceCodeInfo](dw.campaign.SourceCodeInfo.md) | Class representing a code (i.e. |
+| [SourceCodeStatusCodes](dw.campaign.SourceCodeStatusCodes.md) | Helper class which contains error result codes returned by the SetSourceCode pipelet. |
+| [TotalFixedPriceDiscount](dw.campaign.TotalFixedPriceDiscount.md) | Represents a _total fix price_ discount on a group of products in the discount plan. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Catalog.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Catalog.md
new file mode 100644
index 00000000..df96207d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Catalog.md
@@ -0,0 +1,158 @@
+
+# Class Catalog
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.catalog.Catalog](dw.catalog.Catalog.md)
+
+Represents a Commerce Cloud Digital Catalog. Catalogs are containers of products
+and other product-related information and can be shared between sites. Every
+product in the system is contained in (or "owned by") exactly one catalog.
+Every site has a single "site catalog" which defines the products that are
+available to purchase on that site. The static method
+[CatalogMgr.getSiteCatalog()](dw.catalog.CatalogMgr.md#getsitecatalog) returns the site catalog for
+the current site.
+
+
+Catalogs are organized into a tree of categories with a single top-level root
+category. Products are assigned to categories within catalogs. They can be
+assigned to categories in their owning catalog, or other catalogs. They can
+be assigned to multiple categories within the same catalog. Products that are
+not assigned to any categories are considered "uncategorized." A product has
+a single "classification category" in some catalog, and one
+"primary category" per catalog. The classification category defines the
+attribute set of the product. The primary category is used as standard
+presentation context within that catalog in the storefront.
+
+
+While Commerce Cloud Digital does not currently distinguish different
+catalog types, it is common practice to have two general types of catalog:
+
+
+- "Product catalogs" typically contain detailed product information and are frequently generated from some backend PIM system.
+- "Site Catalogs" define the category structure of the storefront and contain primarily the assignments of these categories to the products defined in the product catalogs. The site catalog is assigned to the site.
+
+
+
+In addition to products and categories, catalogs contain recommendations,
+shared variation attributes which can be used by multiple master products,
+and shared product options which can be used by multiple option products.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the value of attribute 'id'. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the value of the localized extensible object attribute "shortDescription" for the current locale. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the value of the localized extensible object attribute "displayName" for the current locale. |
+| [root](#root): [Category](dw.catalog.Category.md) `(read-only)` | Returns the object for the relation 'root'. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getDescription](dw.catalog.Catalog.md#getdescription)() | Returns the value of the localized extensible object attribute "shortDescription" for the current locale. |
+| [getDisplayName](dw.catalog.Catalog.md#getdisplayname)() | Returns the value of the localized extensible object attribute "displayName" for the current locale. |
+| [getID](dw.catalog.Catalog.md#getid)() | Returns the value of attribute 'id'. |
+| [getRoot](dw.catalog.Catalog.md#getroot)() | Returns the object for the relation 'root'. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the value of attribute 'id'.
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the value of the localized extensible object attribute
+ "shortDescription" for the current locale.
+
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the value of the localized extensible object attribute
+ "displayName" for the current locale.
+
+
+
+---
+
+### root
+- root: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the object for the relation 'root'.
+
+
+---
+
+## Method Details
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the value of the localized extensible object attribute
+ "shortDescription" for the current locale.
+
+
+ **Returns:**
+ - The value of the attribute for the current locale,
+ or null if it wasn't found.
+
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the value of the localized extensible object attribute
+ "displayName" for the current locale.
+
+
+ **Returns:**
+ - The value of the attribute for the current locale,
+ or null if it wasn't found.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the value of attribute 'id'.
+
+ **Returns:**
+ - the value of the attribute 'id'
+
+
+---
+
+### getRoot()
+- getRoot(): [Category](dw.catalog.Category.md)
+ - : Returns the object for the relation 'root'.
+
+ **Returns:**
+ - the object for the relation 'root'.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.CatalogMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.CatalogMgr.md
new file mode 100644
index 00000000..e588333d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.CatalogMgr.md
@@ -0,0 +1,155 @@
+
+# Class CatalogMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.CatalogMgr](dw.catalog.CatalogMgr.md)
+
+Provides helper methods for getting categories.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [siteCatalog](#sitecatalog): [Catalog](dw.catalog.Catalog.md) `(read-only)` | Returns the catalog of the current site or null if no catalog is assigned to the site. |
+| [sortingOptions](#sortingoptions): [List](dw.util.List.md) `(read-only)` | Returns a list containing the sorting options configured for this site. |
+| [sortingRules](#sortingrules): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection containing all of the sorting rules for this site, including global sorting rules. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getCatalog](dw.catalog.CatalogMgr.md#getcatalogstring)([String](TopLevel.String.md)) | Returns the catalog identified by the specified catalog id. |
+| static [getCategory](dw.catalog.CatalogMgr.md#getcategorystring)([String](TopLevel.String.md)) | Returns the category of the site catalog identified by the specified category id. |
+| static [getSiteCatalog](dw.catalog.CatalogMgr.md#getsitecatalog)() | Returns the catalog of the current site or null if no catalog is assigned to the site. |
+| static [getSortingOption](dw.catalog.CatalogMgr.md#getsortingoptionstring)([String](TopLevel.String.md)) | Returns the sorting option with the given ID for this site, or `null` if there is no such option. |
+| static [getSortingOptions](dw.catalog.CatalogMgr.md#getsortingoptions)() | Returns a list containing the sorting options configured for this site. |
+| static [getSortingRule](dw.catalog.CatalogMgr.md#getsortingrulestring)([String](TopLevel.String.md)) | Returns the sorting rule with the given ID for this site, or `null` if there is no such rule. |
+| static [getSortingRules](dw.catalog.CatalogMgr.md#getsortingrules)() | Returns a collection containing all of the sorting rules for this site, including global sorting rules. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### siteCatalog
+- siteCatalog: [Catalog](dw.catalog.Catalog.md) `(read-only)`
+ - : Returns the catalog of the current site or null if no catalog is assigned to the site.
+
+
+---
+
+### sortingOptions
+- sortingOptions: [List](dw.util.List.md) `(read-only)`
+ - : Returns a list containing the sorting options configured for this site.
+
+
+---
+
+### sortingRules
+- sortingRules: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection containing all of the sorting rules for this site, including global sorting rules.
+
+
+---
+
+## Method Details
+
+### getCatalog(String)
+- static getCatalog(id: [String](TopLevel.String.md)): [Catalog](dw.catalog.Catalog.md)
+ - : Returns the catalog identified by the specified catalog id.
+ Returns null if no catalog with the specified id exists in the
+ current organization context.
+
+
+ **Parameters:**
+ - id - Catalog id
+
+ **Returns:**
+ - the catalog or null.
+
+
+---
+
+### getCategory(String)
+- static getCategory(id: [String](TopLevel.String.md)): [Category](dw.catalog.Category.md)
+ - : Returns the category of the site catalog identified by the specified
+ category id. Returns null if no site catalog is defined, or no category
+ with the specified id is found in the site catalog.
+
+
+ **Parameters:**
+ - id - the category identifier.
+
+ **Returns:**
+ - the category of the site catalog identified by the specified
+ category id or null if no site catalog is found.
+
+
+
+---
+
+### getSiteCatalog()
+- static getSiteCatalog(): [Catalog](dw.catalog.Catalog.md)
+ - : Returns the catalog of the current site or null if no catalog is assigned to the site.
+
+ **Returns:**
+ - the catalog of the current site or null.
+
+
+---
+
+### getSortingOption(String)
+- static getSortingOption(id: [String](TopLevel.String.md)): [SortingOption](dw.catalog.SortingOption.md)
+ - : Returns the sorting option with the given ID for this site, or
+ `null` if there is no such option.
+
+
+ **Parameters:**
+ - id - the ID of the sorting option
+
+ **Returns:**
+ - a SortingOption or null.
+
+
+---
+
+### getSortingOptions()
+- static getSortingOptions(): [List](dw.util.List.md)
+ - : Returns a list containing the sorting options configured for this site.
+
+ **Returns:**
+ - a list of SortingOption objects
+
+
+---
+
+### getSortingRule(String)
+- static getSortingRule(id: [String](TopLevel.String.md)): [SortingRule](dw.catalog.SortingRule.md)
+ - : Returns the sorting rule with the given ID for this site,
+ or `null` if there is no such rule.
+
+
+ **Parameters:**
+ - id - the ID of the sorting rule
+
+ **Returns:**
+ - a SortingRule or null.
+
+
+---
+
+### getSortingRules()
+- static getSortingRules(): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing all of the sorting rules for this site, including global sorting rules.
+
+ **Returns:**
+ - a collection of SortingRule objects
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Category.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Category.md
new file mode 100644
index 00000000..0e7eeb99
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Category.md
@@ -0,0 +1,1212 @@
+
+# Class Category
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.catalog.Category](dw.catalog.Category.md)
+
+Represents a category in a product catalog.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [DISPLAY_MODE_INDIVIDUAL](#display_mode_individual): [Number](TopLevel.Number.md) = 0 | Constant representing the Variation Group Display Mode individual setting. |
+| [DISPLAY_MODE_MERGED](#display_mode_merged): [Number](TopLevel.Number.md) = 1 | Constant representing the Variation Group Display Mode merged setting. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the id of the category. |
+| [allRecommendations](#allrecommendations): [Collection](dw.util.Collection.md) `(read-only)` | Returns all outgoing recommendations for this category. |
+| [categoryAssignments](#categoryassignments): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of category assignments of the category. |
+| [defaultSortingRule](#defaultsortingrule): [SortingRule](dw.catalog.SortingRule.md) `(read-only)` | Returns the default sorting rule configured for this category, or `null` if there is no default rule to be applied for it. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the description of the catalog category for the current locale. |
+| [displayMode](#displaymode): [Number](TopLevel.Number.md) | Returns the Variation Groups Display Mode of the category or null if no display mode is defined. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the display name of the of the catalog category for the current locale. |
+| [image](#image): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the image reference of this catalog category. |
+| [incomingCategoryLinks](#incomingcategorylinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the target. |
+| [online](#online): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the value indicating whether the catalog category is "currently online". |
+| [onlineCategoryAssignments](#onlinecategoryassignments): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of category assignments of the category where the referenced product is currently online. |
+| [onlineFlag](#onlineflag): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the online status flag of the category. |
+| [onlineFrom](#onlinefrom): [Date](TopLevel.Date.md) `(read-only)` | Returns the date from which the category is online or valid. |
+| [onlineIncomingCategoryLinks](#onlineincomingcategorylinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the target. |
+| [onlineOutgoingCategoryLinks](#onlineoutgoingcategorylinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the source. |
+| [onlineProducts](#onlineproducts): [Collection](dw.util.Collection.md) `(read-only)` | Returns online products assigned to this category. |
+| [onlineSubCategories](#onlinesubcategories): [Collection](dw.util.Collection.md) `(read-only)` | Returns a sorted collection of currently online subcategories of this catalog category. |
+| [onlineTo](#onlineto): [Date](TopLevel.Date.md) `(read-only)` | Returns the date until which the category is online or valid. |
+| [orderableRecommendations](#orderablerecommendations): [Collection](dw.util.Collection.md) `(read-only)` | Returns a list of outgoing recommendations for this category. |
+| [outgoingCategoryLinks](#outgoingcategorylinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the source. |
+| [pageDescription](#pagedescription): [String](TopLevel.String.md) `(read-only)` | Returns the page description of this category for the default locale or null if not defined. |
+| [pageKeywords](#pagekeywords): [String](TopLevel.String.md) `(read-only)` | Returns the page keywords of this category for the default locale or null if not defined. |
+| [pageTitle](#pagetitle): [String](TopLevel.String.md) `(read-only)` | Returns the page title of this category for the default locale or null if not defined. |
+| [pageURL](#pageurl): [String](TopLevel.String.md) `(read-only)` | Returns the page URL property of this category or null if not defined. |
+| [parent](#parent): [Category](dw.catalog.Category.md) `(read-only)` | Returns the parent of this category. |
+| [productAttributeModel](#productattributemodel): [ProductAttributeModel](dw.catalog.ProductAttributeModel.md) `(read-only)` | Returns this category's ProductAttributeModel, which makes access to the category's attribute information convenient. |
+| [products](#products): [Collection](dw.util.Collection.md) `(read-only)` | Returns all products assigned to this category. |
+| [recommendations](#recommendations): [Collection](dw.util.Collection.md) `(read-only)` | Returns the outgoing recommendations for this category. |
+| [root](#root): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the category is the root category of its catalog. |
+| [searchPlacement](#searchplacement): [Number](TopLevel.Number.md) | Returns the search placement of the category or null of no search placement is defined. |
+| [searchRank](#searchrank): [Number](TopLevel.Number.md) | Returns the search rank of the category or null of no search rank is defined. |
+| [siteMapChangeFrequency](#sitemapchangefrequency): [String](TopLevel.String.md) `(read-only)` | Returns the category's sitemap change frequency. |
+| [siteMapIncluded](#sitemapincluded): [Number](TopLevel.Number.md) `(read-only)` | Returns the category's sitemap inclusion. |
+| [siteMapPriority](#sitemappriority): [Number](TopLevel.Number.md) `(read-only)` | Returns the category's sitemap priority. |
+| [subCategories](#subcategories): [Collection](dw.util.Collection.md) `(read-only)` | Returns a sorted collection of the subcategories of this catalog category, including both online and offline subcategories. |
+| [template](#template): [String](TopLevel.String.md) `(read-only)` | Returns the template property value , which is the file name of the template used to display the catalog category. |
+| [thumbnail](#thumbnail): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the thumbnail image reference of this catalog category. |
+| [topLevel](#toplevel): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if the category is a top level category, but not the root category. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAllRecommendations](dw.catalog.Category.md#getallrecommendations)() | Returns all outgoing recommendations for this category. |
+| [getAllRecommendations](dw.catalog.Category.md#getallrecommendationsnumber)([Number](TopLevel.Number.md)) | Returns all outgoing recommendations for this category which are of the specified type. |
+| [getCategoryAssignments](dw.catalog.Category.md#getcategoryassignments)() | Returns a collection of category assignments of the category. |
+| [getDefaultSortingRule](dw.catalog.Category.md#getdefaultsortingrule)() | Returns the default sorting rule configured for this category, or `null` if there is no default rule to be applied for it. |
+| [getDescription](dw.catalog.Category.md#getdescription)() | Returns the description of the catalog category for the current locale. |
+| [getDisplayMode](dw.catalog.Category.md#getdisplaymode)() | Returns the Variation Groups Display Mode of the category or null if no display mode is defined. |
+| [getDisplayName](dw.catalog.Category.md#getdisplayname)() | Returns the display name of the of the catalog category for the current locale. |
+| [getID](dw.catalog.Category.md#getid)() | Returns the id of the category. |
+| [getImage](dw.catalog.Category.md#getimage)() | Returns the image reference of this catalog category. |
+| [getIncomingCategoryLinks](dw.catalog.Category.md#getincomingcategorylinks)() | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the target. |
+| [getIncomingCategoryLinks](dw.catalog.Category.md#getincomingcategorylinksnumber)([Number](TopLevel.Number.md)) | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the target and which are of the specified type. |
+| [getOnlineCategoryAssignments](dw.catalog.Category.md#getonlinecategoryassignments)() | Returns a collection of category assignments of the category where the referenced product is currently online. |
+| [getOnlineFlag](dw.catalog.Category.md#getonlineflag)() | Returns the online status flag of the category. |
+| [getOnlineFrom](dw.catalog.Category.md#getonlinefrom)() | Returns the date from which the category is online or valid. |
+| [getOnlineIncomingCategoryLinks](dw.catalog.Category.md#getonlineincomingcategorylinks)() | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the target. |
+| [getOnlineOutgoingCategoryLinks](dw.catalog.Category.md#getonlineoutgoingcategorylinks)() | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the source. |
+| [getOnlineProducts](dw.catalog.Category.md#getonlineproducts)() | Returns online products assigned to this category. |
+| [getOnlineSubCategories](dw.catalog.Category.md#getonlinesubcategories)() | Returns a sorted collection of currently online subcategories of this catalog category. |
+| [getOnlineTo](dw.catalog.Category.md#getonlineto)() | Returns the date until which the category is online or valid. |
+| [getOrderableRecommendations](dw.catalog.Category.md#getorderablerecommendations)() | Returns a list of outgoing recommendations for this category. |
+| [getOrderableRecommendations](dw.catalog.Category.md#getorderablerecommendationsnumber)([Number](TopLevel.Number.md)) | Returns a list of outgoing recommendations for this category. |
+| [getOutgoingCategoryLinks](dw.catalog.Category.md#getoutgoingcategorylinks)() | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the source. |
+| [getOutgoingCategoryLinks](dw.catalog.Category.md#getoutgoingcategorylinksnumber)([Number](TopLevel.Number.md)) | Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category is the source and which are of the specified type. |
+| [getPageDescription](dw.catalog.Category.md#getpagedescription)() | Returns the page description of this category for the default locale or null if not defined. |
+| [getPageKeywords](dw.catalog.Category.md#getpagekeywords)() | Returns the page keywords of this category for the default locale or null if not defined. |
+| [getPageTitle](dw.catalog.Category.md#getpagetitle)() | Returns the page title of this category for the default locale or null if not defined. |
+| [getPageURL](dw.catalog.Category.md#getpageurl)() | Returns the page URL property of this category or null if not defined. |
+| [getParent](dw.catalog.Category.md#getparent)() | Returns the parent of this category. |
+| [getProductAttributeModel](dw.catalog.Category.md#getproductattributemodel)() | Returns this category's ProductAttributeModel, which makes access to the category's attribute information convenient. |
+| [getProducts](dw.catalog.Category.md#getproducts)() | Returns all products assigned to this category. |
+| [getRecommendations](dw.catalog.Category.md#getrecommendations)() | Returns the outgoing recommendations for this category. |
+| [getRecommendations](dw.catalog.Category.md#getrecommendationsnumber)([Number](TopLevel.Number.md)) | Returns the outgoing recommendations for this category which are of the specified type. |
+| [getSearchPlacement](dw.catalog.Category.md#getsearchplacement)() | Returns the search placement of the category or null of no search placement is defined. |
+| [getSearchRank](dw.catalog.Category.md#getsearchrank)() | Returns the search rank of the category or null of no search rank is defined. |
+| [getSiteMapChangeFrequency](dw.catalog.Category.md#getsitemapchangefrequency)() | Returns the category's sitemap change frequency. |
+| [getSiteMapIncluded](dw.catalog.Category.md#getsitemapincluded)() | Returns the category's sitemap inclusion. |
+| [getSiteMapPriority](dw.catalog.Category.md#getsitemappriority)() | Returns the category's sitemap priority. |
+| [getSubCategories](dw.catalog.Category.md#getsubcategories)() | Returns a sorted collection of the subcategories of this catalog category, including both online and offline subcategories. |
+| [getTemplate](dw.catalog.Category.md#gettemplate)() | Returns the template property value , which is the file name of the template used to display the catalog category. |
+| [getThumbnail](dw.catalog.Category.md#getthumbnail)() | Returns the thumbnail image reference of this catalog category. |
+| [hasOnlineProducts](dw.catalog.Category.md#hasonlineproducts)() | Returns true if this catalog category has any online products assigned. |
+| [hasOnlineSubCategories](dw.catalog.Category.md#hasonlinesubcategories)() | Returns true if this catalog category has any online subcategories. |
+| [isDirectSubCategoryOf](dw.catalog.Category.md#isdirectsubcategoryofcategory)([Category](dw.catalog.Category.md)) | Returns true if this category is a direct sub-category of the provided category. |
+| [isOnline](dw.catalog.Category.md#isonline)() | Returns the value indicating whether the catalog category is "currently online". |
+| [isRoot](dw.catalog.Category.md#isroot)() | Identifies if the category is the root category of its catalog. |
+| [isSubCategoryOf](dw.catalog.Category.md#issubcategoryofcategory)([Category](dw.catalog.Category.md)) | Returns true if this category is a sub-category of the provided category. |
+| [isTopLevel](dw.catalog.Category.md#istoplevel)() | Returns true if the category is a top level category, but not the root category. |
+| [setDisplayMode](dw.catalog.Category.md#setdisplaymodenumber)([Number](TopLevel.Number.md)) | Set the category's Variation Groups Display Mode. |
+| [setSearchPlacement](dw.catalog.Category.md#setsearchplacementnumber)([Number](TopLevel.Number.md)) | Set the category's search placement. |
+| [setSearchRank](dw.catalog.Category.md#setsearchranknumber)([Number](TopLevel.Number.md)) | Set the category's search rank. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### DISPLAY_MODE_INDIVIDUAL
+
+- DISPLAY_MODE_INDIVIDUAL: [Number](TopLevel.Number.md) = 0
+ - : Constant representing the Variation Group Display Mode individual setting.
+
+
+---
+
+### DISPLAY_MODE_MERGED
+
+- DISPLAY_MODE_MERGED: [Number](TopLevel.Number.md) = 1
+ - : Constant representing the Variation Group Display Mode merged setting.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the id of the category.
+
+
+---
+
+### allRecommendations
+- allRecommendations: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all outgoing recommendations for this category. The
+ recommendations are sorted by their explicitly set order.
+
+
+
+---
+
+### categoryAssignments
+- categoryAssignments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of category assignments of the category.
+
+
+---
+
+### defaultSortingRule
+- defaultSortingRule: [SortingRule](dw.catalog.SortingRule.md) `(read-only)`
+ - : Returns the default sorting rule configured for this category,
+ or `null` if there is no default rule to be applied for it.
+
+ This method returns the default rule for the parent category if this
+ category inherits one. The parent category may inherit its default
+ rule from its parent, and so on, up to the root category.
+
+ This method returns `null` if no ancestor category for this
+ category has a default rule.
+
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the description of the catalog category for the current locale.
+
+
+---
+
+### displayMode
+- displayMode: [Number](TopLevel.Number.md)
+ - : Returns the Variation Groups Display Mode of the category or null if no display mode is defined.
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name of the of the catalog category for the current locale.
+
+ This value is intended to be used as the
+ external visible name of the catalog category.
+
+
+
+---
+
+### image
+- image: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the image reference of this catalog category.
+
+
+---
+
+### incomingCategoryLinks
+- incomingCategoryLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category
+ is the target. If the source category of a link belongs to a different
+ catalog than the catalog owning this category, it is not returned.
+
+
+
+---
+
+### online
+- online: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the value indicating whether the catalog category is "currently
+ online". A category is currently online if its online flag equals true
+ and the current site date is within the date range defined by the
+ onlineFrom and onlineTo attributes.
+
+
+
+---
+
+### onlineCategoryAssignments
+- onlineCategoryAssignments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of category assignments of the category where the
+ referenced product is currently online. When checking the online status
+ of the product, the online flag and the online from & to dates are taken
+ into account. Online flag, online from & to dates set for the current site
+ takes precedence over the default values.
+
+
+
+---
+
+### onlineFlag
+- onlineFlag: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the online status flag of the category.
+
+
+---
+
+### onlineFrom
+- onlineFrom: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date from which the category is online or valid.
+
+
+---
+
+### onlineIncomingCategoryLinks
+- onlineIncomingCategoryLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for
+ which this category is the target. If the source category of a link
+ belongs to a different catalog than the catalog owning this category, it
+ is not returned. Additionally, this method will only return a link if the
+ source category is currently online. A category is currently online if
+ its online flag equals true and the current site date is within the date
+ range defined by the onlineFrom and onlineTo attributes.
+
+
+
+---
+
+### onlineOutgoingCategoryLinks
+- onlineOutgoingCategoryLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for
+ which this category is the source. If the target category of a link
+ belongs to a different catalog than the catalog owning this category, it
+ is not returned. Additionally, this method will only return a link if the
+ target category is currently online. A category is currently online if
+ its online flag equals true and the current site date is within the date
+ range defined by the onlineFrom and onlineTo attributes.
+
+
+
+---
+
+### onlineProducts
+- onlineProducts: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns online products assigned to this category.
+ Offline products are not included in the returned collection.
+ When checking the online status of the product,
+ the online flag and the online from & to dates are taken into account.
+ Online flag, online from & to dates set for the current site takes precedence
+ over the default values.
+
+
+ The order of products in the returned collection corresponds to the
+ defined explicit sorting of products in this category.
+
+
+ **See Also:**
+ - [hasOnlineProducts()](dw.catalog.Category.md#hasonlineproducts)
+
+
+---
+
+### onlineSubCategories
+- onlineSubCategories: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a sorted collection of currently online subcategories of this
+ catalog category.
+
+ - A category is currently online if its online flag equals true and the current site date is within the date range defined by the onlineFrom and onlineTo attributes.
+ - The returned collection is sorted by position. Subcategories marked as "unsorted" always appear after those marked as "sorted" but are otherwise not in any guaranteed order.
+ - The returned collection contains direct subcategories only.
+
+
+ **See Also:**
+ - [hasOnlineSubCategories()](dw.catalog.Category.md#hasonlinesubcategories)
+
+
+---
+
+### onlineTo
+- onlineTo: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date until which the category is online or valid.
+
+
+---
+
+### orderableRecommendations
+- orderableRecommendations: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a list of outgoing recommendations for this category. This method
+ behaves similarly to [getRecommendations()](dw.catalog.Category.md#getrecommendations) but additionally filters out
+ recommendations for which the target product is unorderable according to
+ its product availability model.
+
+
+ **See Also:**
+ - [ProductAvailabilityModel.isOrderable()](dw.catalog.ProductAvailabilityModel.md#isorderable)
+
+
+---
+
+### outgoingCategoryLinks
+- outgoingCategoryLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category
+ is the source. If the target category of a link belongs to a different
+ catalog than the catalog owning this category, it is not returned.
+ The collection of links is sorted by the explicitly defined order
+ for this category with unsorted links appearing at the end.
+
+
+
+---
+
+### pageDescription
+- pageDescription: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page description of this category for the default locale or null if not defined.
+
+
+---
+
+### pageKeywords
+- pageKeywords: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page keywords of this category for the default locale or null if not defined.
+
+
+---
+
+### pageTitle
+- pageTitle: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page title of this category for the default locale or null if not defined.
+
+
+---
+
+### pageURL
+- pageURL: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page URL property of this category or null if not defined.
+
+
+---
+
+### parent
+- parent: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the parent of this category.
+
+
+---
+
+### productAttributeModel
+- productAttributeModel: [ProductAttributeModel](dw.catalog.ProductAttributeModel.md) `(read-only)`
+ - : Returns this category's ProductAttributeModel, which makes access to the
+ category's attribute information convenient. The model is calculated
+ based on the attribute definitions assigned to this category and the
+ global attribute definitions for the object type 'Product'.
+
+
+
+---
+
+### products
+- products: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all products assigned to this category.
+ The order of products in the returned collection corresponds to the
+ defined explicit sorting of products in this category.
+
+
+ **See Also:**
+ - [getOnlineProducts()](dw.catalog.Category.md#getonlineproducts)
+
+
+---
+
+### recommendations
+- recommendations: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the outgoing recommendations for this category. If this category
+ is not in the site catalog, or there is no site catalog, an empty
+ collection is returned. Only recommendations for which the target
+ product exists and is assigned to the site catalog are returned. The
+ recommendations are sorted by their explicitly set order.
+
+
+
+---
+
+### root
+- root: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the category is the root category of its catalog.
+
+
+---
+
+### searchPlacement
+- searchPlacement: [Number](TopLevel.Number.md)
+ - : Returns the search placement of the category or null of no search placement is defined.
+
+
+---
+
+### searchRank
+- searchRank: [Number](TopLevel.Number.md)
+ - : Returns the search rank of the category or null of no search rank is defined.
+
+
+---
+
+### siteMapChangeFrequency
+- siteMapChangeFrequency: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the category's sitemap change frequency.
+
+
+---
+
+### siteMapIncluded
+- siteMapIncluded: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the category's sitemap inclusion.
+
+
+---
+
+### siteMapPriority
+- siteMapPriority: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the category's sitemap priority.
+
+
+---
+
+### subCategories
+- subCategories: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a sorted collection of the subcategories of this catalog category,
+ including both online and offline subcategories.
+
+ - The returned collection is sorted by position. Subcategories marked as "unsorted" always appear after those marked as "sorted" but are otherwise not in any guaranteed order.
+ - The returned collection contains direct subcategories only.
+
+
+ **See Also:**
+ - [getOnlineSubCategories()](dw.catalog.Category.md#getonlinesubcategories)
+
+
+---
+
+### template
+- template: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the template property value , which is the file name of the template
+ used to display the catalog category.
+
+
+
+---
+
+### thumbnail
+- thumbnail: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the thumbnail image reference of this catalog category.
+
+
+---
+
+### topLevel
+- topLevel: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if the category is a top level category, but not the root
+ category.
+
+
+
+---
+
+## Method Details
+
+### getAllRecommendations()
+- getAllRecommendations(): [Collection](dw.util.Collection.md)
+ - : Returns all outgoing recommendations for this category. The
+ recommendations are sorted by their explicitly set order.
+
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly empty.
+
+
+---
+
+### getAllRecommendations(Number)
+- getAllRecommendations(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns all outgoing recommendations for this category which are of the
+ specified type. The recommendations are sorted by their explicitly set
+ order.
+
+
+ **Parameters:**
+ - type - the recommendation type.
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly empty.
+
+
+---
+
+### getCategoryAssignments()
+- getCategoryAssignments(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of category assignments of the category.
+
+ **Returns:**
+ - Collection of category assignments of the category.
+
+
+---
+
+### getDefaultSortingRule()
+- getDefaultSortingRule(): [SortingRule](dw.catalog.SortingRule.md)
+ - : Returns the default sorting rule configured for this category,
+ or `null` if there is no default rule to be applied for it.
+
+ This method returns the default rule for the parent category if this
+ category inherits one. The parent category may inherit its default
+ rule from its parent, and so on, up to the root category.
+
+ This method returns `null` if no ancestor category for this
+ category has a default rule.
+
+
+ **Returns:**
+ - the default SortingRule or null.
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the description of the catalog category for the current locale.
+
+ **Returns:**
+ - The value of the property for the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+### getDisplayMode()
+- getDisplayMode(): [Number](TopLevel.Number.md)
+ - : Returns the Variation Groups Display Mode of the category or null if no display mode is defined.
+
+ **Returns:**
+ - the value of the attribute 'displayMode' which is either [DISPLAY_MODE_MERGED](dw.catalog.Category.md#display_mode_merged) or
+ [DISPLAY_MODE_INDIVIDUAL](dw.catalog.Category.md#display_mode_individual) or null if category is set to inherit the display mode.
+
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name of the of the catalog category for the current locale.
+
+ This value is intended to be used as the
+ external visible name of the catalog category.
+
+
+ **Returns:**
+ - The value of the property for the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the id of the category.
+
+ **Returns:**
+ - the id of the category.
+
+
+---
+
+### getImage()
+- getImage(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the image reference of this catalog category.
+
+ **Returns:**
+ - the image reference for this category.
+
+
+---
+
+### getIncomingCategoryLinks()
+- getIncomingCategoryLinks(): [Collection](dw.util.Collection.md)
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category
+ is the target. If the source category of a link belongs to a different
+ catalog than the catalog owning this category, it is not returned.
+
+
+ **Returns:**
+ - a collection of [CategoryLink](dw.catalog.CategoryLink.md) objects, possibly empty but not null.
+
+
+---
+
+### getIncomingCategoryLinks(Number)
+- getIncomingCategoryLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category
+ is the target and which are of the specified type. If the source
+ category of a link belongs to a different catalog than the catalog owning
+ this category, it is not returned.
+
+
+ **Parameters:**
+ - type - the link type type.
+
+ **Returns:**
+ - a collection of [CategoryLink](dw.catalog.CategoryLink.md) objects, possibly empty but not null.
+
+
+---
+
+### getOnlineCategoryAssignments()
+- getOnlineCategoryAssignments(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of category assignments of the category where the
+ referenced product is currently online. When checking the online status
+ of the product, the online flag and the online from & to dates are taken
+ into account. Online flag, online from & to dates set for the current site
+ takes precedence over the default values.
+
+
+ **Returns:**
+ - Collection of online category assignments of the category.
+
+
+---
+
+### getOnlineFlag()
+- getOnlineFlag(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the online status flag of the category.
+
+ **Returns:**
+ - the online status flag of the category.
+
+
+---
+
+### getOnlineFrom()
+- getOnlineFrom(): [Date](TopLevel.Date.md)
+ - : Returns the date from which the category is online or valid.
+
+ **Returns:**
+ - the date from which the category is online or valid.
+
+
+---
+
+### getOnlineIncomingCategoryLinks()
+- getOnlineIncomingCategoryLinks(): [Collection](dw.util.Collection.md)
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for
+ which this category is the target. If the source category of a link
+ belongs to a different catalog than the catalog owning this category, it
+ is not returned. Additionally, this method will only return a link if the
+ source category is currently online. A category is currently online if
+ its online flag equals true and the current site date is within the date
+ range defined by the onlineFrom and onlineTo attributes.
+
+
+ **Returns:**
+ - a collection of [CategoryLink](dw.catalog.CategoryLink.md) objects, possibly
+ empty but not null.
+
+
+
+---
+
+### getOnlineOutgoingCategoryLinks()
+- getOnlineOutgoingCategoryLinks(): [Collection](dw.util.Collection.md)
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for
+ which this category is the source. If the target category of a link
+ belongs to a different catalog than the catalog owning this category, it
+ is not returned. Additionally, this method will only return a link if the
+ target category is currently online. A category is currently online if
+ its online flag equals true and the current site date is within the date
+ range defined by the onlineFrom and onlineTo attributes.
+
+
+ **Returns:**
+ - a collection of [CategoryLink](dw.catalog.CategoryLink.md) objects, possibly
+ empty but not null.
+
+
+
+---
+
+### getOnlineProducts()
+- getOnlineProducts(): [Collection](dw.util.Collection.md)
+ - : Returns online products assigned to this category.
+ Offline products are not included in the returned collection.
+ When checking the online status of the product,
+ the online flag and the online from & to dates are taken into account.
+ Online flag, online from & to dates set for the current site takes precedence
+ over the default values.
+
+
+ The order of products in the returned collection corresponds to the
+ defined explicit sorting of products in this category.
+
+
+ **Returns:**
+ - a sorted collection of online products of this category.
+
+ **See Also:**
+ - [hasOnlineProducts()](dw.catalog.Category.md#hasonlineproducts)
+
+
+---
+
+### getOnlineSubCategories()
+- getOnlineSubCategories(): [Collection](dw.util.Collection.md)
+ - : Returns a sorted collection of currently online subcategories of this
+ catalog category.
+
+ - A category is currently online if its online flag equals true and the current site date is within the date range defined by the onlineFrom and onlineTo attributes.
+ - The returned collection is sorted by position. Subcategories marked as "unsorted" always appear after those marked as "sorted" but are otherwise not in any guaranteed order.
+ - The returned collection contains direct subcategories only.
+
+
+ **Returns:**
+ - a sorted collection of currently online subcategories.
+
+ **See Also:**
+ - [hasOnlineSubCategories()](dw.catalog.Category.md#hasonlinesubcategories)
+
+
+---
+
+### getOnlineTo()
+- getOnlineTo(): [Date](TopLevel.Date.md)
+ - : Returns the date until which the category is online or valid.
+
+ **Returns:**
+ - the date until which the category is online or valid.
+
+
+---
+
+### getOrderableRecommendations()
+- getOrderableRecommendations(): [Collection](dw.util.Collection.md)
+ - : Returns a list of outgoing recommendations for this category. This method
+ behaves similarly to [getRecommendations()](dw.catalog.Category.md#getrecommendations) but additionally filters out
+ recommendations for which the target product is unorderable according to
+ its product availability model.
+
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly
+ empty.
+
+
+ **See Also:**
+ - [ProductAvailabilityModel.isOrderable()](dw.catalog.ProductAvailabilityModel.md#isorderable)
+
+
+---
+
+### getOrderableRecommendations(Number)
+- getOrderableRecommendations(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns a list of outgoing recommendations for this category. This method
+ behaves similarly to [getRecommendations(Number)](dw.catalog.Category.md#getrecommendationsnumber) but additionally
+ filters out recommendations for which the target product is unorderable
+ according to its product availability model.
+
+
+ **Parameters:**
+ - type - the recommendation type.
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly
+ empty.
+
+
+ **See Also:**
+ - [ProductAvailabilityModel.isOrderable()](dw.catalog.ProductAvailabilityModel.md#isorderable)
+
+
+---
+
+### getOutgoingCategoryLinks()
+- getOutgoingCategoryLinks(): [Collection](dw.util.Collection.md)
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category
+ is the source. If the target category of a link belongs to a different
+ catalog than the catalog owning this category, it is not returned.
+ The collection of links is sorted by the explicitly defined order
+ for this category with unsorted links appearing at the end.
+
+
+ **Returns:**
+ - a collection of [CategoryLink](dw.catalog.CategoryLink.md) objects, possibly empty but not null.
+
+
+---
+
+### getOutgoingCategoryLinks(Number)
+- getOutgoingCategoryLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns the collection of [CategoryLink](dw.catalog.CategoryLink.md) objects for which this category
+ is the source and which are of the specified type. If the target
+ category of a link belongs to a different catalog than the catalog owning
+ this category, it is not returned. The collection of links is sorted by
+ the explicitly defined order for this category with unsorted links
+ appearing at the end.
+
+
+ **Parameters:**
+ - type - the link type type.
+
+ **Returns:**
+ - a collection of [CategoryLink](dw.catalog.CategoryLink.md) objects, possibly empty but not null.
+
+
+---
+
+### getPageDescription()
+- getPageDescription(): [String](TopLevel.String.md)
+ - : Returns the page description of this category for the default locale or null if not defined.
+
+ **Returns:**
+ - the value of the attribute 'pageDescription'.
+
+
+---
+
+### getPageKeywords()
+- getPageKeywords(): [String](TopLevel.String.md)
+ - : Returns the page keywords of this category for the default locale or null if not defined.
+
+ **Returns:**
+ - the value of the attribute 'pageKeywords'.
+
+
+---
+
+### getPageTitle()
+- getPageTitle(): [String](TopLevel.String.md)
+ - : Returns the page title of this category for the default locale or null if not defined.
+
+ **Returns:**
+ - the value of the attribute 'pageTitle'.
+
+
+---
+
+### getPageURL()
+- getPageURL(): [String](TopLevel.String.md)
+ - : Returns the page URL property of this category or null if not defined.
+
+ **Returns:**
+ - the value of the attribute 'pageURL'.
+
+
+---
+
+### getParent()
+- getParent(): [Category](dw.catalog.Category.md)
+ - : Returns the parent of this category.
+
+ **Returns:**
+ - a CatalogCategory instance representing
+ the parent of this CatalogCategory or null.
+
+
+
+---
+
+### getProductAttributeModel()
+- getProductAttributeModel(): [ProductAttributeModel](dw.catalog.ProductAttributeModel.md)
+ - : Returns this category's ProductAttributeModel, which makes access to the
+ category's attribute information convenient. The model is calculated
+ based on the attribute definitions assigned to this category and the
+ global attribute definitions for the object type 'Product'.
+
+
+ **Returns:**
+ - the ProductAttributeModel for this category.
+
+
+---
+
+### getProducts()
+- getProducts(): [Collection](dw.util.Collection.md)
+ - : Returns all products assigned to this category.
+ The order of products in the returned collection corresponds to the
+ defined explicit sorting of products in this category.
+
+
+ **Returns:**
+ - a sorted collection of all products of this category.
+
+ **See Also:**
+ - [getOnlineProducts()](dw.catalog.Category.md#getonlineproducts)
+
+
+---
+
+### getRecommendations()
+- getRecommendations(): [Collection](dw.util.Collection.md)
+ - : Returns the outgoing recommendations for this category. If this category
+ is not in the site catalog, or there is no site catalog, an empty
+ collection is returned. Only recommendations for which the target
+ product exists and is assigned to the site catalog are returned. The
+ recommendations are sorted by their explicitly set order.
+
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly empty.
+
+
+---
+
+### getRecommendations(Number)
+- getRecommendations(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns the outgoing recommendations for this category which are of the
+ specified type. Behaves the same as [getRecommendations()](dw.catalog.Category.md#getrecommendations) but
+ additionally filters by recommendation type.
+
+
+ **Parameters:**
+ - type - the recommendation type.
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly empty.
+
+
+---
+
+### getSearchPlacement()
+- getSearchPlacement(): [Number](TopLevel.Number.md)
+ - : Returns the search placement of the category or null of no search placement is defined.
+
+ **Returns:**
+ - the value of the attribute 'searchPlacement'.
+
+
+---
+
+### getSearchRank()
+- getSearchRank(): [Number](TopLevel.Number.md)
+ - : Returns the search rank of the category or null of no search rank is defined.
+
+ **Returns:**
+ - the value of the attribute 'searchRank'.
+
+
+---
+
+### getSiteMapChangeFrequency()
+- getSiteMapChangeFrequency(): [String](TopLevel.String.md)
+ - : Returns the category's sitemap change frequency.
+
+ **Returns:**
+ - the value of the attribute 'siteMapChangeFrequency'.
+
+
+---
+
+### getSiteMapIncluded()
+- getSiteMapIncluded(): [Number](TopLevel.Number.md)
+ - : Returns the category's sitemap inclusion.
+
+ **Returns:**
+ - the value of the attribute 'siteMapIncluded'.
+
+
+---
+
+### getSiteMapPriority()
+- getSiteMapPriority(): [Number](TopLevel.Number.md)
+ - : Returns the category's sitemap priority.
+
+ **Returns:**
+ - the value of the attribute 'siteMapPriority'.
+
+
+---
+
+### getSubCategories()
+- getSubCategories(): [Collection](dw.util.Collection.md)
+ - : Returns a sorted collection of the subcategories of this catalog category,
+ including both online and offline subcategories.
+
+ - The returned collection is sorted by position. Subcategories marked as "unsorted" always appear after those marked as "sorted" but are otherwise not in any guaranteed order.
+ - The returned collection contains direct subcategories only.
+
+
+ **Returns:**
+ - a sorted collection of the subcategories.
+
+ **See Also:**
+ - [getOnlineSubCategories()](dw.catalog.Category.md#getonlinesubcategories)
+
+
+---
+
+### getTemplate()
+- getTemplate(): [String](TopLevel.String.md)
+ - : Returns the template property value , which is the file name of the template
+ used to display the catalog category.
+
+
+ **Returns:**
+ - the value of the property 'template'.
+
+
+---
+
+### getThumbnail()
+- getThumbnail(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the thumbnail image reference of this catalog category.
+
+ **Returns:**
+ - the thumbnail image reference for this category.
+
+
+---
+
+### hasOnlineProducts()
+- hasOnlineProducts(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this catalog category has any online products assigned.
+ When checking the online status of the product,
+ the online flag and the online from & to dates are taken into account.
+ Online flag, online from & to dates set for the current site takes precedence
+ over the default values.
+
+
+ **Returns:**
+ - true, if this category has at least one online product assigned,
+ false otherwise.
+
+
+ **See Also:**
+ - [getOnlineProducts()](dw.catalog.Category.md#getonlineproducts)
+
+
+---
+
+### hasOnlineSubCategories()
+- hasOnlineSubCategories(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this catalog category has any online subcategories.
+
+ - A category is currently online if its online flag equals true and the current site date is within the date range defined by the onlineFrom and onlineTo attributes.
+ - Only direct subcategories are considered.
+
+
+ **Returns:**
+ - true, if this category has at least one online subcategory,
+ false otherwise.
+
+
+ **See Also:**
+ - [getOnlineSubCategories()](dw.catalog.Category.md#getonlinesubcategories)
+
+
+---
+
+### isDirectSubCategoryOf(Category)
+- isDirectSubCategoryOf(parent: [Category](dw.catalog.Category.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this category is a direct sub-category of the provided
+ category.
+
+
+ **Parameters:**
+ - parent - The parent category, must not be null.
+
+ **Returns:**
+ - True if this category is a direct sub-category of parent, false
+ otherwise.
+
+
+
+---
+
+### isOnline()
+- isOnline(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the value indicating whether the catalog category is "currently
+ online". A category is currently online if its online flag equals true
+ and the current site date is within the date range defined by the
+ onlineFrom and onlineTo attributes.
+
+
+ **Returns:**
+ - true if the category is currently online, false otherwise.
+
+
+---
+
+### isRoot()
+- isRoot(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the category is the root category of its catalog.
+
+ **Returns:**
+ - 'true' if the category is the root category of its catalog,
+ 'false' otherwise.
+
+
+
+---
+
+### isSubCategoryOf(Category)
+- isSubCategoryOf(ancestor: [Category](dw.catalog.Category.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this category is a sub-category of the provided category.
+ This can be either a direct or an indirect sub-category.
+
+
+ **Parameters:**
+ - ancestor - The ancestor category, must not be null.
+
+ **Returns:**
+ - true if this category is a sub-category of ancestor, false
+ otherwise.
+
+
+
+---
+
+### isTopLevel()
+- isTopLevel(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the category is a top level category, but not the root
+ category.
+
+
+ **Returns:**
+ - True if the category is a direct sub-category of the root
+ category, false otherwise.
+
+
+
+---
+
+### setDisplayMode(Number)
+- setDisplayMode(displayMode: [Number](TopLevel.Number.md)): void
+ - : Set the category's Variation Groups Display Mode.
+
+ **Parameters:**
+ - displayMode - The category's variation groups display mode which is either [DISPLAY_MODE_MERGED](dw.catalog.Category.md#display_mode_merged) or [DISPLAY_MODE_INDIVIDUAL](dw.catalog.Category.md#display_mode_individual) or null if category is set to inherit the display mode.
+
+
+---
+
+### setSearchPlacement(Number)
+- setSearchPlacement(placement: [Number](TopLevel.Number.md)): void
+ - : Set the category's search placement.
+
+ **Parameters:**
+ - placement - The category's search placement.
+
+
+---
+
+### setSearchRank(Number)
+- setSearchRank(rank: [Number](TopLevel.Number.md)): void
+ - : Set the category's search rank.
+
+ **Parameters:**
+ - rank - The category's search rank.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.CategoryAssignment.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.CategoryAssignment.md
new file mode 100644
index 00000000..4627ee95
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.CategoryAssignment.md
@@ -0,0 +1,179 @@
+
+# Class CategoryAssignment
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.catalog.CategoryAssignment](dw.catalog.CategoryAssignment.md)
+
+Represents a category assignment in Commerce Cloud Digital.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [calloutMsg](#calloutmsg): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the category assignment's callout message in the current locale. |
+| [category](#category): [Category](dw.catalog.Category.md) `(read-only)` | Returns the category to which this category assignment is bound. |
+| [image](#image): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the category assignment's image. |
+| [longDescription](#longdescription): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the category assignment's long description in the current locale. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of the category assignment in the current locale. |
+| [product](#product): [Product](dw.catalog.Product.md) `(read-only)` | Returns the product to which this category assignment is bound. |
+| [shortDescription](#shortdescription): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the category assignment's short description in the current locale. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCalloutMsg](dw.catalog.CategoryAssignment.md#getcalloutmsg)() | Returns the category assignment's callout message in the current locale. |
+| [getCategory](dw.catalog.CategoryAssignment.md#getcategory)() | Returns the category to which this category assignment is bound. |
+| [getImage](dw.catalog.CategoryAssignment.md#getimage)() | Returns the category assignment's image. |
+| [getLongDescription](dw.catalog.CategoryAssignment.md#getlongdescription)() | Returns the category assignment's long description in the current locale. |
+| [getName](dw.catalog.CategoryAssignment.md#getname)() | Returns the name of the category assignment in the current locale. |
+| [getProduct](dw.catalog.CategoryAssignment.md#getproduct)() | Returns the product to which this category assignment is bound. |
+| [getShortDescription](dw.catalog.CategoryAssignment.md#getshortdescription)() | Returns the category assignment's short description in the current locale. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### calloutMsg
+- calloutMsg: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the category assignment's callout message in the current locale.
+
+
+---
+
+### category
+- category: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the category to which this category assignment is bound.
+
+
+---
+
+### image
+- image: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the category assignment's image.
+
+
+---
+
+### longDescription
+- longDescription: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the category assignment's long description in the current locale.
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the category assignment in the current locale.
+
+
+---
+
+### product
+- product: [Product](dw.catalog.Product.md) `(read-only)`
+ - : Returns the product to which this category assignment is bound.
+
+
+---
+
+### shortDescription
+- shortDescription: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the category assignment's short description in the current locale.
+
+
+---
+
+## Method Details
+
+### getCalloutMsg()
+- getCalloutMsg(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the category assignment's callout message in the current locale.
+
+ **Returns:**
+ - the category assignment's callout message in the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+### getCategory()
+- getCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the category to which this category assignment is bound.
+
+ **Returns:**
+ - The category to which this category assignment is bound.
+
+
+---
+
+### getImage()
+- getImage(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the category assignment's image.
+
+ **Returns:**
+ - the category assignment's image.
+
+
+---
+
+### getLongDescription()
+- getLongDescription(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the category assignment's long description in the current locale.
+
+ **Returns:**
+ - The category assignment's long description in the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of the category assignment in the current locale.
+
+ **Returns:**
+ - The name of the category assignment for the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+### getProduct()
+- getProduct(): [Product](dw.catalog.Product.md)
+ - : Returns the product to which this category assignment is bound.
+
+ **Returns:**
+ - The product to which this category assignment is bound.
+
+
+---
+
+### getShortDescription()
+- getShortDescription(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the category assignment's short description in the current locale.
+
+ **Returns:**
+ - the category assignment's short description in the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.CategoryLink.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.CategoryLink.md
new file mode 100644
index 00000000..113f9ee6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.CategoryLink.md
@@ -0,0 +1,142 @@
+
+# Class CategoryLink
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.CategoryLink](dw.catalog.CategoryLink.md)
+
+A CategoryLink represents a directed relationship between two catalog
+categories. Merchants create category links in order to market similar or
+related groups of products.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [LINKTYPE_ACCESSORY](#linktype_accessory): [Number](TopLevel.Number.md) = 2 | Represents an accessory category link. |
+| [LINKTYPE_CROSS_SELL](#linktype_cross_sell): [Number](TopLevel.Number.md) = 4 | Represents a cross-sell category link. |
+| [LINKTYPE_OTHER](#linktype_other): [Number](TopLevel.Number.md) = 1 | Represents a miscellaneous category link. |
+| [LINKTYPE_SPARE_PART](#linktype_spare_part): [Number](TopLevel.Number.md) = 6 | Represents a spare part category link. |
+| [LINKTYPE_UP_SELL](#linktype_up_sell): [Number](TopLevel.Number.md) = 5 | Represents an up-sell category link. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [sourceCategory](#sourcecategory): [Category](dw.catalog.Category.md) `(read-only)` | Returns the object for the relation 'sourceCategory'. |
+| [targetCategory](#targetcategory): [Category](dw.catalog.Category.md) `(read-only)` | Returns the object for the relation 'targetCategory'. |
+| [typeCode](#typecode): [Number](TopLevel.Number.md) `(read-only)` | Returns the type of this category link (see constants). |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getSourceCategory](dw.catalog.CategoryLink.md#getsourcecategory)() | Returns the object for the relation 'sourceCategory'. |
+| [getTargetCategory](dw.catalog.CategoryLink.md#gettargetcategory)() | Returns the object for the relation 'targetCategory'. |
+| [getTypeCode](dw.catalog.CategoryLink.md#gettypecode)() | Returns the type of this category link (see constants). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### LINKTYPE_ACCESSORY
+
+- LINKTYPE_ACCESSORY: [Number](TopLevel.Number.md) = 2
+ - : Represents an accessory category link.
+
+
+---
+
+### LINKTYPE_CROSS_SELL
+
+- LINKTYPE_CROSS_SELL: [Number](TopLevel.Number.md) = 4
+ - : Represents a cross-sell category link.
+
+
+---
+
+### LINKTYPE_OTHER
+
+- LINKTYPE_OTHER: [Number](TopLevel.Number.md) = 1
+ - : Represents a miscellaneous category link.
+
+
+---
+
+### LINKTYPE_SPARE_PART
+
+- LINKTYPE_SPARE_PART: [Number](TopLevel.Number.md) = 6
+ - : Represents a spare part category link.
+
+
+---
+
+### LINKTYPE_UP_SELL
+
+- LINKTYPE_UP_SELL: [Number](TopLevel.Number.md) = 5
+ - : Represents an up-sell category link.
+
+
+---
+
+## Property Details
+
+### sourceCategory
+- sourceCategory: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the object for the relation 'sourceCategory'.
+
+
+---
+
+### targetCategory
+- targetCategory: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the object for the relation 'targetCategory'.
+
+
+---
+
+### typeCode
+- typeCode: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the type of this category link (see constants).
+
+
+---
+
+## Method Details
+
+### getSourceCategory()
+- getSourceCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the object for the relation 'sourceCategory'.
+
+ **Returns:**
+ - the object for the relation 'sourceCategory'
+
+
+---
+
+### getTargetCategory()
+- getTargetCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the object for the relation 'targetCategory'.
+
+ **Returns:**
+ - the object for the relation 'targetCategory'
+
+
+---
+
+### getTypeCode()
+- getTypeCode(): [Number](TopLevel.Number.md)
+ - : Returns the type of this category link (see constants).
+
+ **Returns:**
+ - the type of the link.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.PriceBook.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.PriceBook.md
new file mode 100644
index 00000000..85e316f6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.PriceBook.md
@@ -0,0 +1,215 @@
+
+# Class PriceBook
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.catalog.PriceBook](dw.catalog.PriceBook.md)
+
+Represents a price book.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the price book. |
+| [currencyCode](#currencycode): [String](TopLevel.String.md) `(read-only)` | Returns the currency code of the price book. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the description of the price book. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the display name of the price book. |
+| [online](#online): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the online status of the price book. |
+| [onlineFlag](#onlineflag): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the online status flag of the price book. |
+| [onlineFrom](#onlinefrom): [Date](TopLevel.Date.md) `(read-only)` | Returns the date from which the price book is online or valid. |
+| [onlineTo](#onlineto): [Date](TopLevel.Date.md) `(read-only)` | Returns the date until which the price book is online or valid. |
+| [parentPriceBook](#parentpricebook): [PriceBook](dw.catalog.PriceBook.md) `(read-only)` | Returns the parent price book. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCurrencyCode](dw.catalog.PriceBook.md#getcurrencycode)() | Returns the currency code of the price book. |
+| [getDescription](dw.catalog.PriceBook.md#getdescription)() | Returns the description of the price book. |
+| [getDisplayName](dw.catalog.PriceBook.md#getdisplayname)() | Returns the display name of the price book. |
+| [getID](dw.catalog.PriceBook.md#getid)() | Returns the ID of the price book. |
+| [getOnlineFlag](dw.catalog.PriceBook.md#getonlineflag)() | Returns the online status flag of the price book. |
+| [getOnlineFrom](dw.catalog.PriceBook.md#getonlinefrom)() | Returns the date from which the price book is online or valid. |
+| [getOnlineTo](dw.catalog.PriceBook.md#getonlineto)() | Returns the date until which the price book is online or valid. |
+| [getParentPriceBook](dw.catalog.PriceBook.md#getparentpricebook)() | Returns the parent price book. |
+| [isOnline](dw.catalog.PriceBook.md#isonline)() | Returns the online status of the price book. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the price book.
+
+
+---
+
+### currencyCode
+- currencyCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the currency code of the price book.
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the description of the price book.
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name of the price book.
+
+
+---
+
+### online
+- online: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the online status of the price book. The online status
+ is calculated from the online status flag and the onlineFrom
+ onlineTo dates defined for the price book.
+
+
+
+---
+
+### onlineFlag
+- onlineFlag: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the online status flag of the price book.
+
+
+---
+
+### onlineFrom
+- onlineFrom: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date from which the price book is online or valid.
+
+
+---
+
+### onlineTo
+- onlineTo: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date until which the price book is online or valid.
+
+
+---
+
+### parentPriceBook
+- parentPriceBook: [PriceBook](dw.catalog.PriceBook.md) `(read-only)`
+ - : Returns the parent price book.
+
+
+---
+
+## Method Details
+
+### getCurrencyCode()
+- getCurrencyCode(): [String](TopLevel.String.md)
+ - : Returns the currency code of the price book.
+
+ **Returns:**
+ - Currency code of the price book
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the description of the price book.
+
+ **Returns:**
+ - Currency code of the price book
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name of the price book.
+
+ **Returns:**
+ - Display name of the price book
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the price book.
+
+ **Returns:**
+ - ID of the price book
+
+
+---
+
+### getOnlineFlag()
+- getOnlineFlag(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the online status flag of the price book.
+
+ **Returns:**
+ - the online status flag of the price book.
+
+
+---
+
+### getOnlineFrom()
+- getOnlineFrom(): [Date](TopLevel.Date.md)
+ - : Returns the date from which the price book is online or valid.
+
+ **Returns:**
+ - the date from which the price book is online or valid.
+
+
+---
+
+### getOnlineTo()
+- getOnlineTo(): [Date](TopLevel.Date.md)
+ - : Returns the date until which the price book is online or valid.
+
+ **Returns:**
+ - the date until which the price book is online or valid.
+
+
+---
+
+### getParentPriceBook()
+- getParentPriceBook(): [PriceBook](dw.catalog.PriceBook.md)
+ - : Returns the parent price book.
+
+ **Returns:**
+ - Parent price book
+
+
+---
+
+### isOnline()
+- isOnline(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the online status of the price book. The online status
+ is calculated from the online status flag and the onlineFrom
+ onlineTo dates defined for the price book.
+
+
+ **Returns:**
+ - The online status of the price book.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.PriceBookMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.PriceBookMgr.md
new file mode 100644
index 00000000..827cdd71
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.PriceBookMgr.md
@@ -0,0 +1,176 @@
+
+# Class PriceBookMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.PriceBookMgr](dw.catalog.PriceBookMgr.md)
+
+Price book manager provides methods to access price books.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [allPriceBooks](#allpricebooks): [Collection](dw.util.Collection.md) `(read-only)` | Returns all price books defined for the organization. |
+| [applicablePriceBooks](#applicablepricebooks): [Collection](dw.util.Collection.md) | Returns a collection of price books that are set in the user session. |
+| [sitePriceBooks](#sitepricebooks): [Collection](dw.util.Collection.md) `(read-only)` | Returns all price books assigned to the current site. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [assignPriceBookToSite](dw.catalog.PriceBookMgr.md#assignpricebooktositepricebook-string)([PriceBook](dw.catalog.PriceBook.md), [String](TopLevel.String.md)) | Assign a price book to a site. |
+| static [getAllPriceBooks](dw.catalog.PriceBookMgr.md#getallpricebooks)() | Returns all price books defined for the organization. |
+| static [getApplicablePriceBooks](dw.catalog.PriceBookMgr.md#getapplicablepricebooks)() | Returns a collection of price books that are set in the user session. |
+| static [getPriceBook](dw.catalog.PriceBookMgr.md#getpricebookstring)([String](TopLevel.String.md)) | Returns the price book of the current organization matching the specified ID. |
+| static [getSitePriceBooks](dw.catalog.PriceBookMgr.md#getsitepricebooks)() | Returns all price books assigned to the current site. |
+| static [setApplicablePriceBooks](dw.catalog.PriceBookMgr.md#setapplicablepricebookspricebook)([PriceBook...](dw.catalog.PriceBook.md)) | Sets one or more price books to be considered by the product price lookup. |
+| static [unassignPriceBookFromAllSites](dw.catalog.PriceBookMgr.md#unassignpricebookfromallsitespricebook)([PriceBook](dw.catalog.PriceBook.md)) | Unassign a price book from all sites. |
+| static [unassignPriceBookFromSite](dw.catalog.PriceBookMgr.md#unassignpricebookfromsitepricebook-string)([PriceBook](dw.catalog.PriceBook.md), [String](TopLevel.String.md)) | Unassign a price book from a site. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### allPriceBooks
+- allPriceBooks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all price books defined for the organization.
+
+
+---
+
+### applicablePriceBooks
+- applicablePriceBooks: [Collection](dw.util.Collection.md)
+ - : Returns a collection of price books that are set in the user session.
+
+
+---
+
+### sitePriceBooks
+- sitePriceBooks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all price books assigned to the current site.
+
+ Please note that this doesn't include parent price books not assigned to the site, but considered by the price
+ lookup.
+
+
+
+---
+
+## Method Details
+
+### assignPriceBookToSite(PriceBook, String)
+- static assignPriceBookToSite(priceBook: [PriceBook](dw.catalog.PriceBook.md), siteId: [String](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Assign a price book to a site. This requires a transaction, see [Transaction.wrap(Function)](dw.system.Transaction.md#wrapfunction)
+
+ **Parameters:**
+ - priceBook - price book to be assigned
+ - siteId - id of the site to be assigned to, such as 'SiteGenesis'. The site has to be a storefront site.
+
+ **Returns:**
+ - true if price book is assigned to site. Throws an exception if price book doesn't exist or site doesn't
+ exist or site is not a storefront site.
+
+
+
+---
+
+### getAllPriceBooks()
+- static getAllPriceBooks(): [Collection](dw.util.Collection.md)
+ - : Returns all price books defined for the organization.
+
+ **Returns:**
+ - All price books of the organization.
+
+
+---
+
+### getApplicablePriceBooks()
+- static getApplicablePriceBooks(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of price books that are set in the user session.
+
+ **Returns:**
+ - Collection of applicable price books set in the session.
+
+
+---
+
+### getPriceBook(String)
+- static getPriceBook(priceBookID: [String](TopLevel.String.md)): [PriceBook](dw.catalog.PriceBook.md)
+ - : Returns the price book of the current organization matching the specified ID.
+
+ **Parameters:**
+ - priceBookID - The price book id.
+
+ **Returns:**
+ - Price book or null of not found
+
+
+---
+
+### getSitePriceBooks()
+- static getSitePriceBooks(): [Collection](dw.util.Collection.md)
+ - : Returns all price books assigned to the current site.
+
+ Please note that this doesn't include parent price books not assigned to the site, but considered by the price
+ lookup.
+
+
+ **Returns:**
+ - All price books assigned to the current site.
+
+
+---
+
+### setApplicablePriceBooks(PriceBook...)
+- static setApplicablePriceBooks(priceBooks: [PriceBook...](dw.catalog.PriceBook.md)): void
+ - : Sets one or more price books to be considered by the product price lookup. The information is stored in the user
+ session. If no price book is set in the user session, all active and valid price books assigned to the site are
+ used for the price lookup. If price books are set, only those price books are considered by the price lookup.
+ Note that the system does not assure that a price book set by this API is assigned to the current site.
+
+
+ **Parameters:**
+ - priceBooks - The price books that are set in the session as applicable price books.
+
+
+---
+
+### unassignPriceBookFromAllSites(PriceBook)
+- static unassignPriceBookFromAllSites(priceBook: [PriceBook](dw.catalog.PriceBook.md)): [Boolean](TopLevel.Boolean.md)
+ - : Unassign a price book from all sites. This requires a transaction, see
+ [Transaction.wrap(Function)](dw.system.Transaction.md#wrapfunction)
+
+
+ **Parameters:**
+ - priceBook - price book to be unassigned
+
+ **Returns:**
+ - true if price book is unassigned from all sites. Throws an exception if price book doesn't exist
+
+
+---
+
+### unassignPriceBookFromSite(PriceBook, String)
+- static unassignPriceBookFromSite(priceBook: [PriceBook](dw.catalog.PriceBook.md), siteId: [String](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Unassign a price book from a site. This requires a transaction, see
+ [Transaction.wrap(Function)](dw.system.Transaction.md#wrapfunction)
+
+
+ **Parameters:**
+ - priceBook - price book to be unassigned
+ - siteId - id of the site to be unassigned from, such as 'SiteGenesis'. The site has to be a storefront site.
+
+ **Returns:**
+ - true if price book is unassigned from site. Throws an exception if price book doesn't exist or site
+ doesn't exist or site is not a storefront site.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Product.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Product.md
new file mode 100644
index 00000000..b5d2e72d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Product.md
@@ -0,0 +1,2492 @@
+
+# Class Product
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.catalog.Product](dw.catalog.Product.md)
+
+Represents a product in Commerce Cloud Digital. Products are identified by
+a unique product ID, sometimes called the SKU. There are several different
+types of product:
+
+
+- **Simple product**
+- **Master products:**This type of product defines a template for a set of related products which differ only by a set of defined "variation attributes", such as size or color. Master products are not orderable themselves. The variation information for a master product is available through its [ProductVariationModel](dw.catalog.ProductVariationModel.md).
+- **Variant:**Variants are the actual orderable products that are related to a master product. Each variant of a master product has a unique set of values for the defined variation attributes. Variants are said to be "mastered" by the corresponding master product.
+- **Option products:**Option products define additional options, such as a warranty, which can be purchased for a defined price at the time the product is purchased. The option information for an option product is available through its [ProductOptionModel](dw.catalog.ProductOptionModel.md).
+- **Product-sets:**A product-set is a set of products which the merchant can sell as a collection in the storefront, for example an outfit of clothes. Product-sets are not orderable and therefore do not define prices. They exist only to group the products together in the storefront UI. Members of the set are called "product-set-products".
+- **Products bundles:**A collection of products which can be ordered as a single unit and therefore can define its own price and inventory record.
+
+
+
+
+Product price and availability information are retrievable through
+[getPriceModel()](dw.catalog.Product.md#getpricemodel) and [getAvailabilityModel()](dw.catalog.Product.md#getavailabilitymodel) respectively.
+Attribute information is retrievable through [getAttributeModel()](dw.catalog.Product.md#getattributemodel).
+Products may reference other products, either as recommendations or product
+links. This class provides the methods for retrieving these referenced
+products.
+
+
+Products belong to a catalog (the "owning" catalog) and are assigned to
+categories in other catalogs. Products assigned to categories in the site
+catalog are typically orderable on the site.
+
+
+Any API method which returns products will return an instance of a
+[Variant](dw.catalog.Variant.md) for variant products. This subclass contains
+methods which are specific to this type of product.
+
+
+
+## All Known Subclasses
+[Variant](dw.catalog.Variant.md), [VariationGroup](dw.catalog.VariationGroup.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [EAN](#ean): [String](TopLevel.String.md) `(read-only)` | Returns the European Article Number of the product. |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the product. |
+| [UPC](#upc): [String](TopLevel.String.md) `(read-only)` | Returns the Universal Product Code of the product. |
+| [activeData](#activedata): [ProductActiveData](dw.catalog.ProductActiveData.md) `(read-only)` | Returns the active data for this product, for the current site. |
+| [allCategories](#allcategories): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all categories to which this product is assigned. |
+| [allCategoryAssignments](#allcategoryassignments): [Collection](dw.util.Collection.md) `(read-only)` | Returns all category assignments for this product in any catalog. |
+| [allIncomingProductLinks](#allincomingproductlinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns all incoming ProductLinks. |
+| [allProductLinks](#allproductlinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns all outgoing ProductLinks. |
+| [assignedToSiteCatalog](#assignedtositecatalog): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if the product is assigned to the current site (via the site catalog), otherwise `false` is returned. |
+| [attributeModel](#attributemodel): [ProductAttributeModel](dw.catalog.ProductAttributeModel.md) `(read-only)` | Returns this product's ProductAttributeModel, which makes access to the product attribute information convenient. |
+| [availabilityModel](#availabilitymodel): [ProductAvailabilityModel](dw.catalog.ProductAvailabilityModel.md) `(read-only)` | Returns the availability model, which can be used to determine availability information for a product. |
+| ~~[available](#available): [Boolean](TopLevel.Boolean.md)~~ `(read-only)` | Identifies if the product is available. |
+| ~~[availableFlag](#availableflag): [Boolean](TopLevel.Boolean.md)~~ | Identifies if the product is available. |
+| [brand](#brand): [String](TopLevel.String.md) `(read-only)` | Returns the Brand of the product. |
+| [bundle](#bundle): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this product instance is a product bundle. |
+| [bundled](#bundled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this product instance is bundled within at least one product bundle. |
+| [bundledProducts](#bundledproducts): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection containing all products that participate in the product bundle. |
+| [bundles](#bundles): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all bundles in which this product is included. |
+| [categories](#categories): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all categories to which this product is assigned and which are also available through the current site. |
+| [categorized](#categorized): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this product is bound to at least one catalog category. |
+| [categoryAssignments](#categoryassignments): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of category assignments for this product in the current site catalog. |
+| [classificationCategory](#classificationcategory): [Category](dw.catalog.Category.md) `(read-only)` | Returns the classification category associated with this Product. |
+| [facebookEnabled](#facebookenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the product is Facebook enabled. |
+| ~~[image](#image): [MediaFile](dw.content.MediaFile.md)~~ `(read-only)` | Returns the product's image. |
+| [incomingProductLinks](#incomingproductlinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns incoming ProductLinks, where the source product is a site product. |
+| [longDescription](#longdescription): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the product's long description in the current locale. |
+| [manufacturerName](#manufacturername): [String](TopLevel.String.md) `(read-only)` | Returns the name of the product manufacturer. |
+| [manufacturerSKU](#manufacturersku): [String](TopLevel.String.md) `(read-only)` | Returns the value of the manufacturer's stock keeping unit. |
+| [master](#master): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this product instance is a product master. |
+| [minOrderQuantity](#minorderquantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the minimum order quantity for this product. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of the product in the current locale. |
+| [online](#online): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the online status of the product. |
+| [onlineCategories](#onlinecategories): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all currently online categories to which this product is assigned and which are also available through the current site. |
+| [onlineFlag](#onlineflag): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the online status flag of the product. |
+| [onlineFrom](#onlinefrom): [Date](TopLevel.Date.md) `(read-only)` | Returns the date from which the product is online or valid. |
+| [onlineTo](#onlineto): [Date](TopLevel.Date.md) `(read-only)` | Returns the date until which the product is online or valid. |
+| [optionModel](#optionmodel): [ProductOptionModel](dw.catalog.ProductOptionModel.md) `(read-only)` | Returns the product's option model. |
+| [optionProduct](#optionproduct): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the product has options. |
+| [orderableRecommendations](#orderablerecommendations): [Collection](dw.util.Collection.md) `(read-only)` | Returns a list of outgoing recommendations for this product. |
+| [pageDescription](#pagedescription): [String](TopLevel.String.md) `(read-only)` | Returns product's page description in the default locale. |
+| [pageKeywords](#pagekeywords): [String](TopLevel.String.md) `(read-only)` | Returns the product's page keywords in the default locale. |
+| [pageMetaTags](#pagemetatags): [Array](TopLevel.Array.md) `(read-only)` | Returns all page meta tags, defined for this instance for which content can be generated. |
+| [pageTitle](#pagetitle): [String](TopLevel.String.md) `(read-only)` | Returns the product's page title in the default locale. |
+| [pageURL](#pageurl): [String](TopLevel.String.md) `(read-only)` | Returns the product's page URL in the default locale. |
+| [pinterestEnabled](#pinterestenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the product is Pinterest enabled. |
+| [priceModel](#pricemodel): [ProductPriceModel](dw.catalog.ProductPriceModel.md) `(read-only)` | Returns the price model, which can be used to retrieve a price for this product. |
+| [primaryCategory](#primarycategory): [Category](dw.catalog.Category.md) `(read-only)` | Returns the primary category of the product within the current site catalog. |
+| [primaryCategoryAssignment](#primarycategoryassignment): [CategoryAssignment](dw.catalog.CategoryAssignment.md) `(read-only)` | Returns the category assignment to the primary category in the current site catalog or null if no primary category is defined within the current site catalog. |
+| [product](#product): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if the instance represents a product. |
+| [productLinks](#productlinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns all outgoing ProductLinks, where the target product is also available in the current site. |
+| [productSet](#productset): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if the instance represents a product set, otherwise 'false'. |
+| [productSetProduct](#productsetproduct): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if this product is part of any product set, otherwise false. |
+| [productSetProducts](#productsetproducts): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all products which are assigned to this product and which are also available through the current site. |
+| [productSets](#productsets): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all product sets in which this product is included. |
+| [recommendations](#recommendations): [Collection](dw.util.Collection.md) `(read-only)` | Returns the outgoing recommendations for this product which belong to the site catalog. |
+| ~~[retailSet](#retailset): [Boolean](TopLevel.Boolean.md)~~ `(read-only)` | Identifies if this product instance is part of a retail set. |
+| [searchPlacement](#searchplacement): [Number](TopLevel.Number.md) `(read-only)` | Returns the product's search placement classification. |
+| [searchRank](#searchrank): [Number](TopLevel.Number.md) `(read-only)` | Returns the product's search rank. |
+| [searchable](#searchable): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the product is searchable. |
+| [searchableFlag](#searchableflag): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns, whether the product is currently searchable. |
+| [searchableIfUnavailableFlag](#searchableifunavailableflag): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the searchable status of the [Product](dw.catalog.Product.md) if unavailable. |
+| [shortDescription](#shortdescription): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the product's short description in the current locale. |
+| [siteMapChangeFrequency](#sitemapchangefrequency): [String](TopLevel.String.md) `(read-only)` | Returns the product's change frequency needed for the sitemap creation. |
+| [siteMapIncluded](#sitemapincluded): [Number](TopLevel.Number.md) `(read-only)` | Returns the status if the product is included into the sitemap. |
+| [siteMapPriority](#sitemappriority): [Number](TopLevel.Number.md) `(read-only)` | Returns the product's priority needed for the sitemap creation. |
+| ~~[siteProduct](#siteproduct): [Boolean](TopLevel.Boolean.md)~~ `(read-only)` | Returns 'true' if the product is assigned to the current site (via the site catalog), otherwise 'false' is returned. |
+| [stepQuantity](#stepquantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the steps in which the order amount of the product can be increased. |
+| [storeReceiptName](#storereceiptname): [String](TopLevel.String.md) `(read-only)` | Returns the store receipt name of the product in the current locale. |
+| [storeTaxClass](#storetaxclass): [String](TopLevel.String.md) `(read-only)` | Returns the store tax class ID. |
+| [taxClassID](#taxclassid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the product's tax class, by resolving the Global Preference setting selected. |
+| [template](#template): [String](TopLevel.String.md) `(read-only)` | Returns the name of the product's rendering template. |
+| ~~[thumbnail](#thumbnail): [MediaFile](dw.content.MediaFile.md)~~ `(read-only)` | Returns the product's thumbnail image. |
+| [unit](#unit): [String](TopLevel.String.md) `(read-only)` | Returns the product's sales unit. |
+| [unitQuantity](#unitquantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the product's unit quantity. |
+| [variant](#variant): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this product instance is mastered by a product master. |
+| [variants](#variants): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all variants assigned to this variation master or variation group product. |
+| [variationGroup](#variationgroup): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this product instance is a variation group product. |
+| [variationGroups](#variationgroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all variation groups assigned to this variation master product. |
+| [variationModel](#variationmodel): [ProductVariationModel](dw.catalog.ProductVariationModel.md) `(read-only)` | Returns the variation model of this product. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| ~~[assignedToCategory](dw.catalog.Product.md#assignedtocategorycategory)([Category](dw.catalog.Category.md))~~ | Identifies if this product is bound to the specified catalog category. |
+| [getActiveData](dw.catalog.Product.md#getactivedata)() | Returns the active data for this product, for the current site. |
+| [getAllCategories](dw.catalog.Product.md#getallcategories)() | Returns a collection of all categories to which this product is assigned. |
+| [getAllCategoryAssignments](dw.catalog.Product.md#getallcategoryassignments)() | Returns all category assignments for this product in any catalog. |
+| [getAllIncomingProductLinks](dw.catalog.Product.md#getallincomingproductlinks)() | Returns all incoming ProductLinks. |
+| [getAllIncomingProductLinks](dw.catalog.Product.md#getallincomingproductlinksnumber)([Number](TopLevel.Number.md)) | Returns all incoming ProductLinks of a specific type. |
+| [getAllProductLinks](dw.catalog.Product.md#getallproductlinks)() | Returns all outgoing ProductLinks. |
+| [getAllProductLinks](dw.catalog.Product.md#getallproductlinksnumber)([Number](TopLevel.Number.md)) | Returns all outgoing ProductLinks of a specific type. |
+| [getAllRecommendations](dw.catalog.Product.md#getallrecommendationscatalog)([Catalog](dw.catalog.Catalog.md)) | Returns the outgoing recommendations for this product which belong to the specified catalog. |
+| [getAllRecommendations](dw.catalog.Product.md#getallrecommendationscatalog-number)([Catalog](dw.catalog.Catalog.md), [Number](TopLevel.Number.md)) | Returns the outgoing recommendations for this product which are of the specified type and which belong to the specified catalog. |
+| [getAttributeModel](dw.catalog.Product.md#getattributemodel)() | Returns this product's ProductAttributeModel, which makes access to the product attribute information convenient. |
+| [getAvailabilityModel](dw.catalog.Product.md#getavailabilitymodel)() | Returns the availability model, which can be used to determine availability information for a product. |
+| [getAvailabilityModel](dw.catalog.Product.md#getavailabilitymodelproductinventorylist)([ProductInventoryList](dw.catalog.ProductInventoryList.md)) | Returns the availability model of the given inventory list, which can be used to determine availability information for a product. |
+| ~~[getAvailableFlag](dw.catalog.Product.md#getavailableflag)()~~ | Identifies if the product is available. |
+| [getBrand](dw.catalog.Product.md#getbrand)() | Returns the Brand of the product. |
+| [getBundledProductQuantity](dw.catalog.Product.md#getbundledproductquantityproduct)([Product](dw.catalog.Product.md)) | Returns the quantity of the specified product within the bundle. |
+| [getBundledProducts](dw.catalog.Product.md#getbundledproducts)() | Returns a collection containing all products that participate in the product bundle. |
+| [getBundles](dw.catalog.Product.md#getbundles)() | Returns a collection of all bundles in which this product is included. |
+| [getCategories](dw.catalog.Product.md#getcategories)() | Returns a collection of all categories to which this product is assigned and which are also available through the current site. |
+| [getCategoryAssignment](dw.catalog.Product.md#getcategoryassignmentcategory)([Category](dw.catalog.Category.md)) | Returns the category assignment for a specific category. |
+| [getCategoryAssignments](dw.catalog.Product.md#getcategoryassignments)() | Returns a collection of category assignments for this product in the current site catalog. |
+| [getClassificationCategory](dw.catalog.Product.md#getclassificationcategory)() | Returns the classification category associated with this Product. |
+| [getEAN](dw.catalog.Product.md#getean)() | Returns the European Article Number of the product. |
+| [getID](dw.catalog.Product.md#getid)() | Returns the ID of the product. |
+| ~~[getImage](dw.catalog.Product.md#getimage)()~~ | Returns the product's image. |
+| [getImage](dw.catalog.Product.md#getimagestring)([String](TopLevel.String.md)) | The method calls [getImages(String)](dw.catalog.Product.md#getimagesstring) and returns the first image. |
+| [getImage](dw.catalog.Product.md#getimagestring-number)([String](TopLevel.String.md), [Number](TopLevel.Number.md)) | The method calls [getImages(String)](dw.catalog.Product.md#getimagesstring) and returns the image at the specific index. |
+| [getImages](dw.catalog.Product.md#getimagesstring)([String](TopLevel.String.md)) | Returns all images assigned to this product for a specific view type, e.g. |
+| [getIncomingProductLinks](dw.catalog.Product.md#getincomingproductlinks)() | Returns incoming ProductLinks, where the source product is a site product. |
+| [getIncomingProductLinks](dw.catalog.Product.md#getincomingproductlinksnumber)([Number](TopLevel.Number.md)) | Returns incoming ProductLinks, where the source product is a site product of a specific type. |
+| [getLongDescription](dw.catalog.Product.md#getlongdescription)() | Returns the product's long description in the current locale. |
+| [getManufacturerName](dw.catalog.Product.md#getmanufacturername)() | Returns the name of the product manufacturer. |
+| [getManufacturerSKU](dw.catalog.Product.md#getmanufacturersku)() | Returns the value of the manufacturer's stock keeping unit. |
+| [getMinOrderQuantity](dw.catalog.Product.md#getminorderquantity)() | Returns the minimum order quantity for this product. |
+| [getName](dw.catalog.Product.md#getname)() | Returns the name of the product in the current locale. |
+| [getOnlineCategories](dw.catalog.Product.md#getonlinecategories)() | Returns a collection of all currently online categories to which this product is assigned and which are also available through the current site. |
+| [getOnlineFlag](dw.catalog.Product.md#getonlineflag)() | Returns the online status flag of the product. |
+| [getOnlineFrom](dw.catalog.Product.md#getonlinefrom)() | Returns the date from which the product is online or valid. |
+| [getOnlineTo](dw.catalog.Product.md#getonlineto)() | Returns the date until which the product is online or valid. |
+| [getOptionModel](dw.catalog.Product.md#getoptionmodel)() | Returns the product's option model. |
+| [getOrderableRecommendations](dw.catalog.Product.md#getorderablerecommendations)() | Returns a list of outgoing recommendations for this product. |
+| [getOrderableRecommendations](dw.catalog.Product.md#getorderablerecommendationsnumber)([Number](TopLevel.Number.md)) | Returns a list of outgoing recommendations for this product. |
+| [getPageDescription](dw.catalog.Product.md#getpagedescription)() | Returns product's page description in the default locale. |
+| [getPageKeywords](dw.catalog.Product.md#getpagekeywords)() | Returns the product's page keywords in the default locale. |
+| [getPageMetaTag](dw.catalog.Product.md#getpagemetatagstring)([String](TopLevel.String.md)) | Returns the page meta tag for the specified id. |
+| [getPageMetaTags](dw.catalog.Product.md#getpagemetatags)() | Returns all page meta tags, defined for this instance for which content can be generated. |
+| [getPageTitle](dw.catalog.Product.md#getpagetitle)() | Returns the product's page title in the default locale. |
+| [getPageURL](dw.catalog.Product.md#getpageurl)() | Returns the product's page URL in the default locale. |
+| [getPriceModel](dw.catalog.Product.md#getpricemodel)() | Returns the price model, which can be used to retrieve a price for this product. |
+| [getPriceModel](dw.catalog.Product.md#getpricemodelproductoptionmodel)([ProductOptionModel](dw.catalog.ProductOptionModel.md)) | Returns the price model based on the specified optionModel. |
+| [getPrimaryCategory](dw.catalog.Product.md#getprimarycategory)() | Returns the primary category of the product within the current site catalog. |
+| [getPrimaryCategoryAssignment](dw.catalog.Product.md#getprimarycategoryassignment)() | Returns the category assignment to the primary category in the current site catalog or null if no primary category is defined within the current site catalog. |
+| [getProductLinks](dw.catalog.Product.md#getproductlinks)() | Returns all outgoing ProductLinks, where the target product is also available in the current site. |
+| [getProductLinks](dw.catalog.Product.md#getproductlinksnumber)([Number](TopLevel.Number.md)) | Returns all outgoing ProductLinks of a specific type, where the target product is also available in the current site. |
+| [getProductSetProducts](dw.catalog.Product.md#getproductsetproducts)() | Returns a collection of all products which are assigned to this product and which are also available through the current site. |
+| [getProductSets](dw.catalog.Product.md#getproductsets)() | Returns a collection of all product sets in which this product is included. |
+| [getRecommendations](dw.catalog.Product.md#getrecommendations)() | Returns the outgoing recommendations for this product which belong to the site catalog. |
+| [getRecommendations](dw.catalog.Product.md#getrecommendationsnumber)([Number](TopLevel.Number.md)) | Returns the outgoing recommendations for this product which are of the specified type and which belong to the site catalog. |
+| [getSearchPlacement](dw.catalog.Product.md#getsearchplacement)() | Returns the product's search placement classification. |
+| [getSearchRank](dw.catalog.Product.md#getsearchrank)() | Returns the product's search rank. |
+| [getSearchableFlag](dw.catalog.Product.md#getsearchableflag)() | Returns, whether the product is currently searchable. |
+| [getSearchableIfUnavailableFlag](dw.catalog.Product.md#getsearchableifunavailableflag)() | Returns the searchable status of the [Product](dw.catalog.Product.md) if unavailable. |
+| [getShortDescription](dw.catalog.Product.md#getshortdescription)() | Returns the product's short description in the current locale. |
+| [getSiteMapChangeFrequency](dw.catalog.Product.md#getsitemapchangefrequency)() | Returns the product's change frequency needed for the sitemap creation. |
+| [getSiteMapIncluded](dw.catalog.Product.md#getsitemapincluded)() | Returns the status if the product is included into the sitemap. |
+| [getSiteMapPriority](dw.catalog.Product.md#getsitemappriority)() | Returns the product's priority needed for the sitemap creation. |
+| [getStepQuantity](dw.catalog.Product.md#getstepquantity)() | Returns the steps in which the order amount of the product can be increased. |
+| [getStoreReceiptName](dw.catalog.Product.md#getstorereceiptname)() | Returns the store receipt name of the product in the current locale. |
+| [getStoreTaxClass](dw.catalog.Product.md#getstoretaxclass)() | Returns the store tax class ID. |
+| [getTaxClassID](dw.catalog.Product.md#gettaxclassid)() | Returns the ID of the product's tax class, by resolving the Global Preference setting selected. |
+| [getTemplate](dw.catalog.Product.md#gettemplate)() | Returns the name of the product's rendering template. |
+| ~~[getThumbnail](dw.catalog.Product.md#getthumbnail)()~~ | Returns the product's thumbnail image. |
+| [getUPC](dw.catalog.Product.md#getupc)() | Returns the Universal Product Code of the product. |
+| [getUnit](dw.catalog.Product.md#getunit)() | Returns the product's sales unit. |
+| [getUnitQuantity](dw.catalog.Product.md#getunitquantity)() | Returns the product's unit quantity. |
+| [getVariants](dw.catalog.Product.md#getvariants)() | Returns a collection of all variants assigned to this variation master or variation group product. |
+| [getVariationGroups](dw.catalog.Product.md#getvariationgroups)() | Returns a collection of all variation groups assigned to this variation master product. |
+| [getVariationModel](dw.catalog.Product.md#getvariationmodel)() | Returns the variation model of this product. |
+| [includedInBundle](dw.catalog.Product.md#includedinbundleproduct)([Product](dw.catalog.Product.md)) | Identifies if the specified product participates in this product bundle. |
+| [isAssignedToCategory](dw.catalog.Product.md#isassignedtocategorycategory)([Category](dw.catalog.Category.md)) | Returns 'true' if item is assigned to the specified category. |
+| [isAssignedToSiteCatalog](dw.catalog.Product.md#isassignedtositecatalog)() | Returns `true` if the product is assigned to the current site (via the site catalog), otherwise `false` is returned. |
+| ~~[isAvailable](dw.catalog.Product.md#isavailable)()~~ | Identifies if the product is available. |
+| [isBundle](dw.catalog.Product.md#isbundle)() | Identifies if this product instance is a product bundle. |
+| [isBundled](dw.catalog.Product.md#isbundled)() | Identifies if this product instance is bundled within at least one product bundle. |
+| [isCategorized](dw.catalog.Product.md#iscategorized)() | Identifies if this product is bound to at least one catalog category. |
+| [isFacebookEnabled](dw.catalog.Product.md#isfacebookenabled)() | Identifies if the product is Facebook enabled. |
+| [isMaster](dw.catalog.Product.md#ismaster)() | Identifies if this product instance is a product master. |
+| [isOnline](dw.catalog.Product.md#isonline)() | Returns the online status of the product. |
+| [isOptionProduct](dw.catalog.Product.md#isoptionproduct)() | Identifies if the product has options. |
+| [isPinterestEnabled](dw.catalog.Product.md#ispinterestenabled)() | Identifies if the product is Pinterest enabled. |
+| [isProduct](dw.catalog.Product.md#isproduct)() | Returns 'true' if the instance represents a product. |
+| [isProductSet](dw.catalog.Product.md#isproductset)() | Returns 'true' if the instance represents a product set, otherwise 'false'. |
+| [isProductSetProduct](dw.catalog.Product.md#isproductsetproduct)() | Returns true if this product is part of any product set, otherwise false. |
+| ~~[isRetailSet](dw.catalog.Product.md#isretailset)()~~ | Identifies if this product instance is part of a retail set. |
+| [isSearchable](dw.catalog.Product.md#issearchable)() | Identifies if the product is searchable. |
+| ~~[isSiteProduct](dw.catalog.Product.md#issiteproduct)()~~ | Returns 'true' if the product is assigned to the current site (via the site catalog), otherwise 'false' is returned. |
+| [isVariant](dw.catalog.Product.md#isvariant)() | Identifies if this product instance is mastered by a product master. |
+| [isVariationGroup](dw.catalog.Product.md#isvariationgroup)() | Identifies if this product instance is a variation group product. |
+| ~~[setAvailableFlag](dw.catalog.Product.md#setavailableflagboolean)([Boolean](TopLevel.Boolean.md))~~ | Set the availability status flag of the product. |
+| [setOnlineFlag](dw.catalog.Product.md#setonlineflagboolean---variant-1)([Boolean](TopLevel.Boolean.md)) | Set the online status flag of the product. |
+| [setOnlineFlag](dw.catalog.Product.md#setonlineflagboolean---variant-2)([Boolean](TopLevel.Boolean.md)) | Set the online status flag of the product for the current site. |
+| [setSearchPlacement](dw.catalog.Product.md#setsearchplacementnumber---variant-1)([Number](TopLevel.Number.md)) | Set the product's search placement. |
+| [setSearchPlacement](dw.catalog.Product.md#setsearchplacementnumber---variant-2)([Number](TopLevel.Number.md)) | Set the product's search placement classification in context of the current site. |
+| [setSearchRank](dw.catalog.Product.md#setsearchranknumber---variant-1)([Number](TopLevel.Number.md)) | Set the product's search rank. |
+| [setSearchRank](dw.catalog.Product.md#setsearchranknumber---variant-2)([Number](TopLevel.Number.md)) | Set the product's search rank in context of the current site. |
+| [setSearchableFlag](dw.catalog.Product.md#setsearchableflagboolean---variant-1)([Boolean](TopLevel.Boolean.md)) | Set the flag indicating whether the product is searchable or not. |
+| [setSearchableFlag](dw.catalog.Product.md#setsearchableflagboolean---variant-2)([Boolean](TopLevel.Boolean.md)) | Set the flag indicating whether the product is searchable or not in context of the current site. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### EAN
+- EAN: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the European Article Number of the product.
+
+
+---
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the product.
+
+
+---
+
+### UPC
+- UPC: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the Universal Product Code of the product.
+
+
+---
+
+### activeData
+- activeData: [ProductActiveData](dw.catalog.ProductActiveData.md) `(read-only)`
+ - : Returns the active data for this product, for the current site.
+
+
+---
+
+### allCategories
+- allCategories: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all categories to which this product is assigned.
+
+
+---
+
+### allCategoryAssignments
+- allCategoryAssignments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all category assignments for this product in any catalog.
+
+
+---
+
+### allIncomingProductLinks
+- allIncomingProductLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all incoming ProductLinks.
+
+
+---
+
+### allProductLinks
+- allProductLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all outgoing ProductLinks.
+
+
+---
+
+### assignedToSiteCatalog
+- assignedToSiteCatalog: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if the product is assigned to the current site (via the site catalog), otherwise
+ `false` is returned.
+
+
+ In case of the product being a variant, the variant will be considered as assigned if its master, one of the
+ variation groups it is in or itself is assigned to the site catalog. In case this is triggered for a variation
+ group the variation group is considered as assigned if its master or itself is assigned.
+
+
+
+---
+
+### attributeModel
+- attributeModel: [ProductAttributeModel](dw.catalog.ProductAttributeModel.md) `(read-only)`
+ - : Returns this product's ProductAttributeModel, which makes access to the
+ product attribute information convenient. The model is calculated based
+ on the product attributes assigned to this product's classification
+ category (or any of it's ancestors) and the global attribute definitions
+ for the system object type 'Product'. If this product has no
+ classification category, the attribute model is calculated on the global
+ attribute definitions only. If this product is a variant, then the
+ attribute model is calculated based on the classification category of its
+ corresponding master product.
+
+
+
+---
+
+### availabilityModel
+- availabilityModel: [ProductAvailabilityModel](dw.catalog.ProductAvailabilityModel.md) `(read-only)`
+ - : Returns the availability model, which can be used to determine availability
+ information for a product.
+
+
+
+---
+
+### available
+- ~~available: [Boolean](TopLevel.Boolean.md)~~ `(read-only)`
+ - : Identifies if the product is available.
+
+ **Deprecated:**
+:::warning
+Use [getAvailabilityModel()](dw.catalog.Product.md#getavailabilitymodel).isInStock() instead
+:::
+
+---
+
+### availableFlag
+- ~~availableFlag: [Boolean](TopLevel.Boolean.md)~~
+ - : Identifies if the product is available.
+
+ **Deprecated:**
+:::warning
+Use [getAvailabilityModel()](dw.catalog.Product.md#getavailabilitymodel) instead.
+:::
+
+---
+
+### brand
+- brand: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the Brand of the product.
+
+
+---
+
+### bundle
+- bundle: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this product instance is a product bundle.
+
+
+---
+
+### bundled
+- bundled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this product instance is bundled within at least one
+ product bundle.
+
+
+
+---
+
+### bundledProducts
+- bundledProducts: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection containing all products that participate in the
+ product bundle.
+
+
+
+---
+
+### bundles
+- bundles: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all bundles in which this product is included.
+ The method only returns bundles assigned to the current site.
+
+
+
+---
+
+### categories
+- categories: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all categories to which this product is assigned
+ and which are also available through the current site.
+
+
+
+---
+
+### categorized
+- categorized: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this product is bound to at least one catalog category.
+
+
+---
+
+### categoryAssignments
+- categoryAssignments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of category assignments for this product in
+ the current site catalog.
+
+
+
+---
+
+### classificationCategory
+- classificationCategory: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the classification category associated with this Product. A
+ product has a single classification category which may or may not be in
+ the site catalog. The classification category defines the attribute set
+ of the product. See [getAttributeModel()](dw.catalog.Product.md#getattributemodel) for
+ how the classification category is used.
+
+
+
+---
+
+### facebookEnabled
+- facebookEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the product is Facebook enabled.
+
+
+---
+
+### image
+- ~~image: [MediaFile](dw.content.MediaFile.md)~~ `(read-only)`
+ - : Returns the product's image.
+
+ **Deprecated:**
+:::warning
+
+Commerce Cloud Digital introduces a new more powerful product
+image management. It allows to group product images by self-defined view types
+(e.g. 'large', 'thumbnail', 'swatch') and variation values (e.g. for attribute
+color 'red', 'blue'). Images can be annotated with pattern based title and
+alt. Product images can be accessed from Digital locations or external storage
+locations.
+
+
+Please use the new product image management. Therefore you have to set
+up the common product image settings like view types, image location,
+default image alt and title for your catalogs first. After that you can
+group your product images by the previously defined view types in context
+of a product. Finally use [getImages(String)](dw.catalog.Product.md#getimagesstring) and
+[getImage(String, Number)](dw.catalog.Product.md#getimagestring-number) to access your images.
+
+:::
+
+---
+
+### incomingProductLinks
+- incomingProductLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns incoming ProductLinks, where the source product is a site product.
+
+
+---
+
+### longDescription
+- longDescription: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the product's long description in the current locale.
+
+
+---
+
+### manufacturerName
+- manufacturerName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the product manufacturer.
+
+
+---
+
+### manufacturerSKU
+- manufacturerSKU: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the value of the manufacturer's stock keeping unit.
+
+
+---
+
+### master
+- master: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this product instance is a product master.
+
+
+---
+
+### minOrderQuantity
+- minOrderQuantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the minimum order quantity for this product.
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the product in the current locale.
+
+
+---
+
+### online
+- online: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the online status of the product. The online status
+ is calculated from the online status flag and the onlineFrom
+ onlineTo dates defined for the product.
+
+
+
+---
+
+### onlineCategories
+- onlineCategories: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all currently online categories to which this
+ product is assigned and which are also available through the current
+ site. A category is currently online if its online flag equals true and
+ the current site date is within the date range defined by the onlineFrom
+ and onlineTo attributes.
+
+
+
+---
+
+### onlineFlag
+- onlineFlag: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the online status flag of the product.
+
+
+---
+
+### onlineFrom
+- onlineFrom: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date from which the product is online or valid.
+
+
+---
+
+### onlineTo
+- onlineTo: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date until which the product is online or valid.
+
+
+---
+
+### optionModel
+- optionModel: [ProductOptionModel](dw.catalog.ProductOptionModel.md) `(read-only)`
+ - : Returns the product's option model. The option values selections are
+ initialized with the values defined for the product, or the default values
+ defined for the option.
+
+
+
+---
+
+### optionProduct
+- optionProduct: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the product has options.
+
+
+---
+
+### orderableRecommendations
+- orderableRecommendations: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a list of outgoing recommendations for this product. This method
+ behaves similarly to [getRecommendations()](dw.catalog.Product.md#getrecommendations) but additionally filters out
+ recommendations for which the target product is unorderable according to
+ its product availability model.
+
+
+ **See Also:**
+ - [ProductAvailabilityModel.isOrderable()](dw.catalog.ProductAvailabilityModel.md#isorderable)
+
+
+---
+
+### pageDescription
+- pageDescription: [String](TopLevel.String.md) `(read-only)`
+ - : Returns product's page description in the default locale.
+
+
+---
+
+### pageKeywords
+- pageKeywords: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the product's page keywords in the default locale.
+
+
+---
+
+### pageMetaTags
+- pageMetaTags: [Array](TopLevel.Array.md) `(read-only)`
+ - : Returns all page meta tags, defined for this instance for which content can be generated.
+
+
+ The meta tag content is generated based on the product detail page meta tag context and rules. The rules are
+ obtained from the current product context or inherited from variation groups, master product, the primary
+ category, up to the root category.
+
+
+
+---
+
+### pageTitle
+- pageTitle: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the product's page title in the default locale.
+
+
+---
+
+### pageURL
+- pageURL: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the product's page URL in the default locale.
+
+
+---
+
+### pinterestEnabled
+- pinterestEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the product is Pinterest enabled.
+
+
+---
+
+### priceModel
+- priceModel: [ProductPriceModel](dw.catalog.ProductPriceModel.md) `(read-only)`
+ - : Returns the price model, which can be used to retrieve a price
+ for this product.
+
+
+
+---
+
+### primaryCategory
+- primaryCategory: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the primary category of the product within the current site catalog.
+
+
+---
+
+### primaryCategoryAssignment
+- primaryCategoryAssignment: [CategoryAssignment](dw.catalog.CategoryAssignment.md) `(read-only)`
+ - : Returns the category assignment to the primary category in the current site
+ catalog or null if no primary category is defined within the current site
+ catalog.
+
+
+
+---
+
+### product
+- product: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if the instance represents a product. Returns 'false' if
+ the instance represents a product set.
+
+
+ **See Also:**
+ - [isProductSet()](dw.catalog.Product.md#isproductset)
+
+
+---
+
+### productLinks
+- productLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all outgoing ProductLinks, where the target product is also
+ available in the current site. The ProductLinks are unsorted.
+
+
+
+---
+
+### productSet
+- productSet: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if the instance represents a product set, otherwise 'false'.
+
+ **See Also:**
+ - [isProduct()](dw.catalog.Product.md#isproduct)
+
+
+---
+
+### productSetProduct
+- productSetProduct: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if this product is part of any product set, otherwise false.
+
+
+---
+
+### productSetProducts
+- productSetProducts: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all products which are assigned to this product
+ and which are also available through the current site. If this product
+ does not represent a product set then an empty collection will be
+ returned.
+
+
+
+---
+
+### productSets
+- productSets: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all product sets in which this product is included.
+ The method only returns product sets assigned to the current site.
+
+
+
+---
+
+### recommendations
+- recommendations: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the outgoing recommendations for this product which
+ belong to the site catalog. If this product is not assigned to the site
+ catalog, or there is no site catalog, an empty collection is returned.
+ Only recommendations for which the target product exists and is assigned
+ to the site catalog are returned. The recommendations are sorted by
+ their explicitly set order.
+
+
+
+---
+
+### retailSet
+- ~~retailSet: [Boolean](TopLevel.Boolean.md)~~ `(read-only)`
+ - : Identifies if this product instance is part of a retail set.
+
+ **Deprecated:**
+:::warning
+Use [isProductSet()](dw.catalog.Product.md#isproductset) instead
+:::
+
+---
+
+### searchPlacement
+- searchPlacement: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the product's search placement classification. The higher the
+ numeric product placement value, the more relevant is the product when
+ sorting search results. The range of numeric placement values is
+ defined in the meta data of object type 'Product' and can therefore be
+ customized.
+
+
+
+---
+
+### searchRank
+- searchRank: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the product's search rank. The higher the numeric product rank,
+ the more relevant is the product when sorting search results. The range of
+ numeric rank values is defined in the meta data of object type 'Product'
+ and can therefore be customized.
+
+
+
+---
+
+### searchable
+- searchable: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the product is searchable.
+
+
+---
+
+### searchableFlag
+- searchableFlag: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns, whether the product is currently searchable.
+
+
+---
+
+### searchableIfUnavailableFlag
+- searchableIfUnavailableFlag: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the searchable status of the [Product](dw.catalog.Product.md) if unavailable.
+
+ Besides `true` or `false`, the return value `null` indicates that the value is not set.
+
+
+
+---
+
+### shortDescription
+- shortDescription: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the product's short description in the current locale.
+
+
+---
+
+### siteMapChangeFrequency
+- siteMapChangeFrequency: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the product's change frequency needed for the sitemap creation.
+
+
+---
+
+### siteMapIncluded
+- siteMapIncluded: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the status if the product is included into the sitemap.
+
+
+---
+
+### siteMapPriority
+- siteMapPriority: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the product's priority needed for the sitemap creation.
+
+
+---
+
+### siteProduct
+- ~~siteProduct: [Boolean](TopLevel.Boolean.md)~~ `(read-only)`
+ - : Returns 'true' if the product is assigned to the current site (via the
+ site catalog), otherwise 'false' is returned.
+
+
+ **Deprecated:**
+:::warning
+Use [isAssignedToSiteCatalog()](dw.catalog.Product.md#isassignedtositecatalog) instead
+:::
+
+---
+
+### stepQuantity
+- stepQuantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the steps in which the order amount of the product can be
+ increased.
+
+
+
+---
+
+### storeReceiptName
+- storeReceiptName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the store receipt name of the product in the current locale.
+
+
+---
+
+### storeTaxClass
+- storeTaxClass: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the store tax class ID.
+
+ This is an optional override for in-store tax calculation.
+
+
+
+---
+
+### taxClassID
+- taxClassID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the product's tax class, by resolving
+ the Global Preference setting selected. If the Localized
+ Tax Class setting under Global Preferences -> Products is
+ selected, the localizedTaxClassID attribute value will be
+ returned, else the legacy taxClassID attribute value will
+ be returned.
+
+
+
+---
+
+### template
+- template: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the product's rendering template.
+
+
+---
+
+### thumbnail
+- ~~thumbnail: [MediaFile](dw.content.MediaFile.md)~~ `(read-only)`
+ - : Returns the product's thumbnail image.
+
+ **Deprecated:**
+:::warning
+
+Commerce Cloud Digital introduces a new more powerful product
+image management. It allows to group product images by self-defined view types
+(e.g. 'large', 'thumbnail', 'swatch') and variation values (e.g. for attribute
+color 'red', 'blue'). Images can be annotated with pattern based title and
+alt. Product images can be accessed from Digital locations or external storage
+locations.
+
+
+Please use the new product image management. Therefore you have to set
+up the common product image settings like view types, image location,
+default image alt and title for your catalogs first. After that you can
+group your product images by the previously defined view types in context
+of a product. Finally use [getImages(String)](dw.catalog.Product.md#getimagesstring) and
+[getImage(String, Number)](dw.catalog.Product.md#getimagestring-number) to access your images.
+
+:::
+
+---
+
+### unit
+- unit: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the product's sales unit.
+
+
+---
+
+### unitQuantity
+- unitQuantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the product's unit quantity.
+
+
+---
+
+### variant
+- variant: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this product instance is mastered by a product master.
+
+
+---
+
+### variants
+- variants: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all variants assigned to this variation master
+ or variation group product. All variants are returned regardless of whether
+ they are online or offline.
+
+ If this product does not represent a variation master or variation group
+ product then an empty collection is returned.
+
+
+
+---
+
+### variationGroup
+- variationGroup: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this product instance is a variation group product.
+
+
+---
+
+### variationGroups
+- variationGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all variation groups assigned to this variation
+ master product. All variation groups are returned regardless of whether
+ they are online or offline.
+
+ If this product does not represent a variation master product then an
+ empty collection is returned.
+
+
+
+---
+
+### variationModel
+- variationModel: [ProductVariationModel](dw.catalog.ProductVariationModel.md) `(read-only)`
+ - : Returns the variation model of this product. If this product is a master
+ product, then the returned model will encapsulate all the information
+ about its variation attributes and variants. If this product is a variant
+ product, then the returned model will encapsulate all the same
+ information, but additionally pre-select all the variation attribute
+ values of this variant. (See [ProductVariationModel](dw.catalog.ProductVariationModel.md) for
+ details on what "selected" means.) If this product is neither a master
+ product or a variation product, then a model will be returned but will be
+ essentially empty and not useful for any particular purpose.
+
+
+
+---
+
+## Method Details
+
+### assignedToCategory(Category)
+- ~~assignedToCategory(category: [Category](dw.catalog.Category.md)): [Boolean](TopLevel.Boolean.md)~~
+ - : Identifies if this product is bound to the specified catalog category.
+
+ **Parameters:**
+ - category - the CatalogCategory to check.
+
+ **Returns:**
+ - true if the product is bound to the CatalogCategory, false
+ otherwise.
+
+
+ **Deprecated:**
+:::warning
+Use [isAssignedToCategory(Category)](dw.catalog.Product.md#isassignedtocategorycategory)
+:::
+
+---
+
+### getActiveData()
+- getActiveData(): [ProductActiveData](dw.catalog.ProductActiveData.md)
+ - : Returns the active data for this product, for the current site.
+
+ **Returns:**
+ - the active data for this product for the current site.
+
+
+---
+
+### getAllCategories()
+- getAllCategories(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all categories to which this product is assigned.
+
+ **Returns:**
+ - Collection of categories.
+
+
+---
+
+### getAllCategoryAssignments()
+- getAllCategoryAssignments(): [Collection](dw.util.Collection.md)
+ - : Returns all category assignments for this product in any catalog.
+
+ **Returns:**
+ - Collection of category assignments of the product in any catalog.
+
+
+---
+
+### getAllIncomingProductLinks()
+- getAllIncomingProductLinks(): [Collection](dw.util.Collection.md)
+ - : Returns all incoming ProductLinks.
+
+ **Returns:**
+ - a collection of all incoming ProductLinks.
+
+
+---
+
+### getAllIncomingProductLinks(Number)
+- getAllIncomingProductLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns all incoming ProductLinks of a specific type.
+
+ **Parameters:**
+ - type - the type of ProductLinks to use.
+
+ **Returns:**
+ - a collection of all incoming ProductLinks of a specific type.
+
+
+---
+
+### getAllProductLinks()
+- getAllProductLinks(): [Collection](dw.util.Collection.md)
+ - : Returns all outgoing ProductLinks.
+
+ **Returns:**
+ - a collection of all outgoing ProductLinks.
+
+
+---
+
+### getAllProductLinks(Number)
+- getAllProductLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns all outgoing ProductLinks of a specific type.
+
+ **Parameters:**
+ - type - the type of ProductLinks to fetch.
+
+ **Returns:**
+ - a collection of all outgoing ProductLinks of a specific type.
+
+
+---
+
+### getAllRecommendations(Catalog)
+- getAllRecommendations(catalog: [Catalog](dw.catalog.Catalog.md)): [Collection](dw.util.Collection.md)
+ - : Returns the outgoing recommendations for this product which belong to the
+ specified catalog. The recommendations are sorted by their explicitly set
+ order.
+
+
+ **Parameters:**
+ - catalog - the catalog containing the recommendations.
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly empty.
+
+
+---
+
+### getAllRecommendations(Catalog, Number)
+- getAllRecommendations(catalog: [Catalog](dw.catalog.Catalog.md), type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns the outgoing recommendations for this product which are of the
+ specified type and which belong to the specified catalog.
+ The recommendations are sorted by their explicitly set order.
+
+
+ **Parameters:**
+ - catalog - the catalog containing the recommendations.
+ - type - the recommendation type.
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly empty.
+
+
+---
+
+### getAttributeModel()
+- getAttributeModel(): [ProductAttributeModel](dw.catalog.ProductAttributeModel.md)
+ - : Returns this product's ProductAttributeModel, which makes access to the
+ product attribute information convenient. The model is calculated based
+ on the product attributes assigned to this product's classification
+ category (or any of it's ancestors) and the global attribute definitions
+ for the system object type 'Product'. If this product has no
+ classification category, the attribute model is calculated on the global
+ attribute definitions only. If this product is a variant, then the
+ attribute model is calculated based on the classification category of its
+ corresponding master product.
+
+
+ **Returns:**
+ - the ProductAttributeModel for this product.
+
+
+---
+
+### getAvailabilityModel()
+- getAvailabilityModel(): [ProductAvailabilityModel](dw.catalog.ProductAvailabilityModel.md)
+ - : Returns the availability model, which can be used to determine availability
+ information for a product.
+
+
+ **Returns:**
+ - the availability model for a product.
+
+
+---
+
+### getAvailabilityModel(ProductInventoryList)
+- getAvailabilityModel(list: [ProductInventoryList](dw.catalog.ProductInventoryList.md)): [ProductAvailabilityModel](dw.catalog.ProductAvailabilityModel.md)
+ - : Returns the availability model of the given inventory list, which can be
+ used to determine availability information for a product.
+
+
+ **Parameters:**
+ - list - The inventory list to get the availability model for. Must not be null or an exception will be raised.
+
+ **Returns:**
+ - the availability model of the given inventory list for a product.
+
+
+---
+
+### getAvailableFlag()
+- ~~getAvailableFlag(): [Boolean](TopLevel.Boolean.md)~~
+ - : Identifies if the product is available.
+
+ **Returns:**
+ - the availability status flag of the product.
+
+ **Deprecated:**
+:::warning
+Use [getAvailabilityModel()](dw.catalog.Product.md#getavailabilitymodel) instead.
+:::
+
+---
+
+### getBrand()
+- getBrand(): [String](TopLevel.String.md)
+ - : Returns the Brand of the product.
+
+ **Returns:**
+ - the Brand of the product.
+
+
+---
+
+### getBundledProductQuantity(Product)
+- getBundledProductQuantity(aProduct: [Product](dw.catalog.Product.md)): [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity of the specified product within the bundle. If the
+ specified product is not part of the bundle, a 0 quantity is returned.
+
+
+ **Parameters:**
+ - aProduct - The product to determine the quantity for.
+
+ **Returns:**
+ - The quantity of the product within the bundle or 0 if the product
+ is not part of the bundle.
+
+
+
+---
+
+### getBundledProducts()
+- getBundledProducts(): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing all products that participate in the
+ product bundle.
+
+
+ **Returns:**
+ - A collection containing all products of the product bundle.
+
+
+---
+
+### getBundles()
+- getBundles(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all bundles in which this product is included.
+ The method only returns bundles assigned to the current site.
+
+
+ **Returns:**
+ - Collection of bundles in which this product is included, possibly empty.
+
+
+---
+
+### getCategories()
+- getCategories(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all categories to which this product is assigned
+ and which are also available through the current site.
+
+
+ **Returns:**
+ - Collection of categories to which this product is assigned
+ and which are also available through the current site.
+
+
+
+---
+
+### getCategoryAssignment(Category)
+- getCategoryAssignment(category: [Category](dw.catalog.Category.md)): [CategoryAssignment](dw.catalog.CategoryAssignment.md)
+ - : Returns the category assignment for a specific category.
+
+ **Parameters:**
+ - category - the category to use when fetching assignments.
+
+ **Returns:**
+ - The category assignment for a specific category.
+
+
+---
+
+### getCategoryAssignments()
+- getCategoryAssignments(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of category assignments for this product in
+ the current site catalog.
+
+
+ **Returns:**
+ - Collection of category assignments.
+
+
+---
+
+### getClassificationCategory()
+- getClassificationCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the classification category associated with this Product. A
+ product has a single classification category which may or may not be in
+ the site catalog. The classification category defines the attribute set
+ of the product. See [getAttributeModel()](dw.catalog.Product.md#getattributemodel) for
+ how the classification category is used.
+
+
+ **Returns:**
+ - the associated classification Category, or null if none is
+ associated.
+
+
+
+---
+
+### getEAN()
+- getEAN(): [String](TopLevel.String.md)
+ - : Returns the European Article Number of the product.
+
+ **Returns:**
+ - the European Article Number of the product.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the product.
+
+ **Returns:**
+ - ID of the product.
+
+
+---
+
+### getImage()
+- ~~getImage(): [MediaFile](dw.content.MediaFile.md)~~
+ - : Returns the product's image.
+
+ **Returns:**
+ - the product's image.
+
+ **Deprecated:**
+:::warning
+
+Commerce Cloud Digital introduces a new more powerful product
+image management. It allows to group product images by self-defined view types
+(e.g. 'large', 'thumbnail', 'swatch') and variation values (e.g. for attribute
+color 'red', 'blue'). Images can be annotated with pattern based title and
+alt. Product images can be accessed from Digital locations or external storage
+locations.
+
+
+Please use the new product image management. Therefore you have to set
+up the common product image settings like view types, image location,
+default image alt and title for your catalogs first. After that you can
+group your product images by the previously defined view types in context
+of a product. Finally use [getImages(String)](dw.catalog.Product.md#getimagesstring) and
+[getImage(String, Number)](dw.catalog.Product.md#getimagestring-number) to access your images.
+
+:::
+
+---
+
+### getImage(String)
+- getImage(viewtype: [String](TopLevel.String.md)): [MediaFile](dw.content.MediaFile.md)
+ - : The method calls [getImages(String)](dw.catalog.Product.md#getimagesstring) and returns the first image.
+ If no image is available the method returns null.
+
+ When called for a variant with defined images for specified view type the
+ method returns the first image.
+
+ When called for a variant without defined images for specified view type
+ the method returns the first master product image. If no master product
+ images are defined, the method returns null.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to image
+
+ **Returns:**
+ - the MediaFile or null
+
+ **Throws:**
+ - NullArgumentException - if viewtype is null
+
+
+---
+
+### getImage(String, Number)
+- getImage(viewtype: [String](TopLevel.String.md), index: [Number](TopLevel.Number.md)): [MediaFile](dw.content.MediaFile.md)
+ - : The method calls [getImages(String)](dw.catalog.Product.md#getimagesstring) and returns the image at
+ the specific index. If no image for specified index is available the
+ method returns null.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to image
+ - index - the index number of the image within image list
+
+ **Returns:**
+ - the MediaFile or null
+
+ **Throws:**
+ - NullArgumentException - if viewtype is null
+
+
+---
+
+### getImages(String)
+- getImages(viewtype: [String](TopLevel.String.md)): [List](dw.util.List.md)
+ - : Returns all images assigned to this product for a specific view type,
+ e.g. all 'thumbnail' images. The images are returned in the order of
+ their index number ascending.
+
+ When called for a master the method returns the images specific to the
+ master, which are typically the fall back images.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to images
+
+ **Returns:**
+ - a list of MediaFile objects, possibly empty
+
+ **Throws:**
+ - NullArgumentException - if viewtype is null
+
+
+---
+
+### getIncomingProductLinks()
+- getIncomingProductLinks(): [Collection](dw.util.Collection.md)
+ - : Returns incoming ProductLinks, where the source product is a site product.
+
+ **Returns:**
+ - a collection of incoming ProductLinks, where the source product is
+ a site product.
+
+
+
+---
+
+### getIncomingProductLinks(Number)
+- getIncomingProductLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns incoming ProductLinks, where the source product is a site product
+ of a specific type.
+
+
+ **Parameters:**
+ - type - the type of ProductLinks to fetch.
+
+ **Returns:**
+ - a collection of incoming ProductLinks, where the source product is
+ a site product of a specific type.
+
+
+
+---
+
+### getLongDescription()
+- getLongDescription(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the product's long description in the current locale.
+
+ **Returns:**
+ - The product's long description in the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+### getManufacturerName()
+- getManufacturerName(): [String](TopLevel.String.md)
+ - : Returns the name of the product manufacturer.
+
+ **Returns:**
+ - the name of the product manufacturer.
+
+
+---
+
+### getManufacturerSKU()
+- getManufacturerSKU(): [String](TopLevel.String.md)
+ - : Returns the value of the manufacturer's stock keeping unit.
+
+ **Returns:**
+ - the value of the manufacturer's stock keeping unit.
+
+
+---
+
+### getMinOrderQuantity()
+- getMinOrderQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the minimum order quantity for this product.
+
+ **Returns:**
+ - the minimum order quantity of the product.
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of the product in the current locale.
+
+ **Returns:**
+ - The name of the product for the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+### getOnlineCategories()
+- getOnlineCategories(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all currently online categories to which this
+ product is assigned and which are also available through the current
+ site. A category is currently online if its online flag equals true and
+ the current site date is within the date range defined by the onlineFrom
+ and onlineTo attributes.
+
+
+ **Returns:**
+ - Collection of currently online categories to which this product
+ is assigned and which are also available through the current
+ site.
+
+
+
+---
+
+### getOnlineFlag()
+- getOnlineFlag(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the online status flag of the product.
+
+ **Returns:**
+ - the online status flag of the product.
+
+
+---
+
+### getOnlineFrom()
+- getOnlineFrom(): [Date](TopLevel.Date.md)
+ - : Returns the date from which the product is online or valid.
+
+ **Returns:**
+ - the date from which the product is online or valid.
+
+
+---
+
+### getOnlineTo()
+- getOnlineTo(): [Date](TopLevel.Date.md)
+ - : Returns the date until which the product is online or valid.
+
+ **Returns:**
+ - the date until which the product is online or valid.
+
+
+---
+
+### getOptionModel()
+- getOptionModel(): [ProductOptionModel](dw.catalog.ProductOptionModel.md)
+ - : Returns the product's option model. The option values selections are
+ initialized with the values defined for the product, or the default values
+ defined for the option.
+
+
+ **Returns:**
+ - the products option model.
+
+
+---
+
+### getOrderableRecommendations()
+- getOrderableRecommendations(): [Collection](dw.util.Collection.md)
+ - : Returns a list of outgoing recommendations for this product. This method
+ behaves similarly to [getRecommendations()](dw.catalog.Product.md#getrecommendations) but additionally filters out
+ recommendations for which the target product is unorderable according to
+ its product availability model.
+
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly
+ empty.
+
+
+ **See Also:**
+ - [ProductAvailabilityModel.isOrderable()](dw.catalog.ProductAvailabilityModel.md#isorderable)
+
+
+---
+
+### getOrderableRecommendations(Number)
+- getOrderableRecommendations(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns a list of outgoing recommendations for this product. This method
+ behaves similarly to [getRecommendations(Number)](dw.catalog.Product.md#getrecommendationsnumber) but additionally
+ filters out recommendations for which the target product is unorderable
+ according to its product availability model.
+
+
+ **Parameters:**
+ - type - the recommendation type.
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly
+ empty.
+
+
+ **See Also:**
+ - [ProductAvailabilityModel.isOrderable()](dw.catalog.ProductAvailabilityModel.md#isorderable)
+
+
+---
+
+### getPageDescription()
+- getPageDescription(): [String](TopLevel.String.md)
+ - : Returns product's page description in the default locale.
+
+ **Returns:**
+ - The product's page description in the default locale,
+ or null if it wasn't found.
+
+
+
+---
+
+### getPageKeywords()
+- getPageKeywords(): [String](TopLevel.String.md)
+ - : Returns the product's page keywords in the default locale.
+
+ **Returns:**
+ - The product's page keywords in the default locale,
+ or null if it wasn't found.
+
+
+
+---
+
+### getPageMetaTag(String)
+- getPageMetaTag(id: [String](TopLevel.String.md)): [PageMetaTag](dw.web.PageMetaTag.md)
+ - : Returns the page meta tag for the specified id.
+
+
+ The meta tag content is generated based on the product detail page meta tag context and rule. The rule is
+ obtained from the current product context or inherited from variation groups, master product, the primary
+ category, up to the root category.
+
+
+ Null will be returned if the meta tag is undefined on the current instance, or if no rule can be found for the
+ current context, or if the rule resolves to an empty string.
+
+
+ **Parameters:**
+ - id - the ID to get the page meta tag for
+
+ **Returns:**
+ - page meta tag containing content generated based on rules
+
+
+---
+
+### getPageMetaTags()
+- getPageMetaTags(): [Array](TopLevel.Array.md)
+ - : Returns all page meta tags, defined for this instance for which content can be generated.
+
+
+ The meta tag content is generated based on the product detail page meta tag context and rules. The rules are
+ obtained from the current product context or inherited from variation groups, master product, the primary
+ category, up to the root category.
+
+
+ **Returns:**
+ - page meta tags defined for this instance, containing content generated based on rules
+
+
+---
+
+### getPageTitle()
+- getPageTitle(): [String](TopLevel.String.md)
+ - : Returns the product's page title in the default locale.
+
+ **Returns:**
+ - The product's page title in the default locale,
+ or null if it wasn't found.
+
+
+
+---
+
+### getPageURL()
+- getPageURL(): [String](TopLevel.String.md)
+ - : Returns the product's page URL in the default locale.
+
+ **Returns:**
+ - The product's page URL in the default locale,
+ or null if it wasn't found.
+
+
+
+---
+
+### getPriceModel()
+- getPriceModel(): [ProductPriceModel](dw.catalog.ProductPriceModel.md)
+ - : Returns the price model, which can be used to retrieve a price
+ for this product.
+
+
+ **Returns:**
+ - the price model, which can be used to retrieve a price
+ for this product.
+
+
+
+---
+
+### getPriceModel(ProductOptionModel)
+- getPriceModel(optionModel: [ProductOptionModel](dw.catalog.ProductOptionModel.md)): [ProductPriceModel](dw.catalog.ProductPriceModel.md)
+ - : Returns the price model based on the specified optionModel. The
+ price model can be used to retrieve a price
+ for this product. Prices are calculated based on the option values
+ selected in the specified option model.
+
+
+ **Parameters:**
+ - optionModel - the option model to use when fetching the price model.
+
+ **Returns:**
+ - the price model based on the specified optionModel.
+
+
+---
+
+### getPrimaryCategory()
+- getPrimaryCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the primary category of the product within the current site catalog.
+
+ **Returns:**
+ - The product's primary category or null.
+
+
+---
+
+### getPrimaryCategoryAssignment()
+- getPrimaryCategoryAssignment(): [CategoryAssignment](dw.catalog.CategoryAssignment.md)
+ - : Returns the category assignment to the primary category in the current site
+ catalog or null if no primary category is defined within the current site
+ catalog.
+
+
+ **Returns:**
+ - The category assignment to the primary category or null.
+
+
+---
+
+### getProductLinks()
+- getProductLinks(): [Collection](dw.util.Collection.md)
+ - : Returns all outgoing ProductLinks, where the target product is also
+ available in the current site. The ProductLinks are unsorted.
+
+
+ **Returns:**
+ - a collection of outgoing ProductLinks where the target product is also
+ available in the current site.
+
+
+
+---
+
+### getProductLinks(Number)
+- getProductLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns all outgoing ProductLinks of a specific type, where the target
+ product is also available in the current site. The ProductLinks are
+ sorted.
+
+
+ **Parameters:**
+ - type - the type of ProductLinks to fetch.
+
+ **Returns:**
+ - a collection of outgoing ProductLinks where the target product is also
+ available in the current site.
+
+
+
+---
+
+### getProductSetProducts()
+- getProductSetProducts(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all products which are assigned to this product
+ and which are also available through the current site. If this product
+ does not represent a product set then an empty collection will be
+ returned.
+
+
+ **Returns:**
+ - Collection of products which are assigned to this product
+ and which are also available through the current site.
+
+
+
+---
+
+### getProductSets()
+- getProductSets(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all product sets in which this product is included.
+ The method only returns product sets assigned to the current site.
+
+
+ **Returns:**
+ - Collection of product sets in which this product is included, possibly empty.
+
+
+---
+
+### getRecommendations()
+- getRecommendations(): [Collection](dw.util.Collection.md)
+ - : Returns the outgoing recommendations for this product which
+ belong to the site catalog. If this product is not assigned to the site
+ catalog, or there is no site catalog, an empty collection is returned.
+ Only recommendations for which the target product exists and is assigned
+ to the site catalog are returned. The recommendations are sorted by
+ their explicitly set order.
+
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly empty.
+
+
+---
+
+### getRecommendations(Number)
+- getRecommendations(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns the outgoing recommendations for this product which are of the
+ specified type and which belong to the site catalog. Behaves the same as
+ [getRecommendations()](dw.catalog.Product.md#getrecommendations) but additionally filters by recommendation
+ type.
+
+
+ **Parameters:**
+ - type - the recommendation type.
+
+ **Returns:**
+ - the sorted collection of recommendations, never null but possibly empty.
+
+
+---
+
+### getSearchPlacement()
+- getSearchPlacement(): [Number](TopLevel.Number.md)
+ - : Returns the product's search placement classification. The higher the
+ numeric product placement value, the more relevant is the product when
+ sorting search results. The range of numeric placement values is
+ defined in the meta data of object type 'Product' and can therefore be
+ customized.
+
+
+ **Returns:**
+ - The product's search placement classification.
+
+
+---
+
+### getSearchRank()
+- getSearchRank(): [Number](TopLevel.Number.md)
+ - : Returns the product's search rank. The higher the numeric product rank,
+ the more relevant is the product when sorting search results. The range of
+ numeric rank values is defined in the meta data of object type 'Product'
+ and can therefore be customized.
+
+
+ **Returns:**
+ - The product's search rank.
+
+
+---
+
+### getSearchableFlag()
+- getSearchableFlag(): [Boolean](TopLevel.Boolean.md)
+ - : Returns, whether the product is currently searchable.
+
+ **Returns:**
+ - the searchable status flag of the product.
+
+
+---
+
+### getSearchableIfUnavailableFlag()
+- getSearchableIfUnavailableFlag(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the searchable status of the [Product](dw.catalog.Product.md) if unavailable.
+
+ Besides `true` or `false`, the return value `null` indicates that the value is not set.
+
+
+ **Returns:**
+ - The searchable status of the product if unavailable or `null` if not set.
+
+
+---
+
+### getShortDescription()
+- getShortDescription(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the product's short description in the current locale.
+
+ **Returns:**
+ - the product's short description in the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+### getSiteMapChangeFrequency()
+- getSiteMapChangeFrequency(): [String](TopLevel.String.md)
+ - : Returns the product's change frequency needed for the sitemap creation.
+
+ **Returns:**
+ - The product's sitemap change frequency.
+
+
+---
+
+### getSiteMapIncluded()
+- getSiteMapIncluded(): [Number](TopLevel.Number.md)
+ - : Returns the status if the product is included into the sitemap.
+
+ **Returns:**
+ - the value of the attribute 'siteMapIncluded'.
+
+
+---
+
+### getSiteMapPriority()
+- getSiteMapPriority(): [Number](TopLevel.Number.md)
+ - : Returns the product's priority needed for the sitemap creation.
+
+ **Returns:**
+ - The product's sitemap priority.
+
+
+---
+
+### getStepQuantity()
+- getStepQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the steps in which the order amount of the product can be
+ increased.
+
+
+ **Returns:**
+ - the order amount by which the product can be increased.
+
+
+---
+
+### getStoreReceiptName()
+- getStoreReceiptName(): [String](TopLevel.String.md)
+ - : Returns the store receipt name of the product in the current locale.
+
+ **Returns:**
+ - The store receipt name of the product for the current locale, or null if it
+ wasn't found.
+
+
+
+---
+
+### getStoreTaxClass()
+- getStoreTaxClass(): [String](TopLevel.String.md)
+ - : Returns the store tax class ID.
+
+ This is an optional override for in-store tax calculation.
+
+
+ **Returns:**
+ - the store tax class id.
+
+
+---
+
+### getTaxClassID()
+- getTaxClassID(): [String](TopLevel.String.md)
+ - : Returns the ID of the product's tax class, by resolving
+ the Global Preference setting selected. If the Localized
+ Tax Class setting under Global Preferences -> Products is
+ selected, the localizedTaxClassID attribute value will be
+ returned, else the legacy taxClassID attribute value will
+ be returned.
+
+
+ **Returns:**
+ - the ID of the product's tax class depending on the Global Preference setting selected for Products.
+
+
+---
+
+### getTemplate()
+- getTemplate(): [String](TopLevel.String.md)
+ - : Returns the name of the product's rendering template.
+
+ **Returns:**
+ - the name of the product's rendering template.
+
+
+---
+
+### getThumbnail()
+- ~~getThumbnail(): [MediaFile](dw.content.MediaFile.md)~~
+ - : Returns the product's thumbnail image.
+
+ **Returns:**
+ - the product's thumbnail image.
+
+ **Deprecated:**
+:::warning
+
+Commerce Cloud Digital introduces a new more powerful product
+image management. It allows to group product images by self-defined view types
+(e.g. 'large', 'thumbnail', 'swatch') and variation values (e.g. for attribute
+color 'red', 'blue'). Images can be annotated with pattern based title and
+alt. Product images can be accessed from Digital locations or external storage
+locations.
+
+
+Please use the new product image management. Therefore you have to set
+up the common product image settings like view types, image location,
+default image alt and title for your catalogs first. After that you can
+group your product images by the previously defined view types in context
+of a product. Finally use [getImages(String)](dw.catalog.Product.md#getimagesstring) and
+[getImage(String, Number)](dw.catalog.Product.md#getimagestring-number) to access your images.
+
+:::
+
+---
+
+### getUPC()
+- getUPC(): [String](TopLevel.String.md)
+ - : Returns the Universal Product Code of the product.
+
+ **Returns:**
+ - the Universal Product Code of the product.
+
+
+---
+
+### getUnit()
+- getUnit(): [String](TopLevel.String.md)
+ - : Returns the product's sales unit.
+
+ **Returns:**
+ - the products sales unit.
+
+
+---
+
+### getUnitQuantity()
+- getUnitQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the product's unit quantity.
+
+ **Returns:**
+ - the products unit quantity.
+
+
+---
+
+### getVariants()
+- getVariants(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all variants assigned to this variation master
+ or variation group product. All variants are returned regardless of whether
+ they are online or offline.
+
+ If this product does not represent a variation master or variation group
+ product then an empty collection is returned.
+
+
+ **Returns:**
+ - Collection of variants associated with this variation master or
+ variation group product.
+
+
+
+---
+
+### getVariationGroups()
+- getVariationGroups(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all variation groups assigned to this variation
+ master product. All variation groups are returned regardless of whether
+ they are online or offline.
+
+ If this product does not represent a variation master product then an
+ empty collection is returned.
+
+
+ **Returns:**
+ - Collection of variation groups associated with this variation
+ master product.
+
+
+
+---
+
+### getVariationModel()
+- getVariationModel(): [ProductVariationModel](dw.catalog.ProductVariationModel.md)
+ - : Returns the variation model of this product. If this product is a master
+ product, then the returned model will encapsulate all the information
+ about its variation attributes and variants. If this product is a variant
+ product, then the returned model will encapsulate all the same
+ information, but additionally pre-select all the variation attribute
+ values of this variant. (See [ProductVariationModel](dw.catalog.ProductVariationModel.md) for
+ details on what "selected" means.) If this product is neither a master
+ product or a variation product, then a model will be returned but will be
+ essentially empty and not useful for any particular purpose.
+
+
+ **Returns:**
+ - the variation model of the product.
+
+
+---
+
+### includedInBundle(Product)
+- includedInBundle(product: [Product](dw.catalog.Product.md)): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the specified product participates in this product bundle.
+ If this product does not represent a bundle at all, then false will
+ always be returned.
+
+
+ **Parameters:**
+ - product - the product to check for participation.
+
+ **Returns:**
+ - true if the product participates in the bundle, false otherwise.
+
+
+---
+
+### isAssignedToCategory(Category)
+- isAssignedToCategory(category: [Category](dw.catalog.Category.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if item is assigned to the specified
+ category.
+
+
+ **Parameters:**
+ - category - the category to check.
+
+ **Returns:**
+ - true if item is assigned to category.
+
+
+---
+
+### isAssignedToSiteCatalog()
+- isAssignedToSiteCatalog(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if the product is assigned to the current site (via the site catalog), otherwise
+ `false` is returned.
+
+
+ In case of the product being a variant, the variant will be considered as assigned if its master, one of the
+ variation groups it is in or itself is assigned to the site catalog. In case this is triggered for a variation
+ group the variation group is considered as assigned if its master or itself is assigned.
+
+
+ **Returns:**
+ - 'true' if product assigned to the site catalog
+
+
+---
+
+### isAvailable()
+- ~~isAvailable(): [Boolean](TopLevel.Boolean.md)~~
+ - : Identifies if the product is available.
+
+ **Returns:**
+ - the value of the attribute 'available'.
+
+ **Deprecated:**
+:::warning
+Use [getAvailabilityModel()](dw.catalog.Product.md#getavailabilitymodel).isInStock() instead
+:::
+
+---
+
+### isBundle()
+- isBundle(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this product instance is a product bundle.
+
+ **Returns:**
+ - true if the product is a bundle, false otherwise.
+
+
+---
+
+### isBundled()
+- isBundled(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this product instance is bundled within at least one
+ product bundle.
+
+
+ **Returns:**
+ - true if the product is bundled, false otherwise.
+
+
+---
+
+### isCategorized()
+- isCategorized(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this product is bound to at least one catalog category.
+
+ **Returns:**
+ - true if the product is bound to at least one catalog category,
+ false otherwise.
+
+
+
+---
+
+### isFacebookEnabled()
+- isFacebookEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the product is Facebook enabled.
+
+ **Returns:**
+ - the value of the attribute 'facebookEnabled'.
+
+
+---
+
+### isMaster()
+- isMaster(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this product instance is a product master.
+
+ **Returns:**
+ - true if the product is a master, false otherwise.
+
+
+---
+
+### isOnline()
+- isOnline(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the online status of the product. The online status
+ is calculated from the online status flag and the onlineFrom
+ onlineTo dates defined for the product.
+
+
+ **Returns:**
+ - the online status of the product.
+
+
+---
+
+### isOptionProduct()
+- isOptionProduct(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the product has options.
+
+ **Returns:**
+ - true if product has options, false otherwise.
+
+
+---
+
+### isPinterestEnabled()
+- isPinterestEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the product is Pinterest enabled.
+
+ **Returns:**
+ - the value of the attribute 'pinterestEnabled'.
+
+
+---
+
+### isProduct()
+- isProduct(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if the instance represents a product. Returns 'false' if
+ the instance represents a product set.
+
+
+ **Returns:**
+ - true if the instance is a product, false otherwise.
+
+ **See Also:**
+ - [isProductSet()](dw.catalog.Product.md#isproductset)
+
+
+---
+
+### isProductSet()
+- isProductSet(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if the instance represents a product set, otherwise 'false'.
+
+ **Returns:**
+ - true if the instance is a product set, false otherwise.
+
+ **See Also:**
+ - [isProduct()](dw.catalog.Product.md#isproduct)
+
+
+---
+
+### isProductSetProduct()
+- isProductSetProduct(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this product is part of any product set, otherwise false.
+
+ **Returns:**
+ - true if the product is part of any product set, false otherwise.
+
+
+---
+
+### isRetailSet()
+- ~~isRetailSet(): [Boolean](TopLevel.Boolean.md)~~
+ - : Identifies if this product instance is part of a retail set.
+
+ **Returns:**
+ - true if the product is part of a retail set, false otherwise.
+
+ **Deprecated:**
+:::warning
+Use [isProductSet()](dw.catalog.Product.md#isproductset) instead
+:::
+
+---
+
+### isSearchable()
+- isSearchable(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the product is searchable.
+
+ **Returns:**
+ - the value of the attribute 'searchable'.
+
+
+---
+
+### isSiteProduct()
+- ~~isSiteProduct(): [Boolean](TopLevel.Boolean.md)~~
+ - : Returns 'true' if the product is assigned to the current site (via the
+ site catalog), otherwise 'false' is returned.
+
+
+ **Returns:**
+ - 'true' if product assigned to site.
+
+ **Deprecated:**
+:::warning
+Use [isAssignedToSiteCatalog()](dw.catalog.Product.md#isassignedtositecatalog) instead
+:::
+
+---
+
+### isVariant()
+- isVariant(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this product instance is mastered by a product master.
+
+ **Returns:**
+ - true if the product is mastered, false otherwise.
+
+
+---
+
+### isVariationGroup()
+- isVariationGroup(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this product instance is a variation group product.
+
+ **Returns:**
+ - true if the product is a variation group, false otherwise.
+
+
+---
+
+### setAvailableFlag(Boolean)
+- ~~setAvailableFlag(available: [Boolean](TopLevel.Boolean.md)): void~~
+ - : Set the availability status flag of the product.
+
+ **Parameters:**
+ - available - Availability status flag.
+
+ **Deprecated:**
+:::warning
+Don't use this method anymore.
+:::
+
+---
+
+### setOnlineFlag(Boolean) - Variant 1
+- setOnlineFlag(online: [Boolean](TopLevel.Boolean.md)): void
+ - : Set the online status flag of the product.
+
+ **Parameters:**
+ - online - Online status flag.
+
+ **API Version:**
+:::note
+No longer available as of version 10.6.
+:::
+
+---
+
+### setOnlineFlag(Boolean) - Variant 2
+- setOnlineFlag(online: [Boolean](TopLevel.Boolean.md)): void
+ - : Set the online status flag of the product for the current site. If current site is not available (i.e.
+ in case this method is called by a job that runs on organization level) the online status flag is set global,
+ which can affect all sites.
+
+ In previous versions this method set the online status flag global, instead of site specific.
+
+
+ **Parameters:**
+ - online - Online status flag.
+
+ **API Version:**
+:::note
+Available from version 10.6.
+In prior versions this method set the online status flag global, instead of site specific.
+:::
+
+---
+
+### setSearchPlacement(Number) - Variant 1
+- setSearchPlacement(placement: [Number](TopLevel.Number.md)): void
+ - : Set the product's search placement.
+
+ **Parameters:**
+ - placement - The product's search placement classification.
+
+ **API Version:**
+:::note
+No longer available as of version 10.6.
+:::
+
+---
+
+### setSearchPlacement(Number) - Variant 2
+- setSearchPlacement(placement: [Number](TopLevel.Number.md)): void
+ - : Set the product's search placement classification in context of the current site. If current site is not
+ available (i.e. in case this method is called by a job that runs on organization level) the search placement is
+ set global, which can affect all sites.
+
+ In previous versions this method set the search placement classification global, instead of site specific.
+
+
+ **Parameters:**
+ - placement - The product's search placement classification.
+
+ **API Version:**
+:::note
+Available from version 10.6.
+In prior versions this method set the search placement classification global, instead of site specific.
+:::
+
+---
+
+### setSearchRank(Number) - Variant 1
+- setSearchRank(rank: [Number](TopLevel.Number.md)): void
+ - : Set the product's search rank.
+
+ **Parameters:**
+ - rank - The product's search rank.
+
+ **API Version:**
+:::note
+No longer available as of version 10.6.
+:::
+
+---
+
+### setSearchRank(Number) - Variant 2
+- setSearchRank(rank: [Number](TopLevel.Number.md)): void
+ - : Set the product's search rank in context of the current site. If current site is not available (i.e. in case this
+ method is called by a job that runs on organization level) the search rank is set global, which can affect all
+ sites.
+
+ In previous versions this method set the search rank global, instead of site specific.
+
+
+ **Parameters:**
+ - rank - The product's search rank.
+
+ **API Version:**
+:::note
+Available from version 10.6.
+In prior versions this method set the search rank global, instead of site specific.
+:::
+
+---
+
+### setSearchableFlag(Boolean) - Variant 1
+- setSearchableFlag(searchable: [Boolean](TopLevel.Boolean.md)): void
+ - : Set the flag indicating whether the product is searchable or not.
+
+ **Parameters:**
+ - searchable - The value of the attribute 'searchable'.
+
+ **API Version:**
+:::note
+No longer available as of version 10.6.
+:::
+
+---
+
+### setSearchableFlag(Boolean) - Variant 2
+- setSearchableFlag(searchable: [Boolean](TopLevel.Boolean.md)): void
+ - : Set the flag indicating whether the product is searchable or not in context of the current site. If current site
+ is not available (i.e. in case this method is called by a job that runs on organization level) the searchable
+ flag is set global, which can affect all sites.
+
+ In previous versions this method set the searchable flag global, instead of site specific.
+
+
+ **Parameters:**
+ - searchable - The value of the attribute 'searchable'.
+
+ **API Version:**
+:::note
+Available from version 10.6.
+In prior versions this method set the searchable flag global, instead of site specific.
+:::
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductActiveData.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductActiveData.md
new file mode 100644
index 00000000..41407d54
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductActiveData.md
@@ -0,0 +1,1244 @@
+
+# Class ProductActiveData
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.object.ActiveData](dw.object.ActiveData.md)
+ - [dw.catalog.ProductActiveData](dw.catalog.ProductActiveData.md)
+
+Represents the active data for a [Product](dw.catalog.Product.md) in Commerce Cloud Digital.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [availableDate](#availabledate): [Date](TopLevel.Date.md) `(read-only)` | Returns the date the product became available on the site, or `null` if none has been set. |
+| [avgGrossMarginPercentDay](#avggrossmarginpercentday): [Number](TopLevel.Number.md) `(read-only)` | Returns the average gross margin percentage of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgGrossMarginPercentMonth](#avggrossmarginpercentmonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the average gross margin percentage of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgGrossMarginPercentWeek](#avggrossmarginpercentweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the average gross margin percentage of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgGrossMarginPercentYear](#avggrossmarginpercentyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the average gross margin percentage of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgGrossMarginValueDay](#avggrossmarginvalueday): [Number](TopLevel.Number.md) `(read-only)` | Returns the average gross margin value of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgGrossMarginValueMonth](#avggrossmarginvaluemonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the average gross margin value of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgGrossMarginValueWeek](#avggrossmarginvalueweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the average gross margin value of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgGrossMarginValueYear](#avggrossmarginvalueyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the average gross margin value of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgSalesPriceDay](#avgsalespriceday): [Number](TopLevel.Number.md) `(read-only)` | Returns the average sales price for the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgSalesPriceMonth](#avgsalespricemonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the average sales price for the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgSalesPriceWeek](#avgsalespriceweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the average sales price for the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [avgSalesPriceYear](#avgsalespriceyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the average sales price for the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [conversionDay](#conversionday): [Number](TopLevel.Number.md) `(read-only)` | Returns the conversion rate of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [conversionMonth](#conversionmonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the conversion rate of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [conversionWeek](#conversionweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the conversion rate of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [conversionYear](#conversionyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the conversion rate of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [costPrice](#costprice): [Number](TopLevel.Number.md) `(read-only)` | Returns the cost price for the product for the site, or `null` if none has been set or the value is no longer valid. |
+| [daysAvailable](#daysavailable): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of days the product has been available on the site. |
+| [impressionsDay](#impressionsday): [Number](TopLevel.Number.md) `(read-only)` | Returns the impressions of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [impressionsMonth](#impressionsmonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the impressions of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [impressionsWeek](#impressionsweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the impressions of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [impressionsYear](#impressionsyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the impressions of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [lookToBookRatioDay](#looktobookratioday): [Number](TopLevel.Number.md) `(read-only)` | Returns the look to book ratio of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [lookToBookRatioMonth](#looktobookratiomonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the look to book ratio of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [lookToBookRatioWeek](#looktobookratioweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the look to book ratio of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [lookToBookRatioYear](#looktobookratioyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the look to book ratio of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [ordersDay](#ordersday): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of orders containing the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [ordersMonth](#ordersmonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of orders containing the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [ordersWeek](#ordersweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of orders containing the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [ordersYear](#ordersyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of orders containing the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [returnRate](#returnrate): [Number](TopLevel.Number.md) `(read-only)` | Returns the return rate for the product for the site, or `null` if none has been set or the value is no longer valid. |
+| [revenueDay](#revenueday): [Number](TopLevel.Number.md) `(read-only)` | Returns the revenue of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [revenueMonth](#revenuemonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the revenue of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [revenueWeek](#revenueweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the revenue of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [revenueYear](#revenueyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the revenue of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [salesVelocityDay](#salesvelocityday): [Number](TopLevel.Number.md) `(read-only)` | Returns the sales velocity of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [salesVelocityMonth](#salesvelocitymonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the sales velocity of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [salesVelocityWeek](#salesvelocityweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the sales velocity of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [salesVelocityYear](#salesvelocityyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the sales velocity of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [unitsDay](#unitsday): [Number](TopLevel.Number.md) `(read-only)` | Returns the units of the product ordered over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [unitsMonth](#unitsmonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the units of the product ordered over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [unitsWeek](#unitsweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the units of the product ordered over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [unitsYear](#unitsyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the units of the product ordered over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [viewsDay](#viewsday): [Number](TopLevel.Number.md) `(read-only)` | Returns the views of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [viewsMonth](#viewsmonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the views of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [viewsWeek](#viewsweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the views of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [viewsYear](#viewsyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the views of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAvailableDate](dw.catalog.ProductActiveData.md#getavailabledate)() | Returns the date the product became available on the site, or `null` if none has been set. |
+| [getAvgGrossMarginPercentDay](dw.catalog.ProductActiveData.md#getavggrossmarginpercentday)() | Returns the average gross margin percentage of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgGrossMarginPercentMonth](dw.catalog.ProductActiveData.md#getavggrossmarginpercentmonth)() | Returns the average gross margin percentage of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgGrossMarginPercentWeek](dw.catalog.ProductActiveData.md#getavggrossmarginpercentweek)() | Returns the average gross margin percentage of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgGrossMarginPercentYear](dw.catalog.ProductActiveData.md#getavggrossmarginpercentyear)() | Returns the average gross margin percentage of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgGrossMarginValueDay](dw.catalog.ProductActiveData.md#getavggrossmarginvalueday)() | Returns the average gross margin value of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgGrossMarginValueMonth](dw.catalog.ProductActiveData.md#getavggrossmarginvaluemonth)() | Returns the average gross margin value of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgGrossMarginValueWeek](dw.catalog.ProductActiveData.md#getavggrossmarginvalueweek)() | Returns the average gross margin value of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgGrossMarginValueYear](dw.catalog.ProductActiveData.md#getavggrossmarginvalueyear)() | Returns the average gross margin value of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgSalesPriceDay](dw.catalog.ProductActiveData.md#getavgsalespriceday)() | Returns the average sales price for the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgSalesPriceMonth](dw.catalog.ProductActiveData.md#getavgsalespricemonth)() | Returns the average sales price for the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgSalesPriceWeek](dw.catalog.ProductActiveData.md#getavgsalespriceweek)() | Returns the average sales price for the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getAvgSalesPriceYear](dw.catalog.ProductActiveData.md#getavgsalespriceyear)() | Returns the average sales price for the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getConversionDay](dw.catalog.ProductActiveData.md#getconversionday)() | Returns the conversion rate of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getConversionMonth](dw.catalog.ProductActiveData.md#getconversionmonth)() | Returns the conversion rate of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getConversionWeek](dw.catalog.ProductActiveData.md#getconversionweek)() | Returns the conversion rate of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getConversionYear](dw.catalog.ProductActiveData.md#getconversionyear)() | Returns the conversion rate of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getCostPrice](dw.catalog.ProductActiveData.md#getcostprice)() | Returns the cost price for the product for the site, or `null` if none has been set or the value is no longer valid. |
+| [getDaysAvailable](dw.catalog.ProductActiveData.md#getdaysavailable)() | Returns the number of days the product has been available on the site. |
+| [getImpressionsDay](dw.catalog.ProductActiveData.md#getimpressionsday)() | Returns the impressions of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getImpressionsMonth](dw.catalog.ProductActiveData.md#getimpressionsmonth)() | Returns the impressions of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getImpressionsWeek](dw.catalog.ProductActiveData.md#getimpressionsweek)() | Returns the impressions of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getImpressionsYear](dw.catalog.ProductActiveData.md#getimpressionsyear)() | Returns the impressions of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getLookToBookRatioDay](dw.catalog.ProductActiveData.md#getlooktobookratioday)() | Returns the look to book ratio of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getLookToBookRatioMonth](dw.catalog.ProductActiveData.md#getlooktobookratiomonth)() | Returns the look to book ratio of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getLookToBookRatioWeek](dw.catalog.ProductActiveData.md#getlooktobookratioweek)() | Returns the look to book ratio of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getLookToBookRatioYear](dw.catalog.ProductActiveData.md#getlooktobookratioyear)() | Returns the look to book ratio of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getOrdersDay](dw.catalog.ProductActiveData.md#getordersday)() | Returns the number of orders containing the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getOrdersMonth](dw.catalog.ProductActiveData.md#getordersmonth)() | Returns the number of orders containing the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getOrdersWeek](dw.catalog.ProductActiveData.md#getordersweek)() | Returns the number of orders containing the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getOrdersYear](dw.catalog.ProductActiveData.md#getordersyear)() | Returns the number of orders containing the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getReturnRate](dw.catalog.ProductActiveData.md#getreturnrate)() | Returns the return rate for the product for the site, or `null` if none has been set or the value is no longer valid. |
+| [getRevenueDay](dw.catalog.ProductActiveData.md#getrevenueday)() | Returns the revenue of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getRevenueMonth](dw.catalog.ProductActiveData.md#getrevenuemonth)() | Returns the revenue of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getRevenueWeek](dw.catalog.ProductActiveData.md#getrevenueweek)() | Returns the revenue of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getRevenueYear](dw.catalog.ProductActiveData.md#getrevenueyear)() | Returns the revenue of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getSalesVelocityDay](dw.catalog.ProductActiveData.md#getsalesvelocityday)() | Returns the sales velocity of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getSalesVelocityMonth](dw.catalog.ProductActiveData.md#getsalesvelocitymonth)() | Returns the sales velocity of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getSalesVelocityWeek](dw.catalog.ProductActiveData.md#getsalesvelocityweek)() | Returns the sales velocity of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getSalesVelocityYear](dw.catalog.ProductActiveData.md#getsalesvelocityyear)() | Returns the sales velocity of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getUnitsDay](dw.catalog.ProductActiveData.md#getunitsday)() | Returns the units of the product ordered over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getUnitsMonth](dw.catalog.ProductActiveData.md#getunitsmonth)() | Returns the units of the product ordered over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getUnitsWeek](dw.catalog.ProductActiveData.md#getunitsweek)() | Returns the units of the product ordered over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getUnitsYear](dw.catalog.ProductActiveData.md#getunitsyear)() | Returns the units of the product ordered over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getViewsDay](dw.catalog.ProductActiveData.md#getviewsday)() | Returns the views of the product, over the most recent day for the site, or `null` if none has been set or the value is no longer valid. |
+| [getViewsMonth](dw.catalog.ProductActiveData.md#getviewsmonth)() | Returns the views of the product, over the most recent 30 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getViewsWeek](dw.catalog.ProductActiveData.md#getviewsweek)() | Returns the views of the product, over the most recent 7 days for the site, or `null` if none has been set or the value is no longer valid. |
+| [getViewsYear](dw.catalog.ProductActiveData.md#getviewsyear)() | Returns the views of the product, over the most recent 365 days for the site, or `null` if none has been set or the value is no longer valid. |
+
+### Methods inherited from class ActiveData
+
+[getCustom](dw.object.ActiveData.md#getcustom), [isEmpty](dw.object.ActiveData.md#isempty)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### availableDate
+- availableDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date the product became available on the site, or
+ `null` if none has been set.
+
+
+
+---
+
+### avgGrossMarginPercentDay
+- avgGrossMarginPercentDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average gross margin percentage of the product,
+ over the most recent day for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### avgGrossMarginPercentMonth
+- avgGrossMarginPercentMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average gross margin percentage of the product,
+ over the most recent 30 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### avgGrossMarginPercentWeek
+- avgGrossMarginPercentWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average gross margin percentage of the product,
+ over the most recent 7 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### avgGrossMarginPercentYear
+- avgGrossMarginPercentYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average gross margin percentage of the product,
+ over the most recent 365 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### avgGrossMarginValueDay
+- avgGrossMarginValueDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average gross margin value of the product,
+ over the most recent day for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### avgGrossMarginValueMonth
+- avgGrossMarginValueMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average gross margin value of the product,
+ over the most recent 30 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### avgGrossMarginValueWeek
+- avgGrossMarginValueWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average gross margin value of the product,
+ over the most recent 7 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### avgGrossMarginValueYear
+- avgGrossMarginValueYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average gross margin value of the product,
+ over the most recent 365 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### avgSalesPriceDay
+- avgSalesPriceDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average sales price for the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### avgSalesPriceMonth
+- avgSalesPriceMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average sales price for the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### avgSalesPriceWeek
+- avgSalesPriceWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average sales price for the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### avgSalesPriceYear
+- avgSalesPriceYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average sales price for the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### conversionDay
+- conversionDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the conversion rate of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### conversionMonth
+- conversionMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the conversion rate of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### conversionWeek
+- conversionWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the conversion rate of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### conversionYear
+- conversionYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the conversion rate of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### costPrice
+- costPrice: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the cost price for the product for the site,
+ or `null` if none has been set or the value is no longer valid.
+
+
+
+---
+
+### daysAvailable
+- daysAvailable: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of days the product has been available on the site.
+ The number is calculated based on the current date and the date the
+ product became available on the site, or if that date has not been set,
+ the date the product was created in the system.
+
+
+ **See Also:**
+ - [getAvailableDate()](dw.catalog.ProductActiveData.md#getavailabledate)
+
+
+---
+
+### impressionsDay
+- impressionsDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the impressions of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### impressionsMonth
+- impressionsMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the impressions of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### impressionsWeek
+- impressionsWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the impressions of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### impressionsYear
+- impressionsYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the impressions of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### lookToBookRatioDay
+- lookToBookRatioDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the look to book ratio of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### lookToBookRatioMonth
+- lookToBookRatioMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the look to book ratio of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### lookToBookRatioWeek
+- lookToBookRatioWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the look to book ratio of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### lookToBookRatioYear
+- lookToBookRatioYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the look to book ratio of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### ordersDay
+- ordersDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of orders containing the product, over the most
+ recent day for the site, or `null` if none has been set
+ or the value is no longer valid.
+
+
+
+---
+
+### ordersMonth
+- ordersMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of orders containing the product, over the most
+ recent 30 days for the site, or `null` if none has been set
+ or the value is no longer valid.
+
+
+
+---
+
+### ordersWeek
+- ordersWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of orders containing the product, over the most
+ recent 7 days for the site, or `null` if none has been set
+ or the value is no longer valid.
+
+
+
+---
+
+### ordersYear
+- ordersYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of orders containing the product, over the most
+ recent 365 days for the site, or `null` if none has been set
+ or the value is no longer valid.
+
+
+
+---
+
+### returnRate
+- returnRate: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the return rate for the product for the site,
+ or `null` if none has been set or the value is no longer valid.
+
+
+
+---
+
+### revenueDay
+- revenueDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the revenue of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### revenueMonth
+- revenueMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the revenue of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### revenueWeek
+- revenueWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the revenue of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### revenueYear
+- revenueYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the revenue of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### salesVelocityDay
+- salesVelocityDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the sales velocity of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### salesVelocityMonth
+- salesVelocityMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the sales velocity of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### salesVelocityWeek
+- salesVelocityWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the sales velocity of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### salesVelocityYear
+- salesVelocityYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the sales velocity of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### unitsDay
+- unitsDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the units of the product ordered over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### unitsMonth
+- unitsMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the units of the product ordered over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### unitsWeek
+- unitsWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the units of the product ordered over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### unitsYear
+- unitsYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the units of the product ordered over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### viewsDay
+- viewsDay: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the views of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### viewsMonth
+- viewsMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the views of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### viewsWeek
+- viewsWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the views of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### viewsYear
+- viewsYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the views of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+## Method Details
+
+### getAvailableDate()
+- getAvailableDate(): [Date](TopLevel.Date.md)
+ - : Returns the date the product became available on the site, or
+ `null` if none has been set.
+
+
+ **Returns:**
+ - the date the product became available.
+
+
+---
+
+### getAvgGrossMarginPercentDay()
+- getAvgGrossMarginPercentDay(): [Number](TopLevel.Number.md)
+ - : Returns the average gross margin percentage of the product,
+ over the most recent day for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the average gross margin percentage over the last day.
+
+
+---
+
+### getAvgGrossMarginPercentMonth()
+- getAvgGrossMarginPercentMonth(): [Number](TopLevel.Number.md)
+ - : Returns the average gross margin percentage of the product,
+ over the most recent 30 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the average gross margin percentage over the last 30 days.
+
+
+---
+
+### getAvgGrossMarginPercentWeek()
+- getAvgGrossMarginPercentWeek(): [Number](TopLevel.Number.md)
+ - : Returns the average gross margin percentage of the product,
+ over the most recent 7 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the average gross margin percentage over the last 7 days.
+
+
+---
+
+### getAvgGrossMarginPercentYear()
+- getAvgGrossMarginPercentYear(): [Number](TopLevel.Number.md)
+ - : Returns the average gross margin percentage of the product,
+ over the most recent 365 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the average gross margin percentage over the last 365 days.
+
+
+---
+
+### getAvgGrossMarginValueDay()
+- getAvgGrossMarginValueDay(): [Number](TopLevel.Number.md)
+ - : Returns the average gross margin value of the product,
+ over the most recent day for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the average gross margin value over the last day.
+
+
+---
+
+### getAvgGrossMarginValueMonth()
+- getAvgGrossMarginValueMonth(): [Number](TopLevel.Number.md)
+ - : Returns the average gross margin value of the product,
+ over the most recent 30 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the average gross margin value over the last 30 days.
+
+
+---
+
+### getAvgGrossMarginValueWeek()
+- getAvgGrossMarginValueWeek(): [Number](TopLevel.Number.md)
+ - : Returns the average gross margin value of the product,
+ over the most recent 7 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the average gross margin value over the last 7 days.
+
+
+---
+
+### getAvgGrossMarginValueYear()
+- getAvgGrossMarginValueYear(): [Number](TopLevel.Number.md)
+ - : Returns the average gross margin value of the product,
+ over the most recent 365 days for the site, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the average gross margin value over the last 365 days.
+
+
+---
+
+### getAvgSalesPriceDay()
+- getAvgSalesPriceDay(): [Number](TopLevel.Number.md)
+ - : Returns the average sales price for the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the average sales price over the last day.
+
+
+---
+
+### getAvgSalesPriceMonth()
+- getAvgSalesPriceMonth(): [Number](TopLevel.Number.md)
+ - : Returns the average sales price for the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the average sales price over the last 30 days.
+
+
+---
+
+### getAvgSalesPriceWeek()
+- getAvgSalesPriceWeek(): [Number](TopLevel.Number.md)
+ - : Returns the average sales price for the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the average sales price over the last 7 days.
+
+
+---
+
+### getAvgSalesPriceYear()
+- getAvgSalesPriceYear(): [Number](TopLevel.Number.md)
+ - : Returns the average sales price for the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the average sales price over the last 365 days.
+
+
+---
+
+### getConversionDay()
+- getConversionDay(): [Number](TopLevel.Number.md)
+ - : Returns the conversion rate of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the conversion over the last day.
+
+
+---
+
+### getConversionMonth()
+- getConversionMonth(): [Number](TopLevel.Number.md)
+ - : Returns the conversion rate of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the conversion over the last 30 days.
+
+
+---
+
+### getConversionWeek()
+- getConversionWeek(): [Number](TopLevel.Number.md)
+ - : Returns the conversion rate of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the conversion over the last 7 days.
+
+
+---
+
+### getConversionYear()
+- getConversionYear(): [Number](TopLevel.Number.md)
+ - : Returns the conversion rate of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the conversion over the last 365 days.
+
+
+---
+
+### getCostPrice()
+- getCostPrice(): [Number](TopLevel.Number.md)
+ - : Returns the cost price for the product for the site,
+ or `null` if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the cost price.
+
+
+---
+
+### getDaysAvailable()
+- getDaysAvailable(): [Number](TopLevel.Number.md)
+ - : Returns the number of days the product has been available on the site.
+ The number is calculated based on the current date and the date the
+ product became available on the site, or if that date has not been set,
+ the date the product was created in the system.
+
+
+ **Returns:**
+ - the age in days.
+
+ **See Also:**
+ - [getAvailableDate()](dw.catalog.ProductActiveData.md#getavailabledate)
+
+
+---
+
+### getImpressionsDay()
+- getImpressionsDay(): [Number](TopLevel.Number.md)
+ - : Returns the impressions of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the impressions over the last day.
+
+
+---
+
+### getImpressionsMonth()
+- getImpressionsMonth(): [Number](TopLevel.Number.md)
+ - : Returns the impressions of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the impressions over the last 30 days.
+
+
+---
+
+### getImpressionsWeek()
+- getImpressionsWeek(): [Number](TopLevel.Number.md)
+ - : Returns the impressions of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the impressions over the last 7 days.
+
+
+---
+
+### getImpressionsYear()
+- getImpressionsYear(): [Number](TopLevel.Number.md)
+ - : Returns the impressions of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the impressions over the last 365 days.
+
+
+---
+
+### getLookToBookRatioDay()
+- getLookToBookRatioDay(): [Number](TopLevel.Number.md)
+ - : Returns the look to book ratio of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the look to book ratio over the last day.
+
+
+---
+
+### getLookToBookRatioMonth()
+- getLookToBookRatioMonth(): [Number](TopLevel.Number.md)
+ - : Returns the look to book ratio of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the look to book ratio over the last 30 days.
+
+
+---
+
+### getLookToBookRatioWeek()
+- getLookToBookRatioWeek(): [Number](TopLevel.Number.md)
+ - : Returns the look to book ratio of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the look to book ratio over the last 7 days.
+
+
+---
+
+### getLookToBookRatioYear()
+- getLookToBookRatioYear(): [Number](TopLevel.Number.md)
+ - : Returns the look to book ratio of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the look to book ratio over the last 365 days.
+
+
+---
+
+### getOrdersDay()
+- getOrdersDay(): [Number](TopLevel.Number.md)
+ - : Returns the number of orders containing the product, over the most
+ recent day for the site, or `null` if none has been set
+ or the value is no longer valid.
+
+
+ **Returns:**
+ - the orders over the last day.
+
+
+---
+
+### getOrdersMonth()
+- getOrdersMonth(): [Number](TopLevel.Number.md)
+ - : Returns the number of orders containing the product, over the most
+ recent 30 days for the site, or `null` if none has been set
+ or the value is no longer valid.
+
+
+ **Returns:**
+ - the orders over the last 30 days.
+
+
+---
+
+### getOrdersWeek()
+- getOrdersWeek(): [Number](TopLevel.Number.md)
+ - : Returns the number of orders containing the product, over the most
+ recent 7 days for the site, or `null` if none has been set
+ or the value is no longer valid.
+
+
+ **Returns:**
+ - the orders over the last 7 days.
+
+
+---
+
+### getOrdersYear()
+- getOrdersYear(): [Number](TopLevel.Number.md)
+ - : Returns the number of orders containing the product, over the most
+ recent 365 days for the site, or `null` if none has been set
+ or the value is no longer valid.
+
+
+ **Returns:**
+ - the orders over the last 365 days.
+
+
+---
+
+### getReturnRate()
+- getReturnRate(): [Number](TopLevel.Number.md)
+ - : Returns the return rate for the product for the site,
+ or `null` if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the return rate.
+
+
+---
+
+### getRevenueDay()
+- getRevenueDay(): [Number](TopLevel.Number.md)
+ - : Returns the revenue of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the revenue over the last day.
+
+
+---
+
+### getRevenueMonth()
+- getRevenueMonth(): [Number](TopLevel.Number.md)
+ - : Returns the revenue of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the revenue over the last 30 days.
+
+
+---
+
+### getRevenueWeek()
+- getRevenueWeek(): [Number](TopLevel.Number.md)
+ - : Returns the revenue of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the revenue over the last 7 days.
+
+
+---
+
+### getRevenueYear()
+- getRevenueYear(): [Number](TopLevel.Number.md)
+ - : Returns the revenue of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the revenue over the last 365 days.
+
+
+---
+
+### getSalesVelocityDay()
+- getSalesVelocityDay(): [Number](TopLevel.Number.md)
+ - : Returns the sales velocity of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the sales velocity over the last day.
+
+
+---
+
+### getSalesVelocityMonth()
+- getSalesVelocityMonth(): [Number](TopLevel.Number.md)
+ - : Returns the sales velocity of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the sales velocity over the last 30 days.
+
+
+---
+
+### getSalesVelocityWeek()
+- getSalesVelocityWeek(): [Number](TopLevel.Number.md)
+ - : Returns the sales velocity of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the sales velocity over the last 7 days.
+
+
+---
+
+### getSalesVelocityYear()
+- getSalesVelocityYear(): [Number](TopLevel.Number.md)
+ - : Returns the sales velocity of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the sales velocity over the last 365 days.
+
+
+---
+
+### getUnitsDay()
+- getUnitsDay(): [Number](TopLevel.Number.md)
+ - : Returns the units of the product ordered over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the units over the last day.
+
+
+---
+
+### getUnitsMonth()
+- getUnitsMonth(): [Number](TopLevel.Number.md)
+ - : Returns the units of the product ordered over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the units over the last 30 days.
+
+
+---
+
+### getUnitsWeek()
+- getUnitsWeek(): [Number](TopLevel.Number.md)
+ - : Returns the units of the product ordered over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the units over the last 7 days.
+
+
+---
+
+### getUnitsYear()
+- getUnitsYear(): [Number](TopLevel.Number.md)
+ - : Returns the units of the product ordered over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the units over the last 365 days.
+
+
+---
+
+### getViewsDay()
+- getViewsDay(): [Number](TopLevel.Number.md)
+ - : Returns the views of the product, over the most recent day
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the views over the last day.
+
+
+---
+
+### getViewsMonth()
+- getViewsMonth(): [Number](TopLevel.Number.md)
+ - : Returns the views of the product, over the most recent 30 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the views over the last 30 days.
+
+
+---
+
+### getViewsWeek()
+- getViewsWeek(): [Number](TopLevel.Number.md)
+ - : Returns the views of the product, over the most recent 7 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the views over the last 7 days.
+
+
+---
+
+### getViewsYear()
+- getViewsYear(): [Number](TopLevel.Number.md)
+ - : Returns the views of the product, over the most recent 365 days
+ for the site, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the views over the last 365 days.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductAttributeModel.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductAttributeModel.md
new file mode 100644
index 00000000..eeb03fcd
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductAttributeModel.md
@@ -0,0 +1,409 @@
+
+# Class ProductAttributeModel
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.ProductAttributeModel](dw.catalog.ProductAttributeModel.md)
+
+Class representing the complete attribute model for products in the system.
+An instance of this class provides methods to access the attribute
+definitions and groups for the system object type 'Product' and perhaps
+additional information depending on how the instance is obtained.
+A ProductAttributeModel can be obtained in one of three ways:
+
+
+- **[ProductAttributeModel()](dw.catalog.ProductAttributeModel.md#productattributemodel):**When the no-arg constructor is used the model represents:
+ - the attribute groups of the system object type 'Product' (i.e. the global product attribute groups) and their bound attributes
+
+- **[Category.getProductAttributeModel()](dw.catalog.Category.md#getproductattributemodel):**When the attribute model for a Category is retrieved, the model represents:
+ - the global product attribute groups
+ - product attribute groups of the calling category
+ - product attribute groups of any parent categories of the calling category
+
+- **[Product.getAttributeModel()](dw.catalog.Product.md#getattributemodel):**When the attribute model for a Product is retrieved, the model represents:
+ - the global product attribute groups
+ - product attribute groups of the product's classification category
+ - product attribute groups of any parent categories of the product's classification category
+In this case, the model additionally provides access to the attribute values
+of the product. If the product lacks a classification category, then only
+the global product attribute group is considered by the model.
+
+
+The ProductAttributeModel provides a generic way to display the attribute
+values of a product on a product detail page organized into appropriate
+visual groups. This is typically done as follows:
+
+
+- On the product detail page, call [Product.getAttributeModel()](dw.catalog.Product.md#getattributemodel)to get the attribute model for the product.
+- Call [getVisibleAttributeGroups()](dw.catalog.ProductAttributeModel.md#getvisibleattributegroups)to get the groups that are appropriate for this product and all other products assigned to the same classification category.
+- Iterate the groups, and display each as a "group" in the UI.
+- Call [getVisibleAttributeDefinitions(ObjectAttributeGroup)](dw.catalog.ProductAttributeModel.md#getvisibleattributedefinitionsobjectattributegroup)for each group. Iterate and display the attribute names using [ObjectAttributeDefinition.getDisplayName()](dw.object.ObjectAttributeDefinition.md#getdisplayname).
+- For each attribute, get the product's display value(s) for that attribute, using `getDisplayValue()`. This might require custom display logic based on the type of attribute (strings, dates, multi-value attributes, etc).
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [attributeGroups](#attributegroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns a sorted collection of attribute groups of this model. |
+| [orderRequiredAttributeDefinitions](#orderrequiredattributedefinitions): [Collection](dw.util.Collection.md) `(read-only)` | Returns an unsorted collection of attribute definitions marked as order-required. |
+| [visibleAttributeGroups](#visibleattributegroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns a sorted collection of visible attribute groups of this model. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [ProductAttributeModel](#productattributemodel)() | Constructs a product attribute model that is not based on a product nor a category. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAttributeDefinition](dw.catalog.ProductAttributeModel.md#getattributedefinitionstring)([String](TopLevel.String.md)) | Returns the attribute definition with the given id from the product attribute model. |
+| [getAttributeDefinitions](dw.catalog.ProductAttributeModel.md#getattributedefinitionsobjectattributegroup)([ObjectAttributeGroup](dw.object.ObjectAttributeGroup.md)) | Returns a sorted collection of attribute definitions for the given attribute group. |
+| [getAttributeGroup](dw.catalog.ProductAttributeModel.md#getattributegroupstring)([String](TopLevel.String.md)) | Returns the attribute group with the given id from the product attribute model. |
+| [getAttributeGroups](dw.catalog.ProductAttributeModel.md#getattributegroups)() | Returns a sorted collection of attribute groups of this model. |
+| [getDisplayValue](dw.catalog.ProductAttributeModel.md#getdisplayvalueobjectattributedefinition---variant-1)([ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)) | Returns the value that the underlying product defines for the given attribute definition in the current locale. |
+| [getDisplayValue](dw.catalog.ProductAttributeModel.md#getdisplayvalueobjectattributedefinition---variant-2)([ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)) | Returns the value that the underlying product defines for the given attribute definition in the current locale. |
+| [getOrderRequiredAttributeDefinitions](dw.catalog.ProductAttributeModel.md#getorderrequiredattributedefinitions)() | Returns an unsorted collection of attribute definitions marked as order-required. |
+| [getValue](dw.catalog.ProductAttributeModel.md#getvalueobjectattributedefinition---variant-1)([ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)) | Returns the attribute value for the specified attribute definition. |
+| [getValue](dw.catalog.ProductAttributeModel.md#getvalueobjectattributedefinition---variant-2)([ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)) | Returns the attribute value for the specified attribute definition. |
+| [getVisibleAttributeDefinitions](dw.catalog.ProductAttributeModel.md#getvisibleattributedefinitionsobjectattributegroup)([ObjectAttributeGroup](dw.object.ObjectAttributeGroup.md)) | Returns a sorted collection of all visible attribute definitions for the given attribute group. |
+| [getVisibleAttributeGroups](dw.catalog.ProductAttributeModel.md#getvisibleattributegroups)() | Returns a sorted collection of visible attribute groups of this model. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### attributeGroups
+- attributeGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a sorted collection of attribute groups of this model. The groups
+ returned depends on how this model is constructed and what it represents.
+ (See class-level documentation for details).
+
+
+ The collection of returned groups is sorted first by scope and secondly
+ by explicit sort order. Global groups always appear before
+ category-specific groups in the list. Groups of parent categories always
+ appear before groups belonging to subcategories. At each scope, groups
+ have an explicit sort order which can be managed within the Business
+ Manager.
+
+
+ When there are multiple attribute groups with the same ID, the following
+ rules apply:
+
+
+ - If this model represents the global product attribute group only (e.g. the no-arg constructor was used), duplicates cannot occur since only one group can be defined with a given ID at that scope.
+ - If this model is associated with specific categories (e.g. it is constructed from a product with a classification category), then a category product attribute group might have the same ID as a global product attribute group. In this case, the category group overrides the global one.
+ - If a category and one of its ancestor categories both define a product attribute group with the same ID, the sub-category group overrides the parent group.
+
+
+ As a result of these rules, this method will never return two attribute
+ groups with the same ID.
+
+
+
+---
+
+### orderRequiredAttributeDefinitions
+- orderRequiredAttributeDefinitions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns an unsorted collection of attribute definitions marked as
+ order-required. Order-required attributes are usually copied into order
+ line items.
+
+
+ The returned attribute definitions are sorted according to the explicit
+ sort order defined for the attributes in the group. This is managed by
+ merchant in the Business Manager.
+
+
+
+---
+
+### visibleAttributeGroups
+- visibleAttributeGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a sorted collection of visible attribute groups of this model.
+ This method is similar to [getAttributeGroups()](dw.catalog.ProductAttributeModel.md#getattributegroups) but only includes
+ attribute groups containing at least one attribute definition that is
+ visible. See
+ [getVisibleAttributeDefinitions(ObjectAttributeGroup)](dw.catalog.ProductAttributeModel.md#getvisibleattributedefinitionsobjectattributegroup).
+
+
+
+---
+
+## Constructor Details
+
+### ProductAttributeModel()
+- ProductAttributeModel()
+ - : Constructs a product attribute model that is not based on a product nor
+ a category. Therefore, the model only describes the product attributes
+ globally defined for the system object type 'Product'.
+
+
+
+---
+
+## Method Details
+
+### getAttributeDefinition(String)
+- getAttributeDefinition(id: [String](TopLevel.String.md)): [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)
+ - : Returns the attribute definition with the given id from the product attribute
+ model. If attribute definition does not exist, null is returned.
+
+
+ **Parameters:**
+ - id - the identifier of the attribute definition.
+
+ **Returns:**
+ - attribute definition or null if not exist
+
+
+---
+
+### getAttributeDefinitions(ObjectAttributeGroup)
+- getAttributeDefinitions(group: [ObjectAttributeGroup](dw.object.ObjectAttributeGroup.md)): [Collection](dw.util.Collection.md)
+ - : Returns a sorted collection of attribute definitions for the given attribute
+ group. If no attribute definition exist for the group, an empty collection
+ is returned.
+
+
+ The returned attribute definitions are sorted according to the explicit
+ sort order defined for the attributes in the group. This is managed
+ by merchant in the Business Manager.
+
+
+ **Parameters:**
+ - group - the group whose attribute definitions are returned.
+
+ **Returns:**
+ - a sorted collection of ObjectAttributeDefinition instances.
+
+
+---
+
+### getAttributeGroup(String)
+- getAttributeGroup(id: [String](TopLevel.String.md)): [ObjectAttributeGroup](dw.object.ObjectAttributeGroup.md)
+ - : Returns the attribute group with the given id from the product attribute
+ model. If attribute group does not exist, null is returned.
+
+
+ **Parameters:**
+ - id - the attribute group identifier.
+
+ **Returns:**
+ - the attribute group or null if not exist
+
+
+---
+
+### getAttributeGroups()
+- getAttributeGroups(): [Collection](dw.util.Collection.md)
+ - : Returns a sorted collection of attribute groups of this model. The groups
+ returned depends on how this model is constructed and what it represents.
+ (See class-level documentation for details).
+
+
+ The collection of returned groups is sorted first by scope and secondly
+ by explicit sort order. Global groups always appear before
+ category-specific groups in the list. Groups of parent categories always
+ appear before groups belonging to subcategories. At each scope, groups
+ have an explicit sort order which can be managed within the Business
+ Manager.
+
+
+ When there are multiple attribute groups with the same ID, the following
+ rules apply:
+
+
+ - If this model represents the global product attribute group only (e.g. the no-arg constructor was used), duplicates cannot occur since only one group can be defined with a given ID at that scope.
+ - If this model is associated with specific categories (e.g. it is constructed from a product with a classification category), then a category product attribute group might have the same ID as a global product attribute group. In this case, the category group overrides the global one.
+ - If a category and one of its ancestor categories both define a product attribute group with the same ID, the sub-category group overrides the parent group.
+
+
+ As a result of these rules, this method will never return two attribute
+ groups with the same ID.
+
+
+ **Returns:**
+ - collection of all attribute groups.
+
+
+---
+
+### getDisplayValue(ObjectAttributeDefinition) - Variant 1
+- getDisplayValue(definition: [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)): [Object](TopLevel.Object.md)
+ - : Returns the value that the underlying product defines for the given
+ attribute definition in the current locale. In case the attribute
+ definition defines localized attribute values, the product's value is
+ used as an id to find the localized display value.
+
+
+ **Parameters:**
+ - definition - the definition to use.
+
+ **Returns:**
+ - The localized product attribute display value.
+
+ **API Version:**
+:::note
+No longer available as of version 10.6.
+:::
+
+---
+
+### getDisplayValue(ObjectAttributeDefinition) - Variant 2
+- getDisplayValue(definition: [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)): [Object](TopLevel.Object.md)
+ - : Returns the value that the underlying product defines for the given
+ attribute definition in the current locale. In case the attribute definition
+ defines localized attribute values, the product's value is used as an id
+ to find the localized display value.
+
+ In case of an Image attribute this method returns a MediaFile instance.
+ In previous versions this method returned a String with the image path.
+ In case of an HTML attribute this method returns a MarkupText instance.
+ In previous versions this method returned a String with the HTML source.
+
+
+ **Parameters:**
+ - definition - the definition to use.
+
+ **Returns:**
+ - The localized product attribute display value.
+
+ **API Version:**
+:::note
+Available from version 10.6.
+In prior versions this method returned a String with the image path or a String with the HTML source
+:::
+
+---
+
+### getOrderRequiredAttributeDefinitions()
+- getOrderRequiredAttributeDefinitions(): [Collection](dw.util.Collection.md)
+ - : Returns an unsorted collection of attribute definitions marked as
+ order-required. Order-required attributes are usually copied into order
+ line items.
+
+
+ The returned attribute definitions are sorted according to the explicit
+ sort order defined for the attributes in the group. This is managed by
+ merchant in the Business Manager.
+
+
+ **Returns:**
+ - a collection of order-required ObjectAttributeDefinition
+ instances.
+
+
+
+---
+
+### getValue(ObjectAttributeDefinition) - Variant 1
+- getValue(definition: [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)): [Object](TopLevel.Object.md)
+ - : Returns the attribute value for the specified attribute
+ definition. If the product does not define a value, null is returned.
+
+
+ Note: this method may only be used where the attribute model was created for
+ a specific product; otherwise it will always return null.
+
+
+ If the attribute is localized, the value for the current session locale
+ is returned.
+
+
+ **Parameters:**
+ - definition - the attribute definition to use when locating and returning the value.
+
+ **Returns:**
+ - value the value associated with the object attribute definition.
+
+ **API Version:**
+:::note
+No longer available as of version 10.6.
+:::
+
+---
+
+### getValue(ObjectAttributeDefinition) - Variant 2
+- getValue(definition: [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)): [Object](TopLevel.Object.md)
+ - : Returns the attribute value for the specified attribute definition. If
+ the product does not define a value, null is returned.
+
+
+ Note: this method may only be used where the attribute model was created
+ for a specific product; otherwise it will always return null.
+
+
+ If the attribute is localized, the value for the current session locale
+ is returned.
+
+
+ In case of an Image attribute this method returns a MediaFile instance.
+ In previous versions this method returned a String with the image path.
+ In case of an HTML attribute this method returns a MarkupText instance.
+ In previous versions this method returned a String with the HTML source.
+
+
+ **Parameters:**
+ - definition - the attribute definition to use when locating and returning the value.
+
+ **Returns:**
+ - value the value associated with the object attribute definition.
+
+ **API Version:**
+:::note
+Available from version 10.6.
+In prior versions this method returned a String with the image path or a String with the HTML source.
+:::
+
+---
+
+### getVisibleAttributeDefinitions(ObjectAttributeGroup)
+- getVisibleAttributeDefinitions(group: [ObjectAttributeGroup](dw.object.ObjectAttributeGroup.md)): [Collection](dw.util.Collection.md)
+ - : Returns a sorted collection of all visible attribute definitions for the
+ given attribute group. If no visible attribute definition exist for the
+ group, an empty collection is returned.
+
+
+ An attribute definition is considered visible if is marked as visible. If
+ the product attribute model is created for a specific product, the
+ product must also define a value for the attribute definition; else the
+ attribute definition is considered as invisible.
+
+
+ The returned attribute definitions are sorted according to the explicit
+ sort order defined for the attributes in the group. This is managed by
+ merchant in the Business Manager.
+
+
+ **Parameters:**
+ - group - the group whose visible attribute definitions are returned.
+
+ **Returns:**
+ - a sorted collection of visible ObjectAttributeDefinition
+ instances.
+
+
+
+---
+
+### getVisibleAttributeGroups()
+- getVisibleAttributeGroups(): [Collection](dw.util.Collection.md)
+ - : Returns a sorted collection of visible attribute groups of this model.
+ This method is similar to [getAttributeGroups()](dw.catalog.ProductAttributeModel.md#getattributegroups) but only includes
+ attribute groups containing at least one attribute definition that is
+ visible. See
+ [getVisibleAttributeDefinitions(ObjectAttributeGroup)](dw.catalog.ProductAttributeModel.md#getvisibleattributedefinitionsobjectattributegroup).
+
+
+ **Returns:**
+ - sorted collection of visible ObjectAttributeGroup instances.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductAvailabilityLevels.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductAvailabilityLevels.md
new file mode 100644
index 00000000..17c68573
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductAvailabilityLevels.md
@@ -0,0 +1,125 @@
+
+# Class ProductAvailabilityLevels
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.ProductAvailabilityLevels](dw.catalog.ProductAvailabilityLevels.md)
+
+Encapsulates the quantity of items available for each availability status.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [backorder](#backorder): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the backorder quantity. |
+| [count](#count): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of attributes that contain non-zero quantities. |
+| [inStock](#instock): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the quantity in stock. |
+| [notAvailable](#notavailable): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the quantity that is not available. |
+| [preorder](#preorder): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the pre-order quantity. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBackorder](dw.catalog.ProductAvailabilityLevels.md#getbackorder)() | Returns the backorder quantity. |
+| [getCount](dw.catalog.ProductAvailabilityLevels.md#getcount)() | Returns the number of attributes that contain non-zero quantities. |
+| [getInStock](dw.catalog.ProductAvailabilityLevels.md#getinstock)() | Returns the quantity in stock. |
+| [getNotAvailable](dw.catalog.ProductAvailabilityLevels.md#getnotavailable)() | Returns the quantity that is not available. |
+| [getPreorder](dw.catalog.ProductAvailabilityLevels.md#getpreorder)() | Returns the pre-order quantity. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### backorder
+- backorder: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the backorder quantity.
+
+
+---
+
+### count
+- count: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of attributes that contain non-zero quantities.
+
+
+---
+
+### inStock
+- inStock: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the quantity in stock.
+
+
+---
+
+### notAvailable
+- notAvailable: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the quantity that is not available.
+
+
+---
+
+### preorder
+- preorder: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the pre-order quantity.
+
+
+---
+
+## Method Details
+
+### getBackorder()
+- getBackorder(): [Quantity](dw.value.Quantity.md)
+ - : Returns the backorder quantity.
+
+ **Returns:**
+ - the backorder quantity.
+
+
+---
+
+### getCount()
+- getCount(): [Number](TopLevel.Number.md)
+ - : Returns the number of attributes that contain non-zero quantities.
+
+ **Returns:**
+ - the number of attributes that contain non-zero quantities.
+
+
+---
+
+### getInStock()
+- getInStock(): [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity in stock.
+
+ **Returns:**
+ - the quantity in stock.
+
+
+---
+
+### getNotAvailable()
+- getNotAvailable(): [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity that is not available.
+
+ **Returns:**
+ - the quantity that is not available.
+
+
+---
+
+### getPreorder()
+- getPreorder(): [Quantity](dw.value.Quantity.md)
+ - : Returns the pre-order quantity.
+
+ **Returns:**
+ - the pre-order quantity.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductAvailabilityModel.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductAvailabilityModel.md
new file mode 100644
index 00000000..a371d9ec
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductAvailabilityModel.md
@@ -0,0 +1,516 @@
+
+# Class ProductAvailabilityModel
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.ProductAvailabilityModel](dw.catalog.ProductAvailabilityModel.md)
+
+The ProductAvailabilityModel provides methods for retrieving all information
+on availability of a single product.
+
+
+
+When using Omnichannel Inventory (OCI):
+
+- OCI supports backorders, but does not support preorders or perpetual availability. OCI refers to expected restocks as Future inventory.
+- OCI uses an eventual consistency model with asynchronous inventory data updates. Your code must not assume that inventory-affecting actions, such as placing orders, will immediately change inventory levels.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [AVAILABILITY_STATUS_BACKORDER](#availability_status_backorder): [String](TopLevel.String.md) = "BACKORDER" | Indicates that the product stock has run out, but will be replenished, and is therefore available for ordering. |
+| [AVAILABILITY_STATUS_IN_STOCK](#availability_status_in_stock): [String](TopLevel.String.md) = "IN_STOCK" | Indicates that the product is in stock and available for ordering. |
+| [AVAILABILITY_STATUS_NOT_AVAILABLE](#availability_status_not_available): [String](TopLevel.String.md) = "NOT_AVAILABLE" | Indicates that the product is not currently available for ordering. |
+| [AVAILABILITY_STATUS_PREORDER](#availability_status_preorder): [String](TopLevel.String.md) = "PREORDER" | Indicates that the product is not yet in stock but is available for ordering. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [SKUCoverage](#skucoverage): [Number](TopLevel.Number.md) `(read-only)` | Returns the SKU coverage of the product. |
+| [availability](#availability): [Number](TopLevel.Number.md) `(read-only)` | Returns the availability of the product, which roughly defined is the ratio of the original stock that is still available to sell. |
+| [availabilityStatus](#availabilitystatus): [String](TopLevel.String.md) `(read-only)` | Returns the availability-status for the minimum-orderable-quantity (MOQ) of the product. |
+| [inStock](#instock): [Boolean](TopLevel.Boolean.md) `(read-only)` | Convenience method for [isInStock(Number)](dw.catalog.ProductAvailabilityModel.md#isinstocknumber). |
+| [inventoryRecord](#inventoryrecord): [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md) `(read-only)` | Returns the ProductInventoryRecord for the Product associated with this model. |
+| [orderable](#orderable): [Boolean](TopLevel.Boolean.md) `(read-only)` | Convenience method for [isOrderable(Number)](dw.catalog.ProductAvailabilityModel.md#isorderablenumber). |
+| [timeToOutOfStock](#timetooutofstock): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of hours before the product is expected to go out of stock. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAvailability](dw.catalog.ProductAvailabilityModel.md#getavailability)() | Returns the availability of the product, which roughly defined is the ratio of the original stock that is still available to sell. |
+| [getAvailabilityLevels](dw.catalog.ProductAvailabilityModel.md#getavailabilitylevelsnumber)([Number](TopLevel.Number.md)) |
Returns an instance of [ProductAvailabilityLevels](dw.catalog.ProductAvailabilityLevels.md), where each available quantity represents a part of the input quantity. | +| [getAvailabilityStatus](dw.catalog.ProductAvailabilityModel.md#getavailabilitystatus)() | Returns the availability-status for the minimum-orderable-quantity (MOQ) of the product. | +| [getInventoryRecord](dw.catalog.ProductAvailabilityModel.md#getinventoryrecord)() | Returns the ProductInventoryRecord for the Product associated with this model. | +| [getSKUCoverage](dw.catalog.ProductAvailabilityModel.md#getskucoverage)() | Returns the SKU coverage of the product. | +| [getTimeToOutOfStock](dw.catalog.ProductAvailabilityModel.md#gettimetooutofstock)() | Returns the number of hours before the product is expected to go out of stock. | +| [isInStock](dw.catalog.ProductAvailabilityModel.md#isinstock)() | Convenience method for [isInStock(Number)](dw.catalog.ProductAvailabilityModel.md#isinstocknumber). | +| [isInStock](dw.catalog.ProductAvailabilityModel.md#isinstocknumber)([Number](TopLevel.Number.md)) | Returns true if the Product is in-stock in the given quantity. | +| [isOrderable](dw.catalog.ProductAvailabilityModel.md#isorderable)() | Convenience method for [isOrderable(Number)](dw.catalog.ProductAvailabilityModel.md#isorderablenumber). | +| [isOrderable](dw.catalog.ProductAvailabilityModel.md#isorderablenumber)([Number](TopLevel.Number.md)) | Returns true if the Product is currently online (based on its online flag and online dates) and the specified quantity does not exceed the quantity available for sale, and returns false otherwise. | + +### Methods inherited from class Object + +[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject) +## Constant Details + +### AVAILABILITY_STATUS_BACKORDER + +- AVAILABILITY_STATUS_BACKORDER: [String](TopLevel.String.md) = "BACKORDER" + - : Indicates that the product stock has run out, but will be replenished, and is therefore available for ordering. + + +--- + +### AVAILABILITY_STATUS_IN_STOCK + +- AVAILABILITY_STATUS_IN_STOCK: [String](TopLevel.String.md) = "IN_STOCK" + - : Indicates that the product is in stock and available for ordering. + + +--- + +### AVAILABILITY_STATUS_NOT_AVAILABLE + +- AVAILABILITY_STATUS_NOT_AVAILABLE: [String](TopLevel.String.md) = "NOT_AVAILABLE" + - : Indicates that the product is not currently available for ordering. + + +--- + +### AVAILABILITY_STATUS_PREORDER + +- AVAILABILITY_STATUS_PREORDER: [String](TopLevel.String.md) = "PREORDER" + - : Indicates that the product is not yet in stock but is available for ordering. + + +--- + +## Property Details + +### SKUCoverage +- SKUCoverage: [Number](TopLevel.Number.md) `(read-only)` + - : Returns the SKU coverage of the product. The basic formula for a + master product is the ratio of online variations that are in stock + to the total number of online variations. The following specific rules + apply for standard products: + + - If the product is in stock this method returns the availability of the product. + - If the product is out of stock this method returns 0. + + The following rules apply for special product types: + + - For a master product this method returns the average SKU coverage of its online variations. + - For a master product with no online variations this method returns 0. + - For a product set this method returns the ratio of orderable SKUs in the product set over the total number of online SKUs in the product set. + - For a product set with no online products this method returns 0. + - For a product bundle this method returns 1 if all of the bundled products are online, and 0 otherwise. + - For a product bundle with no online bundled products this method returns 0. + + + +--- + +### availability +- availability: [Number](TopLevel.Number.md) `(read-only)` + - : Returns the availability of the product, which roughly defined is the + ratio of the original stock that is still available to sell. The basic + formula, if the current site uses an + inventory list, is the ATS quantity divided by allocation + amount. If the product is not orderable at all this method returns 0. + The following specific rules apply for standard products: + + - If inventory lists are in use: + - If no inventory record exists and the inventory list default-in-stock flag is true this method returns 1. + - If no inventory record exists the inventory list default-in-stock flag is false this method returns 0. + - If the product is not available this method returns 0. + - If the product is perpetually available this method returns 1. + - Otherwise, this method returns ATS / (allocation + preorderBackorderAllocation). (Values from [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md).) + + + If inventory lists are not in use the method returns 0. + + The following rules apply for special product types: + + - For a master product this method returns the average availability of its online variations. + - For a master product with no online variations this method returns 0. + - For a master product with own inventory record the rules of the standard products apply. Note: In this case the availability of the variations is not considered. + - For a product set this method returns the greatest availability of the online products in the set. + - For a product set with no online products this method returns 0. + - For a product set with an inventory record the rules of the standard products apply. Note: In this case the availability of the set products is not considered. + - For a bundle, this method returns the least availability of the bundled products according to their bundled quantity and if it exist also from the bundle inventory record. + + + +--- + +### availabilityStatus +- availabilityStatus: [String](TopLevel.String.md) `(read-only)` + - : Returns the availability-status for the minimum-orderable-quantity (MOQ) of + the product. The MOQ essentially represents a single orderable unit, and + therefore can be represented by a single availability-status. This + method is essentially a convenience method. The same information + can be retrieved by calling [getAvailabilityLevels(Number)](dw.catalog.ProductAvailabilityModel.md#getavailabilitylevelsnumber) + with the MOQ of the product as the parameter and then retrieving the + single status from the returned map. + + This method is typically used to display a product's availability in + the catalog when the order quantity is not known. + + + +--- + +### inStock +- inStock: [Boolean](TopLevel.Boolean.md) `(read-only)` + - : Convenience method for [isInStock(Number)](dw.catalog.ProductAvailabilityModel.md#isinstocknumber). Returns true, if the + Product is available in the minimum-order-quantity. If the product does + not have a minimum-order-quantity defined, in-stock is checked for a + quantity value 1. + + + +--- + +### inventoryRecord +- inventoryRecord: [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md) `(read-only)` + - : Returns the ProductInventoryRecord for the Product associated + with this model. + + + +--- + +### orderable +- orderable: [Boolean](TopLevel.Boolean.md) `(read-only)` + - : Convenience method for [isOrderable(Number)](dw.catalog.ProductAvailabilityModel.md#isorderablenumber). Returns true if the + Product is currently online (based on its online flag and online dates) + and is orderable in its minimum-order-quantity. If the product does not + have a minimum-order-quantity specified, then 1 is used. The method + returns false otherwise. + + + Note: Orderable status is more general than in-stock status. A product + may be out-of-stock but orderable because it is back-orderable or + pre-orderable. + + + +--- + +### timeToOutOfStock +- timeToOutOfStock: [Number](TopLevel.Number.md) `(read-only)` + - : Returns the number of hours before the product is expected to go out + of stock. The basic formula is the ATS quantity divided by the + sales velocity for the most recent day. The following specific rules + apply for standard products: + + - If the product is out of stock this method returns 0. + - If the product is perpetually available this method returns 1. + - If the sales velocity or ATS is not available this method returns 0. + - Otherwise this method returns ATS / sales velocity. + + The following rules apply for special product types: + + - For a master product this method returns the greatest time to out of stock of its online variations. + - For a master product with no online variations this method returns 0. + - For a product set this method returns the greatest time to out of stock of the online products in the set. + - For a product set with no online products this method returns 0. + - For a bundle with no product inventory record, this method returns the least time to out of stock of the online bundled products. + - For a bundle with no product inventory record, and no online bundled products, this method returns 0. + + + +--- + +## Method Details + +### getAvailability() +- getAvailability(): [Number](TopLevel.Number.md) + - : Returns the availability of the product, which roughly defined is the + ratio of the original stock that is still available to sell. The basic + formula, if the current site uses an + inventory list, is the ATS quantity divided by allocation + amount. If the product is not orderable at all this method returns 0. + The following specific rules apply for standard products: + + - If inventory lists are in use: + - If no inventory record exists and the inventory list default-in-stock flag is true this method returns 1. + - If no inventory record exists the inventory list default-in-stock flag is false this method returns 0. + - If the product is not available this method returns 0. + - If the product is perpetually available this method returns 1. + - Otherwise, this method returns ATS / (allocation + preorderBackorderAllocation). (Values from [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md).) + + + If inventory lists are not in use the method returns 0. + + The following rules apply for special product types: + + - For a master product this method returns the average availability of its online variations. + - For a master product with no online variations this method returns 0. + - For a master product with own inventory record the rules of the standard products apply. Note: In this case the availability of the variations is not considered. + - For a product set this method returns the greatest availability of the online products in the set. + - For a product set with no online products this method returns 0. + - For a product set with an inventory record the rules of the standard products apply. Note: In this case the availability of the set products is not considered. + - For a bundle, this method returns the least availability of the bundled products according to their bundled quantity and if it exist also from the bundle inventory record. + + + +--- + +### getAvailabilityLevels(Number) +- getAvailabilityLevels(quantity: [Number](TopLevel.Number.md)): [ProductAvailabilityLevels](dw.catalog.ProductAvailabilityLevels.md) + - : + Returns an instance of [ProductAvailabilityLevels](dw.catalog.ProductAvailabilityLevels.md), + where each available quantity represents a part of the input quantity. + This method is typically used to display availability information in + the context of a known order quantity, e.g. a shopping cart. + + + + For example, if for a given product + there are 3 pieces in stock with no pre/backorder handling specified, + and the order quantity is 10, then the return instance would have the + following state: + + - [ProductAvailabilityLevels.getInStock()](dw.catalog.ProductAvailabilityLevels.md#getinstock)- 3 + - [ProductAvailabilityLevels.getPreorder()](dw.catalog.ProductAvailabilityLevels.md#getpreorder)- 0 + - [ProductAvailabilityLevels.getBackorder()](dw.catalog.ProductAvailabilityLevels.md#getbackorder)- 0 + - [ProductAvailabilityLevels.getNotAvailable()](dw.catalog.ProductAvailabilityLevels.md#getnotavailable)- 7 + + + The following assertions can be made about the state of the returned instance. + + - Between 1 and 3 levels are non-zero. + - The sum of the levels equals the input quantity. + - [ProductAvailabilityLevels.getPreorder()](dw.catalog.ProductAvailabilityLevels.md#getpreorder)or [ProductAvailabilityLevels.getBackorder()](dw.catalog.ProductAvailabilityLevels.md#getbackorder)may be available, but not both. + + + + + + Product bundles are handled specially: The availability of product + bundles is calculated based on the availability of the bundled products. + Therefore, if a bundle contains products that are not in stock, then + the bundle itself is not in stock. If all the products in the bundle + are on backorder, then the bundle itself is backordered. If a product + bundle has its own inventory record, then this record may + further limit the availability. If a bundle has no record, then + only the records of the bundled products are considered. + + + + Product masters and product sets without an own inventory record are + handled specially too: The availability is calculated based on the + availability of the variants or set products. A product master or product + set is in stock as soon as one of its variants or set products is in stock. + Each product master or product set availability level reflects the sum of + the variant or set product availability levels up to the specified quantity. + + + + Product masters or product sets with own inventory record are handled like + standard products. The availability of the variants or set products is not + considered. (Such an inventory scenario should be avoided.) + + + + Offline products are always unavailable and will result in returned + levels that are all unavailable. + + + When using Omnichannel Inventory (OCI), future restocks provided by OCI are mapped to + [AVAILABILITY_STATUS_BACKORDER](dw.catalog.ProductAvailabilityModel.md#availability_status_backorder). For more information, see the comments for + [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md). + + + **Parameters:** + - quantity - The quantity to evaluate. + + **Returns:** + - an instance of ProductAvailabilityLevels, which encapsulates the number + of items for each relevant availability-status. + + + **Throws:** + - IllegalArgumentException - if the specified quantity is less or equal than zero + + **See Also:** + - [ProductAvailabilityLevels](dw.catalog.ProductAvailabilityLevels.md) + + +--- + +### getAvailabilityStatus() +- getAvailabilityStatus(): [String](TopLevel.String.md) + - : Returns the availability-status for the minimum-orderable-quantity (MOQ) of + the product. The MOQ essentially represents a single orderable unit, and + therefore can be represented by a single availability-status. This + method is essentially a convenience method. The same information + can be retrieved by calling [getAvailabilityLevels(Number)](dw.catalog.ProductAvailabilityModel.md#getavailabilitylevelsnumber) + with the MOQ of the product as the parameter and then retrieving the + single status from the returned map. + + This method is typically used to display a product's availability in + the catalog when the order quantity is not known. + + + **Returns:** + - the availability-status. + + +--- + +### getInventoryRecord() +- getInventoryRecord(): [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md) + - : Returns the ProductInventoryRecord for the Product associated + with this model. + + + **Returns:** + - the ProductInventoryRecord or null if there is none. + + +--- + +### getSKUCoverage() +- getSKUCoverage(): [Number](TopLevel.Number.md) + - : Returns the SKU coverage of the product. The basic formula for a + master product is the ratio of online variations that are in stock + to the total number of online variations. The following specific rules + apply for standard products: + + - If the product is in stock this method returns the availability of the product. + - If the product is out of stock this method returns 0. + + The following rules apply for special product types: + + - For a master product this method returns the average SKU coverage of its online variations. + - For a master product with no online variations this method returns 0. + - For a product set this method returns the ratio of orderable SKUs in the product set over the total number of online SKUs in the product set. + - For a product set with no online products this method returns 0. + - For a product bundle this method returns 1 if all of the bundled products are online, and 0 otherwise. + - For a product bundle with no online bundled products this method returns 0. + + + +--- + +### getTimeToOutOfStock() +- getTimeToOutOfStock(): [Number](TopLevel.Number.md) + - : Returns the number of hours before the product is expected to go out + of stock. The basic formula is the ATS quantity divided by the + sales velocity for the most recent day. The following specific rules + apply for standard products: + + - If the product is out of stock this method returns 0. + - If the product is perpetually available this method returns 1. + - If the sales velocity or ATS is not available this method returns 0. + - Otherwise this method returns ATS / sales velocity. + + The following rules apply for special product types: + + - For a master product this method returns the greatest time to out of stock of its online variations. + - For a master product with no online variations this method returns 0. + - For a product set this method returns the greatest time to out of stock of the online products in the set. + - For a product set with no online products this method returns 0. + - For a bundle with no product inventory record, this method returns the least time to out of stock of the online bundled products. + - For a bundle with no product inventory record, and no online bundled products, this method returns 0. + + + +--- + +### isInStock() +- isInStock(): [Boolean](TopLevel.Boolean.md) + - : Convenience method for [isInStock(Number)](dw.catalog.ProductAvailabilityModel.md#isinstocknumber). Returns true, if the + Product is available in the minimum-order-quantity. If the product does + not have a minimum-order-quantity defined, in-stock is checked for a + quantity value 1. + + + **Returns:** + - true if the Product is in stock, otherwise false. + + +--- + +### isInStock(Number) +- isInStock(quantity: [Number](TopLevel.Number.md)): [Boolean](TopLevel.Boolean.md) + - : Returns true if the Product is in-stock in the given quantity. This is + determined as follows: + + 1. If the product is not currently online (based on its online flag and online dates), then return false. + 2. If there is no inventory-list for the current site, then return false. + 3. If there is no inventory-record for the product, then return the default setting on the inventory-list. + 4. If there is no allocation-amount on the inventory-record, then return the value of the perpetual-flag. + 5. If there is an allocation-amount, but the perpetual-flag is true, then return true. + 6. If the quantity is less than or equal to the stock-level, then return true. + 7. Otherwise return false. + + + **Parameters:** + - quantity - the quantity that is requested + + **Returns:** + - true if the Product is in-stock. + + **Throws:** + - Exception - if the specified quantity is less or equal than zero + + +--- + +### isOrderable() +- isOrderable(): [Boolean](TopLevel.Boolean.md) + - : Convenience method for [isOrderable(Number)](dw.catalog.ProductAvailabilityModel.md#isorderablenumber). Returns true if the + Product is currently online (based on its online flag and online dates) + and is orderable in its minimum-order-quantity. If the product does not + have a minimum-order-quantity specified, then 1 is used. The method + returns false otherwise. + + + Note: Orderable status is more general than in-stock status. A product + may be out-of-stock but orderable because it is back-orderable or + pre-orderable. + + + **Returns:** + - true if the Product is orderable for the minimum-order-quantity + of the product. + + + +--- + +### isOrderable(Number) +- isOrderable(quantity: [Number](TopLevel.Number.md)): [Boolean](TopLevel.Boolean.md) + - : Returns true if the Product is currently online (based on its online flag + and online dates) and the specified quantity does not exceed the quantity + available for sale, and returns false otherwise. + + + Note: Orderable status is more general than in-stock status. A product + may be out-of-stock but orderable because it is back-orderable or + pre-orderable. + + + **Parameters:** + - quantity - the quantity to test against. + + **Returns:** + - true if the item can be ordered in the specified quantity. + + **Throws:** + - Exception - if the specified quantity is less or equal than zero + + +--- + + diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductInventoryList.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductInventoryList.md new file mode 100644 index 00000000..eff44e1f --- /dev/null +++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductInventoryList.md @@ -0,0 +1,136 @@ + +# Class ProductInventoryList + +- [TopLevel.Object](TopLevel.Object.md) + - [dw.object.PersistentObject](dw.object.PersistentObject.md) + - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md) + - [dw.catalog.ProductInventoryList](dw.catalog.ProductInventoryList.md) + +The ProductInventoryList provides access to ID, description and defaultInStockFlag of the list. Furthermore inventory +records can be accessed by product or product ID. + + +When using Omnichannel Inventory (OCI): + +- B2C Commerce uses ProductInventoryLists to reference and expose OCI Locations and Location Groups. They're required for synchronizing availability data and creating reservations. +- Create a ProductInventoryList in B2C Commerce for each OCI Location and Location Group that B2C Commerce will access. The ProductInventoryList ID must match the External Reference field on the corresponding Location or Location Group. +- A ProductInventoryList ID/External Reference must have between 2 and 128 characters (inclusive). It can include only lowercase letters, uppercase letters, digits, hyphens, and underscores. + + + +## Property Summary + +| Property | Description | +| --- | --- | +| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the inventory list. | +| [defaultInStockFlag](#defaultinstockflag): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the default in-stock flag of the inventory list. | +| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the description of the inventory list. | + +## Constructor Summary + +This class does not have a constructor, so you cannot create it directly. +## Method Summary + +| Method | Description | +| --- | --- | +| [getDefaultInStockFlag](dw.catalog.ProductInventoryList.md#getdefaultinstockflag)() | Returns the default in-stock flag of the inventory list. | +| [getDescription](dw.catalog.ProductInventoryList.md#getdescription)() | Returns the description of the inventory list. | +| [getID](dw.catalog.ProductInventoryList.md#getid)() | Returns the ID of the inventory list. | +| [getRecord](dw.catalog.ProductInventoryList.md#getrecordproduct)([Product](dw.catalog.Product.md)) | Returns the inventory record for the specified product or null if there is no record for the product in this list. | +| [getRecord](dw.catalog.ProductInventoryList.md#getrecordstring)([String](TopLevel.String.md)) | Returns the inventory record for the specified product ID or null if there is no record for the product id in this list. | + +### Methods inherited from class ExtensibleObject + +[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom) +### Methods inherited from class PersistentObject + +[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid) +### Methods inherited from class Object + +[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject) +## Property Details + +### ID +- ID: [String](TopLevel.String.md) `(read-only)` + - : Returns the ID of the inventory list. + + +--- + +### defaultInStockFlag +- defaultInStockFlag: [Boolean](TopLevel.Boolean.md) `(read-only)` + - : Returns the default in-stock flag of the inventory list. + + +--- + +### description +- description: [String](TopLevel.String.md) `(read-only)` + - : Returns the description of the inventory list. + + +--- + +## Method Details + +### getDefaultInStockFlag() +- getDefaultInStockFlag(): [Boolean](TopLevel.Boolean.md) + - : Returns the default in-stock flag of the inventory list. + + **Returns:** + - Default in-stock flag of inventory list. + + +--- + +### getDescription() +- getDescription(): [String](TopLevel.String.md) + - : Returns the description of the inventory list. + + **Returns:** + - Description of inventory list. + + +--- + +### getID() +- getID(): [String](TopLevel.String.md) + - : Returns the ID of the inventory list. + + **Returns:** + - ID of inventory list. + + +--- + +### getRecord(Product) +- getRecord(product: [Product](dw.catalog.Product.md)): [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md) + - : Returns the inventory record for the specified product or null + if there is no record for the product in this list. + + + **Parameters:** + - product - The product to lookup inventory record. + + **Returns:** + - Inventory record or `null` if not found. + + +--- + +### getRecord(String) +- getRecord(productID: [String](TopLevel.String.md)): [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md) + - : Returns the inventory record for the specified product ID or null + if there is no record for the product id in this list. + + + **Parameters:** + - productID - The product ID to lookup inventory record. + + **Returns:** + - Inventory record or `null` if not found. + + +--- + + diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductInventoryMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductInventoryMgr.md new file mode 100644 index 00000000..a2c2bac8 --- /dev/null +++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductInventoryMgr.md @@ -0,0 +1,132 @@ + +# Class ProductInventoryMgr + +- [TopLevel.Object](TopLevel.Object.md) + - [dw.catalog.ProductInventoryMgr](dw.catalog.ProductInventoryMgr.md) + +This manager provides access to inventory-related objects. + + +## Constant Summary + +| Constant | Description | +| --- | --- | +| [INTEGRATIONMODE_B2C](#integrationmode_b2c): [String](TopLevel.String.md) = "B2C" | Integration mode 'B2C' - using B2C inventory, no integration with Omnichannel Inventory | +| [INTEGRATIONMODE_OCI](#integrationmode_oci): [String](TopLevel.String.md) = "OCI" | Integration mode 'OCI' - integration with Omnichannel Inventory enabled | +| [INTEGRATIONMODE_OCI_CACHE](#integrationmode_oci_cache): [String](TopLevel.String.md) = "OCI_CACHE" | Integration mode 'OCI\_CACHE' - using B2C inventory, initializing cache as preparation for integration with Omnichannel Inventory | + +## Property Summary + +| Property | Description | +| --- | --- | +| [inventoryIntegrationMode](#inventoryintegrationmode): [String](TopLevel.String.md) `(read-only)` | Returns the current inventory integration mode as one of
Returns a list of inventory IDs that were specified in the search query or an empty list if no inventory ID set. | +| [orderableProductsOnly](#orderableproductsonly): [Boolean](TopLevel.Boolean.md) | Get the flag indicating whether unorderable products should be excluded when the next call to getProducts() is made. | +| [pageMetaTags](#pagemetatags): [Array](TopLevel.Array.md) `(read-only)` | Returns all page meta tags, defined for this instance for which content can be generated. | +| [personalizedSort](#personalizedsort): [Boolean](TopLevel.Boolean.md) `(read-only)` | The method indicates if the search result is ordered by a personalized sorting rule. | +| [priceMax](#pricemax): [Number](TopLevel.Number.md) | Returns the maximum price by which the search result is refined. | +| [priceMin](#pricemin): [Number](TopLevel.Number.md) | Returns the minimum price by which the search result is refined. | +| ~~[productID](#productid): [String](TopLevel.String.md)~~ | Returns the product id that was specified in the search query. | +| [productIDs](#productids): [List](dw.util.List.md) | Returns a list of product IDs that were specified in the search query or an empty list if no product ID set. | +| [productSearchHits](#productsearchhits): [Iterator](dw.util.Iterator.md) `(read-only)` | Returns the product search hits in the search result. | +| ~~[products](#products): [Iterator](dw.util.Iterator.md)~~ `(read-only)` | Returns all products in the search result. | +| [promotionID](#promotionid): [String](TopLevel.String.md) | Returns the promotion id that was specified in the search query or null if no promotion id set. | +| [promotionIDs](#promotionids): [List](dw.util.List.md) | Returns a list of promotion id's that were specified in the search query or an empty list if no promotion id set. | +| [promotionProductType](#promotionproducttype): [String](TopLevel.String.md) | Returns the promotion product type specified in the search query. | +| [recursiveCategorySearch](#recursivecategorysearch): [Boolean](TopLevel.Boolean.md) | Get the flag that determines if the category search will be recursive. | +| [refinedByCategory](#refinedbycategory): [Boolean](TopLevel.Boolean.md) `(read-only)` | The method returns true, if the search is refined by a category. | +| [refinedByPrice](#refinedbyprice): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this search has been refined by price. | +| [refinedByPromotion](#refinedbypromotion): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this search has been refined by promotion. | +| [refinedCategorySearch](#refinedcategorysearch): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this is a category search and is refined with further criteria, like a brand refinement or an attribute refinement. | +| [refinementCategory](#refinementcategory): [Category](dw.catalog.Category.md) | Returns the category used to determine possible refinements for the search. | +| [refinements](#refinements): [ProductSearchRefinements](dw.catalog.ProductSearchRefinements.md) `(read-only)` | Returns the ProductSearchRefinements associated with this search and filtered by session currency. | +| [searchPhraseSuggestions](#searchphrasesuggestions): [SearchPhraseSuggestions](dw.suggest.SearchPhraseSuggestions.md) `(read-only)` | Returns search phrase suggestions for the current search phrase. | +| [searchableImageUploadURL](#searchableimageuploadurl): [String](TopLevel.String.md) `(read-only)` | This method returns the URL of the endpoint where the merchants should upload their image for visual search. | +| [sortingRule](#sortingrule): [SortingRule](dw.catalog.SortingRule.md) | Returns the sorting rule explicitly set on this model to be used to order the products in the results of this query, or `null` if no rule has been explicitly set. | +| [storeInventoryFilter](#storeinventoryfilter): [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md) |
Returns the [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md), which was specified for this search. | +| ~~[suggestedSearchPhrase](#suggestedsearchphrase): [String](TopLevel.String.md)~~ `(read-only)` | Returns the suggested search phrase with the highest accuracy provided for the current search phrase. | +| ~~[suggestedSearchPhrases](#suggestedsearchphrases): [List](dw.util.List.md)~~ `(read-only)` | Returns a list with up to 5 suggested search phrases provided for the current search phrase. | +| [trackingEmptySearchesEnabled](#trackingemptysearchesenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | The method indicates if no-hits search should be tracked for predictive intelligence use. | +| [visualSearch](#visualsearch): [Boolean](TopLevel.Boolean.md) `(read-only)` | The method returns true, if this is a visual search. | + +## Constructor Summary + +| Constructor | Description | +| --- | --- | +| [ProductSearchModel](#productsearchmodel)() | Constructs a new ProductSearchModel. | + +## Method Summary + +| Method | Description | +| --- | --- | +| [addHitTypeRefinement](dw.catalog.ProductSearchModel.md#addhittyperefinementstring)([String...](TopLevel.String.md)) | Set the only search hit types to be included from the search. | +| [excludeHitType](dw.catalog.ProductSearchModel.md#excludehittypestring)([String...](TopLevel.String.md)) | Set the search hit types to be excluded from the search. | +| [getCategory](dw.catalog.ProductSearchModel.md#getcategory)() | Returns the category object for the category id specified in the query. | +| [getCategoryID](dw.catalog.ProductSearchModel.md#getcategoryid)() | Returns the category id that was specified in the search query. | +| [getDeepestCommonCategory](dw.catalog.ProductSearchModel.md#getdeepestcommoncategory)() | Returns the deepest common category of all products in the search result. | +| [getEffectiveSortingRule](dw.catalog.ProductSearchModel.md#geteffectivesortingrule)() | Returns the sorting rule used to order the products in the results of this query, or `null` if no search has been executed yet. | +| [getInventoryIDs](dw.catalog.ProductSearchModel.md#getinventoryids)() |
Returns a list of inventory IDs that were specified in the search query or an empty list if no inventory ID set. | +| [getOrderableProductsOnly](dw.catalog.ProductSearchModel.md#getorderableproductsonly)() | Get the flag indicating whether unorderable products should be excluded when the next call to getProducts() is made. | +| [getPageMetaTag](dw.catalog.ProductSearchModel.md#getpagemetatagstring)([String](TopLevel.String.md)) | Returns the page meta tag for the specified id. | +| [getPageMetaTags](dw.catalog.ProductSearchModel.md#getpagemetatags)() | Returns all page meta tags, defined for this instance for which content can be generated. | +| [getPriceMax](dw.catalog.ProductSearchModel.md#getpricemax)() | Returns the maximum price by which the search result is refined. | +| [getPriceMin](dw.catalog.ProductSearchModel.md#getpricemin)() | Returns the minimum price by which the search result is refined. | +| ~~[getProductID](dw.catalog.ProductSearchModel.md#getproductid)()~~ | Returns the product id that was specified in the search query. | +| [getProductIDs](dw.catalog.ProductSearchModel.md#getproductids)() | Returns a list of product IDs that were specified in the search query or an empty list if no product ID set. | +| [getProductSearchHit](dw.catalog.ProductSearchModel.md#getproductsearchhitproduct)([Product](dw.catalog.Product.md)) | Returns the underlying ProductSearchHit for a product, or null if no ProductSearchHit found for this product. | +| [getProductSearchHits](dw.catalog.ProductSearchModel.md#getproductsearchhits)() | Returns the product search hits in the search result. | +| ~~[getProducts](dw.catalog.ProductSearchModel.md#getproducts)()~~ | Returns all products in the search result. | +| [getPromotionID](dw.catalog.ProductSearchModel.md#getpromotionid)() | Returns the promotion id that was specified in the search query or null if no promotion id set. | +| [getPromotionIDs](dw.catalog.ProductSearchModel.md#getpromotionids)() | Returns a list of promotion id's that were specified in the search query or an empty list if no promotion id set. | +| [getPromotionProductType](dw.catalog.ProductSearchModel.md#getpromotionproducttype)() | Returns the promotion product type specified in the search query. | +| [getRefinementCategory](dw.catalog.ProductSearchModel.md#getrefinementcategory)() | Returns the category used to determine possible refinements for the search. | +| [getRefinements](dw.catalog.ProductSearchModel.md#getrefinements)() | Returns the ProductSearchRefinements associated with this search and filtered by session currency. | +| [getSearchPhraseSuggestions](dw.catalog.ProductSearchModel.md#getsearchphrasesuggestions)() | Returns search phrase suggestions for the current search phrase. | +| [getSearchableImageUploadURL](dw.catalog.ProductSearchModel.md#getsearchableimageuploadurl)() | This method returns the URL of the endpoint where the merchants should upload their image for visual search. | +| [getSortingRule](dw.catalog.ProductSearchModel.md#getsortingrule)() | Returns the sorting rule explicitly set on this model to be used to order the products in the results of this query, or `null` if no rule has been explicitly set. | +| [getStoreInventoryFilter](dw.catalog.ProductSearchModel.md#getstoreinventoryfilter)() |
Returns the [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md), which was specified for this search. | +| ~~[getSuggestedSearchPhrase](dw.catalog.ProductSearchModel.md#getsuggestedsearchphrase)()~~ | Returns the suggested search phrase with the highest accuracy provided for the current search phrase. | +| ~~[getSuggestedSearchPhrases](dw.catalog.ProductSearchModel.md#getsuggestedsearchphrases)()~~ | Returns a list with up to 5 suggested search phrases provided for the current search phrase. | +| [isCategorySearch](dw.catalog.ProductSearchModel.md#iscategorysearch)() | The method returns true, if this is a pure search for a category. | +| [isPersonalizedSort](dw.catalog.ProductSearchModel.md#ispersonalizedsort)() | The method indicates if the search result is ordered by a personalized sorting rule. | +| [isRecursiveCategorySearch](dw.catalog.ProductSearchModel.md#isrecursivecategorysearch)() | Get the flag that determines if the category search will be recursive. | +| [isRefinedByCategory](dw.catalog.ProductSearchModel.md#isrefinedbycategory)() | The method returns true, if the search is refined by a category. | +| [isRefinedByPrice](dw.catalog.ProductSearchModel.md#isrefinedbyprice)() | Identifies if this search has been refined by price. | +| [isRefinedByPriceRange](dw.catalog.ProductSearchModel.md#isrefinedbypricerangenumber-number)([Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Identifies if this search has been refined by the given price range. | +| [isRefinedByPromotion](dw.catalog.ProductSearchModel.md#isrefinedbypromotion)() | Identifies if this search has been refined by promotion. | +| [isRefinedByPromotion](dw.catalog.ProductSearchModel.md#isrefinedbypromotionstring)([String](TopLevel.String.md)) | Identifies if this search has been refined by a given promotion. | +| [isRefinedCategorySearch](dw.catalog.ProductSearchModel.md#isrefinedcategorysearch)() | Identifies if this is a category search and is refined with further criteria, like a brand refinement or an attribute refinement. | +| [isTrackingEmptySearchesEnabled](dw.catalog.ProductSearchModel.md#istrackingemptysearchesenabled)() | The method indicates if no-hits search should be tracked for predictive intelligence use. | +| [isVisualSearch](dw.catalog.ProductSearchModel.md#isvisualsearch)() | The method returns true, if this is a visual search. | +| [search](dw.catalog.ProductSearchModel.md#search)() | Execute the search based on the configured search term, category and filter conditions (price, attribute, promotion, product type) and return the execution status. | +| [setCategoryID](dw.catalog.ProductSearchModel.md#setcategoryidstring)([String](TopLevel.String.md)) | Specifies the category id used for the search query. | +| [setEnableTrackingEmptySearches](dw.catalog.ProductSearchModel.md#setenabletrackingemptysearchesboolean)([Boolean](TopLevel.Boolean.md)) | Set a flag indicating whether no-hits search should be tracked for predictive intelligence use. | +| [setInventoryListIDs](dw.catalog.ProductSearchModel.md#setinventorylistidslist)([List](dw.util.List.md)) |
Specifies multiple inventory list IDs used for the search query. | +| [setOrderableProductsOnly](dw.catalog.ProductSearchModel.md#setorderableproductsonlyboolean)([Boolean](TopLevel.Boolean.md)) | Set a flag indicating whether unorderable products should be excluded when the next call to getProducts() is made. | +| [setPriceMax](dw.catalog.ProductSearchModel.md#setpricemaxnumber)([Number](TopLevel.Number.md)) | Sets the maximum price by which the search result is to be refined. | +| [setPriceMin](dw.catalog.ProductSearchModel.md#setpriceminnumber)([Number](TopLevel.Number.md)) | Sets the minimum price by which the search result is to be refined. | +| ~~[setProductID](dw.catalog.ProductSearchModel.md#setproductidstring)([String](TopLevel.String.md))~~ | Specifies the product id used for the search query. | +| [setProductIDs](dw.catalog.ProductSearchModel.md#setproductidslist)([List](dw.util.List.md)) | Specifies multiple product IDs used for the search query. | +| [setPromotionID](dw.catalog.ProductSearchModel.md#setpromotionidstring)([String](TopLevel.String.md)) | Specifies the promotion id used for the search query. | +| [setPromotionIDs](dw.catalog.ProductSearchModel.md#setpromotionidslist)([List](dw.util.List.md)) | Specifies multiple promotion id's used for the search query. | +| [setPromotionProductType](dw.catalog.ProductSearchModel.md#setpromotionproducttypestring)([String](TopLevel.String.md)) | Specifies the promotion product type used for the search query. | +| [setRecursiveCategorySearch](dw.catalog.ProductSearchModel.md#setrecursivecategorysearchboolean)([Boolean](TopLevel.Boolean.md)) | Set a flag to indicate if the search in category should be recursive. | +| [setRefinementCategory](dw.catalog.ProductSearchModel.md#setrefinementcategorycategory)([Category](dw.catalog.Category.md)) | Sets an explicit category to be used when determining refinements. | +| [setSearchableImageID](dw.catalog.ProductSearchModel.md#setsearchableimageidstring)([String](TopLevel.String.md)) | An image ID can be retrieved by uploading an image with a multipart/form-data POST request to 'https://api.cquotient.com/v3/image/search/upload/{siteID}'. | +| ~~[setSortingCondition](dw.catalog.ProductSearchModel.md#setsortingconditionstring-number)([String](TopLevel.String.md), [Number](TopLevel.Number.md))~~ | Sets or removes a sorting condition for the specified attribute. | +| [setSortingOption](dw.catalog.ProductSearchModel.md#setsortingoptionsortingoption)([SortingOption](dw.catalog.SortingOption.md)) | Sets the sorting option to be used to order the products in the results of this query. | +| [setSortingRule](dw.catalog.ProductSearchModel.md#setsortingrulesortingrule)([SortingRule](dw.catalog.SortingRule.md)) | Sets the sorting rule to be used to order the products in the results of this query. | +| [setStoreInventoryFilter](dw.catalog.ProductSearchModel.md#setstoreinventoryfilterstoreinventoryfilter)([StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md)) |
Filters the search result by one or more inventory list IDs provided by the class [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md) which supports a semantic URL parameter like zip, city, store ... |
+| static [urlForCategory](dw.catalog.ProductSearchModel.md#urlforcategoryurl-string)([URL](dw.web.URL.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to execute a query for a specific Category. |
+| static [urlForCategory](dw.catalog.ProductSearchModel.md#urlforcategorystring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to execute a query for a specific Category. |
+| static [urlForProduct](dw.catalog.ProductSearchModel.md#urlforproducturl-string-string)([URL](dw.web.URL.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to execute a query for a specific Product. |
+| static [urlForProduct](dw.catalog.ProductSearchModel.md#urlforproductstring-string-string)([String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to execute a query for a specific Product. |
+| static [urlForRefine](dw.catalog.ProductSearchModel.md#urlforrefineurl-string-string)([URL](dw.web.URL.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to execute a query for a specific attribute name-value pair. |
+| static [urlForRefine](dw.catalog.ProductSearchModel.md#urlforrefinestring-string-string)([String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to execute a query for a specific attribute name-value pair. |
+| [urlRefineCategory](dw.catalog.ProductSearchModel.md#urlrefinecategoryurl-string)([URL](dw.web.URL.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to re-execute the query with a category refinement. |
+| [urlRefineCategory](dw.catalog.ProductSearchModel.md#urlrefinecategorystring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to re-execute the query with a category refinement. |
+| [urlRefinePrice](dw.catalog.ProductSearchModel.md#urlrefinepriceurl-number-number)([URL](dw.web.URL.md), [Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Constructs a URL that you can use to re-execute the query with an additional price filter. |
+| [urlRefinePrice](dw.catalog.ProductSearchModel.md#urlrefinepricestring-number-number)([String](TopLevel.String.md), [Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Constructs a URL that you can use to re-execute the query with an additional price filter. |
+| [urlRefinePromotion](dw.catalog.ProductSearchModel.md#urlrefinepromotionurl-string)([URL](dw.web.URL.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to re-execute the query with a promotion refinement. |
+| [urlRefinePromotion](dw.catalog.ProductSearchModel.md#urlrefinepromotionstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Constructs a URL that you can use to re-execute the query with a promotion refinement. |
+| [urlRelaxCategory](dw.catalog.ProductSearchModel.md#urlrelaxcategoryurl)([URL](dw.web.URL.md)) | Constructs a URL that you can use to re-execute the query without any category refinement. |
+| [urlRelaxCategory](dw.catalog.ProductSearchModel.md#urlrelaxcategorystring)([String](TopLevel.String.md)) | Constructs a URL that you can use to re-execute the query without any category refinement. |
+| [urlRelaxPrice](dw.catalog.ProductSearchModel.md#urlrelaxpriceurl)([URL](dw.web.URL.md)) | Constructs a URL that you can use to would re-execute the query with no price filter. |
+| [urlRelaxPrice](dw.catalog.ProductSearchModel.md#urlrelaxpricestring)([String](TopLevel.String.md)) | Constructs a URL that you can use to re-execute the query with no price filter. |
+| [urlRelaxPromotion](dw.catalog.ProductSearchModel.md#urlrelaxpromotionurl)([URL](dw.web.URL.md)) | Constructs a URL that you can use to re-execute the query without any promotion refinement. |
+| [urlRelaxPromotion](dw.catalog.ProductSearchModel.md#urlrelaxpromotionstring)([String](TopLevel.String.md)) | Constructs a URL that you can use to re-execute the query without any promotion refinement. |
+| [urlSortingOption](dw.catalog.ProductSearchModel.md#urlsortingoptionurl-sortingoption)([URL](dw.web.URL.md), [SortingOption](dw.catalog.SortingOption.md)) | Constructs a URL that you can use to re-execute the query but sort the results by the given storefront sorting option. |
+| [urlSortingOption](dw.catalog.ProductSearchModel.md#urlsortingoptionstring-sortingoption)([String](TopLevel.String.md), [SortingOption](dw.catalog.SortingOption.md)) | Constructs a URL that you can use to re-execute the query but sort the results by the given storefront sorting option. |
+| [urlSortingRule](dw.catalog.ProductSearchModel.md#urlsortingruleurl-sortingrule)([URL](dw.web.URL.md), [SortingRule](dw.catalog.SortingRule.md)) | Constructs a URL that you can use to re-execute the query but sort the results by the given rule. |
+| [urlSortingRule](dw.catalog.ProductSearchModel.md#urlsortingrulestring-sortingrule)([String](TopLevel.String.md), [SortingRule](dw.catalog.SortingRule.md)) | Constructs a URL that you can use to re-execute the query but sort the results by the given rule. |
+
+### Methods inherited from class SearchModel
+
+[addRefinementValues](dw.catalog.SearchModel.md#addrefinementvaluesstring-string), [canRelax](dw.catalog.SearchModel.md#canrelax), [getCount](dw.catalog.SearchModel.md#getcount), [getRefinementMaxValue](dw.catalog.SearchModel.md#getrefinementmaxvaluestring), [getRefinementMinValue](dw.catalog.SearchModel.md#getrefinementminvaluestring), [getRefinementValue](dw.catalog.SearchModel.md#getrefinementvaluestring), [getRefinementValues](dw.catalog.SearchModel.md#getrefinementvaluesstring), [getSearchPhrase](dw.catalog.SearchModel.md#getsearchphrase), [getSearchRedirect](dw.catalog.SearchModel.md#getsearchredirectstring), [getSortingCondition](dw.catalog.SearchModel.md#getsortingconditionstring), [isEmptyQuery](dw.catalog.SearchModel.md#isemptyquery), [isRefinedByAttribute](dw.catalog.SearchModel.md#isrefinedbyattribute), [isRefinedByAttribute](dw.catalog.SearchModel.md#isrefinedbyattributestring), [isRefinedByAttributeValue](dw.catalog.SearchModel.md#isrefinedbyattributevaluestring-string), [isRefinedSearch](dw.catalog.SearchModel.md#isrefinedsearch), [isRefinementByValueRange](dw.catalog.SearchModel.md#isrefinementbyvaluerangestring), [isRefinementByValueRange](dw.catalog.SearchModel.md#isrefinementbyvaluerangestring-string-string), [removeRefinementValues](dw.catalog.SearchModel.md#removerefinementvaluesstring-string), [search](dw.catalog.SearchModel.md#search), [setRefinementValueRange](dw.catalog.SearchModel.md#setrefinementvaluerangestring-string-string), [setRefinementValues](dw.catalog.SearchModel.md#setrefinementvaluesstring-string), [setSearchPhrase](dw.catalog.SearchModel.md#setsearchphrasestring), [setSortingCondition](dw.catalog.SearchModel.md#setsortingconditionstring-number), [url](dw.catalog.SearchModel.md#urlurl), [url](dw.catalog.SearchModel.md#urlstring), [urlDefaultSort](dw.catalog.SearchModel.md#urldefaultsorturl), [urlDefaultSort](dw.catalog.SearchModel.md#urldefaultsortstring), [urlRefineAttribute](dw.catalog.SearchModel.md#urlrefineattributeurl-string-string), [urlRefineAttribute](dw.catalog.SearchModel.md#urlrefineattributestring-string-string), [urlRefineAttributeValue](dw.catalog.SearchModel.md#urlrefineattributevalueurl-string-string), [urlRefineAttributeValue](dw.catalog.SearchModel.md#urlrefineattributevaluestring-string-string), [urlRefineAttributeValueRange](dw.catalog.SearchModel.md#urlrefineattributevaluerangestring-string-string-string), [urlRelaxAttribute](dw.catalog.SearchModel.md#urlrelaxattributeurl-string), [urlRelaxAttribute](dw.catalog.SearchModel.md#urlrelaxattributestring-string), [urlRelaxAttributeValue](dw.catalog.SearchModel.md#urlrelaxattributevalueurl-string-string), [urlRelaxAttributeValue](dw.catalog.SearchModel.md#urlrelaxattributevaluestring-string-string), [urlSort](dw.catalog.SearchModel.md#urlsorturl-string-number), [urlSort](dw.catalog.SearchModel.md#urlsortstring-string-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### CATEGORYID_PARAMETER
+
+- CATEGORYID_PARAMETER: [String](TopLevel.String.md) = "cgid"
+ - : URL Parameter for the category ID
+
+
+---
+
+### INVENTORY_LIST_IDS_PARAMETER
+
+- INVENTORY_LIST_IDS_PARAMETER: [String](TopLevel.String.md) = "ilids"
+ - : URL Parameter for the inventory list IDs
+
+
+---
+
+### MAXIMUM_INVENTORY_LIST_IDS
+
+- MAXIMUM_INVENTORY_LIST_IDS: [Number](TopLevel.Number.md) = 10
+ - : The maximum number of inventory list IDs that can be passed to [setInventoryListIDs(List)](dw.catalog.ProductSearchModel.md#setinventorylistidslist)
+
+
+---
+
+### MAXIMUM_PRODUCT_IDS
+
+- MAXIMUM_PRODUCT_IDS: [Number](TopLevel.Number.md) = 30
+ - : The maximum number of product IDs that can be passed to [setProductIDs(List)](dw.catalog.ProductSearchModel.md#setproductidslist)
+
+
+---
+
+### MAXIMUM_STORE_INVENTORY_FILTER_VALUES
+
+- MAXIMUM_STORE_INVENTORY_FILTER_VALUES: [Number](TopLevel.Number.md) = 10
+ - : The maximum number of store inventory values for a store inventory filter that can be passed to
+ [setStoreInventoryFilter(StoreInventoryFilter)](dw.catalog.ProductSearchModel.md#setstoreinventoryfilterstoreinventoryfilter)
+
+
+
+---
+
+### PRICE_MAX_PARAMETER
+
+- PRICE_MAX_PARAMETER: [String](TopLevel.String.md) = "pmax"
+ - : URL Parameter for the maximum price
+
+
+---
+
+### PRICE_MIN_PARAMETER
+
+- PRICE_MIN_PARAMETER: [String](TopLevel.String.md) = "pmin"
+ - : URL Parameter for the minimum price
+
+
+---
+
+### PRODUCTID_PARAMETER
+
+- PRODUCTID_PARAMETER: [String](TopLevel.String.md) = "pid"
+ - : URL Parameter for the product ID
+
+
+---
+
+### PROMOTIONID_PARAMETER
+
+- PROMOTIONID_PARAMETER: [String](TopLevel.String.md) = "pmid"
+ - : URL Parameter for the promotion ID
+
+
+---
+
+### PROMOTION_PRODUCT_TYPE_ALL
+
+- PROMOTION_PRODUCT_TYPE_ALL: [String](TopLevel.String.md) = "all"
+ - : constant indicating that all related products should be returned for the next product search by promotion ID
+
+
+---
+
+### PROMOTION_PRODUCT_TYPE_BONUS
+
+- PROMOTION_PRODUCT_TYPE_BONUS: [String](TopLevel.String.md) = "bonus"
+ - : constant indicating that only bonus products should be returned for the next product search by promotion ID. This
+ constant should be set using [setPromotionProductType(String)](dw.catalog.ProductSearchModel.md#setpromotionproducttypestring) when using the search model to find the
+ available list of bonus products for a Choice of Bonus Product (Rule) promotion, along with
+ [setPromotionID(String)](dw.catalog.ProductSearchModel.md#setpromotionidstring).
+
+
+
+---
+
+### PROMOTION_PRODUCT_TYPE_DISCOUNTED
+
+- PROMOTION_PRODUCT_TYPE_DISCOUNTED: [String](TopLevel.String.md) = "discounted"
+ - : constant indicating that only discounted products should be returned for the next product search by promotion ID
+
+
+---
+
+### PROMOTION_PRODUCT_TYPE_PARAMETER
+
+- PROMOTION_PRODUCT_TYPE_PARAMETER: [String](TopLevel.String.md) = "pmpt"
+ - : URL Parameter for the promotion product type
+
+
+---
+
+### PROMOTION_PRODUCT_TYPE_QUALIFYING
+
+- PROMOTION_PRODUCT_TYPE_QUALIFYING: [String](TopLevel.String.md) = "qualifying"
+ - : constant indicating that only qualifying products should be returned for the next product search by promotion ID
+
+
+---
+
+### REFINE_NAME_PARAMETER_PREFIX
+
+- REFINE_NAME_PARAMETER_PREFIX: [String](TopLevel.String.md) = "prefn"
+ - : URL Parameter prefix for a refinement name
+
+
+---
+
+### REFINE_VALUE_PARAMETER_PREFIX
+
+- REFINE_VALUE_PARAMETER_PREFIX: [String](TopLevel.String.md) = "prefv"
+ - : URL Parameter prefix for a refinement value
+
+
+---
+
+### SORTING_OPTION_PARAMETER
+
+- SORTING_OPTION_PARAMETER: [String](TopLevel.String.md) = "sopt"
+ - : URL Parameter prefix for a sorting option
+
+
+---
+
+### SORTING_RULE_PARAMETER
+
+- SORTING_RULE_PARAMETER: [String](TopLevel.String.md) = "srule"
+ - : URL Parameter prefix for a sorting rule
+
+
+---
+
+### SORT_BY_PARAMETER_PREFIX
+
+- SORT_BY_PARAMETER_PREFIX: [String](TopLevel.String.md) = "psortb"
+ - : URL Parameter prefix for a refinement value
+
+
+---
+
+### SORT_DIRECTION_PARAMETER_PREFIX
+
+- SORT_DIRECTION_PARAMETER_PREFIX: [String](TopLevel.String.md) = "psortd"
+ - : URL Parameter prefix for a refinement value
+
+
+---
+
+## Property Details
+
+### category
+- category: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the category object for the category id specified in the query.
+ If a category with that id doesn't exist or if the category is offline
+ this method returns null.
+
+
+
+---
+
+### categoryID
+- categoryID: [String](TopLevel.String.md)
+ - : Returns the category id that was specified in the search query.
+
+
+---
+
+### categorySearch
+- categorySearch: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : The method returns true, if this is a pure search for a category. The
+ method checks, that a category ID is specified and no search phrase is
+ specified.
+
+
+
+---
+
+### deepestCommonCategory
+- deepestCommonCategory: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the deepest common category of all products in the search result.
+ In case of an empty search result the method returns the root category.
+
+
+
+---
+
+### effectiveSortingRule
+- effectiveSortingRule: [SortingRule](dw.catalog.SortingRule.md) `(read-only)`
+ - : Returns the sorting rule used to order the products in the results of this query,
+ or `null` if no search has been executed yet.
+
+ In contrast to [getSortingRule()](dw.catalog.ProductSearchModel.md#getsortingrule), this method respects explicit sorting rules and sorting options and rules determined implicitly
+ based on the refinement category, keyword sorting rule assignment, etc.
+
+
+
+---
+
+### inventoryIDs
+- inventoryIDs: [List](dw.util.List.md) `(read-only)`
+ - :
+
+ Returns a list of inventory IDs that were specified in the search query or an empty list if no inventory ID set.
+
+
+
+---
+
+### orderableProductsOnly
+- orderableProductsOnly: [Boolean](TopLevel.Boolean.md)
+ - : Get the flag indicating whether unorderable products should be excluded
+ when the next call to getProducts() is made. If this value has not been
+ previously set, then the value returned will be based on the value of the
+ search preference.
+
+
+
+---
+
+### pageMetaTags
+- pageMetaTags: [Array](TopLevel.Array.md) `(read-only)`
+ - : Returns all page meta tags, defined for this instance for which content can be generated.
+
+
+ The meta tag content is generated based on the product listing page meta tag context and rules.
+ The rules are obtained from the current category context or inherited from the parent category,
+ up to the root category.
+
+
+
+---
+
+### personalizedSort
+- personalizedSort: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : The method indicates if the search result is ordered by a personalized sorting rule.
+
+
+---
+
+### priceMax
+- priceMax: [Number](TopLevel.Number.md)
+ - : Returns the maximum price by which the search result is refined.
+
+
+---
+
+### priceMin
+- priceMin: [Number](TopLevel.Number.md)
+ - : Returns the minimum price by which the search result is refined.
+
+
+---
+
+### productID
+- ~~productID: [String](TopLevel.String.md)~~
+ - : Returns the product id that was specified in the search query.
+
+ **Deprecated:**
+:::warning
+Please use [getProductIDs()](dw.catalog.ProductSearchModel.md#getproductids) instead
+:::
+
+---
+
+### productIDs
+- productIDs: [List](dw.util.List.md)
+ - : Returns a list of product IDs that were specified in the search query or an empty list if no product ID set.
+
+
+---
+
+### productSearchHits
+- productSearchHits: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : Returns the product search hits in the search result.
+
+ Note that method does also return search hits representing products that
+ were removed or went offline since the last index update, i.e. you must
+ implement appropriate checks before accessing the product related to the
+ search hit instance (see [ProductSearchHit.getProduct()](dw.catalog.ProductSearchHit.md#getproduct))
+
+
+ **See Also:**
+ - [getProducts()](dw.catalog.ProductSearchModel.md#getproducts)
+
+
+---
+
+### products
+- ~~products: [Iterator](dw.util.Iterator.md)~~ `(read-only)`
+ - : Returns all products in the search result.
+
+ Note that products that were removed or went offline since the last index
+ update are not included in the returned set.
+
+
+ **See Also:**
+ - [getProductSearchHits()](dw.catalog.ProductSearchModel.md#getproductsearchhits)
+
+ **Deprecated:**
+:::warning
+This method should not be used because loading Products for each result of a product search is
+ extremely expensive performance-wise. Please use [getProductSearchHits()](dw.catalog.ProductSearchModel.md#getproductsearchhits) to iterate
+ ProductSearchHits instead.
+
+:::
+
+---
+
+### promotionID
+- promotionID: [String](TopLevel.String.md)
+ - : Returns the promotion id that was specified in the search query or null if no promotion id set. If multiple
+ promotion id's specified the method returns only the first id. See [setPromotionIDs(List)](dw.catalog.ProductSearchModel.md#setpromotionidslist) and
+ [getPromotionIDs()](dw.catalog.ProductSearchModel.md#getpromotionids).
+
+
+
+---
+
+### promotionIDs
+- promotionIDs: [List](dw.util.List.md)
+ - : Returns a list of promotion id's that were specified in the search query or an empty list if no promotion id set.
+
+
+---
+
+### promotionProductType
+- promotionProductType: [String](TopLevel.String.md)
+ - : Returns the promotion product type specified in the search query.
+
+
+---
+
+### recursiveCategorySearch
+- recursiveCategorySearch: [Boolean](TopLevel.Boolean.md)
+ - : Get the flag that determines if the category search will
+ be recursive.
+
+
+
+---
+
+### refinedByCategory
+- refinedByCategory: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : The method returns true, if the search is refined by a category.
+ The method checks, that a category ID is specified.
+
+
+
+---
+
+### refinedByPrice
+- refinedByPrice: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this search has been refined by price.
+
+
+---
+
+### refinedByPromotion
+- refinedByPromotion: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this search has been refined by promotion.
+
+
+---
+
+### refinedCategorySearch
+- refinedCategorySearch: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this is a category search and is refined with further
+ criteria, like a brand refinement or an attribute refinement.
+
+
+
+---
+
+### refinementCategory
+- refinementCategory: [Category](dw.catalog.Category.md)
+ - : Returns the category used to determine possible refinements for the search.
+ If an explicit category was set for this purpose using [setRefinementCategory(Category)](dw.catalog.ProductSearchModel.md#setrefinementcategorycategory), it is returned.
+ Otherwise, the deepest common category of all search results will be returned.
+
+
+
+---
+
+### refinements
+- refinements: [ProductSearchRefinements](dw.catalog.ProductSearchRefinements.md) `(read-only)`
+ - : Returns the ProductSearchRefinements associated with this search and filtered by session currency.
+ If an explicit category was set for this purpose using [setRefinementCategory(Category)](dw.catalog.ProductSearchModel.md#setrefinementcategorycategory), it will be used to determine the refinements.
+ Otherwise, the refinements are determined based on the deepest common category of all products in the search result.
+ Hint: If you want to use the same refinements for all searches, consider defining them in one category (usually root) and using [setRefinementCategory(Category)](dw.catalog.ProductSearchModel.md#setrefinementcategorycategory) to avoid unnecessary calculation of the deepest common category.
+
+
+
+---
+
+### searchPhraseSuggestions
+- searchPhraseSuggestions: [SearchPhraseSuggestions](dw.suggest.SearchPhraseSuggestions.md) `(read-only)`
+ - : Returns search phrase suggestions for the current search phrase.
+ Search phrase suggestions may contain alternative search phrases as well
+ as lists of corrected and completed search terms.
+
+
+
+---
+
+### searchableImageUploadURL
+- searchableImageUploadURL: [String](TopLevel.String.md) `(read-only)`
+ - : This method returns the URL of the endpoint where the merchants should upload their image for visual search.
+
+
+---
+
+### sortingRule
+- sortingRule: [SortingRule](dw.catalog.SortingRule.md)
+ - : Returns the sorting rule explicitly set on this model to be used
+ to order the products in the results of this query, or `null`
+ if no rule has been explicitly set.
+
+ This method does not return the sorting rule that will be used implicitly
+ based on the context of the search, such as the refinement category.
+
+
+
+---
+
+### storeInventoryFilter
+- storeInventoryFilter: [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md)
+ - :
+
+ Returns the [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md), which was specified for this search.
+
+
+
+---
+
+### suggestedSearchPhrase
+- ~~suggestedSearchPhrase: [String](TopLevel.String.md)~~ `(read-only)`
+ - : Returns the suggested search phrase with the highest accuracy provided
+ for the current search phrase.
+
+
+ **Deprecated:**
+:::warning
+Please use [getSearchPhraseSuggestions()](dw.catalog.ProductSearchModel.md#getsearchphrasesuggestions) instead
+:::
+
+---
+
+### suggestedSearchPhrases
+- ~~suggestedSearchPhrases: [List](dw.util.List.md)~~ `(read-only)`
+ - : Returns a list with up to 5 suggested search phrases provided for the
+ current search phrase. It is possible that less than 5 suggestions
+ or even no suggestions are returned.
+
+
+ **Deprecated:**
+:::warning
+Please use [getSearchPhraseSuggestions()](dw.catalog.ProductSearchModel.md#getsearchphrasesuggestions) instead
+:::
+
+---
+
+### trackingEmptySearchesEnabled
+- trackingEmptySearchesEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : The method indicates if no-hits search should be tracked for predictive intelligence use.
+
+
+---
+
+### visualSearch
+- visualSearch: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : The method returns true, if this is a visual search. The
+ method checks that a image UUID is specified.
+
+
+
+---
+
+## Constructor Details
+
+### ProductSearchModel()
+- ProductSearchModel()
+ - : Constructs a new ProductSearchModel.
+
+
+---
+
+## Method Details
+
+### addHitTypeRefinement(String...)
+- addHitTypeRefinement(types: [String...](TopLevel.String.md)): void
+ - : Set the only search hit types to be included from the search. Values accepted are the 'hit type' constants
+ exposed in the [ProductSearchHit](dw.catalog.ProductSearchHit.md) class. Overwrites any hit type refinements set from prior calls to
+ addHitTypeRefinement(String...) or excludeHitType(String...).
+
+
+ **Parameters:**
+ - types - to be included.
+
+
+---
+
+### excludeHitType(String...)
+- excludeHitType(types: [String...](TopLevel.String.md)): void
+ - : Set the search hit types to be excluded from the search. Values accepted are the 'hit type' constants exposed in
+ the [ProductSearchHit](dw.catalog.ProductSearchHit.md) class. Overwrites any hit type refinements set from prior calls to
+ addHitTypeRefinement(String...) or excludeHitType(String...).
+
+
+ **Parameters:**
+ - types - to be excluded.
+
+
+---
+
+### getCategory()
+- getCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the category object for the category id specified in the query.
+ If a category with that id doesn't exist or if the category is offline
+ this method returns null.
+
+
+ **Returns:**
+ - the category object for the category id specified in the query.
+
+
+---
+
+### getCategoryID()
+- getCategoryID(): [String](TopLevel.String.md)
+ - : Returns the category id that was specified in the search query.
+
+ **Returns:**
+ - the category id that was specified in the search query.
+
+
+---
+
+### getDeepestCommonCategory()
+- getDeepestCommonCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the deepest common category of all products in the search result.
+ In case of an empty search result the method returns the root category.
+
+
+ **Returns:**
+ - the deepest common category of all products in the search result of this search model or root for an empty search result.
+
+
+---
+
+### getEffectiveSortingRule()
+- getEffectiveSortingRule(): [SortingRule](dw.catalog.SortingRule.md)
+ - : Returns the sorting rule used to order the products in the results of this query,
+ or `null` if no search has been executed yet.
+
+ In contrast to [getSortingRule()](dw.catalog.ProductSearchModel.md#getsortingrule), this method respects explicit sorting rules and sorting options and rules determined implicitly
+ based on the refinement category, keyword sorting rule assignment, etc.
+
+
+ **Returns:**
+ - a SortingRule or null.
+
+
+---
+
+### getInventoryIDs()
+- getInventoryIDs(): [List](dw.util.List.md)
+ - :
+
+ Returns a list of inventory IDs that were specified in the search query or an empty list if no inventory ID set.
+
+
+ **Returns:**
+ - the list of inventory IDs that were specified in the search query or an empty list if no
+ inventory ID set.
+
+
+
+---
+
+### getOrderableProductsOnly()
+- getOrderableProductsOnly(): [Boolean](TopLevel.Boolean.md)
+ - : Get the flag indicating whether unorderable products should be excluded
+ when the next call to getProducts() is made. If this value has not been
+ previously set, then the value returned will be based on the value of the
+ search preference.
+
+
+ **Returns:**
+ - true if unorderable products should be excluded from product
+ search results, false otherwise.
+
+
+
+---
+
+### getPageMetaTag(String)
+- getPageMetaTag(id: [String](TopLevel.String.md)): [PageMetaTag](dw.web.PageMetaTag.md)
+ - : Returns the page meta tag for the specified id.
+
+
+ The meta tag content is generated based on the product listing page meta tag context and rule.
+ The rule is obtained from the current category context or inherited from the parent category,
+ up to the root category.
+
+
+ Null will be returned if the meta tag is undefined on the current instance, or if no rule can be found for the
+ current context, or if the rule resolves to an empty string.
+
+
+ **Parameters:**
+ - id - the ID to get the page meta tag for
+
+ **Returns:**
+ - page meta tag containing content generated based on rules
+
+
+---
+
+### getPageMetaTags()
+- getPageMetaTags(): [Array](TopLevel.Array.md)
+ - : Returns all page meta tags, defined for this instance for which content can be generated.
+
+
+ The meta tag content is generated based on the product listing page meta tag context and rules.
+ The rules are obtained from the current category context or inherited from the parent category,
+ up to the root category.
+
+
+ **Returns:**
+ - page meta tags defined for this instance, containing content generated based on rules
+
+
+---
+
+### getPriceMax()
+- getPriceMax(): [Number](TopLevel.Number.md)
+ - : Returns the maximum price by which the search result is refined.
+
+ **Returns:**
+ - the maximum price by which the search result is refined.
+
+
+---
+
+### getPriceMin()
+- getPriceMin(): [Number](TopLevel.Number.md)
+ - : Returns the minimum price by which the search result is refined.
+
+ **Returns:**
+ - the minimum price by which the search result is refined.
+
+
+---
+
+### getProductID()
+- ~~getProductID(): [String](TopLevel.String.md)~~
+ - : Returns the product id that was specified in the search query.
+
+ **Returns:**
+ - the product id that was specified in the search.
+
+ **Deprecated:**
+:::warning
+Please use [getProductIDs()](dw.catalog.ProductSearchModel.md#getproductids) instead
+:::
+
+---
+
+### getProductIDs()
+- getProductIDs(): [List](dw.util.List.md)
+ - : Returns a list of product IDs that were specified in the search query or an empty list if no product ID set.
+
+ **Returns:**
+ - the list of product IDs that were specified in the search query or an empty list if no product ID set.
+
+
+---
+
+### getProductSearchHit(Product)
+- getProductSearchHit(product: [Product](dw.catalog.Product.md)): [ProductSearchHit](dw.catalog.ProductSearchHit.md)
+ - : Returns the underlying ProductSearchHit for a product, or null if no
+ ProductSearchHit found for this product.
+
+
+ **Parameters:**
+ - product - the product to find the underlying ProductSearchHit
+
+ **Returns:**
+ - the underlying ProductSearchHit for a product, or null if no
+ ProductSearchHit found for this product.
+
+
+
+---
+
+### getProductSearchHits()
+- getProductSearchHits(): [Iterator](dw.util.Iterator.md)
+ - : Returns the product search hits in the search result.
+
+ Note that method does also return search hits representing products that
+ were removed or went offline since the last index update, i.e. you must
+ implement appropriate checks before accessing the product related to the
+ search hit instance (see [ProductSearchHit.getProduct()](dw.catalog.ProductSearchHit.md#getproduct))
+
+
+ **Returns:**
+ - Products hits in search result
+
+ **See Also:**
+ - [getProducts()](dw.catalog.ProductSearchModel.md#getproducts)
+
+
+---
+
+### getProducts()
+- ~~getProducts(): [Iterator](dw.util.Iterator.md)~~
+ - : Returns all products in the search result.
+
+ Note that products that were removed or went offline since the last index
+ update are not included in the returned set.
+
+
+ **Returns:**
+ - Products in search result
+
+ **See Also:**
+ - [getProductSearchHits()](dw.catalog.ProductSearchModel.md#getproductsearchhits)
+
+ **Deprecated:**
+:::warning
+This method should not be used because loading Products for each result of a product search is
+ extremely expensive performance-wise. Please use [getProductSearchHits()](dw.catalog.ProductSearchModel.md#getproductsearchhits) to iterate
+ ProductSearchHits instead.
+
+:::
+
+---
+
+### getPromotionID()
+- getPromotionID(): [String](TopLevel.String.md)
+ - : Returns the promotion id that was specified in the search query or null if no promotion id set. If multiple
+ promotion id's specified the method returns only the first id. See [setPromotionIDs(List)](dw.catalog.ProductSearchModel.md#setpromotionidslist) and
+ [getPromotionIDs()](dw.catalog.ProductSearchModel.md#getpromotionids).
+
+
+ **Returns:**
+ - the promotion id that was specified in the search query or null if no promotion id set.
+
+
+---
+
+### getPromotionIDs()
+- getPromotionIDs(): [List](dw.util.List.md)
+ - : Returns a list of promotion id's that were specified in the search query or an empty list if no promotion id set.
+
+ **Returns:**
+ - the list of promotion id's that was specified in the search query or an empty list if no promotion id set.
+
+
+---
+
+### getPromotionProductType()
+- getPromotionProductType(): [String](TopLevel.String.md)
+ - : Returns the promotion product type specified in the search query.
+
+ **Returns:**
+ - the promotion product type that was specified in the search
+ query.
+
+
+
+---
+
+### getRefinementCategory()
+- getRefinementCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the category used to determine possible refinements for the search.
+ If an explicit category was set for this purpose using [setRefinementCategory(Category)](dw.catalog.ProductSearchModel.md#setrefinementcategorycategory), it is returned.
+ Otherwise, the deepest common category of all search results will be returned.
+
+
+ **Returns:**
+ - the category used to determine refinements.
+
+
+---
+
+### getRefinements()
+- getRefinements(): [ProductSearchRefinements](dw.catalog.ProductSearchRefinements.md)
+ - : Returns the ProductSearchRefinements associated with this search and filtered by session currency.
+ If an explicit category was set for this purpose using [setRefinementCategory(Category)](dw.catalog.ProductSearchModel.md#setrefinementcategorycategory), it will be used to determine the refinements.
+ Otherwise, the refinements are determined based on the deepest common category of all products in the search result.
+ Hint: If you want to use the same refinements for all searches, consider defining them in one category (usually root) and using [setRefinementCategory(Category)](dw.catalog.ProductSearchModel.md#setrefinementcategorycategory) to avoid unnecessary calculation of the deepest common category.
+
+
+ **Returns:**
+ - the ProductSearchRefinements associated with this search.
+
+
+---
+
+### getSearchPhraseSuggestions()
+- getSearchPhraseSuggestions(): [SearchPhraseSuggestions](dw.suggest.SearchPhraseSuggestions.md)
+ - : Returns search phrase suggestions for the current search phrase.
+ Search phrase suggestions may contain alternative search phrases as well
+ as lists of corrected and completed search terms.
+
+
+ **Returns:**
+ - search phrase suggestions for the current search phrase
+
+
+---
+
+### getSearchableImageUploadURL()
+- getSearchableImageUploadURL(): [String](TopLevel.String.md)
+ - : This method returns the URL of the endpoint where the merchants should upload their image for visual search.
+
+ **Returns:**
+ - returns the URL where the merchants should upload their image.
+
+ **Throws:**
+ - RuntimeException -
+
+
+---
+
+### getSortingRule()
+- getSortingRule(): [SortingRule](dw.catalog.SortingRule.md)
+ - : Returns the sorting rule explicitly set on this model to be used
+ to order the products in the results of this query, or `null`
+ if no rule has been explicitly set.
+
+ This method does not return the sorting rule that will be used implicitly
+ based on the context of the search, such as the refinement category.
+
+
+ **Returns:**
+ - a SortingRule or null.
+
+
+---
+
+### getStoreInventoryFilter()
+- getStoreInventoryFilter(): [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md)
+ - :
+
+ Returns the [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md), which was specified for this search.
+
+
+ **Returns:**
+ - the [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md), which was specified for this search.
+
+
+---
+
+### getSuggestedSearchPhrase()
+- ~~getSuggestedSearchPhrase(): [String](TopLevel.String.md)~~
+ - : Returns the suggested search phrase with the highest accuracy provided
+ for the current search phrase.
+
+
+ **Returns:**
+ - the suggested search phrase.
+
+ **Deprecated:**
+:::warning
+Please use [getSearchPhraseSuggestions()](dw.catalog.ProductSearchModel.md#getsearchphrasesuggestions) instead
+:::
+
+---
+
+### getSuggestedSearchPhrases()
+- ~~getSuggestedSearchPhrases(): [List](dw.util.List.md)~~
+ - : Returns a list with up to 5 suggested search phrases provided for the
+ current search phrase. It is possible that less than 5 suggestions
+ or even no suggestions are returned.
+
+
+ **Returns:**
+ - a list containing the suggested search phrases.
+
+ **Deprecated:**
+:::warning
+Please use [getSearchPhraseSuggestions()](dw.catalog.ProductSearchModel.md#getsearchphrasesuggestions) instead
+:::
+
+---
+
+### isCategorySearch()
+- isCategorySearch(): [Boolean](TopLevel.Boolean.md)
+ - : The method returns true, if this is a pure search for a category. The
+ method checks, that a category ID is specified and no search phrase is
+ specified.
+
+
+ **Returns:**
+ - True if this is a category search
+
+
+---
+
+### isPersonalizedSort()
+- isPersonalizedSort(): [Boolean](TopLevel.Boolean.md)
+ - : The method indicates if the search result is ordered by a personalized sorting rule.
+
+ **Returns:**
+ - true if search result is ordered by a personalized sorting rule, otherwise false.
+
+
+---
+
+### isRecursiveCategorySearch()
+- isRecursiveCategorySearch(): [Boolean](TopLevel.Boolean.md)
+ - : Get the flag that determines if the category search will
+ be recursive.
+
+
+ **Returns:**
+ - true if the category search will be recursive, false otherwise
+
+
+---
+
+### isRefinedByCategory()
+- isRefinedByCategory(): [Boolean](TopLevel.Boolean.md)
+ - : The method returns true, if the search is refined by a category.
+ The method checks, that a category ID is specified.
+
+
+ **Returns:**
+ - true, if the search is refined by a category, false otherwise.
+
+
+---
+
+### isRefinedByPrice()
+- isRefinedByPrice(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this search has been refined by price.
+
+ **Returns:**
+ - True if the search is refined by price, false otherwise.
+
+
+---
+
+### isRefinedByPriceRange(Number, Number)
+- isRefinedByPriceRange(priceMin: [Number](TopLevel.Number.md), priceMax: [Number](TopLevel.Number.md)): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this search has been refined by the given price range.
+ Either range parameters may be null to represent open ranges.
+
+
+ **Parameters:**
+ - priceMin - The lower bound of the price range.
+ - priceMax - The upper bound of the price range.
+
+ **Returns:**
+ - True if the search is refinemd on the given price range, false
+ otherwise.
+
+
+
+---
+
+### isRefinedByPromotion()
+- isRefinedByPromotion(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this search has been refined by promotion.
+
+ **Returns:**
+ - True if the search is refined by promotion, false otherwise.
+
+
+---
+
+### isRefinedByPromotion(String)
+- isRefinedByPromotion(promotionID: [String](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this search has been refined by a given promotion.
+
+ **Parameters:**
+ - promotionID - the ID of the promotion to check
+
+ **Returns:**
+ - True if the search is refined by the given promotionID, false otherwise.
+
+
+---
+
+### isRefinedCategorySearch()
+- isRefinedCategorySearch(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this is a category search and is refined with further
+ criteria, like a brand refinement or an attribute refinement.
+
+
+ **Returns:**
+ - true if this is a category search and is refined with further
+ criteria, false otherwise.
+
+
+
+---
+
+### isTrackingEmptySearchesEnabled()
+- isTrackingEmptySearchesEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : The method indicates if no-hits search should be tracked for predictive intelligence use.
+
+ **Returns:**
+ - true, if no-hits search should be tracked, otherwise false.
+
+
+---
+
+### isVisualSearch()
+- isVisualSearch(): [Boolean](TopLevel.Boolean.md)
+ - : The method returns true, if this is a visual search. The
+ method checks that a image UUID is specified.
+
+
+ **Returns:**
+ - True if this is a visual search
+
+
+---
+
+### search()
+- search(): [SearchStatus](dw.system.SearchStatus.md)
+ - : Execute the search based on the configured search term, category and filter conditions (price, attribute,
+ promotion, product type) and return the execution status. The execution of an empty ProductSearchModel without
+ any search term or filter criteria will not be supported and the search status [SearchStatus.EMPTY_QUERY](dw.system.SearchStatus.md#empty_query)
+ will be returned. A usage of the internal category id 'root' as category filter is not recommended, could cause
+ performance issues and will be potentially deprecated in a future release. A successful execution will be
+ indicated by [SearchStatus.SUCCESSFUL](dw.system.SearchStatus.md#successful) or [SearchStatus.LIMITED](dw.system.SearchStatus.md#limited). For other possible search
+ statuses see [SearchStatus](dw.system.SearchStatus.md). The sorted and grouped search result of a successful execution can be fetched
+ via [getProductSearchHits()](dw.catalog.ProductSearchModel.md#getproductsearchhits) and the refinement options based on the search result can be obtained via
+ [getRefinements()](dw.catalog.ProductSearchModel.md#getrefinements) and [SearchModel.getRefinementValues(String)](dw.catalog.SearchModel.md#getrefinementvaluesstring).
+
+
+ **Returns:**
+ - the searchStatus object with search status code and description of search result.
+
+
+---
+
+### setCategoryID(String)
+- setCategoryID(categoryID: [String](TopLevel.String.md)): void
+ - : Specifies the category id used for the search query.
+
+ **Parameters:**
+ - categoryID - the category id for the search query.
+
+
+---
+
+### setEnableTrackingEmptySearches(Boolean)
+- setEnableTrackingEmptySearches(trackingEmptySearches: [Boolean](TopLevel.Boolean.md)): void
+ - : Set a flag indicating whether no-hits search should be tracked for predictive intelligence use.
+
+ **Parameters:**
+ - trackingEmptySearches - true, no-hits search should be tracked, false, otherwise.
+
+
+---
+
+### setInventoryListIDs(List)
+- setInventoryListIDs(inventoryListIDs: [List](dw.util.List.md)): void
+ - :
+
+ Specifies multiple inventory list IDs used for the search query. The method supports up to
+ [MAXIMUM_INVENTORY_LIST_IDS](dw.catalog.ProductSearchModel.md#maximum_inventory_list_ids) inventory IDs. If more than [MAXIMUM_INVENTORY_LIST_IDS](dw.catalog.ProductSearchModel.md#maximum_inventory_list_ids) inventory IDs
+ used the method throws an IllegalArgumentException.
+
+
+ **Parameters:**
+ - inventoryListIDs - the inventory IDs for the search query.
+
+ **Throws:**
+ - IllegalArgumentException - if more than [MAXIMUM_INVENTORY_LIST_IDS](dw.catalog.ProductSearchModel.md#maximum_inventory_list_ids) inventory IDs used
+
+
+---
+
+### setOrderableProductsOnly(Boolean)
+- setOrderableProductsOnly(orderableOnly: [Boolean](TopLevel.Boolean.md)): void
+ - : Set a flag indicating whether unorderable products should be excluded
+ when the next call to getProducts() is made. This method overrides the
+ default behavior which is controlled by the search preference.
+
+
+ **Parameters:**
+ - orderableOnly - true if unorderable products should be excluded from product search results, false otherwise.
+
+
+---
+
+### setPriceMax(Number)
+- setPriceMax(priceMax: [Number](TopLevel.Number.md)): void
+ - : Sets the maximum price by which the search result is to be refined.
+
+ **Parameters:**
+ - priceMax - sets the maximum price by which the search result is to be refined.
+
+
+---
+
+### setPriceMin(Number)
+- setPriceMin(priceMin: [Number](TopLevel.Number.md)): void
+ - : Sets the minimum price by which the search result is to be refined.
+
+ **Parameters:**
+ - priceMin - the minimum price by which the search result is to be refined.
+
+
+---
+
+### setProductID(String)
+- ~~setProductID(productID: [String](TopLevel.String.md)): void~~
+ - : Specifies the product id used for the search query.
+
+ **Parameters:**
+ - productID - the product id for the search query.
+
+ **Deprecated:**
+:::warning
+Please use [setProductIDs(List)](dw.catalog.ProductSearchModel.md#setproductidslist) instead
+:::
+
+---
+
+### setProductIDs(List)
+- setProductIDs(productIDs: [List](dw.util.List.md)): void
+ - : Specifies multiple product IDs used for the search query. The specified product IDs include, but not limited to,
+ variant product IDs, product master IDs, variation group IDs, product set IDs, or product bundle IDs. For
+ example, this API could be used in high-traffic pages where developers need to be able to filter quickly for only
+ available child products of a specified master product, instead of looping through all variants of a set products
+ and checking their availabilities. The method supports up to [MAXIMUM_PRODUCT_IDS](dw.catalog.ProductSearchModel.md#maximum_product_ids) product IDs. If more
+ than [MAXIMUM_PRODUCT_IDS](dw.catalog.ProductSearchModel.md#maximum_product_ids) products IDs are passed, the method throws an IllegalArgumentException.
+
+
+ **Parameters:**
+ - productIDs - the product IDs for the search query.
+
+ **Throws:**
+ - IllegalArgumentException - if more than [MAXIMUM_PRODUCT_IDS](dw.catalog.ProductSearchModel.md#maximum_product_ids) product IDs used
+
+
+---
+
+### setPromotionID(String)
+- setPromotionID(promotionID: [String](TopLevel.String.md)): void
+ - : Specifies the promotion id used for the search query.
+
+ **Parameters:**
+ - promotionID - the promotion id for the search query.
+
+
+---
+
+### setPromotionIDs(List)
+- setPromotionIDs(promotionIDs: [List](dw.util.List.md)): void
+ - : Specifies multiple promotion id's used for the search query. The method supports up to 30 promotion id's. If more
+ than 30 promotion id's used the method throws an IllegalArgumentException.
+
+
+ **Parameters:**
+ - promotionIDs - the promotion ids for the search query.
+
+ **Throws:**
+ - IllegalArgumentException - if more than 30 promotion id's used
+
+
+---
+
+### setPromotionProductType(String)
+- setPromotionProductType(promotionProductType: [String](TopLevel.String.md)): void
+ - : Specifies the promotion product type used for the search query. This
+ value is only relevant for searches by promotion ID.
+
+
+ **Parameters:**
+ - promotionProductType - The type of product to filter by when searching by promotion ID. Allowed values are PROMOTION\_PRODUCT\_TYPE\_ALL, PROMOTION\_PRODUCT\_TYPE\_BONUS, PROMOTION\_PRODUCT\_TYPE\_QUALIFYING, and PROMOTION\_PRODUCT\_TYPE\_DISCOUNTED. If null is passed, or an invalid value is passed, the search will use PROMOTION\_PRODUCT\_TYPE\_ALL.
+
+
+---
+
+### setRecursiveCategorySearch(Boolean)
+- setRecursiveCategorySearch(recurse: [Boolean](TopLevel.Boolean.md)): void
+ - : Set a flag to indicate if the search in category should be recursive.
+
+ **Parameters:**
+ - recurse - recurse the category in the search
+
+
+---
+
+### setRefinementCategory(Category)
+- setRefinementCategory(refinementCategory: [Category](dw.catalog.Category.md)): void
+ - : Sets an explicit category to be used when determining refinements. If this is not done, they will be determined based on the deepest common category of all search results.
+ The explicit category must be in the site's storefront catalog, otherwise the method fails with an IllegalArgumentException.
+
+
+ **Parameters:**
+ - refinementCategory - the category used to determine the applicable refinements.
+
+ **Throws:**
+ - IllegalArgumentException - if the refinement category does not reside in the storefront catalog
+
+
+---
+
+### setSearchableImageID(String)
+- setSearchableImageID(imageID: [String](TopLevel.String.md)): void
+ - : An image ID can be retrieved by uploading an image with a multipart/form-data POST
+ request to 'https://api.cquotient.com/v3/image/search/upload/{siteID}'. This method sets product IDs retrieved
+ from the image ID to the ProductSearchModel. If using [setProductIDs(List)](dw.catalog.ProductSearchModel.md#setproductidslist) in addition to this method,
+ the ProductSearchModel will take the intersection of these sets of product IDs. If the image ID provided is
+ invalid or expired, product IDs will not be set onto the product search model.
+
+
+ **Parameters:**
+ - imageID - the image ID for the visual search query.
+
+ **Throws:**
+ - RuntimeException - if product IDs for the provided image could not be set.
+
+
+---
+
+### setSortingCondition(String, Number)
+- ~~setSortingCondition(attributeID: [String](TopLevel.String.md), direction: [Number](TopLevel.Number.md)): void~~
+ - : Sets or removes a sorting condition for the specified attribute. Specify
+ either SORT\_DIRECTION\_ASCENDING or SORT\_DIRECTION\_DESCENDING to set a
+ sorting condition. Specify SORT\_DIRECTION\_NONE to remove a sorting
+ condition from the attribute.
+
+
+ **Parameters:**
+ - attributeID - the attribute ID
+ - direction - SORT\_DIRECTION\_ASCENDING, SORT\_DIRECTION\_DESCENDING or SORT\_DIRECTION\_NONE
+
+ **Deprecated:**
+:::warning
+This method is subject to removal. Use [setSortingRule(SortingRule)](dw.catalog.ProductSearchModel.md#setsortingrulesortingrule) instead.
+:::
+
+---
+
+### setSortingOption(SortingOption)
+- setSortingOption(option: [SortingOption](dw.catalog.SortingOption.md)): void
+ - : Sets the sorting option to be used to order the products in the results of this query.
+ If a sorting rule is also set, the sorting option is ignored.
+
+
+ **Parameters:**
+ - option - the SortingOption to use to sort the products
+
+
+---
+
+### setSortingRule(SortingRule)
+- setSortingRule(rule: [SortingRule](dw.catalog.SortingRule.md)): void
+ - : Sets the sorting rule to be used to order the products in the
+ results of this query. Setting the rule in this way overrides the
+ default behavior of choosing the sorting rule based on the context of the
+ search, such as the refinement category.
+
+
+ **Parameters:**
+ - rule - the SortingRule to use to sort the products
+
+
+---
+
+### setStoreInventoryFilter(StoreInventoryFilter)
+- setStoreInventoryFilter(storeInventoryFilter: [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md)): void
+ - :
+
+ Filters the search result by one or more inventory list IDs provided by the class [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md)
+ which supports a semantic URL parameter like zip, city, store ... and a list of [StoreInventoryFilterValue](dw.catalog.StoreInventoryFilterValue.md)
+ which maps the semantic inventory list id value like Burlington, Boston, ... to a real inventory list id like
+ 'Burlington -> inventory1', 'Boston -> inventory2'. The search will filter the result by the real inventory list
+ id(s) but will use the semantic URL parameter and semantic inventory list id values for URL generation via all
+ URLRefine and URLRelax methods e.g. for [urlRefineCategory(URL, String)](dw.catalog.ProductSearchModel.md#urlrefinecategoryurl-string), [urlRelaxPrice(URL)](dw.catalog.ProductSearchModel.md#urlrelaxpriceurl),
+ [SearchModel.urlRefineAttribute(String, String, String)](dw.catalog.SearchModel.md#urlrefineattributestring-string-string).
+
+
+ Example custom URL: city=Burlington|Boston
+
+
+
+ ```
+ var storeFilter = new dw.catalog.StoreInventoryFilter("city",
+ new dw.util.ArrayList(
+ new dw.catalog.StoreInventoryFilterValue("Burlington","inventory_store_store9"),
+ new dw.catalog.StoreInventoryFilterValue("Boston","inventory_store_store8")
+ ));
+ searchModel.setStoreInventoryFilter(filter)
+ ```
+
+
+ **Parameters:**
+ - storeInventoryFilter - The [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md) instance to filter the search result by one or more inventory IDs with semantic key and semantic value support.
+
+ **Throws:**
+ - IllegalArgumentException - if more than [MAXIMUM_STORE_INVENTORY_FILTER_VALUES](dw.catalog.ProductSearchModel.md#maximum_store_inventory_filter_values) filter values used
+
+
+---
+
+### urlForCategory(URL, String)
+- static urlForCategory(url: [URL](dw.web.URL.md), cgid: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to execute a query for a specific
+ Category. The search specific parameters are appended to the provided
+ URL. The URL is typically generated with one of the URLUtils methods.
+
+
+ **Parameters:**
+ - url - the URL to use to generate the new URL.
+ - cgid - the category ID.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlForCategory(String, String)
+- static urlForCategory(action: [String](TopLevel.String.md), cgid: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to execute a query for a specific
+ Category.
+
+ The generated URL will be an absolute URL which uses the protocol of
+ the current request.
+
+
+ **Parameters:**
+ - action - pipeline action, e.g. 'Search-Show'.
+ - cgid - the category ID.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlForProduct(URL, String, String)
+- static urlForProduct(url: [URL](dw.web.URL.md), cgid: [String](TopLevel.String.md), pid: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to execute a query for a specific
+ Product. The passed url can be either a full url or just the name for a
+ pipeline. In the later case a relative URL is created.
+
+
+ **Parameters:**
+ - url - the URL to use to generate the new URL.
+ - cgid - the category id or null if product is not in category context.
+ - pid - the product id.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlForProduct(String, String, String)
+- static urlForProduct(action: [String](TopLevel.String.md), cgid: [String](TopLevel.String.md), pid: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to execute a query for a specific
+ Product. The passed action is used to build an initial url. All search
+ specific attributes are appended.
+
+ The generated URL will be an absolute URL which uses the protocol of
+ the current request.
+
+
+ **Parameters:**
+ - action - pipeline action, e.g. 'Search-Show'.
+ - cgid - the category id or null if product is not in category context.
+ - pid - the product id.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlForRefine(URL, String, String)
+- static urlForRefine(url: [URL](dw.web.URL.md), attributeID: [String](TopLevel.String.md), value: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to execute a query for a specific
+ attribute name-value pair. The search specific parameters are appended to
+ the provided URL. The URL is typically generated with one of the URLUtils
+ methods.
+
+
+ **Parameters:**
+ - url - the URL to use to generate the new URL.
+ - attributeID - the attribute ID for the refinement.
+ - value - the attribute value for the refinement.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlForRefine(String, String, String)
+- static urlForRefine(action: [String](TopLevel.String.md), attributeID: [String](TopLevel.String.md), value: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to execute a query for a specific
+ attribute name-value pair.
+
+ The generated URL will be an absolute URL which uses the protocol of
+ the current request.
+
+
+ **Parameters:**
+ - action - pipeline action, e.g. 'Search-Show'.
+ - attributeID - the attribute ID for the refinement.
+ - value - the attribute value for the refinement.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRefineCategory(URL, String)
+- urlRefineCategory(url: [URL](dw.web.URL.md), refineCategoryID: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query with a
+ category refinement. The search specific parameters are appended to the
+ provided URL. The URL is typically generated with one of the URLUtils
+ methods.
+
+
+ **Parameters:**
+ - url - the existing URL to use to create the new URL.
+ - refineCategoryID - the ID of the category.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRefineCategory(String, String)
+- urlRefineCategory(action: [String](TopLevel.String.md), refineCategoryID: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query with a
+ category refinement.
+
+ The generated URL will be an absolute URL which uses the protocol of
+ the current request.
+
+
+ **Parameters:**
+ - action - the pipeline action, e.g. 'Search-Show'
+ - refineCategoryID - the ID of the category.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRefinePrice(URL, Number, Number)
+- urlRefinePrice(url: [URL](dw.web.URL.md), min: [Number](TopLevel.Number.md), max: [Number](TopLevel.Number.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query with an
+ additional price filter. The search specific parameters are appended to
+ the provided URL. The URL is typically generated with one of the URLUtils
+ methods.
+
+
+ **Parameters:**
+ - url - the URL to use to generate the new URL.
+ - min - the minimum price.
+ - max - the maximum price.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRefinePrice(String, Number, Number)
+- urlRefinePrice(action: [String](TopLevel.String.md), min: [Number](TopLevel.Number.md), max: [Number](TopLevel.Number.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query with an
+ additional price filter.
+
+ The generated URL will be an absolute URL which uses the protocol of
+ the current request.
+
+
+ **Parameters:**
+ - action - the pipeline action, e.g. 'Search-Show'.
+ - min - the minimum price.
+ - max - the maximum price.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRefinePromotion(URL, String)
+- urlRefinePromotion(url: [URL](dw.web.URL.md), refinePromotionID: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query with a promotion refinement. The search specific
+ parameters are appended to the provided URL. The URL is typically generated with one of the URLUtils methods.
+
+
+ **Parameters:**
+ - url - the existing URL to use to create the new URL.
+ - refinePromotionID - the ID of the promotion.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRefinePromotion(String, String)
+- urlRefinePromotion(action: [String](TopLevel.String.md), refinePromotionID: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query with a promotion refinement. The generated URL will be
+ an absolute URL which uses the protocol of the current request.
+
+
+ **Parameters:**
+ - action - the pipeline action, e.g. 'Search-Show'
+ - refinePromotionID - the ID of the promotion.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRelaxCategory(URL)
+- urlRelaxCategory(url: [URL](dw.web.URL.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query without any
+ category refinement. The search specific parameters are appended to the
+ provided URL. The URL is typically generated with one of the URLUtils
+ methods.
+
+
+ **Parameters:**
+ - url - the existing URL to use to create the new URL.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRelaxCategory(String)
+- urlRelaxCategory(action: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query without any
+ category refinement.
+
+ The generated URL will be an absolute URL which uses the protocol of
+ the current request.
+
+
+ **Parameters:**
+ - action - the pipeline action, e.g. 'Search-Show'.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRelaxPrice(URL)
+- urlRelaxPrice(url: [URL](dw.web.URL.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to would re-execute the query with no
+ price filter. The search specific parameters are appended to the provided
+ URL. The URL is typically generated with one of the URLUtils methods.
+
+
+ **Parameters:**
+ - url - the existing URL to use to create the new URL.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRelaxPrice(String)
+- urlRelaxPrice(action: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query with no price
+ filter.
+
+ The generated URL will be an absolute URL which uses the protocol of
+ the current request.
+
+
+ **Parameters:**
+ - action - the pipeline action, e.g. 'Search-Show'
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRelaxPromotion(URL)
+- urlRelaxPromotion(url: [URL](dw.web.URL.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query without any promotion refinement. The search specific
+ parameters are appended to the provided URL. The URL is typically generated with one of the URLUtils methods.
+
+
+ **Parameters:**
+ - url - the existing URL to use to create the new URL.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlRelaxPromotion(String)
+- urlRelaxPromotion(action: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query without any promotion refinement. The generated URL
+ will be an absolute URL which uses the protocol of the current request.
+
+
+ **Parameters:**
+ - action - the pipeline action, e.g. 'Search-Show'.
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlSortingOption(URL, SortingOption)
+- urlSortingOption(url: [URL](dw.web.URL.md), option: [SortingOption](dw.catalog.SortingOption.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query but sort
+ the results by the given storefront sorting option. The search specific parameters are
+ appended to the provided URL. The URL is typically generated with one of
+ the URLUtils methods.
+
+
+ **Parameters:**
+ - url - the existing URL to use to create the new URL.
+ - option - sorting option
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlSortingOption(String, SortingOption)
+- urlSortingOption(action: [String](TopLevel.String.md), option: [SortingOption](dw.catalog.SortingOption.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query but sort the
+ results by the given storefront sorting option.
+
+ The generated URL will be an absolute URL which uses the protocol of the
+ current request.
+
+
+ **Parameters:**
+ - action - the pipeline action, e.g. 'Search-Show'.
+ - option - sorting option
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlSortingRule(URL, SortingRule)
+- urlSortingRule(url: [URL](dw.web.URL.md), rule: [SortingRule](dw.catalog.SortingRule.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query but sort
+ the results by the given rule. The search specific parameters are
+ appended to the provided URL. The URL is typically generated with one of
+ the URLUtils methods.
+
+
+ **Parameters:**
+ - url - the existing URL to use to create the new URL.
+ - rule - sorting rule
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+### urlSortingRule(String, SortingRule)
+- urlSortingRule(action: [String](TopLevel.String.md), rule: [SortingRule](dw.catalog.SortingRule.md)): [URL](dw.web.URL.md)
+ - : Constructs a URL that you can use to re-execute the query but sort the
+ results by the given rule.
+
+ The generated URL will be an absolute URL which uses the protocol of the
+ current request.
+
+
+ **Parameters:**
+ - action - the pipeline action, e.g. 'Search-Show'.
+ - rule - sorting rule
+
+ **Returns:**
+ - the new URL.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductSearchRefinementDefinition.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductSearchRefinementDefinition.md
new file mode 100644
index 00000000..e14af888
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductSearchRefinementDefinition.md
@@ -0,0 +1,99 @@
+
+# Class ProductSearchRefinementDefinition
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.catalog.SearchRefinementDefinition](dw.catalog.SearchRefinementDefinition.md)
+ - [dw.catalog.ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md)
+
+This class provides an interface to refinement options for the product search.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [categoryRefinement](#categoryrefinement): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this is a category refinement. |
+| [priceRefinement](#pricerefinement): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this is a price refinement. |
+| [promotionRefinement](#promotionrefinement): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this is a promotion refinement. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [isCategoryRefinement](dw.catalog.ProductSearchRefinementDefinition.md#iscategoryrefinement)() | Identifies if this is a category refinement. |
+| [isPriceRefinement](dw.catalog.ProductSearchRefinementDefinition.md#ispricerefinement)() | Identifies if this is a price refinement. |
+| [isPromotionRefinement](dw.catalog.ProductSearchRefinementDefinition.md#ispromotionrefinement)() | Identifies if this is a promotion refinement. |
+
+### Methods inherited from class SearchRefinementDefinition
+
+[getAttributeID](dw.catalog.SearchRefinementDefinition.md#getattributeid), [getCutoffThreshold](dw.catalog.SearchRefinementDefinition.md#getcutoffthreshold), [getDisplayName](dw.catalog.SearchRefinementDefinition.md#getdisplayname), [getValueTypeCode](dw.catalog.SearchRefinementDefinition.md#getvaluetypecode), [isAttributeRefinement](dw.catalog.SearchRefinementDefinition.md#isattributerefinement)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### categoryRefinement
+- categoryRefinement: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this is a category refinement.
+
+
+---
+
+### priceRefinement
+- priceRefinement: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this is a price refinement.
+
+
+---
+
+### promotionRefinement
+- promotionRefinement: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this is a promotion refinement.
+
+
+---
+
+## Method Details
+
+### isCategoryRefinement()
+- isCategoryRefinement(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this is a category refinement.
+
+ **Returns:**
+ - true if this is a category refinement, false otherwise.
+
+
+---
+
+### isPriceRefinement()
+- isPriceRefinement(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this is a price refinement.
+
+ **Returns:**
+ - true if this is a price refinement, false otherwise.
+
+
+---
+
+### isPromotionRefinement()
+- isPromotionRefinement(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this is a promotion refinement.
+
+ **Returns:**
+ - true if this is a promotion refinement, false otherwise.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductSearchRefinementValue.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductSearchRefinementValue.md
new file mode 100644
index 00000000..4409f8ec
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductSearchRefinementValue.md
@@ -0,0 +1,80 @@
+
+# Class ProductSearchRefinementValue
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.SearchRefinementValue](dw.catalog.SearchRefinementValue.md)
+ - [dw.catalog.ProductSearchRefinementValue](dw.catalog.ProductSearchRefinementValue.md)
+
+Represents the value of a product search refinement.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [valueFrom](#valuefrom): [Number](TopLevel.Number.md) `(read-only)` | Returns the lower bound for price refinements. |
+| [valueTo](#valueto): [Number](TopLevel.Number.md) `(read-only)` | Returns the upper bound for price refinements. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getValueFrom](dw.catalog.ProductSearchRefinementValue.md#getvaluefrom)() | Returns the lower bound for price refinements. |
+| [getValueTo](dw.catalog.ProductSearchRefinementValue.md#getvalueto)() | Returns the upper bound for price refinements. |
+
+### Methods inherited from class SearchRefinementValue
+
+[getDescription](dw.catalog.SearchRefinementValue.md#getdescription), [getDisplayValue](dw.catalog.SearchRefinementValue.md#getdisplayvalue), [getHitCount](dw.catalog.SearchRefinementValue.md#gethitcount), [getID](dw.catalog.SearchRefinementValue.md#getid), [getPresentationID](dw.catalog.SearchRefinementValue.md#getpresentationid), [getValue](dw.catalog.SearchRefinementValue.md#getvalue)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### valueFrom
+- valueFrom: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the lower bound for price refinements. For example, 50.00
+ for a range of $50.00 - $99.99.
+
+
+
+---
+
+### valueTo
+- valueTo: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the upper bound for price refinements. For example, 99.99
+ for a range of $50.00 - $99.99.
+
+
+
+---
+
+## Method Details
+
+### getValueFrom()
+- getValueFrom(): [Number](TopLevel.Number.md)
+ - : Returns the lower bound for price refinements. For example, 50.00
+ for a range of $50.00 - $99.99.
+
+
+ **Returns:**
+ - the lower bound for price refinements.
+
+
+---
+
+### getValueTo()
+- getValueTo(): [Number](TopLevel.Number.md)
+ - : Returns the upper bound for price refinements. For example, 99.99
+ for a range of $50.00 - $99.99.
+
+
+ **Returns:**
+ - the upper bound for price refinements.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductSearchRefinements.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductSearchRefinements.md
new file mode 100644
index 00000000..6991160b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductSearchRefinements.md
@@ -0,0 +1,265 @@
+
+# Class ProductSearchRefinements
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.SearchRefinements](dw.catalog.SearchRefinements.md)
+ - [dw.catalog.ProductSearchRefinements](dw.catalog.ProductSearchRefinements.md)
+
+This class provides an interface to refinement options for the product
+search. In a typical usage, the client application UI displays the search
+refinements along with the search results and allows customers to "refine"
+the results (i.e. limit the results that are shown) by specifying additional
+product criteria, or "relax" (i.e. broaden) the results after previously
+refining. The four types of product search refinements are:
+
+
+- **Refine By Category:**Limit the products to those assigned to specific child/ancestor categories of the search category.
+- **Refine By Attribute:**Limit the products to those with specific values for a given attribute. Values may be grouped into "buckets" so that a given set of values are represented as a single refinement option.
+- **Refine By Price:**Limit the products to those whose prices fall in a specific range.
+- **Refine By Promotion:**Limit the products to those which are related to a specific promotion.
+
+
+Rendering a product search refinement UI typically begins with iterating the
+refinement definitions for the search result. Call
+[SearchRefinements.getRefinementDefinitions()](dw.catalog.SearchRefinements.md#getrefinementdefinitions) or
+[SearchRefinements.getAllRefinementDefinitions()](dw.catalog.SearchRefinements.md#getallrefinementdefinitions) to
+retrieve the appropriate collection of refinement definitions. For each
+definition, display the available refinement values by calling
+[getAllRefinementValues(ProductSearchRefinementDefinition)](dw.catalog.ProductSearchRefinements.md#getallrefinementvaluesproductsearchrefinementdefinition). Depending
+on the type of the refinement definition, the application must use slightly
+different logic to display the refinement widgets. For all 4 types, methods
+in [ProductSearchModel](dw.catalog.ProductSearchModel.md) are used to generate URLs to render
+hyperlinks in the UI. When clicked, these links trigger a call to the Search
+pipelet which in turn applies the appropriate filters to the native search
+result.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [categoryRefinementDefinition](#categoryrefinementdefinition): [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md) `(read-only)` | Returns the appropriate category refinement definition based on the search result. |
+| [priceRefinementDefinition](#pricerefinementdefinition): [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md) `(read-only)` | Returns the appropriate price refinement definition based on the search result. |
+| [promotionRefinementDefinition](#promotionrefinementdefinition): [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md) `(read-only)` | Returns the appropriate promotion refinement definition based on the search result. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAllRefinementValues](dw.catalog.ProductSearchRefinements.md#getallrefinementvaluesproductsearchrefinementdefinition)([ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md)) | Returns a sorted collection of refinement values for the passed refinement definition. |
+| [getCategoryRefinementDefinition](dw.catalog.ProductSearchRefinements.md#getcategoryrefinementdefinition)() | Returns the appropriate category refinement definition based on the search result. |
+| [getNextLevelCategoryRefinementValues](dw.catalog.ProductSearchRefinements.md#getnextlevelcategoryrefinementvaluescategory)([Category](dw.catalog.Category.md)) | Returns category refinement values based on the current search result filtered such that only category refinements representing children of the given category are present. |
+| [getPriceRefinementDefinition](dw.catalog.ProductSearchRefinements.md#getpricerefinementdefinition)() | Returns the appropriate price refinement definition based on the search result. |
+| [getPromotionRefinementDefinition](dw.catalog.ProductSearchRefinements.md#getpromotionrefinementdefinition)() | Returns the appropriate promotion refinement definition based on the search result. |
+| [getRefinementValue](dw.catalog.ProductSearchRefinements.md#getrefinementvalueproductsearchrefinementdefinition-string)([ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md), [String](TopLevel.String.md)) | Returns the refinement value (incl. |
+| [getRefinementValue](dw.catalog.ProductSearchRefinements.md#getrefinementvaluestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns the refinement value (incl. |
+| [getRefinementValues](dw.catalog.ProductSearchRefinements.md#getrefinementvaluesproductsearchrefinementdefinition)([ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md)) | Returns a collection of refinement values for the given refinement definition. |
+
+### Methods inherited from class SearchRefinements
+
+[getAllRefinementDefinitions](dw.catalog.SearchRefinements.md#getallrefinementdefinitions), [getAllRefinementValues](dw.catalog.SearchRefinements.md#getallrefinementvaluesstring), [getAllRefinementValues](dw.catalog.SearchRefinements.md#getallrefinementvaluesstring-number-number), [getRefinementDefinitions](dw.catalog.SearchRefinements.md#getrefinementdefinitions), [getRefinementValues](dw.catalog.SearchRefinements.md#getrefinementvaluesstring-number-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### categoryRefinementDefinition
+- categoryRefinementDefinition: [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md) `(read-only)`
+ - : Returns the appropriate category refinement definition based on the search
+ result. The category refinement definition returned will be the first that
+ can be found traversing the category tree upward starting at the deepest
+ common category of the search result.
+
+
+
+---
+
+### priceRefinementDefinition
+- priceRefinementDefinition: [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md) `(read-only)`
+ - : Returns the appropriate price refinement definition based on the search
+ result. The price refinement definition returned will be the first that
+ can be found traversing the category tree upward starting at the deepest
+ common category of the search result.
+
+
+
+---
+
+### promotionRefinementDefinition
+- promotionRefinementDefinition: [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md) `(read-only)`
+ - : Returns the appropriate promotion refinement definition based on the search
+ result. The promotion refinement definition returned will be the first that
+ can be found traversing the category tree upward starting at the deepest
+ common category of the search result.
+
+
+
+---
+
+## Method Details
+
+### getAllRefinementValues(ProductSearchRefinementDefinition)
+- getAllRefinementValues(definition: [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md)): [Collection](dw.util.Collection.md)
+ - : Returns a sorted collection of refinement values for the passed
+ refinement definition. The returned collection includes all refinement
+ values for which the hit count is greater than 0 within the search result
+ when the passed refinement definition is excluded from filtering the
+ search hits but all other refinement filters are still applied. This
+ method is useful for rendering broadening options for definitions that
+ the search is currently refined by. If the search is not currently
+ restricted by the passed refinement definition, then this method will
+ return the same result as
+ [getRefinementValues(ProductSearchRefinementDefinition)](dw.catalog.ProductSearchRefinements.md#getrefinementvaluesproductsearchrefinementdefinition).
+
+
+ For attribute-based refinement definitions, the returned collection
+ depends upon how the "value set" property is configured. (Category and
+ price refinement definitions do not have such a property.) If this
+ property is set to "search result values", the behavior is as described
+ above. If this property is set to "all values of category", then the
+ returned collection will also include all refinement values for products
+ in the category subtree rooted at the search definition's category. This
+ setting is useful for refinements whose visualization is supposed to
+ remain constant for a certain subtree of a catalog (e.g. color pickers or
+ size charts). These additional values are independent of the search
+ result and do not contribute towards the value hit counts. If the search
+ result is further refined by one of these values, it is possible to get
+ an empty search result. Except for this one case this method does NOT
+ return refinement values independent of the search result.
+
+
+ **Parameters:**
+ - definition - The refinement definition to return refinement values for. Must not be null.
+
+ **Returns:**
+ - The collection of ProductSearchRefinementValue instances, sorted
+ according to the settings of the refinement definition.
+
+
+
+---
+
+### getCategoryRefinementDefinition()
+- getCategoryRefinementDefinition(): [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md)
+ - : Returns the appropriate category refinement definition based on the search
+ result. The category refinement definition returned will be the first that
+ can be found traversing the category tree upward starting at the deepest
+ common category of the search result.
+
+
+ **Returns:**
+ - The category refinement definition or `null` if none can
+ be found.
+
+
+
+---
+
+### getNextLevelCategoryRefinementValues(Category)
+- getNextLevelCategoryRefinementValues(category: [Category](dw.catalog.Category.md)): [Collection](dw.util.Collection.md)
+ - : Returns category refinement values based on the current search result
+ filtered such that only category refinements representing children of the
+ given category are present. If no category is given, the method uses the
+ catalog's root category. The refinement value product counts represent
+ all hits contained in the catalog tree starting at the corresponding
+ child category.
+
+
+ **Parameters:**
+ - category - The category to return child category refinement values for.
+
+ **Returns:**
+ - The refinement values for all child categories of the given
+ category.
+
+
+
+---
+
+### getPriceRefinementDefinition()
+- getPriceRefinementDefinition(): [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md)
+ - : Returns the appropriate price refinement definition based on the search
+ result. The price refinement definition returned will be the first that
+ can be found traversing the category tree upward starting at the deepest
+ common category of the search result.
+
+
+ **Returns:**
+ - The price refinement definition or `null` if none can
+ be found.
+
+
+
+---
+
+### getPromotionRefinementDefinition()
+- getPromotionRefinementDefinition(): [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md)
+ - : Returns the appropriate promotion refinement definition based on the search
+ result. The promotion refinement definition returned will be the first that
+ can be found traversing the category tree upward starting at the deepest
+ common category of the search result.
+
+
+ **Returns:**
+ - The promotion refinement definition or `null` if none can
+ be found.
+
+
+
+---
+
+### getRefinementValue(ProductSearchRefinementDefinition, String)
+- getRefinementValue(definition: [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md), value: [String](TopLevel.String.md)): [ProductSearchRefinementValue](dw.catalog.ProductSearchRefinementValue.md)
+ - : Returns the refinement value (incl. product hit count) for the given
+ refinement definition and the given (selected) value.
+
+
+ **Parameters:**
+ - definition - The definition to return the refinement for.
+ - value - The value to return the refinement for.
+
+ **Returns:**
+ - The refinement value.
+
+
+---
+
+### getRefinementValue(String, String)
+- getRefinementValue(name: [String](TopLevel.String.md), value: [String](TopLevel.String.md)): [ProductSearchRefinementValue](dw.catalog.ProductSearchRefinementValue.md)
+ - : Returns the refinement value (incl. product hit count) for the given
+ refinement attribute and the given (selected) value.
+
+
+ **Parameters:**
+ - name - The name of the refinement attribute.
+ - value - The value to return the refinement for.
+
+ **Returns:**
+ - The refinement value.
+
+
+---
+
+### getRefinementValues(ProductSearchRefinementDefinition)
+- getRefinementValues(definition: [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md)): [Collection](dw.util.Collection.md)
+ - : Returns a collection of refinement values for the given refinement
+ definition. The returned refinement values only include those that are
+ part of the actual search result (i.e. hit count will always be > 0).
+
+
+ **Parameters:**
+ - definition - The refinement definition to return refinement values for.
+
+ **Returns:**
+ - The collection of refinement values sorted according to the
+ settings of the definition.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductVariationAttribute.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductVariationAttribute.md
new file mode 100644
index 00000000..b4a753f6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductVariationAttribute.md
@@ -0,0 +1,107 @@
+
+# Class ProductVariationAttribute
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)
+
+Represents a product variation attribute
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the product variation attribute. |
+| [attributeID](#attributeid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the product attribute defintion related to this variation attribute. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the display name for the product variation attribute, which can be used in the user interface. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAttributeID](dw.catalog.ProductVariationAttribute.md#getattributeid)() | Returns the ID of the product attribute defintion related to this variation attribute. |
+| [getDisplayName](dw.catalog.ProductVariationAttribute.md#getdisplayname)() | Returns the display name for the product variation attribute, which can be used in the user interface. |
+| [getID](dw.catalog.ProductVariationAttribute.md#getid)() | Returns the ID of the product variation attribute. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the product variation attribute.
+
+
+---
+
+### attributeID
+- attributeID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the product attribute defintion related to
+ this variation attribute. This ID matches the
+ value returned by [ObjectAttributeDefinition.getID()](dw.object.ObjectAttributeDefinition.md#getid)
+ for the appropriate product attribute definition.
+ This ID is generally different than the ID returned by
+ [getID()](dw.catalog.ProductVariationAttribute.md#getid).
+
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name for the product variation attribute, which can be used in the
+ user interface.
+
+
+
+---
+
+## Method Details
+
+### getAttributeID()
+- getAttributeID(): [String](TopLevel.String.md)
+ - : Returns the ID of the product attribute defintion related to
+ this variation attribute. This ID matches the
+ value returned by [ObjectAttributeDefinition.getID()](dw.object.ObjectAttributeDefinition.md#getid)
+ for the appropriate product attribute definition.
+ This ID is generally different than the ID returned by
+ [getID()](dw.catalog.ProductVariationAttribute.md#getid).
+
+
+ **Returns:**
+ - the ID of the product attribute definition of this variation
+ attribute.
+
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name for the product variation attribute, which can be used in the
+ user interface.
+
+
+ **Returns:**
+ - the display name for the product variation attribute, which can be used in the
+ user interface.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the product variation attribute.
+
+ **Returns:**
+ - the ID of the product variation attribute.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductVariationAttributeValue.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductVariationAttributeValue.md
new file mode 100644
index 00000000..1cb1c756
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductVariationAttributeValue.md
@@ -0,0 +1,215 @@
+
+# Class ProductVariationAttributeValue
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.ProductVariationAttributeValue](dw.catalog.ProductVariationAttributeValue.md)
+
+Represents a product variation attribute
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the product variation attribute value. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the description of the product variation attribute value in the current locale. |
+| [displayValue](#displayvalue): [String](TopLevel.String.md) `(read-only)` | Returns the display value for the product variation attribute value, which can be used in the user interface. |
+| [value](#value): [Object](TopLevel.Object.md) `(read-only)` | Returns the value for the product variation attribute value. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [equals](dw.catalog.ProductVariationAttributeValue.md#equalsobject)([Object](TopLevel.Object.md)) | Returns true if the specified object is equal to this object. |
+| [getDescription](dw.catalog.ProductVariationAttributeValue.md#getdescription)() | Returns the description of the product variation attribute value in the current locale. |
+| [getDisplayValue](dw.catalog.ProductVariationAttributeValue.md#getdisplayvalue)() | Returns the display value for the product variation attribute value, which can be used in the user interface. |
+| [getID](dw.catalog.ProductVariationAttributeValue.md#getid)() | Returns the ID of the product variation attribute value. |
+| [getImage](dw.catalog.ProductVariationAttributeValue.md#getimagestring)([String](TopLevel.String.md)) | The method calls [getImages(String)](dw.catalog.ProductVariationAttributeValue.md#getimagesstring) and returns the first image of the list. |
+| [getImage](dw.catalog.ProductVariationAttributeValue.md#getimagestring-number)([String](TopLevel.String.md), [Number](TopLevel.Number.md)) | The method calls [getImages(String)](dw.catalog.ProductVariationAttributeValue.md#getimagesstring) and returns the image at the specific index. |
+| [getImages](dw.catalog.ProductVariationAttributeValue.md#getimagesstring)([String](TopLevel.String.md)) | Returns all images that match the given view type and have the variant value of this value, which is typically the 'color' attribute. |
+| [getValue](dw.catalog.ProductVariationAttributeValue.md#getvalue)() | Returns the value for the product variation attribute value. |
+| [hashCode](dw.catalog.ProductVariationAttributeValue.md#hashcode)() | Calculates the hash code for a product variation attribute value. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the product variation attribute value.
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the description of the product variation attribute value in the current locale.
+
+
+---
+
+### displayValue
+- displayValue: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display value for the product variation attribute value, which can be used in the
+ user interface.
+
+
+
+---
+
+### value
+- value: [Object](TopLevel.Object.md) `(read-only)`
+ - : Returns the value for the product variation attribute value.
+
+
+---
+
+## Method Details
+
+### equals(Object)
+- equals(obj: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the specified object is equal to this object.
+
+ **Parameters:**
+ - obj - the object to test.
+
+ **Returns:**
+ - true if the specified object is equal to this object.
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the description of the product variation attribute value in the current locale.
+
+ **Returns:**
+ - the description of the product variation attribute value in the current locale,
+ or null if it wasn't found.
+
+
+
+---
+
+### getDisplayValue()
+- getDisplayValue(): [String](TopLevel.String.md)
+ - : Returns the display value for the product variation attribute value, which can be used in the
+ user interface.
+
+
+ **Returns:**
+ - the display value for the product variation attribute value, which can be used in the
+ user interface.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the product variation attribute value.
+
+ **Returns:**
+ - the ID of the product variation attribute value.
+
+
+---
+
+### getImage(String)
+- getImage(viewtype: [String](TopLevel.String.md)): [MediaFile](dw.content.MediaFile.md)
+ - : The method calls [getImages(String)](dw.catalog.ProductVariationAttributeValue.md#getimagesstring) and returns the first image
+ of the list. The method is specifically built for handling color
+ swatches in an apparel site.
+
+ If no images are defined for this variant and specified view type, then
+ the first image of the master product images for that view type is
+ returned. If no master product images are defined, the method returns
+ null.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to image
+
+ **Returns:**
+ - the MediaFile or null
+
+ **Throws:**
+ - NullArgumentException - if viewtype is null
+
+
+---
+
+### getImage(String, Number)
+- getImage(viewtype: [String](TopLevel.String.md), index: [Number](TopLevel.Number.md)): [MediaFile](dw.content.MediaFile.md)
+ - : The method calls [getImages(String)](dw.catalog.ProductVariationAttributeValue.md#getimagesstring) and returns the image at
+ the specific index.
+
+ If images are defined for this view type and variant, but not for
+ specified index, the method returns null.
+
+ If no images are defined for this variant and specified view type, the
+ image at the specified index of the master product images is returned. If
+ no master product image for specified index is defined, the method
+ returns null.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to image
+ - index - the index number of the image within image list
+
+ **Returns:**
+ - the MediaFile or null
+
+ **Throws:**
+ - NullArgumentException - if viewtype is null
+
+
+---
+
+### getImages(String)
+- getImages(viewtype: [String](TopLevel.String.md)): [List](dw.util.List.md)
+ - : Returns all images that match the given view type and have the variant
+ value of this value, which is typically the 'color' attribute. The images
+ are returned in the order of their index number ascending.
+
+ If no images are defined for this variant, then the images of the master
+ for that view type are returned.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to images
+
+ **Returns:**
+ - a list of MediaFile objects, possibly empty
+
+ **Throws:**
+ - NullArgumentException - if viewtype is null
+
+
+---
+
+### getValue()
+- getValue(): [Object](TopLevel.Object.md)
+ - : Returns the value for the product variation attribute value.
+
+ **Returns:**
+ - the value for the product variation attribute value.
+
+
+---
+
+### hashCode()
+- hashCode(): [Number](TopLevel.Number.md)
+ - : Calculates the hash code for a product variation attribute value.
+
+ **Returns:**
+ - the hash code for a product variation attribute value.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductVariationModel.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductVariationModel.md
new file mode 100644
index 00000000..5dcf1adc
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.ProductVariationModel.md
@@ -0,0 +1,1010 @@
+
+# Class ProductVariationModel
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.ProductVariationModel](dw.catalog.ProductVariationModel.md)
+
+Class representing the complete variation information for a master product in
+the system. An instance of this class provides methods to access the
+following information:
+
+
+- The variation attributes of the master product (e.g. size and color). Use [getProductVariationAttributes()](dw.catalog.ProductVariationModel.md#getproductvariationattributes).
+- The variation attribute values (e.g. size=Small, Medium, Large and color=Red, Blue). Use [getAllValues(ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#getallvaluesproductvariationattribute).
+- The variation groups which may represent a subset of variants by defining a subset of the variation attribute values (e.g. color=Red, size=empty). Use [getVariationGroups()](dw.catalog.ProductVariationModel.md#getvariationgroups).
+- The variants themselves (e.g. the products representing Small Red, Large Red, Small Blue, Large Blue, etc). Use [getVariants()](dw.catalog.ProductVariationModel.md#getvariants).
+- The variation attribute values of those variants. Use [getVariationValue(Product, ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#getvariationvalueproduct-productvariationattribute).
+
+
+This model only considers variants which are complete (i.e. the variant has a
+value for each variation attribute), and currently online. Incomplete or
+offline variants will not be returned by any method that returns Variants,
+and their attribute values will not be considered in any method that returns
+values.
+
+
+In addition to providing access to this meta information,
+ProductVariationModel maintains a collection of selected variation attribute
+values, representing the selections that a customer makes in the storefront.
+If this model was constructed for a master product, then none of the
+attributes will have pre-selected values. If this model was constructed for a
+variant product, then all the attribute values of that variant will be
+pre-selected.
+
+
+It is possible to query the current selections by calling
+[getSelectedValue(ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#getselectedvalueproductvariationattribute) or
+[isSelectedAttributeValue(ProductVariationAttribute, ProductVariationAttributeValue)](dw.catalog.ProductVariationModel.md#isselectedattributevalueproductvariationattribute-productvariationattributevalue).
+
+
+The method [setSelectedAttributeValue(String, String)](dw.catalog.ProductVariationModel.md#setselectedattributevaluestring-string) can be used to modify
+the selected values. Depending on the product type, it's possible to select or modify
+variation attribute values:
+
+
+- If this model was constructed for a master product, it's possible to select and modify all variation attributes.
+- If this model was constructed for a variation group, it's possible to select and modify all variation attributes that are not defined by the variation group.
+- If this model was constructed for a variation product, it's not possible to select or modify any of the variation attributes.
+
+
+
+
+Furthermore, the model provides helper methods to generate URLs
+for selecting and unselecting variation attribute values. See those methods
+for details.
+
+
+If this model was constructed for a product that is neither a
+master nor a variant, then none of the methods will return useful values at
+all.
+
+
+The methods in this class which access the currently selected variation
+attribute values can be used on product detail pages to render information
+about which combinations are available or unavailable. The methods
+[getFilteredValues(ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#getfilteredvaluesproductvariationattribute) and
+[hasOrderableVariants(ProductVariationAttribute, ProductVariationAttributeValue)](dw.catalog.ProductVariationModel.md#hasorderablevariantsproductvariationattribute-productvariationattributevalue)
+can be used to determine this type of situation and render the appropriate
+message in the storefront.
+
+
+NOTE: Several methods in this class have a version taking a
+[ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md) parameter, and another
+deprecated version accepting a [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)
+parameter instead. The former should be strictly favored. The latter are
+historical leftovers from when object attributes were used directly as the
+basis for variation, and the value lists were stored directly on the
+ObjectAttributeDefinition. Every ProductVariationAttribute corresponds with
+exactly one ObjectAttributeDefinition, but values are now stored on the
+ProductVariationAttribute and not the ObjectAttributeDefinition.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| ~~[attributeDefinitions](#attributedefinitions): [Collection](dw.util.Collection.md)~~ `(read-only)` | Returns the object attribute definitions corresponding with the product variation attributes of the master product. |
+| [defaultVariant](#defaultvariant): [Variant](dw.catalog.Variant.md) `(read-only)` | Return the default variant of this model's master product. |
+| [master](#master): [Product](dw.catalog.Product.md) `(read-only)` | Returns the master of the product variation. |
+| [productVariationAttributes](#productvariationattributes): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of product variation attributes of the variation. |
+| [selectedVariant](#selectedvariant): [Variant](dw.catalog.Variant.md) `(read-only)` | Returns the variant currently selected for this variation model. |
+| [selectedVariants](#selectedvariants): [Collection](dw.util.Collection.md) `(read-only)` | Returns the variants currently selected for this variation model. |
+| [variants](#variants): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of product variants of this variation model. |
+| [variationGroups](#variationgroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of variation groups of this variation model. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAllValues](dw.catalog.ProductVariationModel.md#getallvaluesproductvariationattribute)([ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)) | Returns the values for the specified attribute. |
+| ~~[getAllValues](dw.catalog.ProductVariationModel.md#getallvaluesobjectattributedefinition)([ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md))~~ | Returns the value definitions for the specified attribute. |
+| ~~[getAttributeDefinitions](dw.catalog.ProductVariationModel.md#getattributedefinitions)()~~ | Returns the object attribute definitions corresponding with the product variation attributes of the master product. |
+| [getDefaultVariant](dw.catalog.ProductVariationModel.md#getdefaultvariant)() | Return the default variant of this model's master product. |
+| [getFilteredValues](dw.catalog.ProductVariationModel.md#getfilteredvaluesproductvariationattribute)([ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)) | Returns a collection of the value definitions defined for the specified attribute, filtered based on currently selected values. |
+| ~~[getFilteredValues](dw.catalog.ProductVariationModel.md#getfilteredvaluesobjectattributedefinition)([ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md))~~ | Returns a collection of the value definitions defined for the specified attribute, filtered based on currently selected values. |
+| [getHtmlName](dw.catalog.ProductVariationModel.md#gethtmlnameproductvariationattribute)([ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)) | Returns an HTML representation of the product variation attribute id. |
+| ~~[getHtmlName](dw.catalog.ProductVariationModel.md#gethtmlnameobjectattributedefinition)([ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md))~~ | Returns an HTML representation of the variation attribute id. |
+| [getHtmlName](dw.catalog.ProductVariationModel.md#gethtmlnamestring-productvariationattribute)([String](TopLevel.String.md), [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)) | Returns an HTML representation of the product variation attribute id with the custom prefix. |
+| ~~[getHtmlName](dw.catalog.ProductVariationModel.md#gethtmlnamestring-objectattributedefinition)([String](TopLevel.String.md), [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md))~~ | Returns an HTML representation of the variation attribute id with the custom prefix. |
+| [getImage](dw.catalog.ProductVariationModel.md#getimagestring)([String](TopLevel.String.md)) | The method returns the first image appropriate for the current selected variation values with the specific index. |
+| [getImage](dw.catalog.ProductVariationModel.md#getimagestring-productvariationattribute-productvariationattributevalue)([String](TopLevel.String.md), [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md), [ProductVariationAttributeValue](dw.catalog.ProductVariationAttributeValue.md)) | The method returns the first image appropriate for the currently selected attribute values. |
+| [getImage](dw.catalog.ProductVariationModel.md#getimagestring-number)([String](TopLevel.String.md), [Number](TopLevel.Number.md)) | The method returns an image appropriate for the current selected variation values with the specific index. |
+| [getImages](dw.catalog.ProductVariationModel.md#getimagesstring)([String](TopLevel.String.md)) | The method returns the image appropriate for the currently selected attribute values. |
+| [getMaster](dw.catalog.ProductVariationModel.md#getmaster)() | Returns the master of the product variation. |
+| [getProductVariationAttribute](dw.catalog.ProductVariationModel.md#getproductvariationattributestring)([String](TopLevel.String.md)) | Returns the product variation attribute for the specific id, or null if there is no product variation attribute for that id. |
+| [getProductVariationAttributes](dw.catalog.ProductVariationModel.md#getproductvariationattributes)() | Returns a collection of product variation attributes of the variation. |
+| [getSelectedValue](dw.catalog.ProductVariationModel.md#getselectedvalueproductvariationattribute)([ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)) | Returns the selected value for the specified product variation attribute. |
+| ~~[getSelectedValue](dw.catalog.ProductVariationModel.md#getselectedvalueobjectattributedefinition)([ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md))~~ | Returns the selected value for the specified attribute. |
+| [getSelectedVariant](dw.catalog.ProductVariationModel.md#getselectedvariant)() | Returns the variant currently selected for this variation model. |
+| [getSelectedVariants](dw.catalog.ProductVariationModel.md#getselectedvariants)() | Returns the variants currently selected for this variation model. |
+| [getVariants](dw.catalog.ProductVariationModel.md#getvariants)() | Returns the collection of product variants of this variation model. |
+| [getVariants](dw.catalog.ProductVariationModel.md#getvariantshashmap)([HashMap](dw.util.HashMap.md)) | Returns the variants that match the specified filter conditions. |
+| [getVariationGroups](dw.catalog.ProductVariationModel.md#getvariationgroups)() | Returns the collection of variation groups of this variation model. |
+| [getVariationValue](dw.catalog.ProductVariationModel.md#getvariationvalueproduct-productvariationattribute)([Product](dw.catalog.Product.md), [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)) | Returns the value for the specified variant or variation group product and variation attribute. |
+| [hasOrderableVariants](dw.catalog.ProductVariationModel.md#hasorderablevariantsproductvariationattribute-productvariationattributevalue)([ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md), [ProductVariationAttributeValue](dw.catalog.ProductVariationAttributeValue.md)) | Returns true if any variant is available with the specified value of the specified variation attribute. |
+| [isSelectedAttributeValue](dw.catalog.ProductVariationModel.md#isselectedattributevalueproductvariationattribute-productvariationattributevalue)([ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md), [ProductVariationAttributeValue](dw.catalog.ProductVariationAttributeValue.md)) | Identifies if the specified product variation attribute value is the one currently selected. |
+| ~~[isSelectedAttributeValue](dw.catalog.ProductVariationModel.md#isselectedattributevalueobjectattributedefinition-objectattributevaluedefinition)([ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md), [ObjectAttributeValueDefinition](dw.object.ObjectAttributeValueDefinition.md))~~ | Identifies if the specified variation value is the one currently selected. |
+| [setSelectedAttributeValue](dw.catalog.ProductVariationModel.md#setselectedattributevaluestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Applies a selected attribute value to this model instance. |
+| [url](dw.catalog.ProductVariationModel.md#urlstring-object)([String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Constructs a URL to select a set of variation attribute values. |
+| [urlSelectVariationValue](dw.catalog.ProductVariationModel.md#urlselectvariationvaluestring-productvariationattribute-productvariationattributevalue)([String](TopLevel.String.md), [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md), [ProductVariationAttributeValue](dw.catalog.ProductVariationAttributeValue.md)) | Generates a URL for selecting a value for a given variation attribute. |
+| ~~[urlSelectVariationValue](dw.catalog.ProductVariationModel.md#urlselectvariationvaluestring-objectattributedefinition-objectattributevaluedefinition)([String](TopLevel.String.md), [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md), [ObjectAttributeValueDefinition](dw.object.ObjectAttributeValueDefinition.md))~~ | Constructs an URL to select the specified value of the specified variation attribute. |
+| [urlUnselectVariationValue](dw.catalog.ProductVariationModel.md#urlunselectvariationvaluestring-productvariationattribute)([String](TopLevel.String.md), [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)) | Generates a URL for unselecting a value for a given variation attribute. |
+| ~~[urlUnselectVariationValue](dw.catalog.ProductVariationModel.md#urlunselectvariationvaluestring-objectattributedefinition)([String](TopLevel.String.md), [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md))~~ | Constructs an URL to unselect the value of the specified variation attribute. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### attributeDefinitions
+- ~~attributeDefinitions: [Collection](dw.util.Collection.md)~~ `(read-only)`
+ - : Returns the object attribute definitions corresponding with the product
+ variation attributes of the master product.
+
+
+ **Deprecated:**
+:::warning
+This method is deprecated since custom code should work with
+ ProductVariationAttributes and not directly with their
+ corresponding ObjectAttributeDefinitions. Use
+ [getProductVariationAttributes()](dw.catalog.ProductVariationModel.md#getproductvariationattributes) to get the
+ product variation attributes.
+
+:::
+
+---
+
+### defaultVariant
+- defaultVariant: [Variant](dw.catalog.Variant.md) `(read-only)`
+ - : Return the default variant of this model's master product. If no default
+ variant has been defined, return an arbitrary variant.
+
+
+
+---
+
+### master
+- master: [Product](dw.catalog.Product.md) `(read-only)`
+ - : Returns the master of the product variation.
+
+
+---
+
+### productVariationAttributes
+- productVariationAttributes: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of product variation attributes of the variation.
+
+
+---
+
+### selectedVariant
+- selectedVariant: [Variant](dw.catalog.Variant.md) `(read-only)`
+ - : Returns the variant currently selected for this variation model.
+ Returns null if no variant is selected.
+
+
+
+---
+
+### selectedVariants
+- selectedVariants: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the variants currently selected for this variation model.
+ Returns an empty collection if no variant is selected.
+
+
+
+---
+
+### variants
+- variants: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of product variants of this variation model.
+ This collection only includes online variants. Offline variants are
+ filtered out. If all variation products are required, consider using
+ [Product.getVariants()](dw.catalog.Product.md#getvariants).
+
+ The product variants are returned in no particular order.
+
+
+
+---
+
+### variationGroups
+- variationGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of variation groups of this variation model.
+ This collection only includes online variation groups. Offline variation
+ groups are filtered out. If all variation group products are required,
+ consider using [Product.getVariationGroups()](dw.catalog.Product.md#getvariationgroups).
+
+ The variation groups are returned in no particular order.
+
+
+
+---
+
+## Method Details
+
+### getAllValues(ProductVariationAttribute)
+- getAllValues(attribute: [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)): [Collection](dw.util.Collection.md)
+ - : Returns the values for the specified attribute. Only values that actually
+ exist for at least one of the master product's currently online and
+ complete variants are returned.
+
+
+ Returns an empty collection if the passed attribute is not even a
+ variation attribute of the master product.
+
+
+ **Parameters:**
+ - attribute - the variation attribute whose values will be returned.
+
+ **Returns:**
+ - the sorted collection of ProductVariationAttributeValue instances
+ representing the values defined for the specified attribute. The
+ collection is sorted by the explicit sort order defined for the
+ values.
+
+
+
+---
+
+### getAllValues(ObjectAttributeDefinition)
+- ~~getAllValues(attribute: [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)): [Collection](dw.util.Collection.md)~~
+ - : Returns the value definitions for the specified attribute. Only values
+ that actually exist for at least one of the master product's currently
+ online and complete variants are returned.
+
+
+ Returns an empty collection if the passed attribute is not even a
+ variation attribute of the master product.
+
+
+ **Parameters:**
+ - attribute - the attribute whose values will be returned.
+
+ **Returns:**
+ - the sorted collection of ObjectAttributeValueDefinition instances
+ representing the value definitions defined for the specified
+ attribute. The collection is sorted by the explicit sort order
+ defined for the values.
+
+
+ **Deprecated:**
+:::warning
+This method is deprecated since custom code should work with
+ ProductVariationAttributes and not directly with their
+ corresponding ObjectAttributeDefinitions. Use
+ [getAllValues(ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#getallvaluesproductvariationattribute) to get the
+ collection of ProductVariationAttributeValue instances
+ instead.
+
+:::
+
+---
+
+### getAttributeDefinitions()
+- ~~getAttributeDefinitions(): [Collection](dw.util.Collection.md)~~
+ - : Returns the object attribute definitions corresponding with the product
+ variation attributes of the master product.
+
+
+ **Returns:**
+ - the collection of ObjectAttributeDefinition instances
+ corresponding with the variation attributes of the master
+ product, sorted by explicit position.
+
+
+ **Deprecated:**
+:::warning
+This method is deprecated since custom code should work with
+ ProductVariationAttributes and not directly with their
+ corresponding ObjectAttributeDefinitions. Use
+ [getProductVariationAttributes()](dw.catalog.ProductVariationModel.md#getproductvariationattributes) to get the
+ product variation attributes.
+
+:::
+
+---
+
+### getDefaultVariant()
+- getDefaultVariant(): [Variant](dw.catalog.Variant.md)
+ - : Return the default variant of this model's master product. If no default
+ variant has been defined, return an arbitrary variant.
+
+
+ **Returns:**
+ - the default value of this model's master product, an arbitrary
+ variant if no default is defined, or null if this model does not
+ represent a master product with variants.
+
+
+
+---
+
+### getFilteredValues(ProductVariationAttribute)
+- getFilteredValues(attribute: [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)): [Collection](dw.util.Collection.md)
+ - : Returns a collection of the value definitions defined for the specified
+ attribute, filtered based on currently selected values.
+
+
+ A value is only returned if it at least one variant has the value and
+ also possesses the selected values for all previous attributes. It is
+ important to know that the filter is applied in a certain order. The
+ method looks at all ProductVariationAttribute instances that appear
+ before the passed one in the sorted collection returned by
+ [getProductVariationAttributes()](dw.catalog.ProductVariationModel.md#getproductvariationattributes). If the passed attribute is the
+ first in this collection, then this method simply returns all its values.
+ If an earlier attribute does not have a selected value, this method
+ returns an empty list. Otherwise, the filter looks at all variants
+ matching the selected value for all previous attributes, and considers
+ the range of values possessed by these variants for the passed attribute.
+
+
+ The idea behind this method is that customers in the storefront select
+ variation attribute values one by one in the order the variation
+ attributes are defined and displayed. After each selection, customer only
+ wants to see values that he can possibly order for the remaining
+ attributes.
+
+
+ Returns an empty collection if the passed attribute is not even a
+ variation attribute of the master product.
+
+
+ **Parameters:**
+ - attribute - the product variation attribute whose values are to be returned.
+
+ **Returns:**
+ - a sorted and filtered collection of product variation attribute
+ values. The collection is sorted by the explicit sort order
+ defined for the values.
+
+
+
+---
+
+### getFilteredValues(ObjectAttributeDefinition)
+- ~~getFilteredValues(attribute: [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)): [Collection](dw.util.Collection.md)~~
+ - : Returns a collection of the value definitions defined for the specified
+ attribute, filtered based on currently selected values.
+
+
+ A value is only returned if it at least one variant has the value and
+ also possesses the selected values for all previous attributes. It is
+ important to know that the filter is applied in a certain order. The
+ method looks at all ObjectAttributeDefinition instances that appear
+ before the passed one in the sorted collection returned by
+ [getAttributeDefinitions()](dw.catalog.ProductVariationModel.md#getattributedefinitions). If the passed attribute is the first
+ in this collection, then this method simply returns all its values. If an
+ earlier attribute does not have a selected value, this method returns an
+ empty list. Otherwise, the filter looks at all variants matching the
+ selected value for all previous attributes, and considers the range of
+ values possessed by these variants for the passed attribute.
+
+
+ The idea behind this method is that customers in the storefront select
+ variation attribute values one by one in the order the variation
+ attributes are defined and displayed. After each selection, customer only
+ wants to see values that he can possibly order for the remaining
+ attributes.
+
+
+ Returns an empty collection if the passed attribute is not even a
+ variation attribute of the master product.
+
+
+ **Parameters:**
+ - attribute - the attribute whose values are returned by this method.
+
+ **Returns:**
+ - a sorted collection of ObjectAttributeDefinitionValue instances
+ calculated based on the currently selected variation values.
+
+
+ **Deprecated:**
+:::warning
+Use [getFilteredValues(ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#getfilteredvaluesproductvariationattribute) to
+ get the sorted and calculated collection of product variation
+ attribute values.
+
+:::
+
+---
+
+### getHtmlName(ProductVariationAttribute)
+- getHtmlName(attribute: [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)): [String](TopLevel.String.md)
+ - : Returns an HTML representation of the product variation attribute id.
+
+ **Parameters:**
+ - attribute - the product variation attribute whose ID is returned.
+
+ **Returns:**
+ - an HTML representation of the product variation attribute id.
+
+
+---
+
+### getHtmlName(ObjectAttributeDefinition)
+- ~~getHtmlName(attribute: [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)): [String](TopLevel.String.md)~~
+ - : Returns an HTML representation of the variation attribute id. This method
+ is deprecated. You should use getHtmlName(ProductVariationAttribute)
+ instead.
+
+
+ **Parameters:**
+ - attribute - the attribute whose ID is returned.
+
+ **Returns:**
+ - an HTML representation of the attribute id.
+
+ **Deprecated:**
+:::warning
+Use [getHtmlName(ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#gethtmlnameproductvariationattribute) to get
+ the HTML representation of the product variation attribute
+ id.
+
+:::
+
+---
+
+### getHtmlName(String, ProductVariationAttribute)
+- getHtmlName(prefix: [String](TopLevel.String.md), attribute: [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)): [String](TopLevel.String.md)
+ - : Returns an HTML representation of the product variation attribute id with the custom prefix.
+
+ **Parameters:**
+ - prefix - a custom prefix.
+ - attribute - the product variation attribute whose ID is returned.
+
+ **Returns:**
+ - an HTML representation of the product variation attribute id.
+
+
+---
+
+### getHtmlName(String, ObjectAttributeDefinition)
+- ~~getHtmlName(prefix: [String](TopLevel.String.md), attribute: [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)): [String](TopLevel.String.md)~~
+ - : Returns an HTML representation of the variation attribute id with the
+ custom prefix. This method is deprecated. You should use
+ [getHtmlName(String, ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#gethtmlnamestring-productvariationattribute) instead.
+
+
+ **Parameters:**
+ - prefix - a custom prefix.
+ - attribute - the attribute whose ID is returned.
+
+ **Returns:**
+ - an HTML representation of the attribute id.
+
+ **Deprecated:**
+:::warning
+Use [getHtmlName(String, ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#gethtmlnamestring-productvariationattribute)
+ to get the HTML representation of the product variation
+ attribute id with the custom prefix.
+
+:::
+
+---
+
+### getImage(String)
+- getImage(viewtype: [String](TopLevel.String.md)): [MediaFile](dw.content.MediaFile.md)
+ - : The method returns the first image appropriate for the current selected variation values
+ with the specific index.
+
+ If images are defined for this view type and variants, but not for
+ specified index, the method returns null.
+
+ If no images are defined for all variants and specified view type, the
+ image at the specified index of the master product images is returned. If
+ no master product image for specified index is defined, the method
+ returns null.
+
+ The view type parameter is required, otherwise a exception is thrown.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to image
+
+ **Returns:**
+ - the MediaFile or null
+
+
+---
+
+### getImage(String, ProductVariationAttribute, ProductVariationAttributeValue)
+- getImage(viewtype: [String](TopLevel.String.md), attribute: [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md), value: [ProductVariationAttributeValue](dw.catalog.ProductVariationAttributeValue.md)): [MediaFile](dw.content.MediaFile.md)
+ - : The method returns the first image appropriate for the currently selected attribute values.
+
+ The method first considers the most specific combination of attribute values (e.g
+ "Red leather") and if that is not found, more general (e.g "Red"). If no image group
+ is found for the attributes, returns null
+
+ The view type parameter is required, otherwise a exception is thrown.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to image
+ - attribute - the variation attribute
+ - value - the the variation attribute value
+
+ **Returns:**
+ - the first image, or null if not found
+
+
+---
+
+### getImage(String, Number)
+- getImage(viewtype: [String](TopLevel.String.md), index: [Number](TopLevel.Number.md)): [MediaFile](dw.content.MediaFile.md)
+ - : The method returns an image appropriate for the current selected variation values
+ with the specific index.
+
+ If images are defined for this view type and variants, but not for
+ specified index, the method returns null.
+
+ If no images are defined for all variants and specified view type, the
+ image at the specified index of the master product images is returned. If
+ no master product image for specified index is defined, the method
+ returns null.
+
+ The view type parameter is required, otherwise a exception is thrown.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to image
+ - index - the index number of the image within image list
+
+ **Returns:**
+ - the MediaFile or null
+
+
+---
+
+### getImages(String)
+- getImages(viewtype: [String](TopLevel.String.md)): [List](dw.util.List.md)
+ - : The method returns the image appropriate for the currently selected attribute values.
+
+ The method first considers the most specific combination of attribute values (e.g
+ "Red leather") and if that is not found, more general (e.g "Red"). If no image group
+ is found for the attributes, returns null
+
+ The view type parameter is required, otherwise a exception is thrown.
+
+
+ **Parameters:**
+ - viewtype - the view type annotated to image
+
+ **Returns:**
+ - an array of images
+
+
+---
+
+### getMaster()
+- getMaster(): [Product](dw.catalog.Product.md)
+ - : Returns the master of the product variation.
+
+ **Returns:**
+ - the master of the product variation.
+
+
+---
+
+### getProductVariationAttribute(String)
+- getProductVariationAttribute(id: [String](TopLevel.String.md)): [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)
+ - : Returns the product variation attribute for the specific id,
+ or null if there is no product variation attribute for that id.
+
+
+ **Parameters:**
+ - id - the id of the product variation attribute
+
+ **Returns:**
+ - the product variation attribute, or null.
+
+
+---
+
+### getProductVariationAttributes()
+- getProductVariationAttributes(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of product variation attributes of the variation.
+
+ **Returns:**
+ - a collection of product variation attributes of the variation.
+
+
+---
+
+### getSelectedValue(ProductVariationAttribute)
+- getSelectedValue(attribute: [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md)): [ProductVariationAttributeValue](dw.catalog.ProductVariationAttributeValue.md)
+ - : Returns the selected value for the specified product variation attribute. If no value is
+ selected, null is returned.
+
+
+ **Parameters:**
+ - attribute - the product variation attribute whose value will be returned.
+
+ **Returns:**
+ - the selected product variation attribute value for the specified attribute or null.
+
+
+---
+
+### getSelectedValue(ObjectAttributeDefinition)
+- ~~getSelectedValue(attribute: [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)): [ObjectAttributeValueDefinition](dw.object.ObjectAttributeValueDefinition.md)~~
+ - : Returns the selected value for the specified attribute. If no value is
+ selected, null is returned.
+
+
+ **Parameters:**
+ - attribute - the attribute whose value will be returned.
+
+ **Returns:**
+ - the selected value for the specified attribute or null.
+
+ **Deprecated:**
+:::warning
+Use [getSelectedValue(ProductVariationAttribute)](dw.catalog.ProductVariationModel.md#getselectedvalueproductvariationattribute) to
+ get the selected product variation attribute value for the
+ specified attribute.
+
+:::
+
+---
+
+### getSelectedVariant()
+- getSelectedVariant(): [Variant](dw.catalog.Variant.md)
+ - : Returns the variant currently selected for this variation model.
+ Returns null if no variant is selected.
+
+
+ **Returns:**
+ - selected variant or null.
+
+
+---
+
+### getSelectedVariants()
+- getSelectedVariants(): [Collection](dw.util.Collection.md)
+ - : Returns the variants currently selected for this variation model.
+ Returns an empty collection if no variant is selected.
+
+
+ **Returns:**
+ - selected variants, might be empty if no valid variant was selected by the given attribute values
+
+
+---
+
+### getVariants()
+- getVariants(): [Collection](dw.util.Collection.md)
+ - : Returns the collection of product variants of this variation model.
+ This collection only includes online variants. Offline variants are
+ filtered out. If all variation products are required, consider using
+ [Product.getVariants()](dw.catalog.Product.md#getvariants).
+
+ The product variants are returned in no particular order.
+
+
+ **Returns:**
+ - a collection of all the product variants of the variation model.
+
+
+---
+
+### getVariants(HashMap)
+- getVariants(filter: [HashMap](dw.util.HashMap.md)): [Collection](dw.util.Collection.md)
+ - : Returns the variants that match the specified filter conditions. The
+ filter conditions are specified as a hash map of Creates a new StoreInventoryFilterValue instance for the semantic inventory ID and real inventory list ID. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getInventoryListID](dw.catalog.StoreInventoryFilterValue.md#getinventorylistid)() | Returns the real inventory list ID of this store inventory filter value. |
+| [getSemanticInventoryID](dw.catalog.StoreInventoryFilterValue.md#getsemanticinventoryid)() | Returns the semantic inventory ID of this store inventory filter value. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### inventoryListID
+- inventoryListID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the real inventory list ID of this store inventory filter value.
+
+
+---
+
+### semanticInventoryID
+- semanticInventoryID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the semantic inventory ID of this store inventory filter value.
+
+
+---
+
+## Constructor Details
+
+### StoreInventoryFilterValue(String, String)
+- StoreInventoryFilterValue(semanticInventoryListID: [String](TopLevel.String.md), inventoryListID: [String](TopLevel.String.md))
+ - :
+
+ Creates a new StoreInventoryFilterValue instance for the semantic inventory ID and real inventory list ID.
+
+
+ **Parameters:**
+ - semanticInventoryListID - The semantic inventory list ID of this store inventory filter value.
+ - inventoryListID - The real inventory list ID to filter the search result on.
+
+ **Throws:**
+ - NullArgumentException - in case of missing required parameter.
+
+
+---
+
+## Method Details
+
+### getInventoryListID()
+- getInventoryListID(): [String](TopLevel.String.md)
+ - : Returns the real inventory list ID of this store inventory filter value.
+
+ **Returns:**
+ - the real inventory list ID of this store inventory filter value.
+
+
+---
+
+### getSemanticInventoryID()
+- getSemanticInventoryID(): [String](TopLevel.String.md)
+ - : Returns the semantic inventory ID of this store inventory filter value.
+
+ **Returns:**
+ - the semantic inventory ID of this store inventory filter value.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.StoreMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.StoreMgr.md
new file mode 100644
index 00000000..6e1ec1af
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.StoreMgr.md
@@ -0,0 +1,223 @@
+
+# Class StoreMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.StoreMgr](dw.catalog.StoreMgr.md)
+
+Provides helper methods for getting stores based on id and querying for
+stores based on geolocation.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [allStoreGroups](#allstoregroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns all the store groups of the current site. |
+| [storeIDFromSession](#storeidfromsession): [String](TopLevel.String.md) `(read-only)` | Get the store id associated with the current session. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getAllStoreGroups](dw.catalog.StoreMgr.md#getallstoregroups)() | Returns all the store groups of the current site. |
+| static [getStore](dw.catalog.StoreMgr.md#getstorestring)([String](TopLevel.String.md)) | Returns the store object with the specified id or null if store with this id does not exist in the site. |
+| static [getStoreGroup](dw.catalog.StoreMgr.md#getstoregroupstring)([String](TopLevel.String.md)) | Returns the store group with the specified id or null if the store group with this id does not exist in the current site. |
+| static [getStoreIDFromSession](dw.catalog.StoreMgr.md#getstoreidfromsession)() | Get the store id associated with the current session. |
+| static [searchStoresByCoordinates](dw.catalog.StoreMgr.md#searchstoresbycoordinatesnumber-number-string-number)([Number](TopLevel.Number.md), [Number](TopLevel.Number.md), [String](TopLevel.String.md), [Number](TopLevel.Number.md)) | Convenience method. |
+| static [searchStoresByCoordinates](dw.catalog.StoreMgr.md#searchstoresbycoordinatesnumber-number-string-number-string-object)([Number](TopLevel.Number.md), [Number](TopLevel.Number.md), [String](TopLevel.String.md), [Number](TopLevel.Number.md), [String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Search for stores based on geo-coordinates. |
+| static [searchStoresByPostalCode](dw.catalog.StoreMgr.md#searchstoresbypostalcodestring-string-string-number)([String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Number](TopLevel.Number.md)) | Convenience method. |
+| static [searchStoresByPostalCode](dw.catalog.StoreMgr.md#searchstoresbypostalcodestring-string-string-number-string-object)([String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Number](TopLevel.Number.md), [String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Search for stores by country/postal code and optionally by additional filter criteria. |
+| static [setStoreIDToSession](dw.catalog.StoreMgr.md#setstoreidtosessionstring)([String](TopLevel.String.md)) | Set the store id for the current session. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### allStoreGroups
+- allStoreGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all the store groups of the current site.
+
+
+---
+
+### storeIDFromSession
+- storeIDFromSession: [String](TopLevel.String.md) `(read-only)`
+ - : Get the store id associated with the current session. By default, the session store id is null.
+
+
+---
+
+## Method Details
+
+### getAllStoreGroups()
+- static getAllStoreGroups(): [Collection](dw.util.Collection.md)
+ - : Returns all the store groups of the current site.
+
+ **Returns:**
+ - The store groups of the current site.
+
+
+---
+
+### getStore(String)
+- static getStore(storeID: [String](TopLevel.String.md)): [Store](dw.catalog.Store.md)
+ - : Returns the store object with the specified id or null if store with this
+ id does not exist in the site.
+
+
+ **Parameters:**
+ - storeID - the store identifier.
+
+ **Returns:**
+ - Store for specified id or null.
+
+
+---
+
+### getStoreGroup(String)
+- static getStoreGroup(storeGroupID: [String](TopLevel.String.md)): [StoreGroup](dw.catalog.StoreGroup.md)
+ - : Returns the store group with the specified id or null if the store group with this id does not exist in the current site.
+
+ **Parameters:**
+ - storeGroupID - the store group identifier.
+
+ **Returns:**
+ - The store group for specified id or null.
+
+
+---
+
+### getStoreIDFromSession()
+- static getStoreIDFromSession(): [String](TopLevel.String.md)
+ - : Get the store id associated with the current session. By default, the session store id is null.
+
+ **Returns:**
+ - store id, null is returned and means no store id is set on session
+
+
+---
+
+### searchStoresByCoordinates(Number, Number, String, Number)
+- static searchStoresByCoordinates(latitude: [Number](TopLevel.Number.md), longitude: [Number](TopLevel.Number.md), distanceUnit: [String](TopLevel.String.md), maxDistance: [Number](TopLevel.Number.md)): [LinkedHashMap](dw.util.LinkedHashMap.md)
+ - : Convenience method. Same as searchStoresByCoordinates(latitude, longitude, distanceUnit, maxDistance, null).
+
+ **Parameters:**
+ - latitude - Latitude coordinate which is the center of the search area. Must not be null or an exception is thrown.
+ - longitude - Longitude coordinate which is the center of the search area. Must not be null or an exception is thrown.
+ - distanceUnit - The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.
+ - maxDistance - Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.
+
+ **Returns:**
+ - The stores and their distance from the specified location, sorted
+ in ascending order by distance.
+
+
+
+---
+
+### searchStoresByCoordinates(Number, Number, String, Number, String, Object...)
+- static searchStoresByCoordinates(latitude: [Number](TopLevel.Number.md), longitude: [Number](TopLevel.Number.md), distanceUnit: [String](TopLevel.String.md), maxDistance: [Number](TopLevel.Number.md), queryString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [LinkedHashMap](dw.util.LinkedHashMap.md)
+ - : Search for stores based on geo-coordinates. The method returns a list of
+ stores for the current site that are within a specified distance of a
+ location on the earth and which optionally satisfy additional filter
+ criteria. If no additional criteria are specified, then this method
+ behaves similar to GetNearestStores pipelet. The criteria are specified
+ as a querystring, using the same syntax as
+ [SystemObjectMgr.querySystemObjects(String, String, String, Object...)](dw.object.SystemObjectMgr.md#querysystemobjectsstring-string-string-object)
+
+
+ The stores and their distance from the specified location are returned as
+ a LinkedHashMap of Store objects to distances, sorting in ascending order
+ by distance. The distance is interpreted either in miles or kilometers
+ depending on the "distanceUnit" parameter.
+
+
+ The latitude and longitude of each store is determined by first looking
+ at [Store.getLatitude()](dw.catalog.Store.md#getlatitude) and
+ [Store.getLongitude()](dw.catalog.Store.md#getlongitude). If these are not set, then the
+ system deduces the location of the store by looking for a configured
+ geolocation matching the store's postal and country codes.
+
+
+ **Parameters:**
+ - latitude - Latitude coordinate which is the center of the search area. Must not be null or an exception is thrown.
+ - longitude - Longitude coordinate which is the center of the search area. Must not be null or an exception is thrown.
+ - distanceUnit - The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.
+ - maxDistance - Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.
+ - queryString - optional filter criteria specified as querystring.
+ - args - the arguments to fill in the values in the querystring.
+
+ **Returns:**
+ - The stores and their distance from the specified location, sorted
+ in ascending order by distance.
+
+
+
+---
+
+### searchStoresByPostalCode(String, String, String, Number)
+- static searchStoresByPostalCode(countryCode: [String](TopLevel.String.md), postalCode: [String](TopLevel.String.md), distanceUnit: [String](TopLevel.String.md), maxDistance: [Number](TopLevel.Number.md)): [LinkedHashMap](dw.util.LinkedHashMap.md)
+ - : Convenience method. Same as searchStoresByPostalCode(countryCode, postalCode, distanceUnit, maxDistance, null).
+
+ **Parameters:**
+ - countryCode - The country code for the search area, must not be null.
+ - postalCode - The postal code for the center of the search area, must not be null.
+ - distanceUnit - The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.
+ - maxDistance - Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.
+
+ **Returns:**
+ - The stores and their distance from the specified location, sorted
+ in ascending order by distance.
+
+
+
+---
+
+### searchStoresByPostalCode(String, String, String, Number, String, Object...)
+- static searchStoresByPostalCode(countryCode: [String](TopLevel.String.md), postalCode: [String](TopLevel.String.md), distanceUnit: [String](TopLevel.String.md), maxDistance: [Number](TopLevel.Number.md), queryString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [LinkedHashMap](dw.util.LinkedHashMap.md)
+ - : Search for stores by country/postal code and optionally by additional
+ filter criteria. This method is analagous to
+ [searchStoresByCoordinates(Number, Number, String, Number, String, Object...)](dw.catalog.StoreMgr.md#searchstoresbycoordinatesnumber-number-string-number-string-object)
+ but identifies a location on the earth indirectly using country and
+ postal code. The method will look first in the saved geolocations of the
+ system to find a geolocation matching the passed country and postal code.
+ If none is found, this method will return an empty map. If one is found,
+ it will use the latitude/longitude of the found geolocation as the center
+ of the search.
+
+
+ **Parameters:**
+ - countryCode - The country code for the search area, must not be null.
+ - postalCode - The postal code for the center of the search area, must not be null.
+ - distanceUnit - The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.
+ - maxDistance - Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.
+ - queryString - An optional search querystring which provides additional criteria to filter stores by.
+ - args - The arguments providing the dynamic values to the querystring.
+
+ **Returns:**
+ - The stores and their distance from the specified location, sorted
+ in ascending order by distance.
+
+
+
+---
+
+### setStoreIDToSession(String)
+- static setStoreIDToSession(storeID: [String](TopLevel.String.md)): void
+ - : Set the store id for the current session. The store id is also saved on the cookie with the cookie name
+ "dw\_store" with no expiration time. Null is allowed to remove store id from session, when null is passed in, the
+ cookie will be removed when browser exits.
+
+
+ **Parameters:**
+ - storeID - the id of the store. The leading and trailing white spaces are removed by system from storeID
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Variant.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Variant.md
new file mode 100644
index 00000000..bb34bd04
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.Variant.md
@@ -0,0 +1,1000 @@
+
+# Class Variant
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.catalog.Product](dw.catalog.Product.md)
+ - [dw.catalog.Variant](dw.catalog.Variant.md)
+
+Represents a variant of a product variation. If the variant does not define an own value,
+the value is retrieved by fallback from variation groups (sorted by their position) or the
+variation master.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [EAN](#ean): [String](TopLevel.String.md) `(read-only)` | Returns the EAN of the product variant. |
+| [UPC](#upc): [String](TopLevel.String.md) `(read-only)` | Returns the UPC of the product variant. |
+| [allProductLinks](#allproductlinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns all product links of the product variant. |
+| [brand](#brand): [String](TopLevel.String.md) `(read-only)` | Returns the brand of the product variant. |
+| [classificationCategory](#classificationcategory): [Category](dw.catalog.Category.md) `(read-only)` | Returns the classification category of the product variant. |
+| [custom](#custom): [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)` | Returns the custom attributes of the variant. |
+| [image](#image): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the image of the product variant. |
+| [longDescription](#longdescription): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the long description of the product variant. |
+| [manufacturerName](#manufacturername): [String](TopLevel.String.md) `(read-only)` | Returns the manufacturer name of the product variant. |
+| [manufacturerSKU](#manufacturersku): [String](TopLevel.String.md) `(read-only)` | Returns the manufacturer sku of the product variant. |
+| [masterProduct](#masterproduct): [Product](dw.catalog.Product.md) `(read-only)` | Returns the ProductMaster for this mastered product. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of the product variant. |
+| [onlineFrom](#onlinefrom): [Date](TopLevel.Date.md) `(read-only)` | Returns the onlineFrom date of the product variant. |
+| [onlineTo](#onlineto): [Date](TopLevel.Date.md) `(read-only)` | Returns the onlineTo date of the product variant. |
+| [optionProduct](#optionproduct): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if the variant has any options, otherwise 'false'. |
+| [pageDescription](#pagedescription): [String](TopLevel.String.md) `(read-only)` | Returns the pageDescription of the product variant. |
+| [pageKeywords](#pagekeywords): [String](TopLevel.String.md) `(read-only)` | Returns the pageKeywords of the product variant. |
+| [pageTitle](#pagetitle): [String](TopLevel.String.md) `(read-only)` | Returns the pageTitle of the product variant. |
+| [pageURL](#pageurl): [String](TopLevel.String.md) `(read-only)` | Returns the pageURL of the product variant. |
+| [productLinks](#productlinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns all product links of the product variant for which the target product is assigned to the current site catalog. |
+| [shortDescription](#shortdescription): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the short description of the product variant. |
+| [taxClassID](#taxclassid): [String](TopLevel.String.md) `(read-only)` | Returns the tax class id of the product variant. |
+| [template](#template): [String](TopLevel.String.md) `(read-only)` | Returns the rendering template name of the product variant. |
+| [thumbnail](#thumbnail): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the thumbnail image of the product variant. |
+| [unit](#unit): [String](TopLevel.String.md) `(read-only)` | Returns the sales unit of the product variant as defined by the master product. |
+| [unitQuantity](#unitquantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the unitQuantity of the product variant as defined by the master product. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAllProductLinks](dw.catalog.Variant.md#getallproductlinks)() | Returns all product links of the product variant. |
+| [getAllProductLinks](dw.catalog.Variant.md#getallproductlinksnumber)([Number](TopLevel.Number.md)) | Returns all product links of the specified type of the product variant. |
+| [getBrand](dw.catalog.Variant.md#getbrand)() | Returns the brand of the product variant. |
+| [getClassificationCategory](dw.catalog.Variant.md#getclassificationcategory)() | Returns the classification category of the product variant. |
+| [getCustom](dw.catalog.Variant.md#getcustom)() | Returns the custom attributes of the variant. |
+| [getEAN](dw.catalog.Variant.md#getean)() | Returns the EAN of the product variant. |
+| [getImage](dw.catalog.Variant.md#getimage)() | Returns the image of the product variant. |
+| [getLongDescription](dw.catalog.Variant.md#getlongdescription)() | Returns the long description of the product variant. |
+| [getManufacturerName](dw.catalog.Variant.md#getmanufacturername)() | Returns the manufacturer name of the product variant. |
+| [getManufacturerSKU](dw.catalog.Variant.md#getmanufacturersku)() | Returns the manufacturer sku of the product variant. |
+| [getMasterProduct](dw.catalog.Variant.md#getmasterproduct)() | Returns the ProductMaster for this mastered product. |
+| [getName](dw.catalog.Variant.md#getname)() | Returns the name of the product variant. |
+| [getOnlineFrom](dw.catalog.Variant.md#getonlinefrom)() | Returns the onlineFrom date of the product variant. |
+| [getOnlineTo](dw.catalog.Variant.md#getonlineto)() | Returns the onlineTo date of the product variant. |
+| [getPageDescription](dw.catalog.Variant.md#getpagedescription)() | Returns the pageDescription of the product variant. |
+| [getPageKeywords](dw.catalog.Variant.md#getpagekeywords)() | Returns the pageKeywords of the product variant. |
+| [getPageTitle](dw.catalog.Variant.md#getpagetitle)() | Returns the pageTitle of the product variant. |
+| [getPageURL](dw.catalog.Variant.md#getpageurl)() | Returns the pageURL of the product variant. |
+| [getProductLinks](dw.catalog.Variant.md#getproductlinks)() | Returns all product links of the product variant for which the target product is assigned to the current site catalog. |
+| [getProductLinks](dw.catalog.Variant.md#getproductlinksnumber)([Number](TopLevel.Number.md)) | Returns all product links of the specified type of the product variant for which the target product is assigned to the current site catalog. |
+| [getRecommendations](dw.catalog.Variant.md#getrecommendationsnumber)([Number](TopLevel.Number.md)) | Retrieve the sorted collection of recommendations of the specified type for this product variant. |
+| [getShortDescription](dw.catalog.Variant.md#getshortdescription)() | Returns the short description of the product variant. |
+| [getTaxClassID](dw.catalog.Variant.md#gettaxclassid)() | Returns the tax class id of the product variant. |
+| [getTemplate](dw.catalog.Variant.md#gettemplate)() | Returns the rendering template name of the product variant. |
+| [getThumbnail](dw.catalog.Variant.md#getthumbnail)() | Returns the thumbnail image of the product variant. |
+| [getUPC](dw.catalog.Variant.md#getupc)() | Returns the UPC of the product variant. |
+| [getUnit](dw.catalog.Variant.md#getunit)() | Returns the sales unit of the product variant as defined by the master product. |
+| [getUnitQuantity](dw.catalog.Variant.md#getunitquantity)() | Returns the unitQuantity of the product variant as defined by the master product. |
+| [isOptionProduct](dw.catalog.Variant.md#isoptionproduct)() | Returns 'true' if the variant has any options, otherwise 'false'. |
+
+### Methods inherited from class Product
+
+[assignedToCategory](dw.catalog.Product.md#assignedtocategorycategory), [getActiveData](dw.catalog.Product.md#getactivedata), [getAllCategories](dw.catalog.Product.md#getallcategories), [getAllCategoryAssignments](dw.catalog.Product.md#getallcategoryassignments), [getAllIncomingProductLinks](dw.catalog.Product.md#getallincomingproductlinks), [getAllIncomingProductLinks](dw.catalog.Product.md#getallincomingproductlinksnumber), [getAllProductLinks](dw.catalog.Product.md#getallproductlinks), [getAllProductLinks](dw.catalog.Product.md#getallproductlinksnumber), [getAllRecommendations](dw.catalog.Product.md#getallrecommendationscatalog), [getAllRecommendations](dw.catalog.Product.md#getallrecommendationscatalog-number), [getAttributeModel](dw.catalog.Product.md#getattributemodel), [getAvailabilityModel](dw.catalog.Product.md#getavailabilitymodel), [getAvailabilityModel](dw.catalog.Product.md#getavailabilitymodelproductinventorylist), [getAvailableFlag](dw.catalog.Product.md#getavailableflag), [getBrand](dw.catalog.Product.md#getbrand), [getBundledProductQuantity](dw.catalog.Product.md#getbundledproductquantityproduct), [getBundledProducts](dw.catalog.Product.md#getbundledproducts), [getBundles](dw.catalog.Product.md#getbundles), [getCategories](dw.catalog.Product.md#getcategories), [getCategoryAssignment](dw.catalog.Product.md#getcategoryassignmentcategory), [getCategoryAssignments](dw.catalog.Product.md#getcategoryassignments), [getClassificationCategory](dw.catalog.Product.md#getclassificationcategory), [getEAN](dw.catalog.Product.md#getean), [getID](dw.catalog.Product.md#getid), [getImage](dw.catalog.Product.md#getimage), [getImage](dw.catalog.Product.md#getimagestring), [getImage](dw.catalog.Product.md#getimagestring-number), [getImages](dw.catalog.Product.md#getimagesstring), [getIncomingProductLinks](dw.catalog.Product.md#getincomingproductlinks), [getIncomingProductLinks](dw.catalog.Product.md#getincomingproductlinksnumber), [getLongDescription](dw.catalog.Product.md#getlongdescription), [getManufacturerName](dw.catalog.Product.md#getmanufacturername), [getManufacturerSKU](dw.catalog.Product.md#getmanufacturersku), [getMinOrderQuantity](dw.catalog.Product.md#getminorderquantity), [getName](dw.catalog.Product.md#getname), [getOnlineCategories](dw.catalog.Product.md#getonlinecategories), [getOnlineFlag](dw.catalog.Product.md#getonlineflag), [getOnlineFrom](dw.catalog.Product.md#getonlinefrom), [getOnlineTo](dw.catalog.Product.md#getonlineto), [getOptionModel](dw.catalog.Product.md#getoptionmodel), [getOrderableRecommendations](dw.catalog.Product.md#getorderablerecommendations), [getOrderableRecommendations](dw.catalog.Product.md#getorderablerecommendationsnumber), [getPageDescription](dw.catalog.Product.md#getpagedescription), [getPageKeywords](dw.catalog.Product.md#getpagekeywords), [getPageMetaTag](dw.catalog.Product.md#getpagemetatagstring), [getPageMetaTags](dw.catalog.Product.md#getpagemetatags), [getPageTitle](dw.catalog.Product.md#getpagetitle), [getPageURL](dw.catalog.Product.md#getpageurl), [getPriceModel](dw.catalog.Product.md#getpricemodel), [getPriceModel](dw.catalog.Product.md#getpricemodelproductoptionmodel), [getPrimaryCategory](dw.catalog.Product.md#getprimarycategory), [getPrimaryCategoryAssignment](dw.catalog.Product.md#getprimarycategoryassignment), [getProductLinks](dw.catalog.Product.md#getproductlinks), [getProductLinks](dw.catalog.Product.md#getproductlinksnumber), [getProductSetProducts](dw.catalog.Product.md#getproductsetproducts), [getProductSets](dw.catalog.Product.md#getproductsets), [getRecommendations](dw.catalog.Product.md#getrecommendations), [getRecommendations](dw.catalog.Product.md#getrecommendationsnumber), [getSearchPlacement](dw.catalog.Product.md#getsearchplacement), [getSearchRank](dw.catalog.Product.md#getsearchrank), [getSearchableFlag](dw.catalog.Product.md#getsearchableflag), [getSearchableIfUnavailableFlag](dw.catalog.Product.md#getsearchableifunavailableflag), [getShortDescription](dw.catalog.Product.md#getshortdescription), [getSiteMapChangeFrequency](dw.catalog.Product.md#getsitemapchangefrequency), [getSiteMapIncluded](dw.catalog.Product.md#getsitemapincluded), [getSiteMapPriority](dw.catalog.Product.md#getsitemappriority), [getStepQuantity](dw.catalog.Product.md#getstepquantity), [getStoreReceiptName](dw.catalog.Product.md#getstorereceiptname), [getStoreTaxClass](dw.catalog.Product.md#getstoretaxclass), [getTaxClassID](dw.catalog.Product.md#gettaxclassid), [getTemplate](dw.catalog.Product.md#gettemplate), [getThumbnail](dw.catalog.Product.md#getthumbnail), [getUPC](dw.catalog.Product.md#getupc), [getUnit](dw.catalog.Product.md#getunit), [getUnitQuantity](dw.catalog.Product.md#getunitquantity), [getVariants](dw.catalog.Product.md#getvariants), [getVariationGroups](dw.catalog.Product.md#getvariationgroups), [getVariationModel](dw.catalog.Product.md#getvariationmodel), [includedInBundle](dw.catalog.Product.md#includedinbundleproduct), [isAssignedToCategory](dw.catalog.Product.md#isassignedtocategorycategory), [isAssignedToSiteCatalog](dw.catalog.Product.md#isassignedtositecatalog), [isAvailable](dw.catalog.Product.md#isavailable), [isBundle](dw.catalog.Product.md#isbundle), [isBundled](dw.catalog.Product.md#isbundled), [isCategorized](dw.catalog.Product.md#iscategorized), [isFacebookEnabled](dw.catalog.Product.md#isfacebookenabled), [isMaster](dw.catalog.Product.md#ismaster), [isOnline](dw.catalog.Product.md#isonline), [isOptionProduct](dw.catalog.Product.md#isoptionproduct), [isPinterestEnabled](dw.catalog.Product.md#ispinterestenabled), [isProduct](dw.catalog.Product.md#isproduct), [isProductSet](dw.catalog.Product.md#isproductset), [isProductSetProduct](dw.catalog.Product.md#isproductsetproduct), [isRetailSet](dw.catalog.Product.md#isretailset), [isSearchable](dw.catalog.Product.md#issearchable), [isSiteProduct](dw.catalog.Product.md#issiteproduct), [isVariant](dw.catalog.Product.md#isvariant), [isVariationGroup](dw.catalog.Product.md#isvariationgroup), [setAvailableFlag](dw.catalog.Product.md#setavailableflagboolean), [setOnlineFlag](dw.catalog.Product.md#setonlineflagboolean---variant-1), [setOnlineFlag](dw.catalog.Product.md#setonlineflagboolean---variant-2), [setSearchPlacement](dw.catalog.Product.md#setsearchplacementnumber---variant-1), [setSearchPlacement](dw.catalog.Product.md#setsearchplacementnumber---variant-2), [setSearchRank](dw.catalog.Product.md#setsearchranknumber---variant-1), [setSearchRank](dw.catalog.Product.md#setsearchranknumber---variant-2), [setSearchableFlag](dw.catalog.Product.md#setsearchableflagboolean---variant-1), [setSearchableFlag](dw.catalog.Product.md#setsearchableflagboolean---variant-2)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### EAN
+- EAN: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the EAN of the product variant.
+
+
+ If the variant does not define an own value for 'EAN', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'EAN', the value of
+ the master product is returned.
+
+
+
+---
+
+### UPC
+- UPC: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the UPC of the product variant.
+
+
+ If the variant does not define an own value for 'UPC', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'UPC', the value of
+ the master product is returned.
+
+
+
+---
+
+### allProductLinks
+- allProductLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all product links of the product variant.
+
+
+ If the variant does not define any product links, the product links are retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define any product links, the product links are
+ retrieved from the master product.
+
+
+
+---
+
+### brand
+- brand: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the brand of the product variant.
+
+
+ If the variant does not define an own value for 'brand', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'brand', the value of
+ the master product is returned.
+
+
+
+---
+
+### classificationCategory
+- classificationCategory: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the classification category of the product variant.
+
+
+ **Please note** that the classification category is always inherited
+ from the master and cannot be overridden by the variant.
+
+
+
+---
+
+### custom
+- custom: [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)`
+ - : Returns the custom attributes of the variant.
+
+
+ Custom attributes are inherited from the master product and can
+ be overridden by the variant.
+
+
+
+---
+
+### image
+- image: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the image of the product variant.
+
+
+ If the variant does not define an own value for 'image', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'image', the value of
+ the master product is returned.
+
+
+
+---
+
+### longDescription
+- longDescription: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the long description of the product variant.
+
+
+ If the variant does not define an own value for 'longDescription', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'longDescription', the value of
+ the master product is returned.
+
+
+
+---
+
+### manufacturerName
+- manufacturerName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the manufacturer name of the product variant.
+
+
+ If the variant does not define an own value for 'manufacturerName', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'manufacturerName', the value of
+ the master product is returned.
+
+
+
+---
+
+### manufacturerSKU
+- manufacturerSKU: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the manufacturer sku of the product variant.
+
+
+ If the variant does not define an own value for 'manufacturerSKU', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'manufacturerSKU', the value of
+ the master product is returned.
+
+
+
+---
+
+### masterProduct
+- masterProduct: [Product](dw.catalog.Product.md) `(read-only)`
+ - : Returns the ProductMaster for this mastered product.
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the product variant.
+
+
+ If the variant does not define an own value for 'name', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'name', the value of
+ the master product is returned.
+
+
+
+---
+
+### onlineFrom
+- onlineFrom: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the onlineFrom date of the product variant.
+
+
+ If the variant does not define an own value for 'onlineFrom', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'onlineFrom', the value of
+ the master product is returned.
+
+
+
+---
+
+### onlineTo
+- onlineTo: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the onlineTo date of the product variant.
+
+
+ If the variant does not define an own value for 'onlineTo', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'onlineTo', the value of
+ the master product is returned.
+
+
+
+---
+
+### optionProduct
+- optionProduct: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if the variant has any options, otherwise 'false'.
+ Method also returns 'true' if the variant has not any options,
+ but the related variation groups (sorted by position) or
+ master product has options.
+
+
+
+---
+
+### pageDescription
+- pageDescription: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the pageDescription of the product variant.
+
+
+ If the variant does not define an own value for 'pageDescription', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'pageDescription', the value of
+ the master product is returned.
+
+
+
+---
+
+### pageKeywords
+- pageKeywords: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the pageKeywords of the product variant.
+
+
+ If the variant does not define an own value for 'pageKeywords', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'pageKeywords', the value of
+ the master product is returned.
+
+
+
+---
+
+### pageTitle
+- pageTitle: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the pageTitle of the product variant.
+
+
+ If the variant does not define an own value for 'pageTitle', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'pageTitle', the value of
+ the master product is returned.
+
+
+
+---
+
+### pageURL
+- pageURL: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the pageURL of the product variant.
+
+
+ If the variant does not define an own value for 'pageURL', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'pageURL', the value of
+ the master product is returned.
+
+
+
+---
+
+### productLinks
+- productLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all product links of the product variant for which the target
+ product is assigned to the current site catalog.
+
+
+ If the variant does not define any product links, the product links are retrieved
+ from the assigned variation groups, sorted by their position
+
+ If none of the variation groups define any product links, the product links are retrieved
+ from the master product.
+
+
+
+---
+
+### shortDescription
+- shortDescription: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the short description of the product variant.
+
+
+ If the variant does not define an own value for 'shortDescription', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'shortDescription', the value of
+ the master product is returned.
+
+
+
+---
+
+### taxClassID
+- taxClassID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the tax class id of the product variant.
+
+
+ If the variant does not define an own value for 'taxClassID', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'taxClassID', the value of
+ the master product is returned.
+
+
+
+---
+
+### template
+- template: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the rendering template name of the product variant.
+
+
+ If the variant does not define an own value for 'template', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'template', the value of
+ the master product is returned.
+
+
+
+---
+
+### thumbnail
+- thumbnail: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the thumbnail image of the product variant.
+
+
+ If the variant does not define an own value for 'thumbnail', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'thumbnail', the value of
+ the master product is returned.
+
+
+
+---
+
+### unit
+- unit: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the sales unit of the product variant as defined by the
+ master product.
+
+
+ If the variant does not define an own value for 'unit', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'unit', the value of
+ the master product is returned.
+
+
+
+---
+
+### unitQuantity
+- unitQuantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the unitQuantity of the product variant as defined by the
+ master product.
+
+
+ If the variant does not define an own value for 'unitQuantity', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'unitQuantity', the value of
+ the master product is returned.
+
+
+
+---
+
+## Method Details
+
+### getAllProductLinks()
+- getAllProductLinks(): [Collection](dw.util.Collection.md)
+ - : Returns all product links of the product variant.
+
+
+ If the variant does not define any product links, the product links are retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define any product links, the product links are
+ retrieved from the master product.
+
+
+ **Returns:**
+ - All product links of the variant, variation group or master
+
+
+---
+
+### getAllProductLinks(Number)
+- getAllProductLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns all product links of the specified type of the product variant.
+
+
+ If the variant does not define any product links of the specified type,
+ the product links are retrieved for the specified type from the assigned
+ variation groups, sorted by their position.
+
+ If none of the variation groups define any product links of the specified type,
+ the product links are retrieved for the specified type from the master product.
+
+
+ **Parameters:**
+ - type - Type of the product link
+
+ **Returns:**
+ - Product links of specified type of the variant, variation group or master
+
+
+---
+
+### getBrand()
+- getBrand(): [String](TopLevel.String.md)
+ - : Returns the brand of the product variant.
+
+
+ If the variant does not define an own value for 'brand', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'brand', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The brand of the variant, variation group or master
+
+
+---
+
+### getClassificationCategory()
+- getClassificationCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the classification category of the product variant.
+
+
+ **Please note** that the classification category is always inherited
+ from the master and cannot be overridden by the variant.
+
+
+ **Returns:**
+ - The classification category as defined for the master product of the variant
+
+
+---
+
+### getCustom()
+- getCustom(): [CustomAttributes](dw.object.CustomAttributes.md)
+ - : Returns the custom attributes of the variant.
+
+
+ Custom attributes are inherited from the master product and can
+ be overridden by the variant.
+
+
+ **Returns:**
+ - the custom attributes of the variant.
+
+
+---
+
+### getEAN()
+- getEAN(): [String](TopLevel.String.md)
+ - : Returns the EAN of the product variant.
+
+
+ If the variant does not define an own value for 'EAN', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'EAN', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The EAN of the variant, variation group or master
+
+
+---
+
+### getImage()
+- getImage(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the image of the product variant.
+
+
+ If the variant does not define an own value for 'image', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'image', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The image of the variant, variation group or master
+
+
+---
+
+### getLongDescription()
+- getLongDescription(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the long description of the product variant.
+
+
+ If the variant does not define an own value for 'longDescription', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'longDescription', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The long description of the variant, variation group or master
+
+
+---
+
+### getManufacturerName()
+- getManufacturerName(): [String](TopLevel.String.md)
+ - : Returns the manufacturer name of the product variant.
+
+
+ If the variant does not define an own value for 'manufacturerName', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'manufacturerName', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The manufacturer name of the variant, variation group or master
+
+
+---
+
+### getManufacturerSKU()
+- getManufacturerSKU(): [String](TopLevel.String.md)
+ - : Returns the manufacturer sku of the product variant.
+
+
+ If the variant does not define an own value for 'manufacturerSKU', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'manufacturerSKU', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The manufacturer sku of the variant, variation group or master
+
+
+---
+
+### getMasterProduct()
+- getMasterProduct(): [Product](dw.catalog.Product.md)
+ - : Returns the ProductMaster for this mastered product.
+
+ **Returns:**
+ - the ProductMaster of this mastered product
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of the product variant.
+
+
+ If the variant does not define an own value for 'name', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'name', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The name of the variant, variation group or master
+
+
+---
+
+### getOnlineFrom()
+- getOnlineFrom(): [Date](TopLevel.Date.md)
+ - : Returns the onlineFrom date of the product variant.
+
+
+ If the variant does not define an own value for 'onlineFrom', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'onlineFrom', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The onlineFrom date of the variant, variation group or master
+
+
+---
+
+### getOnlineTo()
+- getOnlineTo(): [Date](TopLevel.Date.md)
+ - : Returns the onlineTo date of the product variant.
+
+
+ If the variant does not define an own value for 'onlineTo', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'onlineTo', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The onlineTo date of the variant, variation group or master
+
+
+---
+
+### getPageDescription()
+- getPageDescription(): [String](TopLevel.String.md)
+ - : Returns the pageDescription of the product variant.
+
+
+ If the variant does not define an own value for 'pageDescription', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'pageDescription', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The pageDescription of the variant, variation group or master
+
+
+---
+
+### getPageKeywords()
+- getPageKeywords(): [String](TopLevel.String.md)
+ - : Returns the pageKeywords of the product variant.
+
+
+ If the variant does not define an own value for 'pageKeywords', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'pageKeywords', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The pageKeywords of the variant, variation group or master
+
+
+---
+
+### getPageTitle()
+- getPageTitle(): [String](TopLevel.String.md)
+ - : Returns the pageTitle of the product variant.
+
+
+ If the variant does not define an own value for 'pageTitle', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'pageTitle', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The pageTitle of the variant, variation group or master
+
+
+---
+
+### getPageURL()
+- getPageURL(): [String](TopLevel.String.md)
+ - : Returns the pageURL of the product variant.
+
+
+ If the variant does not define an own value for 'pageURL', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'pageURL', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The pageURL of the variant, variation group or master
+
+
+---
+
+### getProductLinks()
+- getProductLinks(): [Collection](dw.util.Collection.md)
+ - : Returns all product links of the product variant for which the target
+ product is assigned to the current site catalog.
+
+
+ If the variant does not define any product links, the product links are retrieved
+ from the assigned variation groups, sorted by their position
+
+ If none of the variation groups define any product links, the product links are retrieved
+ from the master product.
+
+
+ **Returns:**
+ - Product links of the variant, variation group or master
+
+
+---
+
+### getProductLinks(Number)
+- getProductLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns all product links of the specified type of the product variant
+ for which the target product is assigned to the current site catalog.
+
+
+ If the variant does not define any product links of the specified type,
+ the product links are retrieved for the specified type from the assigned
+ variation groups, sorted by their position
+
+ If none of the variation groups define any product links of the specified type,
+ the product links are retrieved for the specified type from the master product.
+
+
+ **Parameters:**
+ - type - Type of the product link
+
+ **Returns:**
+ - Product links of specified type of the variant, variation group or master
+
+
+---
+
+### getRecommendations(Number)
+- getRecommendations(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Retrieve the sorted collection of recommendations of the specified type
+ for this product variant. The types (cross-sell, up-sell, etc) are
+ enumerated in the `dw.catalog.Recommendation` class. Only
+ recommendations which are stored in the current site catalog are returned.
+ Furthermore, a recommendation is only returned if the target of the
+ recommendation is assigned to the current site catalog.
+
+
+
+ If the variant does not define any recommendations, recommendations are
+ retrieved from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define any recommendations, the recommendations
+ of the master are returned.
+
+
+ **Parameters:**
+ - type - the recommendation type
+
+ **Returns:**
+ - the sorted collection, never null but possibly empty.
+
+
+---
+
+### getShortDescription()
+- getShortDescription(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the short description of the product variant.
+
+
+ If the variant does not define an own value for 'shortDescription', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'shortDescription', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The short description of the variant, variation group or master
+
+
+---
+
+### getTaxClassID()
+- getTaxClassID(): [String](TopLevel.String.md)
+ - : Returns the tax class id of the product variant.
+
+
+ If the variant does not define an own value for 'taxClassID', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'taxClassID', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The tax class id of the variant, variation group or master
+
+
+---
+
+### getTemplate()
+- getTemplate(): [String](TopLevel.String.md)
+ - : Returns the rendering template name of the product variant.
+
+
+ If the variant does not define an own value for 'template', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'template', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The rendering template name of the variant, variation group or master
+
+
+---
+
+### getThumbnail()
+- getThumbnail(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the thumbnail image of the product variant.
+
+
+ If the variant does not define an own value for 'thumbnail', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'thumbnail', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The thumbnail image of the variant, variation group or master
+
+
+---
+
+### getUPC()
+- getUPC(): [String](TopLevel.String.md)
+ - : Returns the UPC of the product variant.
+
+
+ If the variant does not define an own value for 'UPC', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'UPC', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The UPC of the variant, variation group or master
+
+
+---
+
+### getUnit()
+- getUnit(): [String](TopLevel.String.md)
+ - : Returns the sales unit of the product variant as defined by the
+ master product.
+
+
+ If the variant does not define an own value for 'unit', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'unit', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The sales unit of the variant, variation group or master
+
+
+---
+
+### getUnitQuantity()
+- getUnitQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the unitQuantity of the product variant as defined by the
+ master product.
+
+
+ If the variant does not define an own value for 'unitQuantity', the value is retrieved
+ from the assigned variation groups, sorted by their position.
+
+ If none of the variation groups define a value for 'unitQuantity', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The unitQuantity of the variant, variation group or master
+
+
+---
+
+### isOptionProduct()
+- isOptionProduct(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if the variant has any options, otherwise 'false'.
+ Method also returns 'true' if the variant has not any options,
+ but the related variation groups (sorted by position) or
+ master product has options.
+
+
+ **Returns:**
+ - true if the variant has any options, false otherwise.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.VariationGroup.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.VariationGroup.md
new file mode 100644
index 00000000..b43ee395
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.VariationGroup.md
@@ -0,0 +1,869 @@
+
+# Class VariationGroup
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.catalog.Product](dw.catalog.Product.md)
+ - [dw.catalog.VariationGroup](dw.catalog.VariationGroup.md)
+
+Class representing a group of variants within a master product who share a
+common value for one or more variation attribute values. Variation groups are
+used to simplify merchandising of products.
+
+
+From a more technical perspective, variation groups are defined by two things:
+
+
+- A relation to a master product.
+- A set of variation attributes which have fixed values.
+
+A variant of the related master product is considered in the group if and
+only if it matches on the fixed variation attribute values.
+
+
+Similar to a Variant, a VariationGroup does a fallback to the master product
+for all attributes (name, description, etc) and relations (recommendations,
+etc).
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [EAN](#ean): [String](TopLevel.String.md) `(read-only)` | Returns the EAN of the product variation group. |
+| [UPC](#upc): [String](TopLevel.String.md) `(read-only)` | Returns the UPC of the product variation group. |
+| [allProductLinks](#allproductlinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns all product links of the product variation group. |
+| [brand](#brand): [String](TopLevel.String.md) `(read-only)` | Returns the brand of the product variation group. |
+| [classificationCategory](#classificationcategory): [Category](dw.catalog.Category.md) `(read-only)` | Returns the classification category of the product variation group. |
+| [custom](#custom): [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)` | Returns the custom attributes of the variation group. |
+| [image](#image): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the image of the product variation group. |
+| [longDescription](#longdescription): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the long description of the product variation group. |
+| [manufacturerName](#manufacturername): [String](TopLevel.String.md) `(read-only)` | Returns the manufacturer name of the product variation group. |
+| [manufacturerSKU](#manufacturersku): [String](TopLevel.String.md) `(read-only)` | Returns the manufacturer sku of the product variation group. |
+| [masterProduct](#masterproduct): [Product](dw.catalog.Product.md) `(read-only)` | Returns the ProductMaster for this mastered product. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of the product variation group. |
+| [onlineFrom](#onlinefrom): [Date](TopLevel.Date.md) `(read-only)` | Returns the onlineFrom date of the product variation group. |
+| [onlineTo](#onlineto): [Date](TopLevel.Date.md) `(read-only)` | Returns the onlineTo date of the product variation group. |
+| [optionProduct](#optionproduct): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if the variation group has any options, otherwise 'false'. |
+| [pageDescription](#pagedescription): [String](TopLevel.String.md) `(read-only)` | Returns the pageDescription of the product variation group. |
+| [pageKeywords](#pagekeywords): [String](TopLevel.String.md) `(read-only)` | Returns the pageKeywords of the product variation group. |
+| [pageTitle](#pagetitle): [String](TopLevel.String.md) `(read-only)` | Returns the pageTitle of the product variation group. |
+| [pageURL](#pageurl): [String](TopLevel.String.md) `(read-only)` | Returns the pageURL of the product variation group. |
+| [productLinks](#productlinks): [Collection](dw.util.Collection.md) `(read-only)` | Returns all product links of the product variation group for which the target product is assigned to the current site catalog. |
+| [shortDescription](#shortdescription): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the short description of the product variation group. |
+| [taxClassID](#taxclassid): [String](TopLevel.String.md) `(read-only)` | Returns the tax class id of the product variation group. |
+| [template](#template): [String](TopLevel.String.md) `(read-only)` | Returns the rendering template name of the product variation group. |
+| [thumbnail](#thumbnail): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the thumbnail image of the product variation group. |
+| [unit](#unit): [String](TopLevel.String.md) `(read-only)` | Returns the sales unit of the product variation group as defined by the master product. |
+| [unitQuantity](#unitquantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the unitQuantity of the product variation group as defined by the master product. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAllProductLinks](dw.catalog.VariationGroup.md#getallproductlinks)() | Returns all product links of the product variation group. |
+| [getAllProductLinks](dw.catalog.VariationGroup.md#getallproductlinksnumber)([Number](TopLevel.Number.md)) | Returns all product links of the specified type of the product variation group. |
+| [getBrand](dw.catalog.VariationGroup.md#getbrand)() | Returns the brand of the product variation group. |
+| [getClassificationCategory](dw.catalog.VariationGroup.md#getclassificationcategory)() | Returns the classification category of the product variation group. |
+| [getCustom](dw.catalog.VariationGroup.md#getcustom)() | Returns the custom attributes of the variation group. |
+| [getEAN](dw.catalog.VariationGroup.md#getean)() | Returns the EAN of the product variation group. |
+| [getImage](dw.catalog.VariationGroup.md#getimage)() | Returns the image of the product variation group. |
+| [getLongDescription](dw.catalog.VariationGroup.md#getlongdescription)() | Returns the long description of the product variation group. |
+| [getManufacturerName](dw.catalog.VariationGroup.md#getmanufacturername)() | Returns the manufacturer name of the product variation group. |
+| [getManufacturerSKU](dw.catalog.VariationGroup.md#getmanufacturersku)() | Returns the manufacturer sku of the product variation group. |
+| [getMasterProduct](dw.catalog.VariationGroup.md#getmasterproduct)() | Returns the ProductMaster for this mastered product. |
+| [getName](dw.catalog.VariationGroup.md#getname)() | Returns the name of the product variation group. |
+| [getOnlineFrom](dw.catalog.VariationGroup.md#getonlinefrom)() | Returns the onlineFrom date of the product variation group. |
+| [getOnlineTo](dw.catalog.VariationGroup.md#getonlineto)() | Returns the onlineTo date of the product variation group. |
+| [getPageDescription](dw.catalog.VariationGroup.md#getpagedescription)() | Returns the pageDescription of the product variation group. |
+| [getPageKeywords](dw.catalog.VariationGroup.md#getpagekeywords)() | Returns the pageKeywords of the product variation group. |
+| [getPageTitle](dw.catalog.VariationGroup.md#getpagetitle)() | Returns the pageTitle of the product variation group. |
+| [getPageURL](dw.catalog.VariationGroup.md#getpageurl)() | Returns the pageURL of the product variation group. |
+| [getProductLinks](dw.catalog.VariationGroup.md#getproductlinks)() | Returns all product links of the product variation group for which the target product is assigned to the current site catalog. |
+| [getProductLinks](dw.catalog.VariationGroup.md#getproductlinksnumber)([Number](TopLevel.Number.md)) | Returns all product links of the specified type of the product variation group for which the target product is assigned to the current site catalog. |
+| [getRecommendations](dw.catalog.VariationGroup.md#getrecommendationsnumber)([Number](TopLevel.Number.md)) | Retrieve the sorted collection of recommendations of the specified type for this product variation group. |
+| [getShortDescription](dw.catalog.VariationGroup.md#getshortdescription)() | Returns the short description of the product variation group. |
+| [getTaxClassID](dw.catalog.VariationGroup.md#gettaxclassid)() | Returns the tax class id of the product variation group. |
+| [getTemplate](dw.catalog.VariationGroup.md#gettemplate)() | Returns the rendering template name of the product variation group. |
+| [getThumbnail](dw.catalog.VariationGroup.md#getthumbnail)() | Returns the thumbnail image of the product variation group. |
+| [getUPC](dw.catalog.VariationGroup.md#getupc)() | Returns the UPC of the product variation group. |
+| [getUnit](dw.catalog.VariationGroup.md#getunit)() | Returns the sales unit of the product variation group as defined by the master product. |
+| [getUnitQuantity](dw.catalog.VariationGroup.md#getunitquantity)() | Returns the unitQuantity of the product variation group as defined by the master product. |
+| [isOptionProduct](dw.catalog.VariationGroup.md#isoptionproduct)() | Returns 'true' if the variation group has any options, otherwise 'false'. |
+
+### Methods inherited from class Product
+
+[assignedToCategory](dw.catalog.Product.md#assignedtocategorycategory), [getActiveData](dw.catalog.Product.md#getactivedata), [getAllCategories](dw.catalog.Product.md#getallcategories), [getAllCategoryAssignments](dw.catalog.Product.md#getallcategoryassignments), [getAllIncomingProductLinks](dw.catalog.Product.md#getallincomingproductlinks), [getAllIncomingProductLinks](dw.catalog.Product.md#getallincomingproductlinksnumber), [getAllProductLinks](dw.catalog.Product.md#getallproductlinks), [getAllProductLinks](dw.catalog.Product.md#getallproductlinksnumber), [getAllRecommendations](dw.catalog.Product.md#getallrecommendationscatalog), [getAllRecommendations](dw.catalog.Product.md#getallrecommendationscatalog-number), [getAttributeModel](dw.catalog.Product.md#getattributemodel), [getAvailabilityModel](dw.catalog.Product.md#getavailabilitymodel), [getAvailabilityModel](dw.catalog.Product.md#getavailabilitymodelproductinventorylist), [getAvailableFlag](dw.catalog.Product.md#getavailableflag), [getBrand](dw.catalog.Product.md#getbrand), [getBundledProductQuantity](dw.catalog.Product.md#getbundledproductquantityproduct), [getBundledProducts](dw.catalog.Product.md#getbundledproducts), [getBundles](dw.catalog.Product.md#getbundles), [getCategories](dw.catalog.Product.md#getcategories), [getCategoryAssignment](dw.catalog.Product.md#getcategoryassignmentcategory), [getCategoryAssignments](dw.catalog.Product.md#getcategoryassignments), [getClassificationCategory](dw.catalog.Product.md#getclassificationcategory), [getEAN](dw.catalog.Product.md#getean), [getID](dw.catalog.Product.md#getid), [getImage](dw.catalog.Product.md#getimage), [getImage](dw.catalog.Product.md#getimagestring), [getImage](dw.catalog.Product.md#getimagestring-number), [getImages](dw.catalog.Product.md#getimagesstring), [getIncomingProductLinks](dw.catalog.Product.md#getincomingproductlinks), [getIncomingProductLinks](dw.catalog.Product.md#getincomingproductlinksnumber), [getLongDescription](dw.catalog.Product.md#getlongdescription), [getManufacturerName](dw.catalog.Product.md#getmanufacturername), [getManufacturerSKU](dw.catalog.Product.md#getmanufacturersku), [getMinOrderQuantity](dw.catalog.Product.md#getminorderquantity), [getName](dw.catalog.Product.md#getname), [getOnlineCategories](dw.catalog.Product.md#getonlinecategories), [getOnlineFlag](dw.catalog.Product.md#getonlineflag), [getOnlineFrom](dw.catalog.Product.md#getonlinefrom), [getOnlineTo](dw.catalog.Product.md#getonlineto), [getOptionModel](dw.catalog.Product.md#getoptionmodel), [getOrderableRecommendations](dw.catalog.Product.md#getorderablerecommendations), [getOrderableRecommendations](dw.catalog.Product.md#getorderablerecommendationsnumber), [getPageDescription](dw.catalog.Product.md#getpagedescription), [getPageKeywords](dw.catalog.Product.md#getpagekeywords), [getPageMetaTag](dw.catalog.Product.md#getpagemetatagstring), [getPageMetaTags](dw.catalog.Product.md#getpagemetatags), [getPageTitle](dw.catalog.Product.md#getpagetitle), [getPageURL](dw.catalog.Product.md#getpageurl), [getPriceModel](dw.catalog.Product.md#getpricemodel), [getPriceModel](dw.catalog.Product.md#getpricemodelproductoptionmodel), [getPrimaryCategory](dw.catalog.Product.md#getprimarycategory), [getPrimaryCategoryAssignment](dw.catalog.Product.md#getprimarycategoryassignment), [getProductLinks](dw.catalog.Product.md#getproductlinks), [getProductLinks](dw.catalog.Product.md#getproductlinksnumber), [getProductSetProducts](dw.catalog.Product.md#getproductsetproducts), [getProductSets](dw.catalog.Product.md#getproductsets), [getRecommendations](dw.catalog.Product.md#getrecommendations), [getRecommendations](dw.catalog.Product.md#getrecommendationsnumber), [getSearchPlacement](dw.catalog.Product.md#getsearchplacement), [getSearchRank](dw.catalog.Product.md#getsearchrank), [getSearchableFlag](dw.catalog.Product.md#getsearchableflag), [getSearchableIfUnavailableFlag](dw.catalog.Product.md#getsearchableifunavailableflag), [getShortDescription](dw.catalog.Product.md#getshortdescription), [getSiteMapChangeFrequency](dw.catalog.Product.md#getsitemapchangefrequency), [getSiteMapIncluded](dw.catalog.Product.md#getsitemapincluded), [getSiteMapPriority](dw.catalog.Product.md#getsitemappriority), [getStepQuantity](dw.catalog.Product.md#getstepquantity), [getStoreReceiptName](dw.catalog.Product.md#getstorereceiptname), [getStoreTaxClass](dw.catalog.Product.md#getstoretaxclass), [getTaxClassID](dw.catalog.Product.md#gettaxclassid), [getTemplate](dw.catalog.Product.md#gettemplate), [getThumbnail](dw.catalog.Product.md#getthumbnail), [getUPC](dw.catalog.Product.md#getupc), [getUnit](dw.catalog.Product.md#getunit), [getUnitQuantity](dw.catalog.Product.md#getunitquantity), [getVariants](dw.catalog.Product.md#getvariants), [getVariationGroups](dw.catalog.Product.md#getvariationgroups), [getVariationModel](dw.catalog.Product.md#getvariationmodel), [includedInBundle](dw.catalog.Product.md#includedinbundleproduct), [isAssignedToCategory](dw.catalog.Product.md#isassignedtocategorycategory), [isAssignedToSiteCatalog](dw.catalog.Product.md#isassignedtositecatalog), [isAvailable](dw.catalog.Product.md#isavailable), [isBundle](dw.catalog.Product.md#isbundle), [isBundled](dw.catalog.Product.md#isbundled), [isCategorized](dw.catalog.Product.md#iscategorized), [isFacebookEnabled](dw.catalog.Product.md#isfacebookenabled), [isMaster](dw.catalog.Product.md#ismaster), [isOnline](dw.catalog.Product.md#isonline), [isOptionProduct](dw.catalog.Product.md#isoptionproduct), [isPinterestEnabled](dw.catalog.Product.md#ispinterestenabled), [isProduct](dw.catalog.Product.md#isproduct), [isProductSet](dw.catalog.Product.md#isproductset), [isProductSetProduct](dw.catalog.Product.md#isproductsetproduct), [isRetailSet](dw.catalog.Product.md#isretailset), [isSearchable](dw.catalog.Product.md#issearchable), [isSiteProduct](dw.catalog.Product.md#issiteproduct), [isVariant](dw.catalog.Product.md#isvariant), [isVariationGroup](dw.catalog.Product.md#isvariationgroup), [setAvailableFlag](dw.catalog.Product.md#setavailableflagboolean), [setOnlineFlag](dw.catalog.Product.md#setonlineflagboolean---variant-1), [setOnlineFlag](dw.catalog.Product.md#setonlineflagboolean---variant-2), [setSearchPlacement](dw.catalog.Product.md#setsearchplacementnumber---variant-1), [setSearchPlacement](dw.catalog.Product.md#setsearchplacementnumber---variant-2), [setSearchRank](dw.catalog.Product.md#setsearchranknumber---variant-1), [setSearchRank](dw.catalog.Product.md#setsearchranknumber---variant-2), [setSearchableFlag](dw.catalog.Product.md#setsearchableflagboolean---variant-1), [setSearchableFlag](dw.catalog.Product.md#setsearchableflagboolean---variant-2)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### EAN
+- EAN: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the EAN of the product variation group.
+
+
+ If the variation group does not define an own value for 'EAN', the value of
+ the master product is returned.
+
+
+
+---
+
+### UPC
+- UPC: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the UPC of the product variation group.
+
+
+ If the variation group does not define an own value for 'UPC', the value of
+ the master product is returned.
+
+
+
+---
+
+### allProductLinks
+- allProductLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all product links of the product variation group.
+
+
+ If the variation group does not define any product links, but the master product
+ does, the product links of the master are returned.
+
+
+
+---
+
+### brand
+- brand: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the brand of the product variation group.
+
+
+ If the variation group does not define an own value for 'brand', the value of
+ the master product is returned.
+
+
+
+---
+
+### classificationCategory
+- classificationCategory: [Category](dw.catalog.Category.md) `(read-only)`
+ - : Returns the classification category of the product variation group.
+
+
+ **Please note** that the classification category is always inherited
+ from the master and cannot be overridden by the variation group.
+
+
+
+---
+
+### custom
+- custom: [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)`
+ - : Returns the custom attributes of the variation group.
+
+
+ Custom attributes are inherited from the master product and can
+ be overridden by the variation group.
+
+
+
+---
+
+### image
+- image: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the image of the product variation group.
+
+
+ If the variation group does not define an own value for 'image', the value of
+ the master product is returned.
+
+
+
+---
+
+### longDescription
+- longDescription: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the long description of the product variation group.
+
+
+ If the variation group does not define an own value for 'longDescription', the value of
+ the master product is returned.
+
+
+
+---
+
+### manufacturerName
+- manufacturerName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the manufacturer name of the product variation group.
+
+
+ If the variation group does not define an own value for 'manufacturerName', the value of
+ the master product is returned.
+
+
+
+---
+
+### manufacturerSKU
+- manufacturerSKU: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the manufacturer sku of the product variation group.
+
+
+ If the variation group does not define an own value for 'manufacturerSKU', the value of
+ the master product is returned.
+
+
+
+---
+
+### masterProduct
+- masterProduct: [Product](dw.catalog.Product.md) `(read-only)`
+ - : Returns the ProductMaster for this mastered product.
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the product variation group.
+
+
+ If the variation group does not define an own value for 'name', the value of
+ the master product is returned.
+
+
+
+---
+
+### onlineFrom
+- onlineFrom: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the onlineFrom date of the product variation group.
+
+
+ If the variation group does not define an own value for 'onlineFrom', the value of
+ the master product is returned.
+
+
+
+---
+
+### onlineTo
+- onlineTo: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the onlineTo date of the product variation group.
+
+
+ If the variation group does not define an own value for 'onlineTo', the value of
+ the master product is returned.
+
+
+
+---
+
+### optionProduct
+- optionProduct: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if the variation group has any options, otherwise 'false'.
+ Method also returns 'true' if the variation group has not any options,
+ but the related master product has options.
+
+
+
+---
+
+### pageDescription
+- pageDescription: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the pageDescription of the product variation group.
+
+
+ If the variation group does not define an own value for 'pageDescription', the value of
+ the master product is returned.
+
+
+
+---
+
+### pageKeywords
+- pageKeywords: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the pageKeywords of the product variation group.
+
+
+ If the variation group does not define an own value for 'pageKeywords', the value of
+ the master product is returned.
+
+
+
+---
+
+### pageTitle
+- pageTitle: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the pageTitle of the product variation group.
+
+
+ If the variation group does not define an own value for 'pageTitle', the value of
+ the master product is returned.
+
+
+
+---
+
+### pageURL
+- pageURL: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the pageURL of the product variation group.
+
+
+ If the variation group does not define an own value for 'pageURL', the value of
+ the master product is returned.
+
+
+
+---
+
+### productLinks
+- productLinks: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all product links of the product variation group for which the target
+ product is assigned to the current site catalog.
+
+
+ If the variation group does not define any product links, but the master product
+ does, the product links of the master are returned.
+
+
+
+---
+
+### shortDescription
+- shortDescription: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the short description of the product variation group.
+
+
+ If the variation group does not define an own value for 'shortDescription', the value of
+ the master product is returned.
+
+
+
+---
+
+### taxClassID
+- taxClassID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the tax class id of the product variation group.
+
+
+ If the variation group does not define an own value for 'taxClassID', the value of
+ the master product is returned.
+
+
+
+---
+
+### template
+- template: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the rendering template name of the product variation group.
+
+
+ If the variation group does not define an own value for 'template', the value of
+ the master product is returned.
+
+
+
+---
+
+### thumbnail
+- thumbnail: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the thumbnail image of the product variation group.
+
+
+ If the variation group does not define an own value for 'thumbnailImage', the value of
+ the master product is returned.
+
+
+
+---
+
+### unit
+- unit: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the sales unit of the product variation group as defined by the
+ master product.
+
+
+ If the variation group does not define an own value for 'unit', the value of
+ the master product is returned.
+
+
+
+---
+
+### unitQuantity
+- unitQuantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the unitQuantity of the product variation group as defined by the
+ master product.
+
+
+ If the variation group does not define an own value for 'unitQuantity', the value of
+ the master product is returned.
+
+
+
+---
+
+## Method Details
+
+### getAllProductLinks()
+- getAllProductLinks(): [Collection](dw.util.Collection.md)
+ - : Returns all product links of the product variation group.
+
+
+ If the variation group does not define any product links, but the master product
+ does, the product links of the master are returned.
+
+
+ **Returns:**
+ - All product links of the variation group or master
+
+
+---
+
+### getAllProductLinks(Number)
+- getAllProductLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns all product links of the specified type of the product variation group.
+
+
+ If the variation group does not define any product links, but the master product
+ does, the product links of the master are returned.
+
+
+ **Parameters:**
+ - type - Type of the product link
+
+ **Returns:**
+ - Product links of specified type of the variation group or master
+
+
+---
+
+### getBrand()
+- getBrand(): [String](TopLevel.String.md)
+ - : Returns the brand of the product variation group.
+
+
+ If the variation group does not define an own value for 'brand', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The brand of the variation group or master
+
+
+---
+
+### getClassificationCategory()
+- getClassificationCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the classification category of the product variation group.
+
+
+ **Please note** that the classification category is always inherited
+ from the master and cannot be overridden by the variation group.
+
+
+ **Returns:**
+ - The classification category as defined for the master product of the variation group
+
+
+---
+
+### getCustom()
+- getCustom(): [CustomAttributes](dw.object.CustomAttributes.md)
+ - : Returns the custom attributes of the variation group.
+
+
+ Custom attributes are inherited from the master product and can
+ be overridden by the variation group.
+
+
+ **Returns:**
+ - the custom attributes of the variation group.
+
+
+---
+
+### getEAN()
+- getEAN(): [String](TopLevel.String.md)
+ - : Returns the EAN of the product variation group.
+
+
+ If the variation group does not define an own value for 'EAN', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The EAN of the variation group or master
+
+
+---
+
+### getImage()
+- getImage(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the image of the product variation group.
+
+
+ If the variation group does not define an own value for 'image', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The image of the variation group or master
+
+
+---
+
+### getLongDescription()
+- getLongDescription(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the long description of the product variation group.
+
+
+ If the variation group does not define an own value for 'longDescription', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The long description name of the variation group or master
+
+
+---
+
+### getManufacturerName()
+- getManufacturerName(): [String](TopLevel.String.md)
+ - : Returns the manufacturer name of the product variation group.
+
+
+ If the variation group does not define an own value for 'manufacturerName', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The manufacturer name of the variation group or master
+
+
+---
+
+### getManufacturerSKU()
+- getManufacturerSKU(): [String](TopLevel.String.md)
+ - : Returns the manufacturer sku of the product variation group.
+
+
+ If the variation group does not define an own value for 'manufacturerSKU', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The manufacturer sku of the variation group or master
+
+
+---
+
+### getMasterProduct()
+- getMasterProduct(): [Product](dw.catalog.Product.md)
+ - : Returns the ProductMaster for this mastered product.
+
+ **Returns:**
+ - the ProductMaster of this mastered product
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of the product variation group.
+
+
+ If the variation group does not define an own value for 'name', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The name of the variation group or master
+
+
+---
+
+### getOnlineFrom()
+- getOnlineFrom(): [Date](TopLevel.Date.md)
+ - : Returns the onlineFrom date of the product variation group.
+
+
+ If the variation group does not define an own value for 'onlineFrom', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The onlineFrom date of the variation group or master
+
+
+---
+
+### getOnlineTo()
+- getOnlineTo(): [Date](TopLevel.Date.md)
+ - : Returns the onlineTo date of the product variation group.
+
+
+ If the variation group does not define an own value for 'onlineTo', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The onlineTo date of the variation group or master
+
+
+---
+
+### getPageDescription()
+- getPageDescription(): [String](TopLevel.String.md)
+ - : Returns the pageDescription of the product variation group.
+
+
+ If the variation group does not define an own value for 'pageDescription', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The pageDescription of the variation group or master
+
+
+---
+
+### getPageKeywords()
+- getPageKeywords(): [String](TopLevel.String.md)
+ - : Returns the pageKeywords of the product variation group.
+
+
+ If the variation group does not define an own value for 'pageKeywords', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The pageKeywords of the variation group or master
+
+
+---
+
+### getPageTitle()
+- getPageTitle(): [String](TopLevel.String.md)
+ - : Returns the pageTitle of the product variation group.
+
+
+ If the variation group does not define an own value for 'pageTitle', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The pageTitle of the variation group or master
+
+
+---
+
+### getPageURL()
+- getPageURL(): [String](TopLevel.String.md)
+ - : Returns the pageURL of the product variation group.
+
+
+ If the variation group does not define an own value for 'pageURL', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The pageURL of the variation group or master
+
+
+---
+
+### getProductLinks()
+- getProductLinks(): [Collection](dw.util.Collection.md)
+ - : Returns all product links of the product variation group for which the target
+ product is assigned to the current site catalog.
+
+
+ If the variation group does not define any product links, but the master product
+ does, the product links of the master are returned.
+
+
+ **Returns:**
+ - Product links of the variation group or master
+
+
+---
+
+### getProductLinks(Number)
+- getProductLinks(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns all product links of the specified type of the product variation group
+ for which the target product is assigned to the current site catalog.
+
+
+ If the variation group does not define any product links of the specified type,
+ but the master product does, the product links of the master are returned.
+
+
+ **Parameters:**
+ - type - Type of the product link
+
+ **Returns:**
+ - Product links of specified type of the variation group or master
+
+
+---
+
+### getRecommendations(Number)
+- getRecommendations(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Retrieve the sorted collection of recommendations of the specified type
+ for this product variation group. The types (cross-sell, up-sell, etc) are
+ enumerated in the `dw.catalog.Recommendation` class. Only
+ recommendations which are stored in the current site catalog are returned.
+ Furthermore, a recommendation is only returned if the target of the
+ recommendation is assigned to the current site catalog.
+
+
+ If the variation group does not define any recommendations, but the master
+ product does, the recommendations of the master are returned.
+
+
+ **Parameters:**
+ - type - the recommendation type
+
+ **Returns:**
+ - the sorted collection, never null but possibly empty.
+
+
+---
+
+### getShortDescription()
+- getShortDescription(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the short description of the product variation group.
+
+
+ If the variation group does not define an own value for 'shortDescription', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The short description name of the variation group or master
+
+
+---
+
+### getTaxClassID()
+- getTaxClassID(): [String](TopLevel.String.md)
+ - : Returns the tax class id of the product variation group.
+
+
+ If the variation group does not define an own value for 'taxClassID', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The tax class id of the variation group or master
+
+
+---
+
+### getTemplate()
+- getTemplate(): [String](TopLevel.String.md)
+ - : Returns the rendering template name of the product variation group.
+
+
+ If the variation group does not define an own value for 'template', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The rendering template name of the variation group or master
+
+
+---
+
+### getThumbnail()
+- getThumbnail(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the thumbnail image of the product variation group.
+
+
+ If the variation group does not define an own value for 'thumbnailImage', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The thumbnail image of the variation group or master
+
+
+---
+
+### getUPC()
+- getUPC(): [String](TopLevel.String.md)
+ - : Returns the UPC of the product variation group.
+
+
+ If the variation group does not define an own value for 'UPC', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The UPC of the variation group or master
+
+
+---
+
+### getUnit()
+- getUnit(): [String](TopLevel.String.md)
+ - : Returns the sales unit of the product variation group as defined by the
+ master product.
+
+
+ If the variation group does not define an own value for 'unit', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The sales unit of the variation group or master
+
+
+---
+
+### getUnitQuantity()
+- getUnitQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the unitQuantity of the product variation group as defined by the
+ master product.
+
+
+ If the variation group does not define an own value for 'unitQuantity', the value of
+ the master product is returned.
+
+
+ **Returns:**
+ - The unitQuantity of the variation group or master
+
+
+---
+
+### isOptionProduct()
+- isOptionProduct(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if the variation group has any options, otherwise 'false'.
+ Method also returns 'true' if the variation group has not any options,
+ but the related master product has options.
+
+
+ **Returns:**
+ - true if the variation group has any options, false otherwise.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.catalog.md b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.md
new file mode 100644
index 00000000..4939fc6c
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.catalog.md
@@ -0,0 +1,50 @@
+# Package dw.catalog
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [Catalog](dw.catalog.Catalog.md) | Represents a Commerce Cloud Digital Catalog. |
+| [CatalogMgr](dw.catalog.CatalogMgr.md) | Provides helper methods for getting categories. |
+| [Category](dw.catalog.Category.md) | Represents a category in a product catalog. |
+| [CategoryAssignment](dw.catalog.CategoryAssignment.md) | Represents a category assignment in Commerce Cloud Digital. |
+| [CategoryLink](dw.catalog.CategoryLink.md) | A CategoryLink represents a directed relationship between two catalog categories. |
+| [PriceBook](dw.catalog.PriceBook.md) | Represents a price book. |
+| [PriceBookMgr](dw.catalog.PriceBookMgr.md) | Price book manager provides methods to access price books. |
+| [Product](dw.catalog.Product.md) | Represents a product in Commerce Cloud Digital. |
+| [ProductActiveData](dw.catalog.ProductActiveData.md) | Represents the active data for a [Product](dw.catalog.Product.md) in Commerce Cloud Digital. |
+| [ProductAttributeModel](dw.catalog.ProductAttributeModel.md) | Class representing the complete attribute model for products in the system. |
+| [ProductAvailabilityLevels](dw.catalog.ProductAvailabilityLevels.md) | Encapsulates the quantity of items available for each availability status. |
+| [ProductAvailabilityModel](dw.catalog.ProductAvailabilityModel.md) | The ProductAvailabilityModel provides methods for retrieving all information on availability of a single product. |
+| [ProductInventoryList](dw.catalog.ProductInventoryList.md) | The ProductInventoryList provides access to ID, description and defaultInStockFlag of the list. |
+| [ProductInventoryMgr](dw.catalog.ProductInventoryMgr.md) | This manager provides access to inventory-related objects. |
+| [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md) | The ProductInventoryRecord holds information about a Product's inventory, and availability. |
+| [ProductLink](dw.catalog.ProductLink.md) | The class represents a link between two products. |
+| [ProductMgr](dw.catalog.ProductMgr.md) | Provides helper methods for getting products based on Product ID or [Catalog](dw.catalog.Catalog.md). |
+| [ProductOption](dw.catalog.ProductOption.md) | Represents a product option. |
+| [ProductOptionModel](dw.catalog.ProductOptionModel.md) | This class represents the option model of a specific product and for a specific currency. |
+| [ProductOptionValue](dw.catalog.ProductOptionValue.md) | Represents the value of a product option. |
+| [ProductPriceInfo](dw.catalog.ProductPriceInfo.md) | Simple class representing a product price point. |
+| [ProductPriceModel](dw.catalog.ProductPriceModel.md) | ProductPriceModel provides methods to access all the [PriceBook](dw.catalog.PriceBook.md) information of a product. |
+| [ProductPriceTable](dw.catalog.ProductPriceTable.md) | A ProductPriceTable is a map of quantities to prices representing the potentially tiered prices of a product in Commerce Cloud Digital. |
+| [ProductSearchHit](dw.catalog.ProductSearchHit.md) | ProductSearchHit is the result of a executed search query and wraps the actual product found by the search. |
+| [ProductSearchModel](dw.catalog.ProductSearchModel.md) | The class is the central interface to a product search result and a product search refinement. |
+| [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md) | This class provides an interface to refinement options for the product search. |
+| [ProductSearchRefinements](dw.catalog.ProductSearchRefinements.md) | This class provides an interface to refinement options for the product search. |
+| [ProductSearchRefinementValue](dw.catalog.ProductSearchRefinementValue.md) | Represents the value of a product search refinement. |
+| [ProductVariationAttribute](dw.catalog.ProductVariationAttribute.md) | Represents a product variation attribute |
+| [ProductVariationAttributeValue](dw.catalog.ProductVariationAttributeValue.md) | Represents a product variation attribute |
+| [ProductVariationModel](dw.catalog.ProductVariationModel.md) | Class representing the complete variation information for a master product in the system. |
+| [Recommendation](dw.catalog.Recommendation.md) | Represents a recommendation in Commerce Cloud Digital. |
+| [SearchModel](dw.catalog.SearchModel.md) | Common search model base class. |
+| [SearchRefinementDefinition](dw.catalog.SearchRefinementDefinition.md) | Common search refinement definition base class. |
+| [SearchRefinements](dw.catalog.SearchRefinements.md) | Common search refinements base class. |
+| [SearchRefinementValue](dw.catalog.SearchRefinementValue.md) | Represents the value of a product or content search refinement. |
+| [SortingOption](dw.catalog.SortingOption.md) | Represents an option for how to sort products in storefront search results. |
+| [SortingRule](dw.catalog.SortingRule.md) | Represents a product sorting rule for use with the [ProductSearchModel](dw.catalog.ProductSearchModel.md). |
+| [Store](dw.catalog.Store.md) | Represents a store in Commerce Cloud Digital. |
+| [StoreGroup](dw.catalog.StoreGroup.md) | Represents a store group. |
+| [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md) | This class represents a store inventory filter, which can be used at [ProductSearchModel.setStoreInventoryFilter(StoreInventoryFilter)](dw.catalog.ProductSearchModel.md#setstoreinventoryfilterstoreinventoryfilter) to filter the search result by one or more store inventories. |
+| [StoreInventoryFilterValue](dw.catalog.StoreInventoryFilterValue.md) | This class represents a store inventory filter value, which can be used for a [StoreInventoryFilter](dw.catalog.StoreInventoryFilter.md) to filter the search result by one or more store inventory list IDs via [ProductSearchModel.setStoreInventoryFilter(StoreInventoryFilter)](dw.catalog.ProductSearchModel.md#setstoreinventoryfilterstoreinventoryfilter). |
+| [StoreMgr](dw.catalog.StoreMgr.md) | Provides helper methods for getting stores based on id and querying for stores based on geolocation. |
+| [Variant](dw.catalog.Variant.md) | Represents a variant of a product variation. |
+| [VariationGroup](dw.catalog.VariationGroup.md) | Class representing a group of variants within a master product who share a common value for one or more variation attribute values. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.Content.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.Content.md
new file mode 100644
index 00000000..6aca4c7c
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.Content.md
@@ -0,0 +1,481 @@
+
+# Class Content
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.content.Content](dw.content.Content.md)
+
+Class representing a Content asset in Commerce Cloud Digital.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the content asset. |
+| [classificationFolder](#classificationfolder): [Folder](dw.content.Folder.md) `(read-only)` | Returns the Folder associated with this Content. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the description in the current locale or null. |
+| [folders](#folders): [Collection](dw.util.Collection.md) `(read-only)` | Returns all folders to which this content is assigned. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of the content asset. |
+| [online](#online): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the online status of the content. |
+| [onlineFlag](#onlineflag): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the online status flag of the content. |
+| [page](#page): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns if the content is a [Page](dw.experience.Page.md) or not. |
+| [pageDescription](#pagedescription): [String](TopLevel.String.md) `(read-only)` | Returns the page description for the content in the current locale or null if there is no page description. |
+| [pageKeywords](#pagekeywords): [String](TopLevel.String.md) `(read-only)` | Returns the page keywords for the content in the current locale or null if there is no page title. |
+| [pageMetaTags](#pagemetatags): [Array](TopLevel.Array.md) `(read-only)` | Returns all page meta tags, defined for this instance for which content can be generated. |
+| [pageTitle](#pagetitle): [String](TopLevel.String.md) `(read-only)` | Returns the page title for the content in the current locale or null if there is no page title. |
+| [pageURL](#pageurl): [String](TopLevel.String.md) `(read-only)` | Returns the page URL for the content in the current locale or null if there is no page URL. |
+| [searchable](#searchable): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the search status of the content. |
+| [searchableFlag](#searchableflag): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns the online status flag of the content. |
+| [siteMapChangeFrequency](#sitemapchangefrequency): [String](TopLevel.String.md) `(read-only)` | Returns the contents change frequency needed for the sitemap creation. |
+| [siteMapIncluded](#sitemapincluded): [Number](TopLevel.Number.md) `(read-only)` | Returns the status if the content is included into the sitemap. |
+| [siteMapPriority](#sitemappriority): [Number](TopLevel.Number.md) `(read-only)` | Returns the contents priority needed for the sitemap creation. |
+| [template](#template): [String](TopLevel.String.md) `(read-only)` | Returns the value of attribute 'template'. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getClassificationFolder](dw.content.Content.md#getclassificationfolder)() | Returns the Folder associated with this Content. |
+| [getDescription](dw.content.Content.md#getdescription)() | Returns the description in the current locale or null. |
+| [getFolders](dw.content.Content.md#getfolders)() | Returns all folders to which this content is assigned. |
+| [getID](dw.content.Content.md#getid)() | Returns the ID of the content asset. |
+| [getName](dw.content.Content.md#getname)() | Returns the name of the content asset. |
+| [getOnlineFlag](dw.content.Content.md#getonlineflag)() | Returns the online status flag of the content. |
+| [getPageDescription](dw.content.Content.md#getpagedescription)() | Returns the page description for the content in the current locale or null if there is no page description. |
+| [getPageKeywords](dw.content.Content.md#getpagekeywords)() | Returns the page keywords for the content in the current locale or null if there is no page title. |
+| [getPageMetaTag](dw.content.Content.md#getpagemetatagstring)([String](TopLevel.String.md)) | Returns the page meta tag for the specified id. |
+| [getPageMetaTags](dw.content.Content.md#getpagemetatags)() | Returns all page meta tags, defined for this instance for which content can be generated. |
+| [getPageTitle](dw.content.Content.md#getpagetitle)() | Returns the page title for the content in the current locale or null if there is no page title. |
+| [getPageURL](dw.content.Content.md#getpageurl)() | Returns the page URL for the content in the current locale or null if there is no page URL. |
+| [getSearchableFlag](dw.content.Content.md#getsearchableflag)() | Returns the online status flag of the content. |
+| [getSiteMapChangeFrequency](dw.content.Content.md#getsitemapchangefrequency)() | Returns the contents change frequency needed for the sitemap creation. |
+| [getSiteMapIncluded](dw.content.Content.md#getsitemapincluded)() | Returns the status if the content is included into the sitemap. |
+| [getSiteMapPriority](dw.content.Content.md#getsitemappriority)() | Returns the contents priority needed for the sitemap creation. |
+| [getTemplate](dw.content.Content.md#gettemplate)() | Returns the value of attribute 'template'. |
+| [isOnline](dw.content.Content.md#isonline)() | Returns the online status of the content. |
+| [isPage](dw.content.Content.md#ispage)() | Returns if the content is a [Page](dw.experience.Page.md) or not. |
+| [isSearchable](dw.content.Content.md#issearchable)() | Returns the search status of the content. |
+| [toPage](dw.content.Content.md#topage)() | Converts the content into the [Page](dw.experience.Page.md) representation if [isPage()](dw.content.Content.md#ispage) yields true. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the content asset.
+
+
+---
+
+### classificationFolder
+- classificationFolder: [Folder](dw.content.Folder.md) `(read-only)`
+ - : Returns the Folder associated with this Content. The folder is
+ used to determine the classification of the content.
+
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the description in the current locale or null.
+
+
+---
+
+### folders
+- folders: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all folders to which this content is assigned.
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the content asset.
+
+
+---
+
+### online
+- online: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the online status of the content.
+
+
+---
+
+### onlineFlag
+- onlineFlag: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the online status flag of the content.
+
+
+---
+
+### page
+- page: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns if the content is a [Page](dw.experience.Page.md) or not.
+
+
+---
+
+### pageDescription
+- pageDescription: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page description for the content in the current locale
+ or null if there is no page description.
+
+
+
+---
+
+### pageKeywords
+- pageKeywords: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page keywords for the content in the current locale
+ or null if there is no page title.
+
+
+
+---
+
+### pageMetaTags
+- pageMetaTags: [Array](TopLevel.Array.md) `(read-only)`
+ - : Returns all page meta tags, defined for this instance for which content can be generated.
+
+
+ The meta tag content is generated based on the content detail page meta tag context and rules.
+ The rules are obtained from the current content or inherited from the default folder,
+ up to the root folder.
+
+
+
+---
+
+### pageTitle
+- pageTitle: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page title for the content in the current locale
+ or null if there is no page title.
+
+
+
+---
+
+### pageURL
+- pageURL: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page URL for the content in the current locale
+ or null if there is no page URL.
+
+
+
+---
+
+### searchable
+- searchable: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the search status of the content.
+
+
+---
+
+### searchableFlag
+- searchableFlag: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns the online status flag of the content.
+
+
+---
+
+### siteMapChangeFrequency
+- siteMapChangeFrequency: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the contents change frequency needed for the sitemap creation.
+
+
+---
+
+### siteMapIncluded
+- siteMapIncluded: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the status if the content is included into the sitemap.
+
+
+---
+
+### siteMapPriority
+- siteMapPriority: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the contents priority needed for the sitemap creation.
+ If no priority is defined, the method returns 0.0.
+
+
+
+---
+
+### template
+- template: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the value of attribute 'template'.
+
+
+---
+
+## Method Details
+
+### getClassificationFolder()
+- getClassificationFolder(): [Folder](dw.content.Folder.md)
+ - : Returns the Folder associated with this Content. The folder is
+ used to determine the classification of the content.
+
+
+ **Returns:**
+ - the classification Folder.
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the description in the current locale or null.
+
+ **Returns:**
+ - the description in the current locale or null.
+
+
+---
+
+### getFolders()
+- getFolders(): [Collection](dw.util.Collection.md)
+ - : Returns all folders to which this content is assigned.
+
+ **Returns:**
+ - Collection of Folder objects.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the content asset.
+
+ **Returns:**
+ - the ID of the content asset.
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of the content asset.
+
+ **Returns:**
+ - the name of the content asset.
+
+
+---
+
+### getOnlineFlag()
+- getOnlineFlag(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the online status flag of the content.
+
+ **Returns:**
+ - true if the content is online, false otherwise.
+
+
+---
+
+### getPageDescription()
+- getPageDescription(): [String](TopLevel.String.md)
+ - : Returns the page description for the content in the current locale
+ or null if there is no page description.
+
+
+ **Returns:**
+ - the page description for the content in the current locale
+ or null if there is no page description.
+
+
+
+---
+
+### getPageKeywords()
+- getPageKeywords(): [String](TopLevel.String.md)
+ - : Returns the page keywords for the content in the current locale
+ or null if there is no page title.
+
+
+ **Returns:**
+ - the page keywords for the content in the current locale
+ or null if there is no page title.
+
+
+
+---
+
+### getPageMetaTag(String)
+- getPageMetaTag(id: [String](TopLevel.String.md)): [PageMetaTag](dw.web.PageMetaTag.md)
+ - : Returns the page meta tag for the specified id.
+
+
+ The meta tag content is generated based on the content detail page meta tag context and rule.
+ The rule is obtained from the current content or inherited from the default folder,
+ up to the root folder.
+
+
+ Null will be returned if the meta tag is undefined on the current instance, or if no rule can be found for the
+ current context, or if the rule resolves to an empty string.
+
+
+ **Parameters:**
+ - id - the ID to get the page meta tag for
+
+ **Returns:**
+ - page meta tag containing content generated based on rules
+
+
+---
+
+### getPageMetaTags()
+- getPageMetaTags(): [Array](TopLevel.Array.md)
+ - : Returns all page meta tags, defined for this instance for which content can be generated.
+
+
+ The meta tag content is generated based on the content detail page meta tag context and rules.
+ The rules are obtained from the current content or inherited from the default folder,
+ up to the root folder.
+
+
+ **Returns:**
+ - page meta tags defined for this instance, containing content generated based on rules
+
+
+---
+
+### getPageTitle()
+- getPageTitle(): [String](TopLevel.String.md)
+ - : Returns the page title for the content in the current locale
+ or null if there is no page title.
+
+
+ **Returns:**
+ - the page title for the content in the current locale
+ or null if there is no page title.
+
+
+
+---
+
+### getPageURL()
+- getPageURL(): [String](TopLevel.String.md)
+ - : Returns the page URL for the content in the current locale
+ or null if there is no page URL.
+
+
+ **Returns:**
+ - the page URL for the content in the current locale
+ or null if there is no page URL.
+
+
+
+---
+
+### getSearchableFlag()
+- getSearchableFlag(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the online status flag of the content.
+
+ **Returns:**
+ - true if the content is searchable, false otherwise.
+
+
+---
+
+### getSiteMapChangeFrequency()
+- getSiteMapChangeFrequency(): [String](TopLevel.String.md)
+ - : Returns the contents change frequency needed for the sitemap creation.
+
+ **Returns:**
+ - The contents sitemap change frequency.
+
+
+---
+
+### getSiteMapIncluded()
+- getSiteMapIncluded(): [Number](TopLevel.Number.md)
+ - : Returns the status if the content is included into the sitemap.
+
+ **Returns:**
+ - the value of the attribute 'siteMapIncluded'
+
+
+---
+
+### getSiteMapPriority()
+- getSiteMapPriority(): [Number](TopLevel.Number.md)
+ - : Returns the contents priority needed for the sitemap creation.
+ If no priority is defined, the method returns 0.0.
+
+
+ **Returns:**
+ - The contents sitemap priority.
+
+
+---
+
+### getTemplate()
+- getTemplate(): [String](TopLevel.String.md)
+ - : Returns the value of attribute 'template'.
+
+ **Returns:**
+ - the value of the attribute 'template'
+
+
+---
+
+### isOnline()
+- isOnline(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the online status of the content.
+
+ **Returns:**
+ - true if the content is online, false otherwise.
+
+
+---
+
+### isPage()
+- isPage(): [Boolean](TopLevel.Boolean.md)
+ - : Returns if the content is a [Page](dw.experience.Page.md) or not.
+
+ **Returns:**
+ - true if the content is a [Page](dw.experience.Page.md), false otherwise.
+
+
+---
+
+### isSearchable()
+- isSearchable(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the search status of the content.
+
+ **Returns:**
+ - true if the content is searchable, false otherwise.
+
+
+---
+
+### toPage()
+- toPage(): [Page](dw.experience.Page.md)
+ - : Converts the content into the [Page](dw.experience.Page.md) representation if [isPage()](dw.content.Content.md#ispage) yields true.
+
+ **Returns:**
+ - the [Page](dw.experience.Page.md) representation of the content if it is a page, `null` otherwise.
+
+ **See Also:**
+ - [PageMgr.getPage(String)](dw.experience.PageMgr.md#getpagestring)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentMgr.md
new file mode 100644
index 00000000..f8e5b495
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentMgr.md
@@ -0,0 +1,147 @@
+
+# Class ContentMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.content.ContentMgr](dw.content.ContentMgr.md)
+
+Provides helper methods for getting content assets, library folders and the
+content library of the current site.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [PRIVATE_LIBRARY](#private_library): [String](TopLevel.String.md) = "PrivateLibrary" | The input string to identify that the library is a private site library when invoking [getLibrary(String)](dw.content.ContentMgr.md#getlibrarystring). |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [siteLibrary](#sitelibrary): [Library](dw.content.Library.md) `(read-only)` | Returns the content library of the current site. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getContent](dw.content.ContentMgr.md#getcontentlibrary-string)([Library](dw.content.Library.md), [String](TopLevel.String.md)) | Returns the content with the corresponding identifier within the specified library. |
+| static [getContent](dw.content.ContentMgr.md#getcontentstring)([String](TopLevel.String.md)) | Returns the content with the corresponding identifier within the current site's site library. |
+| static [getFolder](dw.content.ContentMgr.md#getfolderlibrary-string)([Library](dw.content.Library.md), [String](TopLevel.String.md)) | Returns the folder identified by the specified id within the specified library. |
+| static [getFolder](dw.content.ContentMgr.md#getfolderstring)([String](TopLevel.String.md)) | Returns the folder identified by the specified id within the current site's site library. |
+| static [getLibrary](dw.content.ContentMgr.md#getlibrarystring)([String](TopLevel.String.md)) | Returns the content library specified by the given id. |
+| static [getSiteLibrary](dw.content.ContentMgr.md#getsitelibrary)() | Returns the content library of the current site. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### PRIVATE_LIBRARY
+
+- PRIVATE_LIBRARY: [String](TopLevel.String.md) = "PrivateLibrary"
+ - : The input string to identify that the library is a private site library when invoking [getLibrary(String)](dw.content.ContentMgr.md#getlibrarystring).
+
+
+---
+
+## Property Details
+
+### siteLibrary
+- siteLibrary: [Library](dw.content.Library.md) `(read-only)`
+ - : Returns the content library of the current site.
+
+
+---
+
+## Method Details
+
+### getContent(Library, String)
+- static getContent(library: [Library](dw.content.Library.md), id: [String](TopLevel.String.md)): [Content](dw.content.Content.md)
+ - : Returns the content with the corresponding identifier within the specified library.
+
+ **Parameters:**
+ - library - the content library to look for the content in
+ - id - the ID of the content asset to find.
+
+ **Returns:**
+ - the content if found, or null if not found.
+
+
+---
+
+### getContent(String)
+- static getContent(id: [String](TopLevel.String.md)): [Content](dw.content.Content.md)
+ - : Returns the content with the corresponding identifier within the current
+ site's site library.
+
+
+ **Parameters:**
+ - id - the ID of the content asset to find.
+
+ **Returns:**
+ - the content if found, or null if not found.
+
+
+---
+
+### getFolder(Library, String)
+- static getFolder(library: [Library](dw.content.Library.md), id: [String](TopLevel.String.md)): [Folder](dw.content.Folder.md)
+ - : Returns the folder identified by the specified id within the specified library.
+
+ **Parameters:**
+ - library - the content library to look for the folder in
+ - id - the ID of the folder to find.
+
+ **Returns:**
+ - the folder, or null if not found.
+
+
+---
+
+### getFolder(String)
+- static getFolder(id: [String](TopLevel.String.md)): [Folder](dw.content.Folder.md)
+ - : Returns the folder identified by the specified id within the current
+ site's site library.
+
+
+ **Parameters:**
+ - id - the ID of the folder to find.
+
+ **Returns:**
+ - the folder, or null if not found.
+
+
+---
+
+### getLibrary(String)
+- static getLibrary(libraryId: [String](TopLevel.String.md)): [Library](dw.content.Library.md)
+ - : Returns the content library specified by the given id. If [PRIVATE_LIBRARY](dw.content.ContentMgr.md#private_library) is used, then the current
+ site's private library will be returned.
+
+
+ **Parameters:**
+ - libraryId - the id of the library to return.
+
+ **Returns:**
+ - the library for the passed id. Returns null if there is no content library with that id.
+
+
+---
+
+### getSiteLibrary()
+- static getSiteLibrary(): [Library](dw.content.Library.md)
+ - : Returns the content library of the current site.
+
+ **Returns:**
+ - the content library of the current site, or null if there is not
+ content library assigned to the current site.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchModel.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchModel.md
new file mode 100644
index 00000000..04a08835
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchModel.md
@@ -0,0 +1,618 @@
+
+# Class ContentSearchModel
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.SearchModel](dw.catalog.SearchModel.md)
+ - [dw.content.ContentSearchModel](dw.content.ContentSearchModel.md)
+
+The class is the central interface to a content search result and a content
+search refinement. It also provides utility methods to generate a search URL.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [CONTENTID_PARAMETER](#contentid_parameter): [String](TopLevel.String.md) = "cid" | URL Parameter for the content ID |
+| [FOLDERID_PARAMETER](#folderid_parameter): [String](TopLevel.String.md) = "fdid" | URL Parameter for the folder ID |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [content](#content): [Iterator](dw.util.Iterator.md) `(read-only)` | Returns an Iterator containing all Content Assets that are the result of the search. |
+| [contentID](#contentid): [String](TopLevel.String.md) | Returns the content ID against which the search results apply. |
+| [deepestCommonFolder](#deepestcommonfolder): [Folder](dw.content.Folder.md) `(read-only)` | Returns the deepest common folder of all content assets in the search result. |
+| [filteredByFolder](#filteredbyfolder): [Boolean](TopLevel.Boolean.md) | The method returns true, if the content search result is filtered by the folder and it is not subsequently possible to search for content assets that belong to no folder (e.g. |
+| [folder](#folder): [Folder](dw.content.Folder.md) `(read-only)` | Returns the folder against which the search results apply. |
+| [folderID](#folderid): [String](TopLevel.String.md) | Returns the folder ID against which the search results apply. |
+| [folderSearch](#foldersearch): [Boolean](TopLevel.Boolean.md) `(read-only)` | The method returns true, if this is a pure search for a folder. |
+| [pageMetaTags](#pagemetatags): [Array](TopLevel.Array.md) `(read-only)` | Returns all page meta tags, defined for this instance for which content can be generated. |
+| [recursiveFolderSearch](#recursivefoldersearch): [Boolean](TopLevel.Boolean.md) | Get the flag that determines if the folder search will be recursive. |
+| [refinedByFolder](#refinedbyfolder): [Boolean](TopLevel.Boolean.md) `(read-only)` | The method returns true, if the search is refined by a folder. |
+| [refinedFolderSearch](#refinedfoldersearch): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this is a folder search and is refined with further criteria, like a name refinement or an attribute refinement. |
+| [refinements](#refinements): [ContentSearchRefinements](dw.content.ContentSearchRefinements.md) `(read-only)` | Returns the set of search refinements used in this search. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [ContentSearchModel](#contentsearchmodel)() | Constructs a new ContentSearchModel. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getContent](dw.content.ContentSearchModel.md#getcontent)() | Returns an Iterator containing all Content Assets that are the result of the search. |
+| [getContentID](dw.content.ContentSearchModel.md#getcontentid)() | Returns the content ID against which the search results apply. |
+| [getDeepestCommonFolder](dw.content.ContentSearchModel.md#getdeepestcommonfolder)() | Returns the deepest common folder of all content assets in the search result. |
+| [getFolder](dw.content.ContentSearchModel.md#getfolder)() | Returns the folder against which the search results apply. |
+| [getFolderID](dw.content.ContentSearchModel.md#getfolderid)() | Returns the folder ID against which the search results apply. |
+| [getPageMetaTag](dw.content.ContentSearchModel.md#getpagemetatagstring)([String](TopLevel.String.md)) | Returns the page meta tag for the specified id. |
+| [getPageMetaTags](dw.content.ContentSearchModel.md#getpagemetatags)() | Returns all page meta tags, defined for this instance for which content can be generated. |
+| [getRefinements](dw.content.ContentSearchModel.md#getrefinements)() | Returns the set of search refinements used in this search. |
+| [isFilteredByFolder](dw.content.ContentSearchModel.md#isfilteredbyfolder)() | The method returns true, if the content search result is filtered by the folder and it is not subsequently possible to search for content assets that belong to no folder (e.g. |
+| [isFolderSearch](dw.content.ContentSearchModel.md#isfoldersearch)() | The method returns true, if this is a pure search for a folder. |
+| [isRecursiveFolderSearch](dw.content.ContentSearchModel.md#isrecursivefoldersearch)() | Get the flag that determines if the folder search will be recursive. |
+| [isRefinedByFolder](dw.content.ContentSearchModel.md#isrefinedbyfolder)() | The method returns true, if the search is refined by a folder. |
+| [isRefinedFolderSearch](dw.content.ContentSearchModel.md#isrefinedfoldersearch)() | Identifies if this is a folder search and is refined with further criteria, like a name refinement or an attribute refinement. |
+| [search](dw.content.ContentSearchModel.md#search)() | Execute the search. |
+| [setContentID](dw.content.ContentSearchModel.md#setcontentidstring)([String](TopLevel.String.md)) | Sets the contentID used in this search. |
+| [setFilteredByFolder](dw.content.ContentSearchModel.md#setfilteredbyfolderboolean)([Boolean](TopLevel.Boolean.md)) | Set a flag to indicate if the search is filtered by the folder. |
+| [setFolderID](dw.content.ContentSearchModel.md#setfolderidstring)([String](TopLevel.String.md)) | Sets the folderID used in this search. |
+| [setRecursiveFolderSearch](dw.content.ContentSearchModel.md#setrecursivefoldersearchboolean)([Boolean](TopLevel.Boolean.md)) | Set a flag to indicate if the search in folder should be recursive. |
+| static [urlForContent](dw.content.ContentSearchModel.md#urlforcontenturl-string)([URL](dw.web.URL.md), [String](TopLevel.String.md)) | Returns an URL that you can use to execute a query for a specific Content. |
+| static [urlForContent](dw.content.ContentSearchModel.md#urlforcontentstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns an URL that you can use to execute a query for a specific Content. |
+| static [urlForFolder](dw.content.ContentSearchModel.md#urlforfolderurl-string)([URL](dw.web.URL.md), [String](TopLevel.String.md)) | Returns an URL that you can use to execute a query for a specific Folder. |
+| static [urlForFolder](dw.content.ContentSearchModel.md#urlforfolderstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns an URL that you can use to execute a query for a specific Folder. |
+| static [urlForRefine](dw.content.ContentSearchModel.md#urlforrefineurl-string-string)([URL](dw.web.URL.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns an URL that you can use to execute a query for a specific attribute name-value pair. |
+| static [urlForRefine](dw.content.ContentSearchModel.md#urlforrefinestring-string-string)([String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns an URL that you can use to execute a query for a specific attribute name-value pair. |
+| [urlRefineFolder](dw.content.ContentSearchModel.md#urlrefinefolderurl-string)([URL](dw.web.URL.md), [String](TopLevel.String.md)) | Returns an URL that you can use to re-execute the query using the specified URL and folder refinement. |
+| [urlRefineFolder](dw.content.ContentSearchModel.md#urlrefinefolderstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns an URL that you can use to re-execute the query using the specified pipeline action and folder refinement. |
+| [urlRelaxFolder](dw.content.ContentSearchModel.md#urlrelaxfolderurl)([URL](dw.web.URL.md)) | Returns an URL that you can use to re-execute the query with no folder refinement. |
+| [urlRelaxFolder](dw.content.ContentSearchModel.md#urlrelaxfolderstring)([String](TopLevel.String.md)) | Returns an URL that you can use to re-execute the query with no folder refinement. |
+
+### Methods inherited from class SearchModel
+
+[addRefinementValues](dw.catalog.SearchModel.md#addrefinementvaluesstring-string), [canRelax](dw.catalog.SearchModel.md#canrelax), [getCount](dw.catalog.SearchModel.md#getcount), [getRefinementMaxValue](dw.catalog.SearchModel.md#getrefinementmaxvaluestring), [getRefinementMinValue](dw.catalog.SearchModel.md#getrefinementminvaluestring), [getRefinementValue](dw.catalog.SearchModel.md#getrefinementvaluestring), [getRefinementValues](dw.catalog.SearchModel.md#getrefinementvaluesstring), [getSearchPhrase](dw.catalog.SearchModel.md#getsearchphrase), [getSearchRedirect](dw.catalog.SearchModel.md#getsearchredirectstring), [getSortingCondition](dw.catalog.SearchModel.md#getsortingconditionstring), [isEmptyQuery](dw.catalog.SearchModel.md#isemptyquery), [isRefinedByAttribute](dw.catalog.SearchModel.md#isrefinedbyattribute), [isRefinedByAttribute](dw.catalog.SearchModel.md#isrefinedbyattributestring), [isRefinedByAttributeValue](dw.catalog.SearchModel.md#isrefinedbyattributevaluestring-string), [isRefinedSearch](dw.catalog.SearchModel.md#isrefinedsearch), [isRefinementByValueRange](dw.catalog.SearchModel.md#isrefinementbyvaluerangestring), [isRefinementByValueRange](dw.catalog.SearchModel.md#isrefinementbyvaluerangestring-string-string), [removeRefinementValues](dw.catalog.SearchModel.md#removerefinementvaluesstring-string), [search](dw.catalog.SearchModel.md#search), [setRefinementValueRange](dw.catalog.SearchModel.md#setrefinementvaluerangestring-string-string), [setRefinementValues](dw.catalog.SearchModel.md#setrefinementvaluesstring-string), [setSearchPhrase](dw.catalog.SearchModel.md#setsearchphrasestring), [setSortingCondition](dw.catalog.SearchModel.md#setsortingconditionstring-number), [url](dw.catalog.SearchModel.md#urlurl), [url](dw.catalog.SearchModel.md#urlstring), [urlDefaultSort](dw.catalog.SearchModel.md#urldefaultsorturl), [urlDefaultSort](dw.catalog.SearchModel.md#urldefaultsortstring), [urlRefineAttribute](dw.catalog.SearchModel.md#urlrefineattributeurl-string-string), [urlRefineAttribute](dw.catalog.SearchModel.md#urlrefineattributestring-string-string), [urlRefineAttributeValue](dw.catalog.SearchModel.md#urlrefineattributevalueurl-string-string), [urlRefineAttributeValue](dw.catalog.SearchModel.md#urlrefineattributevaluestring-string-string), [urlRefineAttributeValueRange](dw.catalog.SearchModel.md#urlrefineattributevaluerangestring-string-string-string), [urlRelaxAttribute](dw.catalog.SearchModel.md#urlrelaxattributeurl-string), [urlRelaxAttribute](dw.catalog.SearchModel.md#urlrelaxattributestring-string), [urlRelaxAttributeValue](dw.catalog.SearchModel.md#urlrelaxattributevalueurl-string-string), [urlRelaxAttributeValue](dw.catalog.SearchModel.md#urlrelaxattributevaluestring-string-string), [urlSort](dw.catalog.SearchModel.md#urlsorturl-string-number), [urlSort](dw.catalog.SearchModel.md#urlsortstring-string-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### CONTENTID_PARAMETER
+
+- CONTENTID_PARAMETER: [String](TopLevel.String.md) = "cid"
+ - : URL Parameter for the content ID
+
+
+---
+
+### FOLDERID_PARAMETER
+
+- FOLDERID_PARAMETER: [String](TopLevel.String.md) = "fdid"
+ - : URL Parameter for the folder ID
+
+
+---
+
+## Property Details
+
+### content
+- content: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : Returns an Iterator containing all Content Assets that are the result of the
+ search.
+
+
+
+---
+
+### contentID
+- contentID: [String](TopLevel.String.md)
+ - : Returns the content ID against which the search results apply.
+
+
+---
+
+### deepestCommonFolder
+- deepestCommonFolder: [Folder](dw.content.Folder.md) `(read-only)`
+ - : Returns the deepest common folder of all content assets in the search result.
+
+
+---
+
+### filteredByFolder
+- filteredByFolder: [Boolean](TopLevel.Boolean.md)
+ - : The method returns true, if the content search result is filtered by the folder and it is not subsequently
+ possible to search for content assets that belong to no folder (e.g. those for Page Designer).
+
+
+
+---
+
+### folder
+- folder: [Folder](dw.content.Folder.md) `(read-only)`
+ - : Returns the folder against which the search results apply.
+
+
+---
+
+### folderID
+- folderID: [String](TopLevel.String.md)
+ - : Returns the folder ID against which the search results apply.
+
+
+---
+
+### folderSearch
+- folderSearch: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : The method returns true, if this is a pure search for a folder. The
+ method checks, that a folder ID is specified and no search phrase is
+ specified.
+
+
+
+---
+
+### pageMetaTags
+- pageMetaTags: [Array](TopLevel.Array.md) `(read-only)`
+ - : Returns all page meta tags, defined for this instance for which content can be generated.
+
+
+ The meta tag content is generated based on the content listing page meta tag context and rules.
+ The rules are obtained from the current folder context or inherited from the parent folder,
+ up to the root folder.
+
+
+
+---
+
+### recursiveFolderSearch
+- recursiveFolderSearch: [Boolean](TopLevel.Boolean.md)
+ - : Get the flag that determines if the folder search will
+ be recursive.
+
+
+
+---
+
+### refinedByFolder
+- refinedByFolder: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : The method returns true, if the search is refined by a folder.
+ The method checks, that a folder ID is specified.
+
+
+
+---
+
+### refinedFolderSearch
+- refinedFolderSearch: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this is a folder search and is refined with further
+ criteria, like a name refinement or an attribute refinement.
+
+
+
+---
+
+### refinements
+- refinements: [ContentSearchRefinements](dw.content.ContentSearchRefinements.md) `(read-only)`
+ - : Returns the set of search refinements used in this search.
+
+
+---
+
+## Constructor Details
+
+### ContentSearchModel()
+- ContentSearchModel()
+ - : Constructs a new ContentSearchModel.
+
+
+---
+
+## Method Details
+
+### getContent()
+- getContent(): [Iterator](dw.util.Iterator.md)
+ - : Returns an Iterator containing all Content Assets that are the result of the
+ search.
+
+
+ **Returns:**
+ - an Iterator containing all Content Assets that are the result of the
+ search.
+
+
+
+---
+
+### getContentID()
+- getContentID(): [String](TopLevel.String.md)
+ - : Returns the content ID against which the search results apply.
+
+ **Returns:**
+ - the content ID against which the search results apply.
+
+
+---
+
+### getDeepestCommonFolder()
+- getDeepestCommonFolder(): [Folder](dw.content.Folder.md)
+ - : Returns the deepest common folder of all content assets in the search result.
+
+ **Returns:**
+ - the deepest common folder of all content assets in the search result of this search model.
+
+
+---
+
+### getFolder()
+- getFolder(): [Folder](dw.content.Folder.md)
+ - : Returns the folder against which the search results apply.
+
+ **Returns:**
+ - the folder against which the search results apply.
+
+
+---
+
+### getFolderID()
+- getFolderID(): [String](TopLevel.String.md)
+ - : Returns the folder ID against which the search results apply.
+
+ **Returns:**
+ - the folder ID against which the search results apply.
+
+
+---
+
+### getPageMetaTag(String)
+- getPageMetaTag(id: [String](TopLevel.String.md)): [PageMetaTag](dw.web.PageMetaTag.md)
+ - : Returns the page meta tag for the specified id.
+
+
+ The meta tag content is generated based on the content listing page meta tag context and rule.
+ The rule is obtained from the current folder context or inherited from the parent folder,
+ up to the root folder.
+
+
+ Null will be returned if the meta tag is undefined on the current instance, or if no rule can be found for the
+ current context, or if the rule resolves to an empty string.
+
+
+ **Parameters:**
+ - id - the ID to get the page meta tag for
+
+ **Returns:**
+ - page meta tag containing content generated based on rules
+
+
+---
+
+### getPageMetaTags()
+- getPageMetaTags(): [Array](TopLevel.Array.md)
+ - : Returns all page meta tags, defined for this instance for which content can be generated.
+
+
+ The meta tag content is generated based on the content listing page meta tag context and rules.
+ The rules are obtained from the current folder context or inherited from the parent folder,
+ up to the root folder.
+
+
+ **Returns:**
+ - page meta tags defined for this instance, containing content generated based on rules
+
+
+---
+
+### getRefinements()
+- getRefinements(): [ContentSearchRefinements](dw.content.ContentSearchRefinements.md)
+ - : Returns the set of search refinements used in this search.
+
+ **Returns:**
+ - the set of search refinements used in this search.
+
+
+---
+
+### isFilteredByFolder()
+- isFilteredByFolder(): [Boolean](TopLevel.Boolean.md)
+ - : The method returns true, if the content search result is filtered by the folder and it is not subsequently
+ possible to search for content assets that belong to no folder (e.g. those for Page Designer).
+
+
+ **Returns:**
+ - True if this is filtered by the folder of the content asset.
+
+
+---
+
+### isFolderSearch()
+- isFolderSearch(): [Boolean](TopLevel.Boolean.md)
+ - : The method returns true, if this is a pure search for a folder. The
+ method checks, that a folder ID is specified and no search phrase is
+ specified.
+
+
+ **Returns:**
+ - True if this is a folder search.
+
+
+---
+
+### isRecursiveFolderSearch()
+- isRecursiveFolderSearch(): [Boolean](TopLevel.Boolean.md)
+ - : Get the flag that determines if the folder search will
+ be recursive.
+
+
+ **Returns:**
+ - true if the folder search will be recursive, false otherwise
+
+
+---
+
+### isRefinedByFolder()
+- isRefinedByFolder(): [Boolean](TopLevel.Boolean.md)
+ - : The method returns true, if the search is refined by a folder.
+ The method checks, that a folder ID is specified.
+
+
+ **Returns:**
+ - true, if the search is refined by a folder, false otherwise.
+
+
+---
+
+### isRefinedFolderSearch()
+- isRefinedFolderSearch(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this is a folder search and is refined with further
+ criteria, like a name refinement or an attribute refinement.
+
+
+ **Returns:**
+ - true if this is a folder search and is refined with further
+ criteria, false otherwise.
+
+
+
+---
+
+### search()
+- search(): [SearchStatus](dw.system.SearchStatus.md)
+ - : Execute the search.
+
+ **Returns:**
+ - the searchStatus object with search status code and description of search result.
+
+
+---
+
+### setContentID(String)
+- setContentID(contentID: [String](TopLevel.String.md)): void
+ - : Sets the contentID used in this search.
+
+ **Parameters:**
+ - contentID - the contentID used in this search.
+
+
+---
+
+### setFilteredByFolder(Boolean)
+- setFilteredByFolder(filteredByFolder: [Boolean](TopLevel.Boolean.md)): void
+ - : Set a flag to indicate if the search is filtered by the folder. Must be set to false to return content assets that
+ do not belong to any folder.
+
+
+ **Parameters:**
+ - filteredByFolder - filter the search result by folder
+
+
+---
+
+### setFolderID(String)
+- setFolderID(folderID: [String](TopLevel.String.md)): void
+ - : Sets the folderID used in this search.
+
+ **Parameters:**
+ - folderID - the folderID used in this search.
+
+
+---
+
+### setRecursiveFolderSearch(Boolean)
+- setRecursiveFolderSearch(recurse: [Boolean](TopLevel.Boolean.md)): void
+ - : Set a flag to indicate if the search in folder should be recursive.
+
+ **Parameters:**
+ - recurse - recurse the folder in the search
+
+
+---
+
+### urlForContent(URL, String)
+- static urlForContent(url: [URL](dw.web.URL.md), cid: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to execute a query for a specific
+ Content. The passed url can be either a full url or just the name for a
+ pipeline. In the later case a relative URL is created.
+
+
+ **Parameters:**
+ - url - the URL to use when constructing the new URL.
+ - cid - the content id.
+
+ **Returns:**
+ - an URL that you can use to execute a query for a specific
+ Content. The passed url can be either a full url or just the name
+ for a pipeline. In the later case a relative URL is created.
+
+
+
+---
+
+### urlForContent(String, String)
+- static urlForContent(action: [String](TopLevel.String.md), cid: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to execute a query for a specific
+ Content. The passed action is used to build an initial url. All search
+ specific attributes are appended.
+
+
+ **Parameters:**
+ - action - the pipeline action to use.
+ - cid - the content id.
+
+ **Returns:**
+ - an URL that you can use to execute a query for a specific
+ Content. The passed action is used to build an initial url. All
+ search specific attributes are appended.
+
+
+
+---
+
+### urlForFolder(URL, String)
+- static urlForFolder(url: [URL](dw.web.URL.md), fid: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to execute a query for a specific
+ Folder.
+
+
+ **Parameters:**
+ - url - the URL to use in constructing the new URL.
+ - fid - the id of the Folder to use.
+
+ **Returns:**
+ - an URL that you can use to execute a query for a specific
+ Folder.
+
+
+
+---
+
+### urlForFolder(String, String)
+- static urlForFolder(action: [String](TopLevel.String.md), fid: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to execute a query for a specific
+ Folder.
+
+
+ **Parameters:**
+ - action - the pipeline action to use.
+ - fid - the id of the Folder to use.
+
+ **Returns:**
+ - an URL that you can use to execute a query for a specific
+ Folder.
+
+
+
+---
+
+### urlForRefine(URL, String, String)
+- static urlForRefine(url: [URL](dw.web.URL.md), name: [String](TopLevel.String.md), value: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to execute a query for a specific
+ attribute name-value pair.
+
+
+ **Parameters:**
+ - url - the URL to use when constructing the new URL.
+ - name - the name of the attribute.
+ - value - the value for the attribute.
+
+ **Returns:**
+ - an URL that you can use to execute a query for a specific
+ attribute name-value pair.
+
+
+
+---
+
+### urlForRefine(String, String, String)
+- static urlForRefine(action: [String](TopLevel.String.md), name: [String](TopLevel.String.md), value: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to execute a query for a specific
+ attribute name-value pair.
+
+
+ **Parameters:**
+ - action - the pipeline action to use.
+ - name - the name of the attribute.
+ - value - the value for the attribute.
+
+ **Returns:**
+ - an URL that you can use to execute a query for a specific
+ attribute name-value pair.
+
+
+
+---
+
+### urlRefineFolder(URL, String)
+- urlRefineFolder(url: [URL](dw.web.URL.md), refineFolderID: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to re-execute the query using the
+ specified URL and folder refinement.
+
+
+ **Parameters:**
+ - url - the existing URL to use when constructing the new URL.
+ - refineFolderID - the ID of the folder refinement to use.
+
+ **Returns:**
+ - an URL that you can use to re-execute the query using the
+ specified URL and folder refinement.
+
+
+
+---
+
+### urlRefineFolder(String, String)
+- urlRefineFolder(action: [String](TopLevel.String.md), refineFolderID: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to re-execute the query using the
+ specified pipeline action and folder refinement.
+
+
+ **Parameters:**
+ - action - the action to use.
+ - refineFolderID - the folder ID to use as a refinement.
+
+ **Returns:**
+ - an URL that you can use to re-execute the exact same query using
+ the specified pipeline action and folder refinement.
+
+
+
+---
+
+### urlRelaxFolder(URL)
+- urlRelaxFolder(url: [URL](dw.web.URL.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to re-execute the query with no folder
+ refinement.
+
+
+ **Parameters:**
+ - url - the existing URL to use when constructing the new URL.
+
+ **Returns:**
+ - an URL that you can use to re-execute the query with no folder
+ refinement.
+
+
+
+---
+
+### urlRelaxFolder(String)
+- urlRelaxFolder(action: [String](TopLevel.String.md)): [URL](dw.web.URL.md)
+ - : Returns an URL that you can use to re-execute the query with no folder
+ refinement.
+
+
+ **Parameters:**
+ - action - the pipeline action to use in the URL.
+
+ **Returns:**
+ - an URL that you can use to re-execute the query with no folder
+ refinement.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchRefinementDefinition.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchRefinementDefinition.md
new file mode 100644
index 00000000..7d0804c0
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchRefinementDefinition.md
@@ -0,0 +1,61 @@
+
+# Class ContentSearchRefinementDefinition
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.catalog.SearchRefinementDefinition](dw.catalog.SearchRefinementDefinition.md)
+ - [dw.content.ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md)
+
+This class provides an interface to refinement options for content search.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [folderRefinement](#folderrefinement): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this is a folder refinement. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [isFolderRefinement](dw.content.ContentSearchRefinementDefinition.md#isfolderrefinement)() | Identifies if this is a folder refinement. |
+
+### Methods inherited from class SearchRefinementDefinition
+
+[getAttributeID](dw.catalog.SearchRefinementDefinition.md#getattributeid), [getCutoffThreshold](dw.catalog.SearchRefinementDefinition.md#getcutoffthreshold), [getDisplayName](dw.catalog.SearchRefinementDefinition.md#getdisplayname), [getValueTypeCode](dw.catalog.SearchRefinementDefinition.md#getvaluetypecode), [isAttributeRefinement](dw.catalog.SearchRefinementDefinition.md#isattributerefinement)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### folderRefinement
+- folderRefinement: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this is a folder refinement.
+
+
+---
+
+## Method Details
+
+### isFolderRefinement()
+- isFolderRefinement(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this is a folder refinement.
+
+ **Returns:**
+ - true if this is a category refinement, false otherwise.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchRefinementValue.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchRefinementValue.md
new file mode 100644
index 00000000..7b72cc22
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchRefinementValue.md
@@ -0,0 +1,22 @@
+
+# Class ContentSearchRefinementValue
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.SearchRefinementValue](dw.catalog.SearchRefinementValue.md)
+ - [dw.content.ContentSearchRefinementValue](dw.content.ContentSearchRefinementValue.md)
+
+Represents the value of a content search refinement.
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class SearchRefinementValue
+
+[getDescription](dw.catalog.SearchRefinementValue.md#getdescription), [getDisplayValue](dw.catalog.SearchRefinementValue.md#getdisplayvalue), [getHitCount](dw.catalog.SearchRefinementValue.md#gethitcount), [getID](dw.catalog.SearchRefinementValue.md#getid), [getPresentationID](dw.catalog.SearchRefinementValue.md#getpresentationid), [getValue](dw.catalog.SearchRefinementValue.md#getvalue)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchRefinements.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchRefinements.md
new file mode 100644
index 00000000..20d878c3
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.ContentSearchRefinements.md
@@ -0,0 +1,218 @@
+
+# Class ContentSearchRefinements
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.catalog.SearchRefinements](dw.catalog.SearchRefinements.md)
+ - [dw.content.ContentSearchRefinements](dw.content.ContentSearchRefinements.md)
+
+This class provides an interface to refinement options for the content asset
+search. In a typical usage, the client application UI displays the search
+refinements along with the search results and allows customers to "refine"
+the results (i.e. limit the results that are shown) by specifying additional
+criteria, or "relax" (i.e. broaden) the results after previously refining.
+The two types of content search refinements are:
+
+
+- **Refine By Folder:**Limit the content assets to those assigned to specific child/ancestor folder of the search folder.
+- **Refine By Attribute:**Limit the content assets to those with specific values for a given attribute. Values may be grouped into "buckets" so that a given set of values are represented as a single refinement option.
+
+
+Rendering a content search refinement UI typically begins with iterating the
+refinement definitions for the search result. Call
+[SearchRefinements.getRefinementDefinitions()](dw.catalog.SearchRefinements.md#getrefinementdefinitions) or
+[SearchRefinements.getAllRefinementDefinitions()](dw.catalog.SearchRefinements.md#getallrefinementdefinitions) to
+retrieve the appropriate collection of refinement definitions. For each
+definition, display the available refinement values by calling
+[getAllRefinementValues(ContentSearchRefinementDefinition)](dw.content.ContentSearchRefinements.md#getallrefinementvaluescontentsearchrefinementdefinition). Depending
+on the type of the refinement definition, the application must use slightly
+different logic to display the refinement widgets. For all 2 types, methods
+in [ContentSearchModel](dw.content.ContentSearchModel.md) are used to generate URLs to render
+hyperlinks in the UI. When clicked, these links trigger a call to the Search
+pipelet which in turn applies the appropriate filters to the native search
+result.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [folderRefinementDefinition](#folderrefinementdefinition): [ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md) `(read-only)` | Returns the appropriate folder refinement definition based on the search result. |
+| [matchingFolders](#matchingfolders): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of matching folders. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAllRefinementValues](dw.content.ContentSearchRefinements.md#getallrefinementvaluescontentsearchrefinementdefinition)([ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md)) | Returns a sorted collection of refinement values for the given refinement definition. |
+| [getFolderHits](dw.content.ContentSearchRefinements.md#getfolderhitsfolder)([Folder](dw.content.Folder.md)) | Returns the number of search hits for the passed folder object. |
+| [getFolderRefinementDefinition](dw.content.ContentSearchRefinements.md#getfolderrefinementdefinition)() | Returns the appropriate folder refinement definition based on the search result. |
+| [getMatchingFolders](dw.content.ContentSearchRefinements.md#getmatchingfolders)() | Returns a collection of matching folders. |
+| [getNextLevelFolderRefinementValues](dw.content.ContentSearchRefinements.md#getnextlevelfolderrefinementvaluesfolder)([Folder](dw.content.Folder.md)) | Returns folder refinement values based on the current search result filtered such that only folder refinements representing children of the given folder are present. |
+| [getRefinementValue](dw.content.ContentSearchRefinements.md#getrefinementvaluecontentsearchrefinementdefinition-string)([ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md), [String](TopLevel.String.md)) | Returns the refinement value (incl. |
+| [getRefinementValue](dw.content.ContentSearchRefinements.md#getrefinementvaluestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns the refinement value (incl. |
+| [getRefinementValues](dw.content.ContentSearchRefinements.md#getrefinementvaluescontentsearchrefinementdefinition)([ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md)) | Returns a collection of refinement values for the given refinement definition. |
+
+### Methods inherited from class SearchRefinements
+
+[getAllRefinementDefinitions](dw.catalog.SearchRefinements.md#getallrefinementdefinitions), [getAllRefinementValues](dw.catalog.SearchRefinements.md#getallrefinementvaluesstring), [getAllRefinementValues](dw.catalog.SearchRefinements.md#getallrefinementvaluesstring-number-number), [getRefinementDefinitions](dw.catalog.SearchRefinements.md#getrefinementdefinitions), [getRefinementValues](dw.catalog.SearchRefinements.md#getrefinementvaluesstring-number-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### folderRefinementDefinition
+- folderRefinementDefinition: [ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md) `(read-only)`
+ - : Returns the appropriate folder refinement definition based on the search
+ result. The folder refinement definition returned will be the first that
+ can be found traversing the folder tree upward starting at the deepest
+ common folder of the search result.
+
+
+
+---
+
+### matchingFolders
+- matchingFolders: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of matching folders.
+
+
+---
+
+## Method Details
+
+### getAllRefinementValues(ContentSearchRefinementDefinition)
+- getAllRefinementValues(definition: [ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md)): [Collection](dw.util.Collection.md)
+ - : Returns a sorted collection of refinement values for the given refinement
+ definition. The returned collection includes all refinement values for
+ which the hit count is greater than 0 within the search result when the
+ passed refinement definitions is excluded from filtering the search hits
+ but all other refinement filters are still applied. This is useful for
+ rendering broadening options for the refinement definitions that the
+ search is already refined by. It is important to note that this method
+ does NOT return refinement values independent of the search result.
+
+
+ **Parameters:**
+ - definition - The refinement definition to return refinement values for.
+
+ **Returns:**
+ - The collection of ContentSearchRefinementValue instances sorted
+ according to the settings of the definition.
+
+
+
+---
+
+### getFolderHits(Folder)
+- getFolderHits(folder: [Folder](dw.content.Folder.md)): [Number](TopLevel.Number.md)
+ - : Returns the number of search hits for the passed folder object.
+
+ **Parameters:**
+ - folder - Folder object.
+
+ **Returns:**
+ - Number of search hits.
+
+
+---
+
+### getFolderRefinementDefinition()
+- getFolderRefinementDefinition(): [ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md)
+ - : Returns the appropriate folder refinement definition based on the search
+ result. The folder refinement definition returned will be the first that
+ can be found traversing the folder tree upward starting at the deepest
+ common folder of the search result.
+
+
+ **Returns:**
+ - The folder refinement definition or `null` if none can
+ be found.
+
+
+
+---
+
+### getMatchingFolders()
+- getMatchingFolders(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of matching folders.
+
+ **Returns:**
+ - Collection of matching folders.
+
+
+---
+
+### getNextLevelFolderRefinementValues(Folder)
+- getNextLevelFolderRefinementValues(folder: [Folder](dw.content.Folder.md)): [Collection](dw.util.Collection.md)
+ - : Returns folder refinement values based on the current search result
+ filtered such that only folder refinements representing children of the
+ given folder are present. If no folder is given, the method uses the
+ library's root folder. The refinement value content counts represent all
+ hits contained in the library tree starting at the corresponding child
+ folder.
+
+
+ **Parameters:**
+ - folder - The folder to return child folder refinement values for.
+
+ **Returns:**
+ - The refinement values for all child folders of the given folder.
+
+
+---
+
+### getRefinementValue(ContentSearchRefinementDefinition, String)
+- getRefinementValue(definition: [ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md), value: [String](TopLevel.String.md)): [ContentSearchRefinementValue](dw.content.ContentSearchRefinementValue.md)
+ - : Returns the refinement value (incl. content hit count) for the given
+ refinement definition and the given (selected) value.
+
+
+ **Parameters:**
+ - definition - The definition to return the refinement for.
+ - value - The value to return the refinement value for.
+
+ **Returns:**
+ - The refinement value.
+
+
+---
+
+### getRefinementValue(String, String)
+- getRefinementValue(name: [String](TopLevel.String.md), value: [String](TopLevel.String.md)): [ContentSearchRefinementValue](dw.content.ContentSearchRefinementValue.md)
+ - : Returns the refinement value (incl. content hit count) for the given
+ attribute refinement and the given (selected) value.
+
+
+ **Parameters:**
+ - name - The name of the refinement attribute.
+ - value - The value to return the refinement value for.
+
+ **Returns:**
+ - The refinement value.
+
+
+---
+
+### getRefinementValues(ContentSearchRefinementDefinition)
+- getRefinementValues(definition: [ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md)): [Collection](dw.util.Collection.md)
+ - : Returns a collection of refinement values for the given refinement
+ definition. The returned refinement values only include those that are
+ part of the actual search result (i.e. hit count will always be > 0).
+
+
+ **Parameters:**
+ - definition - The refinement definition to return refinement values for.
+
+ **Returns:**
+ - The collection of refinement values sorted according to the
+ settings of the definition.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.Folder.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.Folder.md
new file mode 100644
index 00000000..e0ea503c
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.Folder.md
@@ -0,0 +1,432 @@
+
+# Class Folder
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.content.Folder](dw.content.Folder.md)
+
+Class representing a folder for organizing content assets in Commerce Cloud Digital.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the folder. |
+| [content](#content): [Collection](dw.util.Collection.md) `(read-only)` | Returns the content objects for this folder, sorted by position. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the description for the folder as known in the current locale or null if it cannot be found. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the display name for the folder as known in the current locale or null if it cannot be found. |
+| [online](#online): [Boolean](TopLevel.Boolean.md) `(read-only)` | Indicates if the folder is set online or offline. |
+| [onlineContent](#onlinecontent): [Collection](dw.util.Collection.md) `(read-only)` | Returns the online content objects for this folder, sorted by position. |
+| [onlineSubFolders](#onlinesubfolders): [Collection](dw.util.Collection.md) `(read-only)` | Returns the online subfolders of this folder, sorted by position. |
+| [pageDescription](#pagedescription): [String](TopLevel.String.md) `(read-only)` | Returns the page description for this folder using the value in the current locale, or returns null if no value was found. |
+| [pageKeywords](#pagekeywords): [String](TopLevel.String.md) `(read-only)` | Returns the page keywords for this folder using the value in the current locale, or returns null if no value was found. |
+| [pageTitle](#pagetitle): [String](TopLevel.String.md) `(read-only)` | Returns the page title for this folder using the value in the current locale, or returns null if no value was found. |
+| [pageURL](#pageurl): [String](TopLevel.String.md) `(read-only)` | Returns the page URL for this folder using the value in the current locale, or returns null if no value was found. |
+| [parent](#parent): [Folder](dw.content.Folder.md) `(read-only)` | Returns the parent folder of this folder. |
+| [root](#root): [Boolean](TopLevel.Boolean.md) `(read-only)` | Indicates if this is the root folder. |
+| [siteMapChangeFrequency](#sitemapchangefrequency): [String](TopLevel.String.md) `(read-only)` | Returns the folder's sitemap change frequency. |
+| [siteMapIncluded](#sitemapincluded): [Number](TopLevel.Number.md) `(read-only)` | Returns the folder's sitemap inclusion. |
+| [siteMapPriority](#sitemappriority): [Number](TopLevel.Number.md) `(read-only)` | Returns the folder's sitemap priority. |
+| [subFolders](#subfolders): [Collection](dw.util.Collection.md) `(read-only)` | Returns the subfolders of this folder, sorted by position. |
+| [template](#template): [String](TopLevel.String.md) `(read-only)` | Returns the name of the template used to render the folder in the store front. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getContent](dw.content.Folder.md#getcontent)() | Returns the content objects for this folder, sorted by position. |
+| [getDescription](dw.content.Folder.md#getdescription)() | Returns the description for the folder as known in the current locale or null if it cannot be found. |
+| [getDisplayName](dw.content.Folder.md#getdisplayname)() | Returns the display name for the folder as known in the current locale or null if it cannot be found. |
+| [getID](dw.content.Folder.md#getid)() | Returns the ID of the folder. |
+| [getOnlineContent](dw.content.Folder.md#getonlinecontent)() | Returns the online content objects for this folder, sorted by position. |
+| [getOnlineSubFolders](dw.content.Folder.md#getonlinesubfolders)() | Returns the online subfolders of this folder, sorted by position. |
+| [getPageDescription](dw.content.Folder.md#getpagedescription)() | Returns the page description for this folder using the value in the current locale, or returns null if no value was found. |
+| [getPageKeywords](dw.content.Folder.md#getpagekeywords)() | Returns the page keywords for this folder using the value in the current locale, or returns null if no value was found. |
+| [getPageTitle](dw.content.Folder.md#getpagetitle)() | Returns the page title for this folder using the value in the current locale, or returns null if no value was found. |
+| [getPageURL](dw.content.Folder.md#getpageurl)() | Returns the page URL for this folder using the value in the current locale, or returns null if no value was found. |
+| [getParent](dw.content.Folder.md#getparent)() | Returns the parent folder of this folder. |
+| [getSiteMapChangeFrequency](dw.content.Folder.md#getsitemapchangefrequency)() | Returns the folder's sitemap change frequency. |
+| [getSiteMapIncluded](dw.content.Folder.md#getsitemapincluded)() | Returns the folder's sitemap inclusion. |
+| [getSiteMapPriority](dw.content.Folder.md#getsitemappriority)() | Returns the folder's sitemap priority. |
+| [getSubFolders](dw.content.Folder.md#getsubfolders)() | Returns the subfolders of this folder, sorted by position. |
+| [getTemplate](dw.content.Folder.md#gettemplate)() | Returns the name of the template used to render the folder in the store front. |
+| [isOnline](dw.content.Folder.md#isonline)() | Indicates if the folder is set online or offline. |
+| [isRoot](dw.content.Folder.md#isroot)() | Indicates if this is the root folder. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the folder. The ID can be used to uniquely
+ identify a folder within any given library. This folder ID provides
+ an alternative lookup mechanism for folders frequently used in
+ the storefront.
+
+
+
+---
+
+### content
+- content: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the content objects for this folder, sorted by position.
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the description for the folder as known in the current
+ locale or null if it cannot be found.
+
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name for the folder as known in the current
+ locale or null if it cannot be found.
+
+
+
+---
+
+### online
+- online: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Indicates if the folder is set online or
+ offline. Initially, all folders are set online.
+
+
+
+---
+
+### onlineContent
+- onlineContent: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the online content objects for this folder, sorted by position.
+
+
+---
+
+### onlineSubFolders
+- onlineSubFolders: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the online subfolders of this folder, sorted by position.
+
+
+---
+
+### pageDescription
+- pageDescription: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page description for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+
+---
+
+### pageKeywords
+- pageKeywords: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page keywords for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+
+---
+
+### pageTitle
+- pageTitle: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page title for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+
+---
+
+### pageURL
+- pageURL: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the page URL for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+
+---
+
+### parent
+- parent: [Folder](dw.content.Folder.md) `(read-only)`
+ - : Returns the parent folder of this folder.
+
+
+---
+
+### root
+- root: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Indicates if this is the root folder.
+
+
+---
+
+### siteMapChangeFrequency
+- siteMapChangeFrequency: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the folder's sitemap change frequency.
+
+
+---
+
+### siteMapIncluded
+- siteMapIncluded: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the folder's sitemap inclusion.
+
+
+---
+
+### siteMapPriority
+- siteMapPriority: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the folder's sitemap priority.
+
+
+---
+
+### subFolders
+- subFolders: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the subfolders of this folder, sorted by position.
+
+
+---
+
+### template
+- template: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the template used to render the folder
+ in the store front.
+
+
+
+---
+
+## Method Details
+
+### getContent()
+- getContent(): [Collection](dw.util.Collection.md)
+ - : Returns the content objects for this folder, sorted by position.
+
+ **Returns:**
+ - the content objects for this folder, sorted by position.
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the description for the folder as known in the current
+ locale or null if it cannot be found.
+
+
+ **Returns:**
+ - the description for the folder as known in the current
+ locale or null if it cannot be found.
+
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name for the folder as known in the current
+ locale or null if it cannot be found.
+
+
+ **Returns:**
+ - the display name for the folder as known in the current
+ locale or null if it cannot be found.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the folder. The ID can be used to uniquely
+ identify a folder within any given library. This folder ID provides
+ an alternative lookup mechanism for folders frequently used in
+ the storefront.
+
+
+ **Returns:**
+ - the ID of the folder.
+
+
+---
+
+### getOnlineContent()
+- getOnlineContent(): [Collection](dw.util.Collection.md)
+ - : Returns the online content objects for this folder, sorted by position.
+
+ **Returns:**
+ - the online content objects for this folder, sorted by position.
+
+
+---
+
+### getOnlineSubFolders()
+- getOnlineSubFolders(): [Collection](dw.util.Collection.md)
+ - : Returns the online subfolders of this folder, sorted by position.
+
+ **Returns:**
+ - the online subfolders of this folder, sorted by position.
+
+
+---
+
+### getPageDescription()
+- getPageDescription(): [String](TopLevel.String.md)
+ - : Returns the page description for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+ **Returns:**
+ - the page description for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+
+---
+
+### getPageKeywords()
+- getPageKeywords(): [String](TopLevel.String.md)
+ - : Returns the page keywords for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+ **Returns:**
+ - the page keywords for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+
+---
+
+### getPageTitle()
+- getPageTitle(): [String](TopLevel.String.md)
+ - : Returns the page title for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+ **Returns:**
+ - the page title for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+
+---
+
+### getPageURL()
+- getPageURL(): [String](TopLevel.String.md)
+ - : Returns the page URL for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+ **Returns:**
+ - the page URL for this folder using the value in
+ the current locale, or returns null if no value was found.
+
+
+
+---
+
+### getParent()
+- getParent(): [Folder](dw.content.Folder.md)
+ - : Returns the parent folder of this folder.
+
+ **Returns:**
+ - the parent folder of this folder.
+
+
+---
+
+### getSiteMapChangeFrequency()
+- getSiteMapChangeFrequency(): [String](TopLevel.String.md)
+ - : Returns the folder's sitemap change frequency.
+
+ **Returns:**
+ - the value of the attribute 'siteMapChangeFrequency'.
+
+
+---
+
+### getSiteMapIncluded()
+- getSiteMapIncluded(): [Number](TopLevel.Number.md)
+ - : Returns the folder's sitemap inclusion.
+
+ **Returns:**
+ - the value of the attribute 'siteMapIncluded'.
+
+
+---
+
+### getSiteMapPriority()
+- getSiteMapPriority(): [Number](TopLevel.Number.md)
+ - : Returns the folder's sitemap priority.
+
+ **Returns:**
+ - the value of the attribute 'siteMapPriority'.
+
+
+---
+
+### getSubFolders()
+- getSubFolders(): [Collection](dw.util.Collection.md)
+ - : Returns the subfolders of this folder, sorted by position.
+
+ **Returns:**
+ - the subfolders of this folder, sorted by position.
+
+
+---
+
+### getTemplate()
+- getTemplate(): [String](TopLevel.String.md)
+ - : Returns the name of the template used to render the folder
+ in the store front.
+
+
+ **Returns:**
+ - the name of the template used to render the folder.
+
+
+---
+
+### isOnline()
+- isOnline(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if the folder is set online or
+ offline. Initially, all folders are set online.
+
+
+ **Returns:**
+ - true if the folder is online, false otherwise.
+
+
+---
+
+### isRoot()
+- isRoot(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if this is the root folder.
+
+ **Returns:**
+ - true if this is the root folder, false otherwise.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.Library.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.Library.md
new file mode 100644
index 00000000..9f4df67c
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.Library.md
@@ -0,0 +1,124 @@
+
+# Class Library
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.content.Library](dw.content.Library.md)
+
+Class representing a collection of [Content](dw.content.Content.md) assets, and a
+[Folder](dw.content.Folder.md) hierarchy organizing these content assets.
+Currently only one library is allowed per site. An instance of this library
+can be obtained by calling [ContentMgr.getSiteLibrary()](dw.content.ContentMgr.md#getsitelibrary).
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [CMSChannelID](#cmschannelid): [String](TopLevel.String.md) `(read-only)` | Returns the CMS channel of the library. |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of this library. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the display name for the library as known in the current locale or null if it cannot be found. |
+| [root](#root): [Folder](dw.content.Folder.md) `(read-only)` | Returns the root folder for this library. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCMSChannelID](dw.content.Library.md#getcmschannelid)() | Returns the CMS channel of the library. |
+| [getDisplayName](dw.content.Library.md#getdisplayname)() | Returns the display name for the library as known in the current locale or null if it cannot be found. |
+| [getID](dw.content.Library.md#getid)() | Returns the ID of this library. |
+| [getRoot](dw.content.Library.md#getroot)() | Returns the root folder for this library. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### CMSChannelID
+- CMSChannelID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the CMS channel of the library.
+
+
+---
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of this library.
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name for the library as known in the current
+ locale or null if it cannot be found.
+
+
+
+---
+
+### root
+- root: [Folder](dw.content.Folder.md) `(read-only)`
+ - : Returns the root folder for this library.
+
+
+---
+
+## Method Details
+
+### getCMSChannelID()
+- getCMSChannelID(): [String](TopLevel.String.md)
+ - : Returns the CMS channel of the library.
+
+ **Returns:**
+ - the CMS channel of the library
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name for the library as known in the current
+ locale or null if it cannot be found.
+
+
+ **Returns:**
+ - the display name for the library as known in the current
+ locale or null if it cannot be found.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of this library.
+
+ **Returns:**
+ - the ID of this library.
+
+
+---
+
+### getRoot()
+- getRoot(): [Folder](dw.content.Folder.md)
+ - : Returns the root folder for this library.
+
+ **Returns:**
+ - the root Folder for this library.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.MarkupText.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.MarkupText.md
new file mode 100644
index 00000000..1fc3cab8
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.MarkupText.md
@@ -0,0 +1,150 @@
+
+# Class MarkupText
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.content.MarkupText](dw.content.MarkupText.md)
+
+The class represents a content snippet with markup. This is typically a
+HTML content snippet. The class also processes the special links from
+Commerce Cloud Digital content management and automatically rewrites them into
+links for use in the storefront.
+
+
+The following special links can be used inside of a MarkupText:
+
+
+
+- `**$url(' This class allows access to signature services offered through the Java Cryptography Architecture (JCA). |
+| [WeakCipher](dw.crypto.WeakCipher.md) | This API provides access to Deprecated algorithms. |
+| [WeakMac](dw.crypto.WeakMac.md) | This API provides access to Deprecated algorithms. |
+| [WeakMessageDigest](dw.crypto.WeakMessageDigest.md) | This API provides access to Deprecated algorithms. |
+| [WeakSignature](dw.crypto.WeakSignature.md) | This API provides access to Deprecated algorithms. |
+| [X509Certificate](dw.crypto.X509Certificate.md) | Represents an X.509 public key certificate as defined in RFC 5280. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.AddressBook.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.AddressBook.md
new file mode 100644
index 00000000..33e2c6d5
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.AddressBook.md
@@ -0,0 +1,158 @@
+
+# Class AddressBook
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.AddressBook](dw.customer.AddressBook.md)
+
+Represents a set of addresses associated with a specific customer.
+The AddressBook object gets its data from the Profile object for the customer.
+When scripting, this class allows AddressBook to be treated as a separate object
+from the Profile. However, data is only stored in the platform in the Profile object
+and there is no separate AddressBook object. For this reason, the AddressBook ID is
+always the customer profile ID.
+
+
+**Note:** this class allows access to sensitive personal and private information.
+Pay attention to appropriate legal and regulatory requirements when developing.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [addresses](#addresses): [List](dw.util.List.md) `(read-only)` | Returns a sorted list of addresses in the address book. |
+| [preferredAddress](#preferredaddress): [CustomerAddress](dw.customer.CustomerAddress.md) | Returns the address that has been defined as the customer's preferred address. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createAddress](dw.customer.AddressBook.md#createaddressstring)([String](TopLevel.String.md)) | Creates a new, empty address object with the specified name. |
+| [getAddress](dw.customer.AddressBook.md#getaddressstring)([String](TopLevel.String.md)) | Returns the address with the given name from the address book. |
+| [getAddresses](dw.customer.AddressBook.md#getaddresses)() | Returns a sorted list of addresses in the address book. |
+| [getPreferredAddress](dw.customer.AddressBook.md#getpreferredaddress)() | Returns the address that has been defined as the customer's preferred address. |
+| [removeAddress](dw.customer.AddressBook.md#removeaddresscustomeraddress)([CustomerAddress](dw.customer.CustomerAddress.md)) | Removes the specified address from the address book. |
+| [setPreferredAddress](dw.customer.AddressBook.md#setpreferredaddresscustomeraddress)([CustomerAddress](dw.customer.CustomerAddress.md)) | Sets the specified address as the customer's preferred address. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### addresses
+- addresses: [List](dw.util.List.md) `(read-only)`
+ - : Returns a sorted list of addresses in the address book. The addresses
+ are sorted so that the preferred address is always sorted first. The
+ remaining addresses are sorted alphabetically by ID.
+
+
+
+---
+
+### preferredAddress
+- preferredAddress: [CustomerAddress](dw.customer.CustomerAddress.md)
+ - : Returns the address that has been defined as the customer's preferred
+ address.
+
+
+
+---
+
+## Method Details
+
+### createAddress(String)
+- createAddress(name: [String](TopLevel.String.md)): [CustomerAddress](dw.customer.CustomerAddress.md)
+ - : Creates a new, empty address object with the specified name.
+
+ **Parameters:**
+ - name - the ID of the address to create, must not be null.
+
+ **Returns:**
+ - the new address object or null if an address with the given name
+ already exists in the address book.
+
+
+ **Throws:**
+ - NullArgumentException - If passed 'name' is null.
+ - IllegalArgumentException - If passed 'name' is not null, but an empty string.
+
+
+---
+
+### getAddress(String)
+- getAddress(id: [String](TopLevel.String.md)): [CustomerAddress](dw.customer.CustomerAddress.md)
+ - : Returns the address with the given name from the address book. The name
+ is a unique identifier of the address within the address book.
+
+
+ **Parameters:**
+ - id - An address ID, must not be null.
+
+ **Returns:**
+ - The Address object or null if the address does not exist.
+
+ **Throws:**
+ - NullArgumentException - If passed 'id' is null.
+ - IllegalArgumentException - If passed 'id' is not null, but an empty string.
+
+
+---
+
+### getAddresses()
+- getAddresses(): [List](dw.util.List.md)
+ - : Returns a sorted list of addresses in the address book. The addresses
+ are sorted so that the preferred address is always sorted first. The
+ remaining addresses are sorted alphabetically by ID.
+
+
+ **Returns:**
+ - Sorted List of customer addresses in the address book.
+
+
+---
+
+### getPreferredAddress()
+- getPreferredAddress(): [CustomerAddress](dw.customer.CustomerAddress.md)
+ - : Returns the address that has been defined as the customer's preferred
+ address.
+
+
+ **Returns:**
+ - the default CustomerAddress object, or null if there is no
+ preferred address.
+
+
+
+---
+
+### removeAddress(CustomerAddress)
+- removeAddress(address: [CustomerAddress](dw.customer.CustomerAddress.md)): void
+ - : Removes the specified address from the address book. Because an address
+ can be associated with a product list, you may want to verify if the
+ address is being used by a product list. See ProductListMgr.findAddress().
+
+
+ **Parameters:**
+ - address - the address to remove, must not be null.
+
+
+---
+
+### setPreferredAddress(CustomerAddress)
+- setPreferredAddress(anAddress: [CustomerAddress](dw.customer.CustomerAddress.md)): void
+ - : Sets the specified address as the customer's preferred address. If null
+ is passed, and there is an existing preferred address, then the address
+ book will have no preferred address.
+
+
+ **Parameters:**
+ - anAddress - the address to be set as preferred, or null if the goal is to unset the existing preferred address.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.AgentUserMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.AgentUserMgr.md
new file mode 100644
index 00000000..75533063
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.AgentUserMgr.md
@@ -0,0 +1,94 @@
+
+# Class AgentUserMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.AgentUserMgr](dw.customer.AgentUserMgr.md)
+
+Provides helper methods for handling agent user functionality (login and logout)
+Pay attention to appropriate legal and regulatory requirements related to this functionality.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [loginAgentUser](dw.customer.AgentUserMgr.md#loginagentuserstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Logs in an agent user (which for example is authorized to login on-behalf of a customer for instance to place an order). |
+| static [loginOnBehalfOfCustomer](dw.customer.AgentUserMgr.md#loginonbehalfofcustomercustomer)([Customer](dw.customer.Customer.md)) | This method logs the specified customer into the current session if the current agent user has the functional permission 'Login\_On\_Behalf' in the current site. |
+| static [logoutAgentUser](dw.customer.AgentUserMgr.md#logoutagentuser)() | Performs a logout of the agent user and the current customer which are attached to the current session. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### loginAgentUser(String, String)
+- static loginAgentUser(login: [String](TopLevel.String.md), password: [String](TopLevel.String.md)): [Status](dw.system.Status.md)
+ - : Logs in an agent user (which for example is authorized to login on-behalf of a customer for
+ instance to place an order). The login is only allowed during a secure protocol
+ request (https) and only in the storefront context. The user must have the permission 'Login\_Agent'.
+
+ When the login is successful, a new session will be created. Any objects that need
+ to be preserved in the session need to bet set on the session afterwards.
+
+ A Status object is returned which signals whether the login was successful or not.
+ In case of a login failure the status object contains the reason for this.
+ See [AgentUserStatusCodes](dw.customer.AgentUserStatusCodes.md) for more information.
+
+
+ **Parameters:**
+ - login - the login name for the agent user.
+ - password - the password for the agent user.
+
+ **Returns:**
+ - the login status (OK if successful, error code otherwise).
+
+
+---
+
+### loginOnBehalfOfCustomer(Customer)
+- static loginOnBehalfOfCustomer(customer: [Customer](dw.customer.Customer.md)): [Status](dw.system.Status.md)
+ - : This method logs the specified customer into the current session if the
+ current agent user has the functional permission 'Login\_On\_Behalf' in the
+ current site.
+
+ The dwcustomer cookie will not be set.
+ The login is only allowed during a secure protocol request (https).
+ A Status object is returned indicating whether the login was successful or not (and indicating the
+ failure reason). See [AgentUserStatusCodes](dw.customer.AgentUserStatusCodes.md) for more information.
+ Error conditions include:
+
+ - if the method is not called in the storefront context
+ - if the given customer is not a registered customer (anonymous)
+ - if the given customer is not registered for the current site
+ - if the given customer is disabled
+ - if there is no agent user at the current session
+ - if the agent user is not logged in
+ - if the agent user has not the functional permission 'Login\_On\_Behalf'
+
+
+ **Parameters:**
+ - customer - The customer, which should be logged instead of the agent user
+
+ **Returns:**
+ - the login status (OK if successful, error code otherwise).
+
+
+---
+
+### logoutAgentUser()
+- static logoutAgentUser(): [Status](dw.system.Status.md)
+ - : Performs a logout of the agent user and the current customer which are attached to the current session.
+ The logout is only allowed during a secure protocol request (https) and only in the storefront context.
+
+
+ **Returns:**
+ - the logout status (OK if successful, error code otherwise).
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.AgentUserStatusCodes.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.AgentUserStatusCodes.md
new file mode 100644
index 00000000..cdd77f3c
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.AgentUserStatusCodes.md
@@ -0,0 +1,164 @@
+
+# Class AgentUserStatusCodes
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.AgentUserStatusCodes](dw.customer.AgentUserStatusCodes.md)
+
+AgentUserStatusCodes contains constants representing status codes that can be
+used with a [Status](dw.system.Status.md) object to indicate the success or failure of the agent
+user login process.
+
+
+**See Also:**
+- [Status](dw.system.Status.md)
+
+
+## All Known Subclasses
+[AgentUserStatusCodes](dw.system.AgentUserStatusCodes.md)
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [AGENT_USER_NOT_AVAILABLE](#agent_user_not_available): [String](TopLevel.String.md) = "AGENT_USER_NOT_AVAILABLE" | Indicates that the agent user is not available. |
+| [AGENT_USER_NOT_LOGGED_IN](#agent_user_not_logged_in): [String](TopLevel.String.md) = "AGENT_USER_NOT_LOGGED_IN" | Indicates that the agent user is not logged in. |
+| [CREDENTIALS_INVALID](#credentials_invalid): [String](TopLevel.String.md) = "CREDENTIALS_INVALID" | Indicates that the given agent user login or password was wrong. |
+| [CUSTOMER_DISABLED](#customer_disabled): [String](TopLevel.String.md) = "CUSTOMER_DISABLED" | Indicates that the customer is disabled. |
+| [CUSTOMER_UNREGISTERED](#customer_unregistered): [String](TopLevel.String.md) = "CUSTOMER_UNREGISTERED" | Indicates that the customer is either not registered or not registered with the current site. |
+| [INSECURE_CONNECTION](#insecure_connection): [String](TopLevel.String.md) = "INSECURE_CONNECTION" | Indicates that the current connection is not secure (HTTP instead of HTTPS) and the server is configured to require a secure connection. |
+| [INSUFFICIENT_PERMISSION](#insufficient_permission): [String](TopLevel.String.md) = "INSUFFICIENT_PERMISSION" | Indicates that the given agent user does not have the permission 'Login\_Agent' which is required to login to the storefront as an agent user. |
+| [LOGIN_SUCCESSFUL](#login_successful): [String](TopLevel.String.md) = "LOGIN_SUCCESSFUL" | Indicates that the agent user login was successful. |
+| [NO_STOREFRONT](#no_storefront): [String](TopLevel.String.md) = "NO_STOREFRONT" | Indicates that the current context is not a storefront request. |
+| [PASSWORD_EXPIRED](#password_expired): [String](TopLevel.String.md) = "PASSWORD_EXPIRED" | Indicates that the given agent user password has expired and needs to be changed in the Business Manager. |
+| [USER_DISABLED](#user_disabled): [String](TopLevel.String.md) = "USER_DISABLED" | Indicates that the agent user account has been disabled in the Business Manager. |
+| [USER_LOCKED](#user_locked): [String](TopLevel.String.md) = "USER_LOCKED" | Indicates that the agent user account is locked, because the maximum number of failed login attempts was exceeded. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [AgentUserStatusCodes](#agentuserstatuscodes)() | |
+
+## Method Summary
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### AGENT_USER_NOT_AVAILABLE
+
+- AGENT_USER_NOT_AVAILABLE: [String](TopLevel.String.md) = "AGENT_USER_NOT_AVAILABLE"
+ - : Indicates that the agent user is not available.
+
+
+---
+
+### AGENT_USER_NOT_LOGGED_IN
+
+- AGENT_USER_NOT_LOGGED_IN: [String](TopLevel.String.md) = "AGENT_USER_NOT_LOGGED_IN"
+ - : Indicates that the agent user is not logged in.
+
+
+---
+
+### CREDENTIALS_INVALID
+
+- CREDENTIALS_INVALID: [String](TopLevel.String.md) = "CREDENTIALS_INVALID"
+ - : Indicates that the given agent user login or password was wrong.
+
+
+---
+
+### CUSTOMER_DISABLED
+
+- CUSTOMER_DISABLED: [String](TopLevel.String.md) = "CUSTOMER_DISABLED"
+ - : Indicates that the customer is disabled.
+
+
+---
+
+### CUSTOMER_UNREGISTERED
+
+- CUSTOMER_UNREGISTERED: [String](TopLevel.String.md) = "CUSTOMER_UNREGISTERED"
+ - : Indicates that the customer is either not registered or not registered with the current site.
+
+
+---
+
+### INSECURE_CONNECTION
+
+- INSECURE_CONNECTION: [String](TopLevel.String.md) = "INSECURE_CONNECTION"
+ - : Indicates that the current connection is not secure (HTTP instead of HTTPS)
+ and the server is configured to require a secure connection.
+
+
+
+---
+
+### INSUFFICIENT_PERMISSION
+
+- INSUFFICIENT_PERMISSION: [String](TopLevel.String.md) = "INSUFFICIENT_PERMISSION"
+ - : Indicates that the given agent user does not have the permission
+ 'Login\_Agent' which is required to login to the storefront as an agent
+ user.
+
+
+
+---
+
+### LOGIN_SUCCESSFUL
+
+- LOGIN_SUCCESSFUL: [String](TopLevel.String.md) = "LOGIN_SUCCESSFUL"
+ - : Indicates that the agent user login was successful.
+
+
+---
+
+### NO_STOREFRONT
+
+- NO_STOREFRONT: [String](TopLevel.String.md) = "NO_STOREFRONT"
+ - : Indicates that the current context is not a storefront request.
+
+
+---
+
+### PASSWORD_EXPIRED
+
+- PASSWORD_EXPIRED: [String](TopLevel.String.md) = "PASSWORD_EXPIRED"
+ - : Indicates that the given agent user password has expired and needs to be
+ changed in the Business Manager.
+
+
+
+---
+
+### USER_DISABLED
+
+- USER_DISABLED: [String](TopLevel.String.md) = "USER_DISABLED"
+ - : Indicates that the agent user account has been disabled in the Business
+ Manager.
+
+
+
+---
+
+### USER_LOCKED
+
+- USER_LOCKED: [String](TopLevel.String.md) = "USER_LOCKED"
+ - : Indicates that the agent user account is locked, because the maximum
+ number of failed login attempts was exceeded.
+
+
+
+---
+
+## Constructor Details
+
+### AgentUserStatusCodes()
+- AgentUserStatusCodes()
+ - :
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.AuthenticationStatus.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.AuthenticationStatus.md
new file mode 100644
index 00000000..b3e8b90a
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.AuthenticationStatus.md
@@ -0,0 +1,157 @@
+
+# Class AuthenticationStatus
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.AuthenticationStatus](dw.customer.AuthenticationStatus.md)
+
+Holds the status of an authentication process.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [AUTH_OK](#auth_ok): [String](TopLevel.String.md) = "AUTH_OK" | Authentication was successful |
+| [ERROR_CUSTOMER_DISABLED](#error_customer_disabled): [String](TopLevel.String.md) = "ERROR_CUSTOMER_DISABLED" | customer could be found, but is disabled. |
+| [ERROR_CUSTOMER_LOCKED](#error_customer_locked): [String](TopLevel.String.md) = "ERROR_CUSTOMER_LOCKED" | customer could be found, but is locked (too many failed login attempts). |
+| [ERROR_CUSTOMER_NOT_FOUND](#error_customer_not_found): [String](TopLevel.String.md) = "ERROR_CUSTOMER_NOT_FOUND" | customer could not be found |
+| [ERROR_PASSWORD_EXPIRED](#error_password_expired): [String](TopLevel.String.md) = "ERROR_PASSWORD_EXPIRED" | Password does match, but is expired. |
+| [ERROR_PASSWORD_MISMATCH](#error_password_mismatch): [String](TopLevel.String.md) = "ERROR_PASSWORD_MISMATCH" | the used password is not correct |
+| [ERROR_UNKNOWN](#error_unknown): [String](TopLevel.String.md) = "ERROR_UNKNOWN" | Any other error |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [authenticated](#authenticated): [Boolean](TopLevel.Boolean.md) `(read-only)` | checks whether the authentication was successful or not |
+| [customer](#customer): [Customer](dw.customer.Customer.md) `(read-only)` | The customer, corresponding to the login used during authentication. |
+| [status](#status): [String](TopLevel.String.md) `(read-only)` | the status code (see the constants above) |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCustomer](dw.customer.AuthenticationStatus.md#getcustomer)() | The customer, corresponding to the login used during authentication. |
+| [getStatus](dw.customer.AuthenticationStatus.md#getstatus)() | the status code (see the constants above) |
+| [isAuthenticated](dw.customer.AuthenticationStatus.md#isauthenticated)() | checks whether the authentication was successful or not |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### AUTH_OK
+
+- AUTH_OK: [String](TopLevel.String.md) = "AUTH_OK"
+ - : Authentication was successful
+
+
+---
+
+### ERROR_CUSTOMER_DISABLED
+
+- ERROR_CUSTOMER_DISABLED: [String](TopLevel.String.md) = "ERROR_CUSTOMER_DISABLED"
+ - : customer could be found, but is disabled. Password was not verified.
+
+
+---
+
+### ERROR_CUSTOMER_LOCKED
+
+- ERROR_CUSTOMER_LOCKED: [String](TopLevel.String.md) = "ERROR_CUSTOMER_LOCKED"
+ - : customer could be found, but is locked (too many failed login attempts). Password was verified before.
+
+
+---
+
+### ERROR_CUSTOMER_NOT_FOUND
+
+- ERROR_CUSTOMER_NOT_FOUND: [String](TopLevel.String.md) = "ERROR_CUSTOMER_NOT_FOUND"
+ - : customer could not be found
+
+
+---
+
+### ERROR_PASSWORD_EXPIRED
+
+- ERROR_PASSWORD_EXPIRED: [String](TopLevel.String.md) = "ERROR_PASSWORD_EXPIRED"
+ - : Password does match, but is expired.
+
+
+---
+
+### ERROR_PASSWORD_MISMATCH
+
+- ERROR_PASSWORD_MISMATCH: [String](TopLevel.String.md) = "ERROR_PASSWORD_MISMATCH"
+ - : the used password is not correct
+
+
+---
+
+### ERROR_UNKNOWN
+
+- ERROR_UNKNOWN: [String](TopLevel.String.md) = "ERROR_UNKNOWN"
+ - : Any other error
+
+
+---
+
+## Property Details
+
+### authenticated
+- authenticated: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : checks whether the authentication was successful or not
+
+
+---
+
+### customer
+- customer: [Customer](dw.customer.Customer.md) `(read-only)`
+ - : The customer, corresponding to the login used during authentication. This customer is not logged in after authentication.
+
+
+---
+
+### status
+- status: [String](TopLevel.String.md) `(read-only)`
+ - : the status code (see the constants above)
+
+
+---
+
+## Method Details
+
+### getCustomer()
+- getCustomer(): [Customer](dw.customer.Customer.md)
+ - : The customer, corresponding to the login used during authentication. This customer is not logged in after authentication.
+
+ **Returns:**
+ - the customer described by the login
+
+
+---
+
+### getStatus()
+- getStatus(): [String](TopLevel.String.md)
+ - : the status code (see the constants above)
+
+ **Returns:**
+ - the status code
+
+
+---
+
+### isAuthenticated()
+- isAuthenticated(): [Boolean](TopLevel.Boolean.md)
+ - : checks whether the authentication was successful or not
+
+ **Returns:**
+ - the when the authentication was successful
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.Credentials.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.Credentials.md
new file mode 100644
index 00000000..75c80433
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.Credentials.md
@@ -0,0 +1,524 @@
+
+# Class Credentials
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.Credentials](dw.customer.Credentials.md)
+
+Represents the credentials of a customer.
+
+Since 13.6 it is possible to have customers who are not authenticated through a
+login and password but through an external authentication provider via the OAuth2 protocol.
+
+In such cases, the AuthenticationProviderID will point to an OAuth provider configured in the system
+and the ExternalID will be the unique identifier of the customer on the Authentication Provider's system.
+
+For example, if an authentication provider with ID "Google123" is configured pointing to Google
+and the customer has a logged in into Google in the past and has created a profile there, Google
+assigns a unique number identifier to that customer. If the storefront is configured to allow
+authentication through Google and a new customer logs into the storefront using Google,
+the AuthenticationProviderID property of his Credentials will contain "Google123" and
+the ExternalID property will contain whatever unique identifier Google has assigned to him.
+In such cases the password-related properties of the Credentials will be empty.
+
+
+**Note:** this class handles sensitive security-related data.
+Pay special attention to PCI DSS v3. requirements 2, 4, and 12.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| ~~[authenticationProviderID](#authenticationproviderid): [String](TopLevel.String.md)~~ | Returns the authentication provider ID. |
+| [enabled](#enabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this customer is enabled and can log in. |
+| [enabledFlag](#enabledflag): [Boolean](TopLevel.Boolean.md) | Identifies if this customer is enabled and can log in - same as isEnabled(). |
+| ~~[externalID](#externalid): [String](TopLevel.String.md)~~ | Returns the external ID of the customer. |
+| [locked](#locked): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this customer is temporarily locked out because of invalid login attempts. |
+| [login](#login): [String](TopLevel.String.md) | Returns the login of the user. |
+| [passwordAnswer](#passwordanswer): [String](TopLevel.String.md) | Returns the answer to the password question for the customer. |
+| [passwordQuestion](#passwordquestion): [String](TopLevel.String.md) | Returns the password question for the customer. |
+| [passwordSet](#passwordset): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns whether the password is set. |
+| [remainingLoginAttempts](#remainingloginattempts): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of consecutive failed logins after which this customer will be temporarily locked out and prevented from logging in to the current site. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createResetPasswordToken](dw.customer.Credentials.md#createresetpasswordtoken)() | Generate a random token which can be used for resetting the password of the underlying Customer. |
+| ~~[getAuthenticationProviderID](dw.customer.Credentials.md#getauthenticationproviderid)()~~ | Returns the authentication provider ID. |
+| [getEnabledFlag](dw.customer.Credentials.md#getenabledflag)() | Identifies if this customer is enabled and can log in - same as isEnabled(). |
+| ~~[getExternalID](dw.customer.Credentials.md#getexternalid)()~~ | Returns the external ID of the customer. |
+| [getLogin](dw.customer.Credentials.md#getlogin)() | Returns the login of the user. |
+| [getPasswordAnswer](dw.customer.Credentials.md#getpasswordanswer)() | Returns the answer to the password question for the customer. |
+| [getPasswordQuestion](dw.customer.Credentials.md#getpasswordquestion)() | Returns the password question for the customer. |
+| [getRemainingLoginAttempts](dw.customer.Credentials.md#getremainingloginattempts)() | Returns the number of consecutive failed logins after which this customer will be temporarily locked out and prevented from logging in to the current site. |
+| [isEnabled](dw.customer.Credentials.md#isenabled)() | Identifies if this customer is enabled and can log in. |
+| [isLocked](dw.customer.Credentials.md#islocked)() | Identifies if this customer is temporarily locked out because of invalid login attempts. |
+| [isPasswordSet](dw.customer.Credentials.md#ispasswordset)() | Returns whether the password is set. |
+| ~~[setAuthenticationProviderID](dw.customer.Credentials.md#setauthenticationprovideridstring)([String](TopLevel.String.md))~~ | Sets the authentication provider ID corresponding to an OAuth provider configured in the system. |
+| [setEnabledFlag](dw.customer.Credentials.md#setenabledflagboolean)([Boolean](TopLevel.Boolean.md)) | Sets the enabled status of the customer. |
+| ~~[setExternalID](dw.customer.Credentials.md#setexternalidstring)([String](TopLevel.String.md))~~ | Sets the external ID of the customer at the authentication provider. |
+| ~~[setLogin](dw.customer.Credentials.md#setloginstring)([String](TopLevel.String.md))~~ | Sets the login value for the customer. |
+| [setLogin](dw.customer.Credentials.md#setloginstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Sets the login value for the customer, and also re-encrypt the customer password based on the new login. |
+| [setPassword](dw.customer.Credentials.md#setpasswordstring-string-boolean)([String](TopLevel.String.md), [String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md)) | Sets the password of an authenticated customer. Searches for product list instances. |
+| static [queryProductLists](dw.customer.ProductListMgr.md#queryproductlistsstring-string-object)([String](TopLevel.String.md), [String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Searches for product list instances. |
+| static [removeProductList](dw.customer.ProductListMgr.md#removeproductlistproductlist)([ProductList](dw.customer.ProductList.md)) | Removes the specified product list from the system. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### createProductList(Customer, Number)
+- static createProductList(customer: [Customer](dw.customer.Customer.md), type: [Number](TopLevel.Number.md)): [ProductList](dw.customer.ProductList.md)
+ - : Creates a new instance of a product list, of the specified type.
+
+ **Parameters:**
+ - customer - The customer owning the product list, must not be null.
+ - type - The type of list (e.g. wish list, gift registry). The types are defined as constants within [ProductList](dw.customer.ProductList.md).
+
+ **Returns:**
+ - the new list instance.
+
+
+---
+
+### getProductList(Profile, Number)
+- ~~static getProductList(profile: [Profile](dw.customer.Profile.md), type: [Number](TopLevel.Number.md)): [ProductList](dw.customer.ProductList.md)~~
+ - : Returns the first product list belonging to the customer with the
+ specified profile.
+
+
+ **Parameters:**
+ - profile - The profile of the customer whose product list is to be retrieved.
+ - type - The type of list (e.g. wish list, gift registry). The types are defined as constants within [ProductList](dw.customer.ProductList.md).
+
+ **Returns:**
+ - the product list, or null if none exists.
+
+ **Deprecated:**
+:::warning
+Use [getProductLists(Customer, Number)](dw.customer.ProductListMgr.md#getproductlistscustomer-number) or [getProductLists(Customer, Number, String)](dw.customer.ProductListMgr.md#getproductlistscustomer-number-string) instead.
+:::
+
+---
+
+### getProductList(String)
+- static getProductList(ID: [String](TopLevel.String.md)): [ProductList](dw.customer.ProductList.md)
+ - : Gets the product list by its ID.
+
+ **Parameters:**
+ - ID - The product list ID.
+
+ **Returns:**
+ - the ProductList instance, or null if a list with the specified
+ UUID doesn't exist.
+
+
+
+---
+
+### getProductLists(Customer, Number)
+- static getProductLists(customer: [Customer](dw.customer.Customer.md), type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Retrieve all product lists of the specified type owned by the
+ specified customer.
+
+
+ **Parameters:**
+ - customer - The customer used for the query, must not be null.
+ - type - The type of list used for the query. The types are defined as constants within [ProductList](dw.customer.ProductList.md).
+
+ **Returns:**
+ - the unsorted collection of ProductList instances of the specified
+ type belonging to the specified customer.
+
+
+
+---
+
+### getProductLists(Customer, Number, String)
+- static getProductLists(customer: [Customer](dw.customer.Customer.md), type: [Number](TopLevel.Number.md), eventType: [String](TopLevel.String.md)): [Collection](dw.util.Collection.md)
+ - : Retrieve all the product lists of the specified type and event type
+ belonging to the specified customer.
+
+
+ **Parameters:**
+ - customer - The customer used for the query, must not be null.
+ - type - The type of list used for the query. The types are defined as constants within [ProductList](dw.customer.ProductList.md).
+ - eventType - The event type used for the query, must not be null.
+
+ **Returns:**
+ - the unsorted collection of ProductList instances of the specified
+ type and event type belonging to the specified customer.
+
+
+
+---
+
+### getProductLists(CustomerAddress)
+- static getProductLists(customerAddress: [CustomerAddress](dw.customer.CustomerAddress.md)): [Collection](dw.util.Collection.md)
+ - : Returns the collection of product lists that have the specified address
+ as the shipping address.
+
+
+ **Parameters:**
+ - customerAddress - the address to test, must not be null.
+
+ **Returns:**
+ - the unsorted collection of ProductList instances using this
+ address.
+
+
+
+---
+
+### queryProductLists(Map, String)
+- static queryProductLists(queryAttributes: [Map](dw.util.Map.md), sortString: [String](TopLevel.String.md)): [SeekableIterator](dw.util.SeekableIterator.md)
+ - :
+ Searches for product list instances.
+
+
+
+ The search can be configured with a map, which key-value pairs are
+ converted into a query expression. The key-value pairs are turned into a
+ sequence of '=' or 'like' conditions, which are combined with AND
+ statements.
+
+
+
+ Example:
+
+ A map with the key/value pairs: _'name'/'tom\*', 'age'/66_
+ will be converted as follows: `"name like 'tom*' and age = 66"`
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the
+ ID of the attribute as defined in the type definition. For custom defined attributes
+ the prefix custom is required in the search term (e.g. `custom.color = {1}`),
+ while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+ Supported attribute value **types** with sample expression values:
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+ The following types of attributes are not queryable:
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+ Note, that some system attributes are not queryable by default regardless of the
+ actual value type code.
+
+
+
+
+ The **sorting** parameter is optional and may contain a comma separated list of
+ attribute names to sort by. Each sort attribute name may be followed by an
+ optional sort direction specifier ('asc' | 'desc'). Default sorting directions is
+ ascending, if no direction was specified.
+
+ Example: `age desc, name`
+
+ Please note that specifying a localized custom attribute as the sorting attribute is
+ currently not supported.
+
+
+
+ It is strongly recommended to call `close()` on the returned SeekableIterator
+ if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.
+
+
+ **Parameters:**
+ - queryAttributes - key-value pairs, which define the query.
+ - sortString - an optional sorting or null if no sorting is necessary.
+
+ **Returns:**
+ - SeekableIterator containing the result set of the query.
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+
+---
+
+### queryProductLists(String, String, Object...)
+- static queryProductLists(queryString: [String](TopLevel.String.md), sortString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [SeekableIterator](dw.util.SeekableIterator.md)
+ - :
+ Searches for product list instances.
+
+
+
+ The search can be configured using a simple query language, which
+ provides most common filter and operator functionality.
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the
+ ID of the attribute as defined in the type definition. For custom defined attributes
+ the prefix custom is required in the search term (e.g. `custom.color = {1}`),
+ while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+ Supported attribute value **types** with sample expression values:
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+ The following types of attributes are not queryable:
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+ Note, that some system attributes are not queryable by default regardless of the
+ actual value type code.
+
+
+
+
+ The following **operators** are supported in a condition:
+
+ - `=`Equals - All types; supports NULL value (`thumbnail = NULL`)
+ - `!=`Not equals - All types; supports NULL value (`thumbnail != NULL`)
+ - `<`Less than - Integer, Number and Date types only
+ - `>`Greater than - Integer, Number and Date types only
+ - `<=`Less or equals than - Integer, Number and Date types only
+ - `>=`Greater or equals than - Integer, Number and Date types only
+ - `LIKE`Like - String types and Email only; use if leading or trailing wildcards will be used to support substring search(`custom.country LIKE 'US*'`)
+ - `ILIKE`Caseindependent Like - String types and Email only, use to support case insensitive query (`custom.country ILIKE 'usa'`), does also support wildcards for substring matching
+
+
+
+
+ Conditions can be combined using logical expressions 'AND', 'OR' and 'NOT'
+ and nested using parenthesis e.g.
+ `gender = {1} AND (age >= {2} OR (NOT profession LIKE {3}))`.
+
+
+
+
+ The query language provides a placeholder syntax to pass objects as
+ additional search parameters. Each passed object is related to a
+ placeholder in the query string. The placeholder must be an Integer that
+ is surrounded by braces. The first Integer value must be '0', the second
+ '1' and so on, e.g.
+ `querySystemObjects("sample", "age = {0} or creationDate >= {1}", 18, date)`
+
+
+
+
+ The **sorting** parameter is optional and may contain a comma separated list of
+ attribute names to sort by. Each sort attribute name may be followed by an
+ optional sort direction specifier ('asc' | 'desc'). Default sorting directions is
+ ascending, if no direction was specified.
+
+ Example: `age desc, name`
+
+ Please note that specifying a localized custom attribute as the sorting attribute is
+ currently not supported.
+
+
+
+ Sometimes it is desired to get all instances with a special sorting condition.
+ This can be easily done by providing the 'sortString' in combination with
+ an empty 'queryString', e.g. `querySystemObjects("sample", "", "ID asc")`
+
+
+
+ It is strongly recommended to call `close()` on the returned SeekableIterator
+ if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.
+
+
+ **Parameters:**
+ - queryString - the actual query.
+ - sortString - an optional sorting or null if no sorting is necessary.
+ - args - optional parameters for the queryString.
+
+ **Returns:**
+ - SeekableIterator containing the result set of the query.
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+
+---
+
+### removeProductList(ProductList)
+- static removeProductList(productList: [ProductList](dw.customer.ProductList.md)): void
+ - : Removes the specified product list from the system.
+
+ **Parameters:**
+ - productList - The list to remove, must not be null.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListRegistrant.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListRegistrant.md
new file mode 100644
index 00000000..ed1ebdf5
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListRegistrant.md
@@ -0,0 +1,165 @@
+
+# Class ProductListRegistrant
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.customer.ProductListRegistrant](dw.customer.ProductListRegistrant.md)
+
+A ProductListRegistrant is typically associated with an event related product list
+such as a gift registry. It holds information about a person associated with the
+event such as a bride or groom.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [email](#email): [String](TopLevel.String.md) | Returns the email address of the registrant or null. |
+| [firstName](#firstname): [String](TopLevel.String.md) | Returns the first name of the registrant or null. |
+| [lastName](#lastname): [String](TopLevel.String.md) | Returns the last name of the registrant or null. |
+| [role](#role): [String](TopLevel.String.md) | Returns the role of the registrant or null. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getEmail](dw.customer.ProductListRegistrant.md#getemail)() | Returns the email address of the registrant or null. |
+| [getFirstName](dw.customer.ProductListRegistrant.md#getfirstname)() | Returns the first name of the registrant or null. |
+| [getLastName](dw.customer.ProductListRegistrant.md#getlastname)() | Returns the last name of the registrant or null. |
+| [getRole](dw.customer.ProductListRegistrant.md#getrole)() | Returns the role of the registrant or null. |
+| [setEmail](dw.customer.ProductListRegistrant.md#setemailstring)([String](TopLevel.String.md)) | Sets the email address of the registrant. |
+| [setFirstName](dw.customer.ProductListRegistrant.md#setfirstnamestring)([String](TopLevel.String.md)) | Sets the first name of the registrant. |
+| [setLastName](dw.customer.ProductListRegistrant.md#setlastnamestring)([String](TopLevel.String.md)) | Sets the last name of the registrant. |
+| [setRole](dw.customer.ProductListRegistrant.md#setrolestring)([String](TopLevel.String.md)) | Sets the role of the registrant. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### email
+- email: [String](TopLevel.String.md)
+ - : Returns the email address of the registrant or null.
+
+
+---
+
+### firstName
+- firstName: [String](TopLevel.String.md)
+ - : Returns the first name of the registrant or null.
+
+
+---
+
+### lastName
+- lastName: [String](TopLevel.String.md)
+ - : Returns the last name of the registrant or null.
+
+
+---
+
+### role
+- role: [String](TopLevel.String.md)
+ - : Returns the role of the registrant or null. The role of a registrant
+ can be for example the bride of a bridal couple.
+
+
+
+---
+
+## Method Details
+
+### getEmail()
+- getEmail(): [String](TopLevel.String.md)
+ - : Returns the email address of the registrant or null.
+
+ **Returns:**
+ - the email address of the registrant or null.
+
+
+---
+
+### getFirstName()
+- getFirstName(): [String](TopLevel.String.md)
+ - : Returns the first name of the registrant or null.
+
+ **Returns:**
+ - the first name of the registrant or null.
+
+
+---
+
+### getLastName()
+- getLastName(): [String](TopLevel.String.md)
+ - : Returns the last name of the registrant or null.
+
+ **Returns:**
+ - the last name of the registrant or null.
+
+
+---
+
+### getRole()
+- getRole(): [String](TopLevel.String.md)
+ - : Returns the role of the registrant or null. The role of a registrant
+ can be for example the bride of a bridal couple.
+
+
+ **Returns:**
+ - the role name of the registrant or null.
+
+
+---
+
+### setEmail(String)
+- setEmail(email: [String](TopLevel.String.md)): void
+ - : Sets the email address of the registrant.
+
+ **Parameters:**
+ - email - the email address of the registrant.
+
+
+---
+
+### setFirstName(String)
+- setFirstName(firstName: [String](TopLevel.String.md)): void
+ - : Sets the first name of the registrant.
+
+ **Parameters:**
+ - firstName - the first name of the registrant.
+
+
+---
+
+### setLastName(String)
+- setLastName(lastName: [String](TopLevel.String.md)): void
+ - : Sets the last name of the registrant.
+
+ **Parameters:**
+ - lastName - the last name of the registrant.
+
+
+---
+
+### setRole(String)
+- setRole(role: [String](TopLevel.String.md)): void
+ - : Sets the role of the registrant.
+
+ **Parameters:**
+ - role - the role of the registrant.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.Profile.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.Profile.md
new file mode 100644
index 00000000..b0127508
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.Profile.md
@@ -0,0 +1,895 @@
+
+# Class Profile
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.customer.EncryptedObject](dw.customer.EncryptedObject.md)
+ - [dw.customer.Profile](dw.customer.Profile.md)
+
+The class represents a customer profile. It also provides access to the
+customers address book and credentials.
+
+
+**Note:** this class handles sensitive security-related data.
+Pay special attention to PCI DSS v3. requirements 2, 4, and 12.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [addressBook](#addressbook): [AddressBook](dw.customer.AddressBook.md) `(read-only)` | Returns the customer's address book. |
+| [birthday](#birthday): [Date](TopLevel.Date.md) | Returns the customer's birthday as a date. |
+| [companyName](#companyname): [String](TopLevel.String.md) | Returns the customer's company name. |
+| [credentials](#credentials): [Credentials](dw.customer.Credentials.md) `(read-only)` | Returns the customer's credentials. |
+| [customer](#customer): [Customer](dw.customer.Customer.md) `(read-only)` | Returns the customer object related to this profile. |
+| [customerNo](#customerno): [String](TopLevel.String.md) `(read-only)` | Returns the customer's number, which is a number used to identify the Customer. |
+| [email](#email): [String](TopLevel.String.md) | Returns the customer's email address. |
+| [fax](#fax): [String](TopLevel.String.md) | Returns the fax number to use for the customer. |
+| [female](#female): [Boolean](TopLevel.Boolean.md) `(read-only)` | Indicates that the customer is female when set to true. |
+| [firstName](#firstname): [String](TopLevel.String.md) | Returns the customer's first name. |
+| [gender](#gender): [EnumValue](dw.value.EnumValue.md) | Returns the customer's gender. |
+| [jobTitle](#jobtitle): [String](TopLevel.String.md) | Returns the customer's job title. |
+| [lastLoginTime](#lastlogintime): [Date](TopLevel.Date.md) `(read-only)` | Returns the last login time of the customer. |
+| [lastName](#lastname): [String](TopLevel.String.md) | Returns the customer's last name. |
+| [lastVisitTime](#lastvisittime): [Date](TopLevel.Date.md) `(read-only)` | Returns the last visit time of the customer. |
+| [male](#male): [Boolean](TopLevel.Boolean.md) `(read-only)` | Indicates that the customer is male when set to true. |
+| [nextBirthday](#nextbirthday): [Date](TopLevel.Date.md) `(read-only)` | Returns the upcoming customer's birthday as a date. |
+| [phoneBusiness](#phonebusiness): [String](TopLevel.String.md) | Returns the business phone number to use for the customer. |
+| [phoneHome](#phonehome): [String](TopLevel.String.md) | Returns the phone number to use for the customer. |
+| [phoneMobile](#phonemobile): [String](TopLevel.String.md) | Returns the mobile phone number to use for the customer. |
+| [preferredLocale](#preferredlocale): [String](TopLevel.String.md) | Returns the customer's preferred locale. |
+| [previousLoginTime](#previouslogintime): [Date](TopLevel.Date.md) `(read-only)` | Returns the time the customer logged in prior to the current login. |
+| [previousVisitTime](#previousvisittime): [Date](TopLevel.Date.md) `(read-only)` | Returns the time the customer visited the store prior to the current visit. |
+| [salutation](#salutation): [String](TopLevel.String.md) | Returns the salutation to use for the customer. |
+| [secondName](#secondname): [String](TopLevel.String.md) | Returns the customer's second name. |
+| [suffix](#suffix): [String](TopLevel.String.md) | Returns the customer's suffix, such as "Jr." or "Sr.". |
+| [taxID](#taxid): [String](TopLevel.String.md) | Returns the tax ID value. |
+| [taxIDMasked](#taxidmasked): [String](TopLevel.String.md) `(read-only)` | Returns the masked value of the tax ID. |
+| [taxIDType](#taxidtype): [EnumValue](dw.value.EnumValue.md) | Returns the tax ID type. |
+| [title](#title): [String](TopLevel.String.md) | Returns the customer's title, such as "Mrs" or "Mr". |
+| [wallet](#wallet): [Wallet](dw.customer.Wallet.md) `(read-only)` | Returns the wallet of this customer. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAddressBook](dw.customer.Profile.md#getaddressbook)() | Returns the customer's address book. |
+| [getBirthday](dw.customer.Profile.md#getbirthday)() | Returns the customer's birthday as a date. |
+| [getCompanyName](dw.customer.Profile.md#getcompanyname)() | Returns the customer's company name. |
+| [getCredentials](dw.customer.Profile.md#getcredentials)() | Returns the customer's credentials. |
+| [getCustomer](dw.customer.Profile.md#getcustomer)() | Returns the customer object related to this profile. |
+| [getCustomerNo](dw.customer.Profile.md#getcustomerno)() | Returns the customer's number, which is a number used to identify the Customer. |
+| [getEmail](dw.customer.Profile.md#getemail)() | Returns the customer's email address. |
+| [getFax](dw.customer.Profile.md#getfax)() | Returns the fax number to use for the customer. |
+| [getFirstName](dw.customer.Profile.md#getfirstname)() | Returns the customer's first name. |
+| [getGender](dw.customer.Profile.md#getgender)() | Returns the customer's gender. |
+| [getJobTitle](dw.customer.Profile.md#getjobtitle)() | Returns the customer's job title. |
+| [getLastLoginTime](dw.customer.Profile.md#getlastlogintime)() | Returns the last login time of the customer. |
+| [getLastName](dw.customer.Profile.md#getlastname)() | Returns the customer's last name. |
+| [getLastVisitTime](dw.customer.Profile.md#getlastvisittime)() | Returns the last visit time of the customer. |
+| [getNextBirthday](dw.customer.Profile.md#getnextbirthday)() | Returns the upcoming customer's birthday as a date. |
+| [getPhoneBusiness](dw.customer.Profile.md#getphonebusiness)() | Returns the business phone number to use for the customer. |
+| [getPhoneHome](dw.customer.Profile.md#getphonehome)() | Returns the phone number to use for the customer. |
+| [getPhoneMobile](dw.customer.Profile.md#getphonemobile)() | Returns the mobile phone number to use for the customer. |
+| [getPreferredLocale](dw.customer.Profile.md#getpreferredlocale)() | Returns the customer's preferred locale. |
+| [getPreviousLoginTime](dw.customer.Profile.md#getpreviouslogintime)() | Returns the time the customer logged in prior to the current login. |
+| [getPreviousVisitTime](dw.customer.Profile.md#getpreviousvisittime)() | Returns the time the customer visited the store prior to the current visit. |
+| [getSalutation](dw.customer.Profile.md#getsalutation)() | Returns the salutation to use for the customer. |
+| [getSecondName](dw.customer.Profile.md#getsecondname)() | Returns the customer's second name. |
+| [getSuffix](dw.customer.Profile.md#getsuffix)() | Returns the customer's suffix, such as "Jr." or "Sr.". |
+| [getTaxID](dw.customer.Profile.md#gettaxid)() | Returns the tax ID value. |
+| [getTaxIDMasked](dw.customer.Profile.md#gettaxidmasked)() | Returns the masked value of the tax ID. |
+| [getTaxIDType](dw.customer.Profile.md#gettaxidtype)() | Returns the tax ID type. |
+| [getTitle](dw.customer.Profile.md#gettitle)() | Returns the customer's title, such as "Mrs" or "Mr". |
+| [getWallet](dw.customer.Profile.md#getwallet)() | Returns the wallet of this customer. |
+| [isFemale](dw.customer.Profile.md#isfemale)() | Indicates that the customer is female when set to true. |
+| [isMale](dw.customer.Profile.md#ismale)() | Indicates that the customer is male when set to true. |
+| [setBirthday](dw.customer.Profile.md#setbirthdaydate)([Date](TopLevel.Date.md)) | Sets the customer's birthday as a date. |
+| [setCompanyName](dw.customer.Profile.md#setcompanynamestring)([String](TopLevel.String.md)) | Sets the customer's company name. |
+| [setEmail](dw.customer.Profile.md#setemailstring)([String](TopLevel.String.md)) | Sets the customer's email address. |
+| [setFax](dw.customer.Profile.md#setfaxstring)([String](TopLevel.String.md)) | Sets the fax number to use for the customer. |
+| [setFirstName](dw.customer.Profile.md#setfirstnamestring)([String](TopLevel.String.md)) | Sets the customer's first name. |
+| [setGender](dw.customer.Profile.md#setgendernumber)([Number](TopLevel.Number.md)) | Sets the customer's gender. |
+| [setJobTitle](dw.customer.Profile.md#setjobtitlestring)([String](TopLevel.String.md)) | Sets the customer's job title. |
+| [setLastName](dw.customer.Profile.md#setlastnamestring)([String](TopLevel.String.md)) | Sets the customer's last name. |
+| [setPhoneBusiness](dw.customer.Profile.md#setphonebusinessstring)([String](TopLevel.String.md)) | Sets the business phone number to use for the customer. |
+| [setPhoneHome](dw.customer.Profile.md#setphonehomestring)([String](TopLevel.String.md)) | Sets the phone number to use for the customer. |
+| [setPhoneMobile](dw.customer.Profile.md#setphonemobilestring)([String](TopLevel.String.md)) | Sets the mobile phone number to use for the customer. |
+| [setPreferredLocale](dw.customer.Profile.md#setpreferredlocalestring)([String](TopLevel.String.md)) | Sets the customer's preferred locale. |
+| ~~[setSaluation](dw.customer.Profile.md#setsaluationstring)([String](TopLevel.String.md))~~ | Sets the salutation to use for the customer. |
+| [setSalutation](dw.customer.Profile.md#setsalutationstring)([String](TopLevel.String.md)) | Sets the salutation to use for the customer. |
+| [setSecondName](dw.customer.Profile.md#setsecondnamestring)([String](TopLevel.String.md)) | Sets the customer's second name. |
+| [setSuffix](dw.customer.Profile.md#setsuffixstring)([String](TopLevel.String.md)) | Sets the the customer's suffix. |
+| [setTaxID](dw.customer.Profile.md#settaxidstring)([String](TopLevel.String.md)) | Sets the tax ID value. |
+| [setTaxIDType](dw.customer.Profile.md#settaxidtypestring)([String](TopLevel.String.md)) | Sets the tax ID type. |
+| [setTitle](dw.customer.Profile.md#settitlestring)([String](TopLevel.String.md)) | Sets the customer's title. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### addressBook
+- addressBook: [AddressBook](dw.customer.AddressBook.md) `(read-only)`
+ - : Returns the customer's address book.
+
+
+---
+
+### birthday
+- birthday: [Date](TopLevel.Date.md)
+ - : Returns the customer's birthday as a date.
+
+
+---
+
+### companyName
+- companyName: [String](TopLevel.String.md)
+ - : Returns the customer's company name.
+
+
+---
+
+### credentials
+- credentials: [Credentials](dw.customer.Credentials.md) `(read-only)`
+ - : Returns the customer's credentials.
+
+
+---
+
+### customer
+- customer: [Customer](dw.customer.Customer.md) `(read-only)`
+ - : Returns the customer object related to this profile.
+
+
+---
+
+### customerNo
+- customerNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the customer's number, which is a number used to identify the Customer.
+
+
+---
+
+### email
+- email: [String](TopLevel.String.md)
+ - : Returns the customer's email address.
+
+
+---
+
+### fax
+- fax: [String](TopLevel.String.md)
+ - : Returns the fax number to use for the customer.
+ The length is restricted to 32 characters.
+
+
+
+---
+
+### female
+- female: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Indicates that the customer is female when set to true.
+
+
+---
+
+### firstName
+- firstName: [String](TopLevel.String.md)
+ - : Returns the customer's first name.
+
+
+---
+
+### gender
+- gender: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the customer's gender.
+
+
+---
+
+### jobTitle
+- jobTitle: [String](TopLevel.String.md)
+ - : Returns the customer's job title.
+
+
+---
+
+### lastLoginTime
+- lastLoginTime: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the last login time of the customer.
+
+
+---
+
+### lastName
+- lastName: [String](TopLevel.String.md)
+ - : Returns the customer's last name.
+
+
+---
+
+### lastVisitTime
+- lastVisitTime: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the last visit time of the customer.
+
+
+---
+
+### male
+- male: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Indicates that the customer is male when set to true.
+
+
+---
+
+### nextBirthday
+- nextBirthday: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the upcoming customer's birthday as a date.
+ If the customer already had birthday this year the method returns the birthday of the next year.
+ Otherwise its birthday in this year.
+ If the customer has not set a birthday this method returns null.
+
+
+
+---
+
+### phoneBusiness
+- phoneBusiness: [String](TopLevel.String.md)
+ - : Returns the business phone number to use for the customer.
+
+
+---
+
+### phoneHome
+- phoneHome: [String](TopLevel.String.md)
+ - : Returns the phone number to use for the customer.
+
+
+---
+
+### phoneMobile
+- phoneMobile: [String](TopLevel.String.md)
+ - : Returns the mobile phone number to use for the customer.
+
+
+---
+
+### preferredLocale
+- preferredLocale: [String](TopLevel.String.md)
+ - : Returns the customer's preferred locale.
+
+
+---
+
+### previousLoginTime
+- previousLoginTime: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the time the customer logged in prior to the current login.
+
+
+---
+
+### previousVisitTime
+- previousVisitTime: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the time the customer visited the store prior to the current visit.
+
+
+---
+
+### salutation
+- salutation: [String](TopLevel.String.md)
+ - : Returns the salutation to use for the customer.
+
+
+---
+
+### secondName
+- secondName: [String](TopLevel.String.md)
+ - : Returns the customer's second name.
+
+
+---
+
+### suffix
+- suffix: [String](TopLevel.String.md)
+ - : Returns the customer's suffix, such as "Jr." or "Sr.".
+
+
+---
+
+### taxID
+- taxID: [String](TopLevel.String.md)
+ - : Returns the tax ID value. The value is returned either plain
+ text if the current context allows plain text access, or
+ if it's not allowed, the ID value will be returned masked.
+ The following criteria must be met in order to have plain text access:
+
+
+
+ - the method call must happen in the context of a storefront request;
+ - the current customer must be registered and authenticated;
+ - it is the profile of the current customer;
+ - and the current protocol is HTTPS.
+
+
+
+---
+
+### taxIDMasked
+- taxIDMasked: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the masked value of the tax ID.
+
+
+---
+
+### taxIDType
+- taxIDType: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the tax ID type.
+
+
+---
+
+### title
+- title: [String](TopLevel.String.md)
+ - : Returns the customer's title, such as "Mrs" or "Mr".
+
+
+---
+
+### wallet
+- wallet: [Wallet](dw.customer.Wallet.md) `(read-only)`
+ - : Returns the wallet of this customer.
+
+
+---
+
+## Method Details
+
+### getAddressBook()
+- getAddressBook(): [AddressBook](dw.customer.AddressBook.md)
+ - : Returns the customer's address book.
+
+ **Returns:**
+ - the customer's address book.
+
+
+---
+
+### getBirthday()
+- getBirthday(): [Date](TopLevel.Date.md)
+ - : Returns the customer's birthday as a date.
+
+ **Returns:**
+ - the customer's birthday as a date.
+
+
+---
+
+### getCompanyName()
+- getCompanyName(): [String](TopLevel.String.md)
+ - : Returns the customer's company name.
+
+ **Returns:**
+ - the customer's company name.
+
+
+---
+
+### getCredentials()
+- getCredentials(): [Credentials](dw.customer.Credentials.md)
+ - : Returns the customer's credentials.
+
+ **Returns:**
+ - the customer's credentials.
+
+
+---
+
+### getCustomer()
+- getCustomer(): [Customer](dw.customer.Customer.md)
+ - : Returns the customer object related to this profile.
+
+ **Returns:**
+ - customer object related to profile.
+
+
+---
+
+### getCustomerNo()
+- getCustomerNo(): [String](TopLevel.String.md)
+ - : Returns the customer's number, which is a number used to identify the Customer.
+
+ **Returns:**
+ - the customer's number.
+
+
+---
+
+### getEmail()
+- getEmail(): [String](TopLevel.String.md)
+ - : Returns the customer's email address.
+
+ **Returns:**
+ - the customer's email address.
+
+
+---
+
+### getFax()
+- getFax(): [String](TopLevel.String.md)
+ - : Returns the fax number to use for the customer.
+ The length is restricted to 32 characters.
+
+
+ **Returns:**
+ - the fax mobile phone number to use for the customer.
+
+
+---
+
+### getFirstName()
+- getFirstName(): [String](TopLevel.String.md)
+ - : Returns the customer's first name.
+
+ **Returns:**
+ - the customer's first name.
+
+
+---
+
+### getGender()
+- getGender(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the customer's gender.
+
+ **Returns:**
+ - the customer's gender.
+
+
+---
+
+### getJobTitle()
+- getJobTitle(): [String](TopLevel.String.md)
+ - : Returns the customer's job title.
+
+ **Returns:**
+ - the customer's job title.
+
+
+---
+
+### getLastLoginTime()
+- getLastLoginTime(): [Date](TopLevel.Date.md)
+ - : Returns the last login time of the customer.
+
+ **Returns:**
+ - the time, when the customer was last logged in.
+
+
+---
+
+### getLastName()
+- getLastName(): [String](TopLevel.String.md)
+ - : Returns the customer's last name.
+
+ **Returns:**
+ - the customer's last name.
+
+
+---
+
+### getLastVisitTime()
+- getLastVisitTime(): [Date](TopLevel.Date.md)
+ - : Returns the last visit time of the customer.
+
+ **Returns:**
+ - the time, when the customer has visited the storefront the
+ last time (with enabled remember me functionality).
+
+
+
+---
+
+### getNextBirthday()
+- getNextBirthday(): [Date](TopLevel.Date.md)
+ - : Returns the upcoming customer's birthday as a date.
+ If the customer already had birthday this year the method returns the birthday of the next year.
+ Otherwise its birthday in this year.
+ If the customer has not set a birthday this method returns null.
+
+
+ **Returns:**
+ - the customer's next birthday as a date.
+
+
+---
+
+### getPhoneBusiness()
+- getPhoneBusiness(): [String](TopLevel.String.md)
+ - : Returns the business phone number to use for the customer.
+
+ **Returns:**
+ - the business phone number to use for the customer.
+
+
+---
+
+### getPhoneHome()
+- getPhoneHome(): [String](TopLevel.String.md)
+ - : Returns the phone number to use for the customer.
+
+ **Returns:**
+ - the phone number to use for the customer.
+
+
+---
+
+### getPhoneMobile()
+- getPhoneMobile(): [String](TopLevel.String.md)
+ - : Returns the mobile phone number to use for the customer.
+
+ **Returns:**
+ - the mobile phone number to use for the customer.
+
+
+---
+
+### getPreferredLocale()
+- getPreferredLocale(): [String](TopLevel.String.md)
+ - : Returns the customer's preferred locale.
+
+ **Returns:**
+ - the customer's preferred locale.
+
+
+---
+
+### getPreviousLoginTime()
+- getPreviousLoginTime(): [Date](TopLevel.Date.md)
+ - : Returns the time the customer logged in prior to the current login.
+
+ **Returns:**
+ - the time the customer logged in prior to the current login.
+
+
+---
+
+### getPreviousVisitTime()
+- getPreviousVisitTime(): [Date](TopLevel.Date.md)
+ - : Returns the time the customer visited the store prior to the current visit.
+
+ **Returns:**
+ - the time the customer visited the store prior to the current visit.
+
+
+---
+
+### getSalutation()
+- getSalutation(): [String](TopLevel.String.md)
+ - : Returns the salutation to use for the customer.
+
+ **Returns:**
+ - the salutation to use for the customer.
+
+
+---
+
+### getSecondName()
+- getSecondName(): [String](TopLevel.String.md)
+ - : Returns the customer's second name.
+
+ **Returns:**
+ - the customer's second name.
+
+
+---
+
+### getSuffix()
+- getSuffix(): [String](TopLevel.String.md)
+ - : Returns the customer's suffix, such as "Jr." or "Sr.".
+
+ **Returns:**
+ - the customer's suffix.
+
+
+---
+
+### getTaxID()
+- getTaxID(): [String](TopLevel.String.md)
+ - : Returns the tax ID value. The value is returned either plain
+ text if the current context allows plain text access, or
+ if it's not allowed, the ID value will be returned masked.
+ The following criteria must be met in order to have plain text access:
+
+
+
+ - the method call must happen in the context of a storefront request;
+ - the current customer must be registered and authenticated;
+ - it is the profile of the current customer;
+ - and the current protocol is HTTPS.
+
+
+ **Returns:**
+ - the tax ID value
+
+
+---
+
+### getTaxIDMasked()
+- getTaxIDMasked(): [String](TopLevel.String.md)
+ - : Returns the masked value of the tax ID.
+
+ **Returns:**
+ - the masked value of the tax ID
+
+
+---
+
+### getTaxIDType()
+- getTaxIDType(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the tax ID type.
+
+ **Returns:**
+ - the tax ID type
+
+
+---
+
+### getTitle()
+- getTitle(): [String](TopLevel.String.md)
+ - : Returns the customer's title, such as "Mrs" or "Mr".
+
+ **Returns:**
+ - the customer's title.
+
+
+---
+
+### getWallet()
+- getWallet(): [Wallet](dw.customer.Wallet.md)
+ - : Returns the wallet of this customer.
+
+ **Returns:**
+ - the wallet of this customer.
+
+
+---
+
+### isFemale()
+- isFemale(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates that the customer is female when set to true.
+
+ **Returns:**
+ - true if the customer is a female, false otherwise.
+
+
+---
+
+### isMale()
+- isMale(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates that the customer is male when set to true.
+
+ **Returns:**
+ - true if the customer is a male, false otherwise.
+
+
+---
+
+### setBirthday(Date)
+- setBirthday(aValue: [Date](TopLevel.Date.md)): void
+ - : Sets the customer's birthday as a date.
+
+ **Parameters:**
+ - aValue - the customer's birthday as a date.
+
+
+---
+
+### setCompanyName(String)
+- setCompanyName(aValue: [String](TopLevel.String.md)): void
+ - : Sets the customer's company name.
+
+ **Parameters:**
+ - aValue - the customer's company name.
+
+
+---
+
+### setEmail(String)
+- setEmail(aValue: [String](TopLevel.String.md)): void
+ - : Sets the customer's email address.
+
+ **Parameters:**
+ - aValue - the customer's email address.
+
+
+---
+
+### setFax(String)
+- setFax(number: [String](TopLevel.String.md)): void
+ - : Sets the fax number to use for the customer.
+ The length is restricted to 32 characters.
+
+
+ **Parameters:**
+ - number - the fax number to use for the customer.
+
+
+---
+
+### setFirstName(String)
+- setFirstName(aValue: [String](TopLevel.String.md)): void
+ - : Sets the customer's first name.
+
+ **Parameters:**
+ - aValue - the customer's first name.
+
+
+---
+
+### setGender(Number)
+- setGender(aValue: [Number](TopLevel.Number.md)): void
+ - : Sets the customer's gender.
+
+ **Parameters:**
+ - aValue - the customer's gender.
+
+
+---
+
+### setJobTitle(String)
+- setJobTitle(aValue: [String](TopLevel.String.md)): void
+ - : Sets the customer's job title.
+
+ **Parameters:**
+ - aValue - the customer's job title.
+
+
+---
+
+### setLastName(String)
+- setLastName(aValue: [String](TopLevel.String.md)): void
+ - : Sets the customer's last name.
+
+ **Parameters:**
+ - aValue - the customer's last name.
+
+
+---
+
+### setPhoneBusiness(String)
+- setPhoneBusiness(number: [String](TopLevel.String.md)): void
+ - : Sets the business phone number to use for the customer.
+ The length is restricted to 32 characters.
+
+
+ **Parameters:**
+ - number - the business phone number to use for the customer.
+
+
+---
+
+### setPhoneHome(String)
+- setPhoneHome(number: [String](TopLevel.String.md)): void
+ - : Sets the phone number to use for the customer.
+ The length is restricted to 32 characters.
+
+
+ **Parameters:**
+ - number - the phone number to use for the customer.
+
+
+---
+
+### setPhoneMobile(String)
+- setPhoneMobile(number: [String](TopLevel.String.md)): void
+ - : Sets the mobile phone number to use for the customer.
+ The length is restricted to 32 characters.
+
+
+ **Parameters:**
+ - number - the mobile phone number to use for the customer.
+
+
+---
+
+### setPreferredLocale(String)
+- setPreferredLocale(aValue: [String](TopLevel.String.md)): void
+ - : Sets the customer's preferred locale.
+
+ **Parameters:**
+ - aValue - the customer's preferred locale.
+
+
+---
+
+### setSaluation(String)
+- ~~setSaluation(salutation: [String](TopLevel.String.md)): void~~
+ - : Sets the salutation to use for the customer.
+
+ **Parameters:**
+ - salutation - the salutation to use for the customer.
+
+ **Deprecated:**
+:::warning
+Use [setSalutation(String)](dw.customer.Profile.md#setsalutationstring)
+:::
+
+---
+
+### setSalutation(String)
+- setSalutation(salutation: [String](TopLevel.String.md)): void
+ - : Sets the salutation to use for the customer.
+
+ **Parameters:**
+ - salutation - the salutation to use for the customer.
+
+
+---
+
+### setSecondName(String)
+- setSecondName(aValue: [String](TopLevel.String.md)): void
+ - : Sets the customer's second name.
+
+ **Parameters:**
+ - aValue - the customer's second name.
+
+
+---
+
+### setSuffix(String)
+- setSuffix(aValue: [String](TopLevel.String.md)): void
+ - : Sets the the customer's suffix.
+
+ **Parameters:**
+ - aValue - the customer's suffix.
+
+
+---
+
+### setTaxID(String)
+- setTaxID(taxID: [String](TopLevel.String.md)): void
+ - : Sets the tax ID value. The value can be set if the current context
+ allows write access.
+ The current context allows write access if the currently
+ logged in user owns this profile and the connection is secured.
+
+
+ **Parameters:**
+ - taxID - the tax ID value to set
+
+
+---
+
+### setTaxIDType(String)
+- setTaxIDType(taxIdType: [String](TopLevel.String.md)): void
+ - : Sets the tax ID type.
+
+ **Parameters:**
+ - taxIdType - the tax ID type to set
+
+
+---
+
+### setTitle(String)
+- setTitle(aValue: [String](TopLevel.String.md)): void
+ - : Sets the customer's title.
+
+ **Parameters:**
+ - aValue - the customer's title.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.Wallet.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.Wallet.md
new file mode 100644
index 00000000..d8f8bf4a
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.Wallet.md
@@ -0,0 +1,136 @@
+
+# Class Wallet
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.Wallet](dw.customer.Wallet.md)
+
+Represents a set of payment instruments associated with a registered customer.
+
+
+**Note:** this class allows access to sensitive personal and private
+information. Pay attention to appropriate legal and regulatory requirements
+when developing.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [defaultPaymentInstrument](#defaultpaymentinstrument): [CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md) `(read-only)` | Returns the default payment instrument associated with the related customer. |
+| [paymentInstruments](#paymentinstruments): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all payment instruments associated with the related customer. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createPaymentInstrument](dw.customer.Wallet.md#createpaymentinstrumentstring)([String](TopLevel.String.md)) | Creates a new, empty payment instrument object associated with the related customer for the given payment method. |
+| [getDefaultPaymentInstrument](dw.customer.Wallet.md#getdefaultpaymentinstrument)() | Returns the default payment instrument associated with the related customer. |
+| [getPaymentInstruments](dw.customer.Wallet.md#getpaymentinstruments)() | Returns a collection of all payment instruments associated with the related customer. |
+| [getPaymentInstruments](dw.customer.Wallet.md#getpaymentinstrumentsstring)([String](TopLevel.String.md)) | Returns a collection of all payment instruments associated with the related customer filtered by the given payment method id. |
+| [removePaymentInstrument](dw.customer.Wallet.md#removepaymentinstrumentcustomerpaymentinstrument)([CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md)) | Removes a payment instrument associated with the customer. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### defaultPaymentInstrument
+- defaultPaymentInstrument: [CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md) `(read-only)`
+ - : Returns the default payment instrument associated with the related customer. If not available, returns the first
+ payment instrument or null if no payment instruments are associated with the customer.
+
+
+
+---
+
+### paymentInstruments
+- paymentInstruments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all payment instruments associated with the
+ related customer.
+
+
+
+---
+
+## Method Details
+
+### createPaymentInstrument(String)
+- createPaymentInstrument(paymentMethodId: [String](TopLevel.String.md)): [CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md)
+ - : Creates a new, empty payment instrument object associated with the
+ related customer for the given payment method.
+
+
+ **Parameters:**
+ - paymentMethodId - the id of a payment method
+
+ **Returns:**
+ - the new payment instrument object.
+
+ **Throws:**
+ - NullArgumentException - If passed 'paymentMethodId' is null.
+
+
+---
+
+### getDefaultPaymentInstrument()
+- getDefaultPaymentInstrument(): [CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md)
+ - : Returns the default payment instrument associated with the related customer. If not available, returns the first
+ payment instrument or null if no payment instruments are associated with the customer.
+
+
+ **Returns:**
+ - The default payment instrument object.
+
+
+---
+
+### getPaymentInstruments()
+- getPaymentInstruments(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all payment instruments associated with the
+ related customer.
+
+
+ **Returns:**
+ - Collection of all payment instruments.
+
+
+---
+
+### getPaymentInstruments(String)
+- getPaymentInstruments(paymentMethodID: [String](TopLevel.String.md)): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all payment instruments associated with the
+ related customer filtered by the given payment method id. If
+ `null` is passed as payment method id all payment instruments
+ of the customer will be retrieved. If for the given payment method id no
+ payment instrument is associated with the customer an empty collection
+ will be returned.
+
+
+ **Parameters:**
+ - paymentMethodID - the paymentMethodID the payment method id to filter for
+
+ **Returns:**
+ - Collection of payment instruments for a payment method.
+
+
+---
+
+### removePaymentInstrument(CustomerPaymentInstrument)
+- removePaymentInstrument(instrument: [CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md)): void
+ - : Removes a payment instrument associated with the customer.
+
+ **Parameters:**
+ - instrument - the instrument associated with this customer
+
+ **Throws:**
+ - NullArgumentException - If passed 'instrument' is null.
+ - IllegalArgumentException - If passed 'instrument' belongs to an other customer
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.md
new file mode 100644
index 00000000..ab6f7eaf
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.md
@@ -0,0 +1,31 @@
+# Package dw.customer
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [AddressBook](dw.customer.AddressBook.md) | Represents a set of addresses associated with a specific customer. |
+| [AgentUserMgr](dw.customer.AgentUserMgr.md) | Provides helper methods for handling agent user functionality (login and logout) Pay attention to appropriate legal and regulatory requirements related to this functionality. |
+| [AgentUserStatusCodes](dw.customer.AgentUserStatusCodes.md) | AgentUserStatusCodes contains constants representing status codes that can be used with a [Status](dw.system.Status.md) object to indicate the success or failure of the agent user login process. |
+| [AuthenticationStatus](dw.customer.AuthenticationStatus.md) | Holds the status of an authentication process. |
+| [Credentials](dw.customer.Credentials.md) | Represents the credentials of a customer. |
+| [Customer](dw.customer.Customer.md) | Represents a customer. |
+| [CustomerActiveData](dw.customer.CustomerActiveData.md) | Represents the active data for a [Customer](dw.customer.Customer.md) in Commerce Cloud Digital. |
+| [CustomerAddress](dw.customer.CustomerAddress.md) | The Address class represents a customer's address. |
+| [CustomerCDPData](dw.customer.CustomerCDPData.md) | Represents the read-only Customer's Salesforce CDP (Customer Data Platform) data for a [Customer](dw.customer.Customer.md) in Commerce Cloud. |
+| [CustomerContextMgr](dw.customer.CustomerContextMgr.md) | Provides helper methods for managing customer context, such as the Effective Time for which the customer is shopping at |
+| [CustomerGroup](dw.customer.CustomerGroup.md) | CustomerGroups provide a means to segment customers by various criteria. |
+| [CustomerList](dw.customer.CustomerList.md) | Object representing the collection of customers who are registered for a given site. |
+| [CustomerMgr](dw.customer.CustomerMgr.md) | Provides helper methods for managing customers and customer profiles. |
+| [CustomerPasswordConstraints](dw.customer.CustomerPasswordConstraints.md) | Provides access to the constraints of customer passwords. |
+| [CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md) | Represents any payment instrument stored in the customers profile, such as credit card or bank transfer. |
+| [CustomerStatusCodes](dw.customer.CustomerStatusCodes.md) | CustomerStatusCodes contains constants representing status codes that can be used with a Status object to indicate the success or failure of an operation. |
+| [EncryptedObject](dw.customer.EncryptedObject.md) | Defines a API base class for classes containing encrypted attributes like credit cards. |
+| [ExternalProfile](dw.customer.ExternalProfile.md) | Represents the credentials of a customer. |
+| [OrderHistory](dw.customer.OrderHistory.md) | The class provides access to past orders of the customer. |
+| [ProductList](dw.customer.ProductList.md) | Represents a list of products (and optionally a gift certificate) that is typically maintained by a customer. |
+| [ProductListItem](dw.customer.ProductListItem.md) | An item in a product list. |
+| [ProductListItemPurchase](dw.customer.ProductListItemPurchase.md) | A record of the purchase of an item contained in a product list. |
+| [ProductListMgr](dw.customer.ProductListMgr.md) | ProductListMgr provides methods for retrieving, creating, searching for, and removing product lists. |
+| [ProductListRegistrant](dw.customer.ProductListRegistrant.md) | A ProductListRegistrant is typically associated with an event related product list such as a gift registry. |
+| [Profile](dw.customer.Profile.md) | The class represents a customer profile. |
+| [Wallet](dw.customer.Wallet.md) | Represents a set of payment instruments associated with a registered customer. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthAccessTokenResponse.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthAccessTokenResponse.md
new file mode 100644
index 00000000..eb498933
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthAccessTokenResponse.md
@@ -0,0 +1,171 @@
+
+# Class OAuthAccessTokenResponse
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.oauth.OAuthAccessTokenResponse](dw.customer.oauth.OAuthAccessTokenResponse.md)
+
+Contains OAuth-related artifacts from the HTTP response from the third-party
+OAuth server when requesting an access token
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [IDToken](#idtoken): [String](TopLevel.String.md) `(read-only)` | Returns the ID token, if available |
+| [accessToken](#accesstoken): [String](TopLevel.String.md) `(read-only)` | Returns the access token |
+| [accessTokenExpiry](#accesstokenexpiry): [Number](TopLevel.Number.md) `(read-only)` | Returns the access token expiration |
+| [errorStatus](#errorstatus): [String](TopLevel.String.md) `(read-only)` | Returns the error status. |
+| [extraTokens](#extratokens): [Map](dw.util.Map.md) `(read-only)` | Returns a map of additional tokens found in the response. |
+| [oauthProviderId](#oauthproviderid): [String](TopLevel.String.md) `(read-only)` | Returns the OAuth provider id |
+| [refreshToken](#refreshtoken): [String](TopLevel.String.md) `(read-only)` | Returns the refresh token |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAccessToken](dw.customer.oauth.OAuthAccessTokenResponse.md#getaccesstoken)() | Returns the access token |
+| [getAccessTokenExpiry](dw.customer.oauth.OAuthAccessTokenResponse.md#getaccesstokenexpiry)() | Returns the access token expiration |
+| [getErrorStatus](dw.customer.oauth.OAuthAccessTokenResponse.md#geterrorstatus)() | Returns the error status. |
+| [getExtraTokens](dw.customer.oauth.OAuthAccessTokenResponse.md#getextratokens)() | Returns a map of additional tokens found in the response. |
+| [getIDToken](dw.customer.oauth.OAuthAccessTokenResponse.md#getidtoken)() | Returns the ID token, if available |
+| [getOauthProviderId](dw.customer.oauth.OAuthAccessTokenResponse.md#getoauthproviderid)() | Returns the OAuth provider id |
+| [getRefreshToken](dw.customer.oauth.OAuthAccessTokenResponse.md#getrefreshtoken)() | Returns the refresh token |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### IDToken
+- IDToken: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID token, if available
+
+
+---
+
+### accessToken
+- accessToken: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the access token
+
+
+---
+
+### accessTokenExpiry
+- accessTokenExpiry: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the access token expiration
+
+
+---
+
+### errorStatus
+- errorStatus: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the error status.
+ In cases of errors - more detailed error information
+ can be seen in the error log files (specifity of error details vary by OAuth provider).
+
+
+
+---
+
+### extraTokens
+- extraTokens: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns a map of additional tokens found in the response.
+
+
+---
+
+### oauthProviderId
+- oauthProviderId: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the OAuth provider id
+
+
+---
+
+### refreshToken
+- refreshToken: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the refresh token
+
+
+---
+
+## Method Details
+
+### getAccessToken()
+- getAccessToken(): [String](TopLevel.String.md)
+ - : Returns the access token
+
+ **Returns:**
+ - the access token, if available, null otherwise
+
+
+---
+
+### getAccessTokenExpiry()
+- getAccessTokenExpiry(): [Number](TopLevel.Number.md)
+ - : Returns the access token expiration
+
+ **Returns:**
+ - the access token expiration
+
+
+---
+
+### getErrorStatus()
+- getErrorStatus(): [String](TopLevel.String.md)
+ - : Returns the error status.
+ In cases of errors - more detailed error information
+ can be seen in the error log files (specifity of error details vary by OAuth provider).
+
+
+ **Returns:**
+ - the error status, if available, null otherwise
+
+
+---
+
+### getExtraTokens()
+- getExtraTokens(): [Map](dw.util.Map.md)
+ - : Returns a map of additional tokens found in the response.
+
+ **Returns:**
+ - Additional tokens provided by the token end-point. May be null or empty.
+
+
+---
+
+### getIDToken()
+- getIDToken(): [String](TopLevel.String.md)
+ - : Returns the ID token, if available
+
+ **Returns:**
+ - the ID token, if available, null otherwise
+
+
+---
+
+### getOauthProviderId()
+- getOauthProviderId(): [String](TopLevel.String.md)
+ - : Returns the OAuth provider id
+
+ **Returns:**
+ - the OAuth provider id
+
+
+---
+
+### getRefreshToken()
+- getRefreshToken(): [String](TopLevel.String.md)
+ - : Returns the refresh token
+
+ **Returns:**
+ - the refresh token, if available, null otherwise
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthFinalizedResponse.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthFinalizedResponse.md
new file mode 100644
index 00000000..9f8ec56d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthFinalizedResponse.md
@@ -0,0 +1,75 @@
+
+# Class OAuthFinalizedResponse
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.oauth.OAuthFinalizedResponse](dw.customer.oauth.OAuthFinalizedResponse.md)
+
+Contains the combined responses from the third-party OAuth server when
+finalizing the authentication.
+
+
+Contains both the [OAuthAccessTokenResponse](dw.customer.oauth.OAuthAccessTokenResponse.md)
+
+and the [OAuthUserInfoResponse](dw.customer.oauth.OAuthUserInfoResponse.md)
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [accessTokenResponse](#accesstokenresponse): [OAuthAccessTokenResponse](dw.customer.oauth.OAuthAccessTokenResponse.md) `(read-only)` | Returns the access token response |
+| [userInfoResponse](#userinforesponse): [OAuthUserInfoResponse](dw.customer.oauth.OAuthUserInfoResponse.md) `(read-only)` | Returns the user info response |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAccessTokenResponse](dw.customer.oauth.OAuthFinalizedResponse.md#getaccesstokenresponse)() | Returns the access token response |
+| [getUserInfoResponse](dw.customer.oauth.OAuthFinalizedResponse.md#getuserinforesponse)() | Returns the user info response |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### accessTokenResponse
+- accessTokenResponse: [OAuthAccessTokenResponse](dw.customer.oauth.OAuthAccessTokenResponse.md) `(read-only)`
+ - : Returns the access token response
+
+
+---
+
+### userInfoResponse
+- userInfoResponse: [OAuthUserInfoResponse](dw.customer.oauth.OAuthUserInfoResponse.md) `(read-only)`
+ - : Returns the user info response
+
+
+---
+
+## Method Details
+
+### getAccessTokenResponse()
+- getAccessTokenResponse(): [OAuthAccessTokenResponse](dw.customer.oauth.OAuthAccessTokenResponse.md)
+ - : Returns the access token response
+
+ **Returns:**
+ - the access token response
+
+
+---
+
+### getUserInfoResponse()
+- getUserInfoResponse(): [OAuthUserInfoResponse](dw.customer.oauth.OAuthUserInfoResponse.md)
+ - : Returns the user info response
+
+ **Returns:**
+ - the user info response
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthLoginFlowMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthLoginFlowMgr.md
new file mode 100644
index 00000000..3e8ee7d6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthLoginFlowMgr.md
@@ -0,0 +1,165 @@
+
+# Class OAuthLoginFlowMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.oauth.OAuthLoginFlowMgr](dw.customer.oauth.OAuthLoginFlowMgr.md)
+
+The OAuthLoginFlowMgr encapsulates interactions with third party
+OAuth providers to support the Authorization Code Flow.
+
+The way to use is:
+
+- call [initiateOAuthLogin(String)](dw.customer.oauth.OAuthLoginFlowMgr.md#initiateoauthloginstring)
+- redirect the user to the returned link
+- when the user authenticates there the server will call back to a URL configured on the provider's web site
+- when processing the request made from the provider's web site you have two choices - either call the [obtainAccessToken()](dw.customer.oauth.OAuthLoginFlowMgr.md#obtainaccesstoken)and [obtainUserInfo(String, String)](dw.customer.oauth.OAuthLoginFlowMgr.md#obtainuserinfostring-string)methods one after another separately (gives you more flexibility), or call the [finalizeOAuthLogin()](dw.customer.oauth.OAuthLoginFlowMgr.md#finalizeoauthlogin)method which internally calls the other two (simpler to use).
+
+Sample code for using it:
+
+```
+var finalizedResponse : OAuthFinalizedResponse = OAuthLoginFlowMgr.finalizeOAuthLogin();
+var userInfo = finalizedResponse.userInfoResponse.userInfo;
+```
+
+or:
+
+```
+var accessTokenResponse : OAuthAccessTokenResponse = OAuthLoginFlowMgr.obtainAccessToken();
+var userInfoResponse : OAuthUserInfoResponse = OAuthLoginFlowMgr.obtainUserInfo(
+ accessTokenResponse.oauthProviderId, accessTokenResponse.accessToken);
+var userInfo = userInfoResponse.userInfo;
+```
+
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [OAuthLoginFlowMgr](#oauthloginflowmgr)() | |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [finalizeOAuthLogin](dw.customer.oauth.OAuthLoginFlowMgr.md#finalizeoauthlogin)() | This method works in tandem with the [initiateOAuthLogin(String)](dw.customer.oauth.OAuthLoginFlowMgr.md#initiateoauthloginstring) method. |
+| static [initiateOAuthLogin](dw.customer.oauth.OAuthLoginFlowMgr.md#initiateoauthloginstring)([String](TopLevel.String.md)) | This method works in tandem with another method - [finalizeOAuthLogin()](dw.customer.oauth.OAuthLoginFlowMgr.md#finalizeoauthlogin). |
+| static [obtainAccessToken](dw.customer.oauth.OAuthLoginFlowMgr.md#obtainaccesstoken)() | This method is called internally by [finalizeOAuthLogin()](dw.customer.oauth.OAuthLoginFlowMgr.md#finalizeoauthlogin). |
+| static [obtainUserInfo](dw.customer.oauth.OAuthLoginFlowMgr.md#obtainuserinfostring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | This method is called internally by [finalizeOAuthLogin()](dw.customer.oauth.OAuthLoginFlowMgr.md#finalizeoauthlogin). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### OAuthLoginFlowMgr()
+- OAuthLoginFlowMgr()
+ - :
+
+
+---
+
+## Method Details
+
+### finalizeOAuthLogin()
+- static finalizeOAuthLogin(): [OAuthFinalizedResponse](dw.customer.oauth.OAuthFinalizedResponse.md)
+ - : This method works in tandem with the [initiateOAuthLogin(String)](dw.customer.oauth.OAuthLoginFlowMgr.md#initiateoauthloginstring) method.
+ After the user has been redirected to the URL returned by that method
+ to the external OAuth2 provider and the user has interacted with the provider's
+ site, the browser is redirected to a URL configured on the provider's web
+ site. This URL should be that of a pipeline that contains
+ a script invoking the finalizeOAuthLogin method.
+
+
+ At this point the user has either been authenticated by the external provider
+ or not (forgot password, or simply refused to provide credentials). If the user
+ has been authenticated by the external provider and the provider returns an
+ authentication code, this method exchanges the code for a token and with that
+ token it requests from the provider the user information specified by the
+ configured scope (id, first/last name, email, etc.).
+
+
+
+ The method is aggregation of two other methods - [obtainAccessToken()](dw.customer.oauth.OAuthLoginFlowMgr.md#obtainaccesstoken)
+ and [obtainUserInfo(String, String)](dw.customer.oauth.OAuthLoginFlowMgr.md#obtainuserinfostring-string)
+ and is provided for convenience. You may want to
+ use the two individual methods instead if you need more flexibility.
+
+
+
+ This supports the Authorization Code Flow.
+
+
+ **Returns:**
+ - the user info on success, null otherwise
+
+
+---
+
+### initiateOAuthLogin(String)
+- static initiateOAuthLogin(oauthProviderId: [String](TopLevel.String.md)): [URLRedirect](dw.web.URLRedirect.md)
+ - : This method works in tandem with another method - [finalizeOAuthLogin()](dw.customer.oauth.OAuthLoginFlowMgr.md#finalizeoauthlogin).
+ It starts the process of authentication via an external OAuth2 provider. It
+ takes one parameter - OAuthProviderId (as configured in the system). Outputs
+ an URL pointing to the OAuth2 provider's web page to which the browser should
+ redirect to initiate the actual user authentication or NULL if there is an
+ invalid configuration or an error occurs.
+ The method stores a few key/values in the session
+ ([Session.getPrivacy()](dw.system.Session.md#getprivacy), implementation specific parameters and may change at any time)
+ to be picked up by the [finalizeOAuthLogin()](dw.customer.oauth.OAuthLoginFlowMgr.md#finalizeoauthlogin) method when the provider redirects back.
+
+
+
+ This supports the Authorization Code Flow.
+
+
+ **Parameters:**
+ - oauthProviderId - the OAuth provider id
+
+ **Returns:**
+ - URL to redirect to
+
+
+---
+
+### obtainAccessToken()
+- static obtainAccessToken(): [OAuthAccessTokenResponse](dw.customer.oauth.OAuthAccessTokenResponse.md)
+ - : This method is called internally by [finalizeOAuthLogin()](dw.customer.oauth.OAuthLoginFlowMgr.md#finalizeoauthlogin).
+ There are customer requests to expose a more granular way of
+ doing the interactions that finalizeOAuthLogin is currently doing
+ with the third party OAuth server to accommodate certain providers.
+
+
+
+ This supports the Authorization Code Flow.
+
+
+ **Returns:**
+ - the access token response
+
+
+---
+
+### obtainUserInfo(String, String)
+- static obtainUserInfo(oauthProviderId: [String](TopLevel.String.md), accessToken: [String](TopLevel.String.md)): [OAuthUserInfoResponse](dw.customer.oauth.OAuthUserInfoResponse.md)
+ - : This method is called internally by [finalizeOAuthLogin()](dw.customer.oauth.OAuthLoginFlowMgr.md#finalizeoauthlogin).
+ There are customer requests to expose a more granular way of
+ doing the interactions that finalizeOAuthLogin is currently doing
+ with the third party OAuth server to accommodate certain providers.
+
+
+
+ This supports the Authorization Code Flow.
+
+
+ **Parameters:**
+ - oauthProviderId - the OAuth provider id
+ - accessToken - the OAuth provider's access token
+
+ **Returns:**
+ - the user info response
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthUserInfoResponse.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthUserInfoResponse.md
new file mode 100644
index 00000000..fbeb141a
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.OAuthUserInfoResponse.md
@@ -0,0 +1,84 @@
+
+# Class OAuthUserInfoResponse
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.oauth.OAuthUserInfoResponse](dw.customer.oauth.OAuthUserInfoResponse.md)
+
+Contains the response from the third-party OAuth server when
+requesting user info. Refer to the corresponding OAuth provider documentation
+regarding what the format might be (in most cases it would be JSON).
+The data returned would also vary depending on the scope.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [errorStatus](#errorstatus): [String](TopLevel.String.md) `(read-only)` | Returns the error status In cases of errors - more detailed error information can be seen in the error log files (specificity of error details vary by OAuth provider). |
+| [userInfo](#userinfo): [String](TopLevel.String.md) `(read-only)` | Returns the user info as a String. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getErrorStatus](dw.customer.oauth.OAuthUserInfoResponse.md#geterrorstatus)() | Returns the error status In cases of errors - more detailed error information can be seen in the error log files (specificity of error details vary by OAuth provider). |
+| [getUserInfo](dw.customer.oauth.OAuthUserInfoResponse.md#getuserinfo)() | Returns the user info as a String. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### errorStatus
+- errorStatus: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the error status
+ In cases of errors - more detailed error information
+ can be seen in the error log files (specificity of error details vary by OAuth provider).
+
+
+
+---
+
+### userInfo
+- userInfo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the user info as a String. Refer to the corresponding OAuth provider documentation
+ regarding what the format might be (in most cases it would be JSON).
+ The data returned would also vary depending on the configured 'scope'.
+
+
+
+---
+
+## Method Details
+
+### getErrorStatus()
+- getErrorStatus(): [String](TopLevel.String.md)
+ - : Returns the error status
+ In cases of errors - more detailed error information
+ can be seen in the error log files (specificity of error details vary by OAuth provider).
+
+
+ **Returns:**
+ - the error status
+
+
+---
+
+### getUserInfo()
+- getUserInfo(): [String](TopLevel.String.md)
+ - : Returns the user info as a String. Refer to the corresponding OAuth provider documentation
+ regarding what the format might be (in most cases it would be JSON).
+ The data returned would also vary depending on the configured 'scope'.
+
+
+ **Returns:**
+ - the user info
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.md
new file mode 100644
index 00000000..102161dd
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.oauth.md
@@ -0,0 +1,9 @@
+# Package dw.customer.oauth
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [OAuthAccessTokenResponse](dw.customer.oauth.OAuthAccessTokenResponse.md) | Contains OAuth-related artifacts from the HTTP response from the third-party OAuth server when requesting an access token |
+| [OAuthFinalizedResponse](dw.customer.oauth.OAuthFinalizedResponse.md) | Contains the combined responses from the third-party OAuth server when finalizing the authentication. Sets new [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) for the customer or overwrites the existing context. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### geolocation
+- geolocation: [Geolocation](dw.util.Geolocation.md) `(read-only)`
+ - : Gets the [Geolocation](dw.util.Geolocation.md) object for the clientIP set in
+ [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) or null if no shopperContext is found, or no clientIP was set
+ or Geolocation for the clientIP was not found.
+
+
+ The method throws an exception if the call fails.
+
+
+
+---
+
+### shopperContext
+- shopperContext: [ShopperContext](dw.customer.shoppercontext.ShopperContext.md)
+ - : Returns the [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) if it exists for the customer. Returns null if it
+ does not exist.
+
+
+
+---
+
+## Method Details
+
+### getGeolocation()
+- static getGeolocation(): [Geolocation](dw.util.Geolocation.md)
+ - : Gets the [Geolocation](dw.util.Geolocation.md) object for the clientIP set in
+ [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) or null if no shopperContext is found, or no clientIP was set
+ or Geolocation for the clientIP was not found.
+
+
+ The method throws an exception if the call fails.
+
+
+ **Throws:**
+ - dw.customer.shoppercontext.ShopperContextException - This exception is thrown if error occurs while trying to retrieve Geolocation string from the Shopper Context.
+
+
+---
+
+### getShopperContext()
+- static getShopperContext(): [ShopperContext](dw.customer.shoppercontext.ShopperContext.md)
+ - : Returns the [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) if it exists for the customer. Returns null if it
+ does not exist.
+
+
+ **Returns:**
+ - The Shopper Context or null.
+
+ **Throws:**
+ - dw.customer.shoppercontext.ShopperContextException - This exception is thrown if an error occurs while fetching the Shopper Context.
+
+
+---
+
+### removeShopperContext()
+- static removeShopperContext(): void
+ - : Removes the [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) for the customer.
+
+
+ The method throws an exception if the deletion of Shopper Context fails.
+
+
+ **Throws:**
+ - dw.customer.shoppercontext.ShopperContextException - This exception is thrown if error occurs while deleting the Shopper Context.
+
+
+---
+
+### setShopperContext(ShopperContext, Boolean)
+- static setShopperContext(shopperContext: [ShopperContext](dw.customer.shoppercontext.ShopperContext.md), evaluateContextWithClientIP: [Boolean](TopLevel.Boolean.md)): void
+ - :
+
+ Sets new [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) for the customer or overwrites the existing context.
+
+
+
+
+ Note: This method does not save the attributes from the given Shopper Context such as - custom session
+ attributes, source code, effective date time etc., - in the current session object. These attributes are read
+ from Shopper Context and stored in the corresponding session attributes during subsequent requests and not in the
+ current request. Hence, promotions, price books etc., are triggered in subsequent requests.
+
+
+ If `clientIP` is set in [ShopperContext](dw.customer.shoppercontext.ShopperContext.md), the geolocation information
+ is retrieved and set in `x-geolocation` header.
+
+
+ And if the parameter `evaluateContextWithClientIP` is set to true, the `clientIP` will be
+ saved to the Shopper Context.
+
+
+ If parameter `evaluateContextWithClientIP` is set to false, the `clientIP` will not be
+ saved to the Shopper Context.
+
+
+ If the `geoLocation` attribute is set, it overrides any geolocation context set by
+ `clientIP`.
+
+
+ **Parameters:**
+ - shopperContext - The new Shopper Context to set. See documentation for [ShopperContext](dw.customer.shoppercontext.ShopperContext.md)
+ - evaluateContextWithClientIP - The boolean to determine if Shopper Context should be evaluated with clientIP address.
+
+ **Throws:**
+ - dw.customer.shoppercontext.ShopperContextException - This exception is thrown if the Shopper Context is not saved or if validation fails.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.md
new file mode 100644
index 00000000..fdbc9bb6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.md
@@ -0,0 +1,9 @@
+# Package dw.customer.shoppercontext
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) | The class represents Shopper Context. |
+| [ShopperContextErrorCodes](dw.customer.shoppercontext.ShopperContextErrorCodes.md) | Helper class containing error codes to indicate why a Shopper Context cannot be accessed, set or modified. |
+| [ShopperContextException](dw.customer.shoppercontext.ShopperContextException.md) | This exception could be thrown by [ShopperContextMgr.setShopperContext(ShopperContext, Boolean)](dw.customer.shoppercontext.ShopperContextMgr.md#setshoppercontextshoppercontext-boolean), [ShopperContextMgr.getShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#getshoppercontext) and [ShopperContextMgr.removeShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#removeshoppercontext) when an error occurs. |
+| [ShopperContextMgr](dw.customer.shoppercontext.ShopperContextMgr.md) | Provides static helper methods for managing Shopper Context. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.AspectAttributeValidationException.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.AspectAttributeValidationException.md
new file mode 100644
index 00000000..49a34a6e
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.AspectAttributeValidationException.md
@@ -0,0 +1,25 @@
+
+# Class AspectAttributeValidationException
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.AspectAttributeValidationException](dw.experience.AspectAttributeValidationException.md)
+
+This APIException is thrown by method [PageMgr.renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string)
+and [PageMgr.serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string)
+to indicate that the passed aspect attributes failed during validation against the
+definition provided through the aspect type of the page.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class Error
+
+[captureStackTrace](TopLevel.Error.md#capturestacktraceerror-function), [toString](TopLevel.Error.md#tostring)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.Component.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.Component.md
new file mode 100644
index 00000000..56706328
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.Component.md
@@ -0,0 +1,166 @@
+
+# Class Component
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.Component](dw.experience.Component.md)
+
+This class represents a page designer managed component as part of a
+page. A component comprises of multiple regions that again hold components,
+thus spanning a hierarchical tree of components. Using the [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or
+[PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings) a region can be rendered which
+implicitly includes rendering of all contained visible components. All
+content attributes (defined by the corresponding component type) can be
+accessed, reading the accordant persisted values as provided by the content editor
+who created this component.
+
+
+**See Also:**
+- [Page](dw.experience.Page.md)
+- [Region](dw.experience.Region.md)
+- [PageMgr](dw.experience.PageMgr.md)
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the id of this component. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of this component |
+| [typeID](#typeid): [String](TopLevel.String.md) `(read-only)` | Returns the type id of this component. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAttribute](dw.experience.Component.md#getattributestring)([String](TopLevel.String.md)) | Returns the raw attribute value identified by the specified attribute id. |
+| [getID](dw.experience.Component.md#getid)() | Returns the id of this component. |
+| [getName](dw.experience.Component.md#getname)() | Returns the name of this component |
+| [getRegion](dw.experience.Component.md#getregionstring)([String](TopLevel.String.md)) | Returns the component region that matches the given id. |
+| [getTypeID](dw.experience.Component.md#gettypeid)() | Returns the type id of this component. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the id of this component.
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of this component
+
+
+---
+
+### typeID
+- typeID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the type id of this component.
+
+
+---
+
+## Method Details
+
+### getAttribute(String)
+- getAttribute(attributeID: [String](TopLevel.String.md)): [Object](TopLevel.Object.md)
+ - :
+ Returns the raw attribute value identified by the specified attribute id.
+ By raw attribute value we denote the unprocessed value as provided for the attribute
+ driven by the type of the respective attribute definition:
+
+ - `boolean`-> boolean
+ - `category`-> string representing a catalog category ID
+ - `custom`-> [Map](dw.util.Map.md)that originates from a stringified curly brackets {} JSON object
+ - `cms_record`-> [Map](dw.util.Map.md)that originates from a stringified curly brackets {} JSON object whose entries must adhere to the `cmsrecord.json`schema
+ - `enum`-> either string or integer
+ - `file`-> string representing a file path within a library
+ - `image`-> [Map](dw.util.Map.md)that originates from a stringified curly brackets {} JSON object whose entries must adhere to the `content/schema/image.json`schema
+ - `integer`-> integer
+ - `markup`-> string representing HTML markup
+ - `page`-> string representing a page ID
+ - `product`-> string representing a product SKU
+ - `string`-> string
+ - `text`-> string
+ - `url`-> string representing a URL
+
+
+
+
+
+ There is two places an attribute value can come from - either it was persisted at design time (e.g.
+ by the merchant by editing a component in Page Designer) or it was injected in shape of an aspect attribute at rendering time
+ through the execution of code. The persistent value, if existing, takes precedence over the injected aspect
+ attribute one. Injection of a value through an aspect attribute will only occur if the component attribute's
+ attribute definition was declared using the `"dynamic_lookup"` property and its aspect attribute alias matches
+ the ID of the respective aspect attribute.
+
+
+
+ Accessing the raw value can be helpful if render and serialization logic of the
+ component needs to operate on these unprocessed values. An unprocessed value
+ might be fundamentally different from its processed counterpart, the latter being
+ provided through the content dictionary (see [ComponentScriptContext.getContent()](dw.experience.ComponentScriptContext.md#getcontent))
+ when the render/serialize function of the component is invoked.
+
+
+ **Parameters:**
+ - attributeID - the id of the desired attribute
+
+ **Returns:**
+ - the unprocessed raw value of the desired attribute, or null if not found
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the id of this component.
+
+ **Returns:**
+ - the component id
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of this component
+
+ **Returns:**
+ - the component name
+
+
+---
+
+### getRegion(String)
+- getRegion(id: [String](TopLevel.String.md)): [Region](dw.experience.Region.md)
+ - : Returns the component region that matches the given id.
+
+ **Parameters:**
+ - id - the id of the desired component region
+
+ **Returns:**
+ - the region, or null if not found.
+
+
+---
+
+### getTypeID()
+- getTypeID(): [String](TopLevel.String.md)
+ - : Returns the type id of this component.
+
+ **Returns:**
+ - the component type id
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.ComponentRenderSettings.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.ComponentRenderSettings.md
new file mode 100644
index 00000000..73da1f2e
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.ComponentRenderSettings.md
@@ -0,0 +1,130 @@
+
+# Class ComponentRenderSettings
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.ComponentRenderSettings](dw.experience.ComponentRenderSettings.md)
+
+A config that drives how the component is rendered. One can basically decide which kind of tag is used as wrapper
+element (e.g. ` Returns the dependencies to other custom editors, e.g. |
+| [resources](#resources): [CustomEditorResources](dw.experience.CustomEditorResources.md) `(read-only)` | Returns the resources of the custom editor. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getConfiguration](dw.experience.CustomEditor.md#getconfiguration)() | Returns the configuration of the custom editor. |
+| [getDependencies](dw.experience.CustomEditor.md#getdependencies)() | Returns the dependencies to other custom editors, e.g. |
+| [getResources](dw.experience.CustomEditor.md#getresources)() | Returns the resources of the custom editor. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### configuration
+- configuration: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns the configuration of the custom editor. This is initialized with the values as provided
+ through the editor definition of the respective attribute definition of type `custom`.
+ Be aware that this configuration will have to be serializable to JSON itself as it will be passed
+ to Page Designer for processing in the UI. So you must not add any values in this map that are not
+ properly serializable. Do not use complex DWScript classes that do not support JSON serialization
+ like for instance [Product](dw.catalog.Product.md).
+
+
+
+---
+
+### dependencies
+- dependencies: [Map](dw.util.Map.md) `(read-only)`
+ - :
+
+ Returns the dependencies to other custom editors, e.g. used as breakout elements. You can use
+ this mapping to add more custom editor dependencies as needed. For this purpose you want to create
+ a [CustomEditor](dw.experience.CustomEditor.md) instance via [PageMgr.getCustomEditor(String, Map)](dw.experience.PageMgr.md#getcustomeditorstring-map)) and then add it
+ to the dependencies mapping with an ID of your choice. In the client side logic of Page Designer
+ you will then be able to access these dependencies again by using the corresponding ID.
+
+
+
+
+ This is especially helpful if your custom editor for an attribute requires to open a breakout panel,
+ e.g. for a separate picker required by your custom editor. This picker could be another custom editor,
+ i.e. the one you declare as dependency here.
+
+
+
+---
+
+### resources
+- resources: [CustomEditorResources](dw.experience.CustomEditorResources.md) `(read-only)`
+ - : Returns the resources of the custom editor. This is initialized with the values as specified
+ by the custom editor type json (see the respective styles and scripts section).
+
+
+
+---
+
+## Method Details
+
+### getConfiguration()
+- getConfiguration(): [Map](dw.util.Map.md)
+ - : Returns the configuration of the custom editor. This is initialized with the values as provided
+ through the editor definition of the respective attribute definition of type `custom`.
+ Be aware that this configuration will have to be serializable to JSON itself as it will be passed
+ to Page Designer for processing in the UI. So you must not add any values in this map that are not
+ properly serializable. Do not use complex DWScript classes that do not support JSON serialization
+ like for instance [Product](dw.catalog.Product.md).
+
+
+ **Returns:**
+ - the configuration of the custom editor
+
+
+---
+
+### getDependencies()
+- getDependencies(): [Map](dw.util.Map.md)
+ - :
+
+ Returns the dependencies to other custom editors, e.g. used as breakout elements. You can use
+ this mapping to add more custom editor dependencies as needed. For this purpose you want to create
+ a [CustomEditor](dw.experience.CustomEditor.md) instance via [PageMgr.getCustomEditor(String, Map)](dw.experience.PageMgr.md#getcustomeditorstring-map)) and then add it
+ to the dependencies mapping with an ID of your choice. In the client side logic of Page Designer
+ you will then be able to access these dependencies again by using the corresponding ID.
+
+
+
+
+ This is especially helpful if your custom editor for an attribute requires to open a breakout panel,
+ e.g. for a separate picker required by your custom editor. This picker could be another custom editor,
+ i.e. the one you declare as dependency here.
+
+
+ **Returns:**
+ - an ID to [CustomEditor](dw.experience.CustomEditor.md) mapping
+
+
+---
+
+### getResources()
+- getResources(): [CustomEditorResources](dw.experience.CustomEditorResources.md)
+ - : Returns the resources of the custom editor. This is initialized with the values as specified
+ by the custom editor type json (see the respective styles and scripts section).
+
+
+ **Returns:**
+ - the custom editor resources, will never be `null`
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.CustomEditorResources.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.CustomEditorResources.md
new file mode 100644
index 00000000..7cc63997
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.CustomEditorResources.md
@@ -0,0 +1,100 @@
+
+# Class CustomEditorResources
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.CustomEditorResources](dw.experience.CustomEditorResources.md)
+
+This class represents the resources of a custom editor, i.e. URLs to scripts and styles which are required for
+client side functionality in Page Designer in context of the corresponding custom attribute UI. These resources
+are initially specified as part of your custom editor type (i.e. the respective json file). If needed you can
+revise and refine them as part of the `init` function that is called during initialization of the
+[CustomEditor](dw.experience.CustomEditor.md), i.e. is subject to your implementation of the respective custom editor type js file.
+
+
+**See Also:**
+- [CustomEditor](dw.experience.CustomEditor.md)
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [scripts](#scripts): [List](dw.util.List.md) `(read-only)` | Returns the specified script resource URLs. |
+| [styles](#styles): [List](dw.util.List.md) `(read-only)` | Returns the specified style URLs. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getScripts](dw.experience.CustomEditorResources.md#getscripts)() | Returns the specified script resource URLs. |
+| [getStyles](dw.experience.CustomEditorResources.md#getstyles)() | Returns the specified style URLs. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### scripts
+- scripts: [List](dw.util.List.md) `(read-only)`
+ - : Returns the specified script resource URLs. You can further modify this list
+ at runtime of your `init` function to add more required scripts.
+ Absolute URLs will be retained, relative paths will be resolved to absolute
+ ones based on the cartridge path for static resources (e.g. similar to
+ what [URLUtils.httpStatic(String)](dw.web.URLUtils.md#httpstaticstring) or
+ [URLUtils.httpsStatic(String)](dw.web.URLUtils.md#httpsstaticstring)) does.
+
+
+
+---
+
+### styles
+- styles: [List](dw.util.List.md) `(read-only)`
+ - : Returns the specified style URLs. You can further modify this list
+ at runtime of your `init` function to add more required styles.
+ Absolute URLs will be retained, relative paths will be resolved to absolute
+ ones based on the cartridge path for static resources (e.g. similar to
+ what [URLUtils.httpStatic(String)](dw.web.URLUtils.md#httpstaticstring) or
+ [URLUtils.httpsStatic(String)](dw.web.URLUtils.md#httpsstaticstring)) does.
+
+
+
+---
+
+## Method Details
+
+### getScripts()
+- getScripts(): [List](dw.util.List.md)
+ - : Returns the specified script resource URLs. You can further modify this list
+ at runtime of your `init` function to add more required scripts.
+ Absolute URLs will be retained, relative paths will be resolved to absolute
+ ones based on the cartridge path for static resources (e.g. similar to
+ what [URLUtils.httpStatic(String)](dw.web.URLUtils.md#httpstaticstring) or
+ [URLUtils.httpsStatic(String)](dw.web.URLUtils.md#httpsstaticstring)) does.
+
+
+ **Returns:**
+ - the script resources, will never be `null`
+
+
+---
+
+### getStyles()
+- getStyles(): [List](dw.util.List.md)
+ - : Returns the specified style URLs. You can further modify this list
+ at runtime of your `init` function to add more required styles.
+ Absolute URLs will be retained, relative paths will be resolved to absolute
+ ones based on the cartridge path for static resources (e.g. similar to
+ what [URLUtils.httpStatic(String)](dw.web.URLUtils.md#httpstaticstring) or
+ [URLUtils.httpsStatic(String)](dw.web.URLUtils.md#httpsstaticstring)) does.
+
+
+ **Returns:**
+ - the style resources, will never be `null`
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.Page.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.Page.md
new file mode 100644
index 00000000..4bb7480d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.Page.md
@@ -0,0 +1,467 @@
+
+# Class Page
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.Page](dw.experience.Page.md)
+
+
+
+This class represents a page designer managed page. A page comprises of
+multiple regions that hold components, which themselves again can have
+regions holding components, i.e. spanning a hierarchical tree of components.
+
+
+
+
+Using
+
+- [PageMgr.renderPage(String, String)](dw.experience.PageMgr.md#renderpagestring-string)
+- [PageMgr.renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string)
+
+a page can be rendered. As such page implements a render function for creating
+render output the render function of the page itself will also want to access
+its various properties like the SEO title etc.
+
+
+
+
+Apart from rendering to markup a page can also be serialized, i.e. transformed
+into a json string using
+
+- [PageMgr.serializePage(String, String)](dw.experience.PageMgr.md#serializepagestring-string)
+- [PageMgr.serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string)
+
+
+**See Also:**
+- [Region](dw.experience.Region.md)
+- [Component](dw.experience.Component.md)
+- [PageMgr](dw.experience.PageMgr.md)
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the id of this page. |
+| [aspectTypeID](#aspecttypeid): [String](TopLevel.String.md) `(read-only)` | Get the aspect type of the page. |
+| [classificationFolder](#classificationfolder): [Folder](dw.content.Folder.md) `(read-only)` | Returns the classification [Folder](dw.content.Folder.md) associated with this page. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the description of this page. |
+| [folders](#folders): [Collection](dw.util.Collection.md) `(read-only)` | Returns all folders to which this page is assigned. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of this page. |
+| [pageDescription](#pagedescription): [String](TopLevel.String.md) `(read-only)` | Returns the SEO description of this page. |
+| [pageKeywords](#pagekeywords): [String](TopLevel.String.md) `(read-only)` | Returns the SEO keywords of this page. |
+| [pageTitle](#pagetitle): [String](TopLevel.String.md) `(read-only)` | Returns the SEO title of this page. |
+| [searchWords](#searchwords): [String](TopLevel.String.md) `(read-only)` | Returns the search words of the page used for the search index. |
+| [typeID](#typeid): [String](TopLevel.String.md) `(read-only)` | Returns the type id of this page. |
+| [visible](#visible): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if the page is currently visible which is the case if: Returns the raw attribute value identified by the specified attribute id. |
+| [getClassificationFolder](dw.experience.Page.md#getclassificationfolder)() | Returns the classification [Folder](dw.content.Folder.md) associated with this page. |
+| [getDescription](dw.experience.Page.md#getdescription)() | Returns the description of this page. |
+| [getFolders](dw.experience.Page.md#getfolders)() | Returns all folders to which this page is assigned. |
+| [getID](dw.experience.Page.md#getid)() | Returns the id of this page. |
+| [getName](dw.experience.Page.md#getname)() | Returns the name of this page. |
+| [getPageDescription](dw.experience.Page.md#getpagedescription)() | Returns the SEO description of this page. |
+| [getPageKeywords](dw.experience.Page.md#getpagekeywords)() | Returns the SEO keywords of this page. |
+| [getPageTitle](dw.experience.Page.md#getpagetitle)() | Returns the SEO title of this page. |
+| [getRegion](dw.experience.Page.md#getregionstring)([String](TopLevel.String.md)) | Returns the page region that matches the given id. |
+| [getSearchWords](dw.experience.Page.md#getsearchwords)() | Returns the search words of the page used for the search index. |
+| [getTypeID](dw.experience.Page.md#gettypeid)() | Returns the type id of this page. |
+| [hasVisibilityRules](dw.experience.Page.md#hasvisibilityrules)() | Returns `true` if the page has visibility rules (scheduling, customer groups, aspect attribute qualifiers, campaign and promotion qualifiers) applied, otherwise `false`. |
+| [isVisible](dw.experience.Page.md#isvisible)() | Returns `true` if the page is currently visible which is the case if: Initialize the custom editor of given type id using the passed configuration. |
+| ~~static [getPage](dw.experience.PageMgr.md#getpagecategory-boolean-string)([Category](dw.catalog.Category.md), [Boolean](TopLevel.Boolean.md), [String](TopLevel.String.md))~~ | Get the dynamic page for the given category (including bottom up traversal of the category tree) and aspect type. |
+| static [getPage](dw.experience.PageMgr.md#getpagestring)([String](TopLevel.String.md)) | Returns the page identified by the specified id. |
+| static [getPageByCategory](dw.experience.PageMgr.md#getpagebycategorycategory-boolean-string)([Category](dw.catalog.Category.md), [Boolean](TopLevel.Boolean.md), [String](TopLevel.String.md)) | Get the dynamic page for the given category (including bottom up traversal of the category tree) and aspect type. |
+| static [getPageByProduct](dw.experience.PageMgr.md#getpagebyproductproduct-boolean-string)([Product](dw.catalog.Product.md), [Boolean](TopLevel.Boolean.md), [String](TopLevel.String.md)) | Get the dynamic page for the given product and aspect type. |
+| static [renderPage](dw.experience.PageMgr.md#renderpagestring-map-string)([String](TopLevel.String.md), [Map](dw.util.Map.md), [String](TopLevel.String.md)) | Render a page. |
+| static [renderPage](dw.experience.PageMgr.md#renderpagestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Render a page. |
+| static [renderRegion](dw.experience.PageMgr.md#renderregionregion)([Region](dw.experience.Region.md)) | Renders a region by triggering rendering of all visible components within this region. |
+| static [renderRegion](dw.experience.PageMgr.md#renderregionregion-regionrendersettings)([Region](dw.experience.Region.md), [RegionRenderSettings](dw.experience.RegionRenderSettings.md)) | Renders a region by triggering rendering of all visible components within this region. |
+| static [serializePage](dw.experience.PageMgr.md#serializepagestring-map-string)([String](TopLevel.String.md), [Map](dw.util.Map.md), [String](TopLevel.String.md)) | Serialize a page as json string. |
+| static [serializePage](dw.experience.PageMgr.md#serializepagestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Serialize a page as json string with the following properties:
+
+ ...
+
+
+ ...
+
+ This class represents a page designer managed page. |
+| [PageMgr](dw.experience.PageMgr.md) | Provides functionality for getting, rendering and serializing page designer managed pages. |
+| [PageScriptContext](dw.experience.PageScriptContext.md) | This is the context that is handed over to the `render` and `serialize` function of the respective page type script. |
+| [Region](dw.experience.Region.md) | This class represents a region which serves as container of components. |
+| [RegionRenderSettings](dw.experience.RegionRenderSettings.md) | A config that drives how the region is rendered. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.applepay.ApplePayHookResult.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.applepay.ApplePayHookResult.md
new file mode 100644
index 00000000..228f5f97
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.applepay.ApplePayHookResult.md
@@ -0,0 +1,254 @@
+
+# Class ApplePayHookResult
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.applepay.ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+
+
+
+Result of a hook handling an Apple Pay request.
+
+
+
+
+
+Use the constants in this type to indicate specific error reasons to be provided
+to Apple Pay JS. For example, the following code creates a [Status](dw.system.Status.md)
+that indicates the shipping contact information provided by Apple Pay is invalid:
+
+
+
+
+```
+var ApplePayHookResult = require('dw/extensions/applepay/ApplePayHookResult');
+var Status = require('dw/system/Status');
+
+var error = new Status(Status.ERROR);
+error.addDetail(ApplePayHookResult.STATUS_REASON_DETAIL_KEY, ApplePayHookResult.REASON_SHIPPING_CONTACT);
+```
+
+
+
+
+If a specific error reason is not provided, the generic Apple Pay `STATUS_FAILURE`
+reason will be used when necessary.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [REASON_BILLING_ADDRESS](#reason_billing_address): [String](TopLevel.String.md) = "InvalidBillingPostalAddress" | Error reason code representing an invalid billing address. |
+| [REASON_FAILURE](#reason_failure): [String](TopLevel.String.md) = "Failure" | Error reason code representing an error or failure not otherwise specified. |
+| [REASON_PIN_INCORRECT](#reason_pin_incorrect): [String](TopLevel.String.md) = "PINIncorrect" | Error reason code representing the PIN is incorrect. |
+| [REASON_PIN_LOCKOUT](#reason_pin_lockout): [String](TopLevel.String.md) = "PINLockout" | Error reason code representing a PIN lockout. |
+| [REASON_PIN_REQUIRED](#reason_pin_required): [String](TopLevel.String.md) = "PINRequired" | Error reason code representing a PIN is required. |
+| [REASON_SHIPPING_ADDRESS](#reason_shipping_address): [String](TopLevel.String.md) = "InvalidShippingPostalAddress" | Error reason code representing an invalid shipping address. |
+| [REASON_SHIPPING_CONTACT](#reason_shipping_contact): [String](TopLevel.String.md) = "InvalidShippingContact" | Error reason code representing invalid shipping contact information. |
+| [STATUS_REASON_DETAIL_KEY](#status_reason_detail_key): [String](TopLevel.String.md) = "reason" | Key for the detail to be used in [Status](dw.system.Status.md) objects to indicate the reason to communicate to Apple Pay for errors. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [eventDetail](#eventdetail): [Object](TopLevel.Object.md) `(read-only)` | Detail to the JS custom event to dispatch in response to this result. |
+| [eventName](#eventname): [String](TopLevel.String.md) `(read-only)` | Name of the JS custom event to dispatch in response to this result. |
+| [redirect](#redirect): [URL](dw.web.URL.md) `(read-only)` | URL to navigate to in response to this result. |
+| [status](#status): [Status](dw.system.Status.md) `(read-only)` | Status describing the outcome of this result. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [ApplePayHookResult](#applepayhookresultstatus-url)([Status](dw.system.Status.md), [URL](dw.web.URL.md)) | Constructs a result with the given outcome information. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getEventDetail](dw.extensions.applepay.ApplePayHookResult.md#geteventdetail)() | Detail to the JS custom event to dispatch in response to this result. |
+| [getEventName](dw.extensions.applepay.ApplePayHookResult.md#geteventname)() | Name of the JS custom event to dispatch in response to this result. |
+| [getRedirect](dw.extensions.applepay.ApplePayHookResult.md#getredirect)() | URL to navigate to in response to this result. |
+| [getStatus](dw.extensions.applepay.ApplePayHookResult.md#getstatus)() | Status describing the outcome of this result. |
+| [setEvent](dw.extensions.applepay.ApplePayHookResult.md#seteventstring)([String](TopLevel.String.md)) | Sets the name of the JS custom event to dispatch in response to this result. |
+| [setEvent](dw.extensions.applepay.ApplePayHookResult.md#seteventstring-object)([String](TopLevel.String.md), [Object](TopLevel.Object.md)) | Sets the name and detail of the JS custom event to dispatch in response to this result. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### REASON_BILLING_ADDRESS
+
+- REASON_BILLING_ADDRESS: [String](TopLevel.String.md) = "InvalidBillingPostalAddress"
+ - : Error reason code representing an invalid billing address.
+
+
+---
+
+### REASON_FAILURE
+
+- REASON_FAILURE: [String](TopLevel.String.md) = "Failure"
+ - : Error reason code representing an error or failure not otherwise specified.
+
+
+---
+
+### REASON_PIN_INCORRECT
+
+- REASON_PIN_INCORRECT: [String](TopLevel.String.md) = "PINIncorrect"
+ - : Error reason code representing the PIN is incorrect.
+
+
+---
+
+### REASON_PIN_LOCKOUT
+
+- REASON_PIN_LOCKOUT: [String](TopLevel.String.md) = "PINLockout"
+ - : Error reason code representing a PIN lockout.
+
+
+---
+
+### REASON_PIN_REQUIRED
+
+- REASON_PIN_REQUIRED: [String](TopLevel.String.md) = "PINRequired"
+ - : Error reason code representing a PIN is required.
+
+
+---
+
+### REASON_SHIPPING_ADDRESS
+
+- REASON_SHIPPING_ADDRESS: [String](TopLevel.String.md) = "InvalidShippingPostalAddress"
+ - : Error reason code representing an invalid shipping address.
+
+
+---
+
+### REASON_SHIPPING_CONTACT
+
+- REASON_SHIPPING_CONTACT: [String](TopLevel.String.md) = "InvalidShippingContact"
+ - : Error reason code representing invalid shipping contact information.
+
+
+---
+
+### STATUS_REASON_DETAIL_KEY
+
+- STATUS_REASON_DETAIL_KEY: [String](TopLevel.String.md) = "reason"
+ - : Key for the detail to be used in [Status](dw.system.Status.md) objects to indicate
+ the reason to communicate to Apple Pay for errors.
+
+
+
+---
+
+## Property Details
+
+### eventDetail
+- eventDetail: [Object](TopLevel.Object.md) `(read-only)`
+ - : Detail to the JS custom event to dispatch in response to this result.
+
+
+---
+
+### eventName
+- eventName: [String](TopLevel.String.md) `(read-only)`
+ - : Name of the JS custom event to dispatch in response to this result.
+
+
+---
+
+### redirect
+- redirect: [URL](dw.web.URL.md) `(read-only)`
+ - : URL to navigate to in response to this result.
+
+
+---
+
+### status
+- status: [Status](dw.system.Status.md) `(read-only)`
+ - : Status describing the outcome of this result.
+
+
+---
+
+## Constructor Details
+
+### ApplePayHookResult(Status, URL)
+- ApplePayHookResult(status: [Status](dw.system.Status.md), redirect: [URL](dw.web.URL.md))
+ - : Constructs a result with the given outcome information.
+
+ **Parameters:**
+ - status - status of the result
+ - redirect - optional URL to which to navigate to in response to this outcome
+
+
+---
+
+## Method Details
+
+### getEventDetail()
+- getEventDetail(): [Object](TopLevel.Object.md)
+ - : Detail to the JS custom event to dispatch in response to this result.
+
+ **Returns:**
+ - event detail
+
+
+---
+
+### getEventName()
+- getEventName(): [String](TopLevel.String.md)
+ - : Name of the JS custom event to dispatch in response to this result.
+
+ **Returns:**
+ - event name
+
+
+---
+
+### getRedirect()
+- getRedirect(): [URL](dw.web.URL.md)
+ - : URL to navigate to in response to this result.
+
+ **Returns:**
+ - redirect URL
+
+
+---
+
+### getStatus()
+- getStatus(): [Status](dw.system.Status.md)
+ - : Status describing the outcome of this result.
+
+ **Returns:**
+ - status of this result
+
+
+---
+
+### setEvent(String)
+- setEvent(name: [String](TopLevel.String.md)): void
+ - : Sets the name of the JS custom event to dispatch in response to this result.
+
+ **Parameters:**
+ - name - JS custom event name
+
+
+---
+
+### setEvent(String, Object)
+- setEvent(name: [String](TopLevel.String.md), detail: [Object](TopLevel.Object.md)): void
+ - : Sets the name and detail of the JS custom event to dispatch in response to this result.
+
+ **Parameters:**
+ - name - JS custom event name
+ - detail - JS custom event detail
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.applepay.ApplePayHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.applepay.ApplePayHooks.md
new file mode 100644
index 00000000..410ed60a
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.applepay.ApplePayHooks.md
@@ -0,0 +1,572 @@
+
+# Class ApplePayHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.applepay.ApplePayHooks](dw.extensions.applepay.ApplePayHooks.md)
+
+ApplePayHooks interface containing extension points for customizing Apple Pay.
+
+
+These hooks are executed in a transaction.
+
+
+The extension points (hook names), and the functions that are called by each extension point. A function must be
+defined inside a JavaScript source and must be exported. The script with the exported hook function must be located
+inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.extensions.applepay.getRequest", "script": "./applepay.ds"}
+ {"name": "dw.extensions.applepay.shippingContactSelected", "script": "./applepay.ds"}
+]
+```
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointCancel](#extensionpointcancel): [String](TopLevel.String.md) = "dw.extensions.applepay.cancel" | The extension point name dw.extensions.applepay.cancel. |
+| [extensionPointGetRequest](#extensionpointgetrequest): [String](TopLevel.String.md) = "dw.extensions.applepay.getRequest" | The extension point name dw.extensions.applepay.getRequest. |
+| [extensionPointPaymentAuthorizedAuthorizeOrderPayment](#extensionpointpaymentauthorizedauthorizeorderpayment): [String](TopLevel.String.md) = "dw.extensions.applepay.paymentAuthorized.authorizeOrderPayment" | The extension point name dw.extensions.applepay.paymentAuthorized.authorizeOrderPayment. |
+| [extensionPointPaymentAuthorizedCreateOrder](#extensionpointpaymentauthorizedcreateorder): [String](TopLevel.String.md) = "dw.extensions.applepay.paymentAuthorized.createOrder" | The extension point name dw.extensions.applepay.paymentAuthorized.createOrder. |
+| [extensionPointPaymentAuthorizedFailOrder](#extensionpointpaymentauthorizedfailorder): [String](TopLevel.String.md) = "dw.extensions.applepay.paymentAuthorized.failOrder" | The extension point name dw.extensions.applepay.paymentAuthorized.failOrder. |
+| [extensionPointPaymentAuthorizedPlaceOrder](#extensionpointpaymentauthorizedplaceorder): [String](TopLevel.String.md) = "dw.extensions.applepay.paymentAuthorized.placeOrder" | The extension point name dw.extensions.applepay.paymentAuthorized.placeOrder. |
+| [extensionPointPaymentMethodSelected](#extensionpointpaymentmethodselected): [String](TopLevel.String.md) = "dw.extensions.applepay.paymentMethodSelected" | The extension point name dw.extensions.applepay.paymentMethodSelected. |
+| [extensionPointPrepareBasket](#extensionpointpreparebasket): [String](TopLevel.String.md) = "dw.extensions.applepay.prepareBasket" | The extension point name dw.extensions.applepay.prepareBasket. |
+| [extensionPointShippingContactSelected](#extensionpointshippingcontactselected): [String](TopLevel.String.md) = "dw.extensions.applepay.shippingContactSelected" | The extension point name dw.extensions.applepay.shippingContactSelected. |
+| [extensionPointShippingMethodSelected](#extensionpointshippingmethodselected): [String](TopLevel.String.md) = "dw.extensions.applepay.shippingMethodSelected" | The extension point name dw.extensions.applepay.shippingMethodSelected. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [authorizeOrderPayment](dw.extensions.applepay.ApplePayHooks.md#authorizeorderpaymentorder-object)([Order](dw.order.Order.md), [Object](TopLevel.Object.md)) | Called to authorize the Apple Pay payment for the order. |
+| [cancel](dw.extensions.applepay.ApplePayHooks.md#cancelbasket)([Basket](dw.order.Basket.md)) | Called after the Apple Pay payment sheet was canceled. |
+| [createOrder](dw.extensions.applepay.ApplePayHooks.md#createorderbasket-object)([Basket](dw.order.Basket.md), [Object](TopLevel.Object.md)) | Called after handling the given `ApplePayPaymentAuthorizedEvent` for the given basket. |
+| [failOrder](dw.extensions.applepay.ApplePayHooks.md#failorderorder-status)([Order](dw.order.Order.md), [Status](dw.system.Status.md)) | Called after payment authorization is unsuccessful and the given Apple Pay order must be failed. |
+| [getRequest](dw.extensions.applepay.ApplePayHooks.md#getrequestbasket-object)([Basket](dw.order.Basket.md), [Object](TopLevel.Object.md)) | Called to get the Apple Pay JS `PaymentRequest` for the given basket. |
+| [paymentMethodSelected](dw.extensions.applepay.ApplePayHooks.md#paymentmethodselectedbasket-object-object)([Basket](dw.order.Basket.md), [Object](TopLevel.Object.md), [Object](TopLevel.Object.md)) | Called after handling the given `ApplePayPaymentMethodSelectedEvent` for the given basket. |
+| [placeOrder](dw.extensions.applepay.ApplePayHooks.md#placeorderorder)([Order](dw.order.Order.md)) | Called after payment has been authorized and the given Apple Pay order is ready to be placed. |
+| [prepareBasket](dw.extensions.applepay.ApplePayHooks.md#preparebasketbasket-object)([Basket](dw.order.Basket.md), [Object](TopLevel.Object.md)) | Called to prepare the given basket for an Apple Pay checkout. |
+| [shippingContactSelected](dw.extensions.applepay.ApplePayHooks.md#shippingcontactselectedbasket-object-object)([Basket](dw.order.Basket.md), [Object](TopLevel.Object.md), [Object](TopLevel.Object.md)) | Called after handling the given `ApplePayShippingContactSelectedEvent` for the given basket. |
+| [shippingMethodSelected](dw.extensions.applepay.ApplePayHooks.md#shippingmethodselectedbasket-shippingmethod-object-object)([Basket](dw.order.Basket.md), [ShippingMethod](dw.order.ShippingMethod.md), [Object](TopLevel.Object.md), [Object](TopLevel.Object.md)) | Called after handling the given `ApplePayShippingMethodSelectedEvent` for the given basket. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointCancel
+
+- extensionPointCancel: [String](TopLevel.String.md) = "dw.extensions.applepay.cancel"
+ - : The extension point name dw.extensions.applepay.cancel.
+
+
+---
+
+### extensionPointGetRequest
+
+- extensionPointGetRequest: [String](TopLevel.String.md) = "dw.extensions.applepay.getRequest"
+ - : The extension point name dw.extensions.applepay.getRequest.
+
+
+---
+
+### extensionPointPaymentAuthorizedAuthorizeOrderPayment
+
+- extensionPointPaymentAuthorizedAuthorizeOrderPayment: [String](TopLevel.String.md) = "dw.extensions.applepay.paymentAuthorized.authorizeOrderPayment"
+ - : The extension point name dw.extensions.applepay.paymentAuthorized.authorizeOrderPayment.
+
+
+---
+
+### extensionPointPaymentAuthorizedCreateOrder
+
+- extensionPointPaymentAuthorizedCreateOrder: [String](TopLevel.String.md) = "dw.extensions.applepay.paymentAuthorized.createOrder"
+ - : The extension point name dw.extensions.applepay.paymentAuthorized.createOrder.
+
+
+---
+
+### extensionPointPaymentAuthorizedFailOrder
+
+- extensionPointPaymentAuthorizedFailOrder: [String](TopLevel.String.md) = "dw.extensions.applepay.paymentAuthorized.failOrder"
+ - : The extension point name dw.extensions.applepay.paymentAuthorized.failOrder.
+
+
+---
+
+### extensionPointPaymentAuthorizedPlaceOrder
+
+- extensionPointPaymentAuthorizedPlaceOrder: [String](TopLevel.String.md) = "dw.extensions.applepay.paymentAuthorized.placeOrder"
+ - : The extension point name dw.extensions.applepay.paymentAuthorized.placeOrder.
+
+
+---
+
+### extensionPointPaymentMethodSelected
+
+- extensionPointPaymentMethodSelected: [String](TopLevel.String.md) = "dw.extensions.applepay.paymentMethodSelected"
+ - : The extension point name dw.extensions.applepay.paymentMethodSelected.
+
+
+---
+
+### extensionPointPrepareBasket
+
+- extensionPointPrepareBasket: [String](TopLevel.String.md) = "dw.extensions.applepay.prepareBasket"
+ - : The extension point name dw.extensions.applepay.prepareBasket.
+
+
+---
+
+### extensionPointShippingContactSelected
+
+- extensionPointShippingContactSelected: [String](TopLevel.String.md) = "dw.extensions.applepay.shippingContactSelected"
+ - : The extension point name dw.extensions.applepay.shippingContactSelected.
+
+
+---
+
+### extensionPointShippingMethodSelected
+
+- extensionPointShippingMethodSelected: [String](TopLevel.String.md) = "dw.extensions.applepay.shippingMethodSelected"
+ - : The extension point name dw.extensions.applepay.shippingMethodSelected.
+
+
+---
+
+## Method Details
+
+### authorizeOrderPayment(Order, Object)
+- authorizeOrderPayment(order: [Order](dw.order.Order.md), event: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - :
+
+ Called to authorize the Apple Pay payment for the order. The given order will have been created by the
+ [extensionPointPaymentAuthorizedCreateOrder](dw.extensions.applepay.ApplePayHooks.md#extensionpointpaymentauthorizedcreateorder) hook, after the basket was populated with data from
+ the `ApplePayPaymentAuthorizedEvent`.
+
+
+
+
+ Return a non-error status if you have successfully authorized the payment with your payment service provider.
+ Your hook implementation must set the necessary payment status and transaction identifier data on the order as
+ returned by the provider.
+
+
+
+
+ Return an error status to indicate a problem, including unsuccessful authorization. See
+ [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md) for how to indicate error statuses with detail information to
+ be provided to Apple Pay.
+
+
+
+
+ See the [Apple Pay JS API Reference](https://developer.apple.com/reference/applepayjs) for more information.
+
+
+ **Parameters:**
+ - order - the order paid using Apple Pay
+ - event - `ApplePayPaymentAuthorizedEvent` object
+
+ **Returns:**
+ - a non-null status ends the hook execution
+
+
+---
+
+### cancel(Basket)
+- cancel(basket: [Basket](dw.order.Basket.md)): [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+ - :
+
+ Called after the Apple Pay payment sheet was canceled. There is no Apple Pay JS event object for this case. The
+ given basket is the one that was passed to other hooks earlier in the Apple Pay checkout process.
+
+
+
+
+ It is not guaranteed that this hook will be executed for all Apple Pay payment sheets canceled by shoppers or
+ otherwise ended without a successful order. Calls to this hook are provided on a best-effort basis.
+
+
+
+
+ If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if possible. It
+ is not guaranteed that the response with the hook result will be handled in the shopper browser in all cases.
+
+
+ **Parameters:**
+ - basket - the basket that was being checked out using Apple Pay
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### createOrder(Basket, Object)
+- createOrder(basket: [Basket](dw.order.Basket.md), event: [Object](TopLevel.Object.md)): [Order](dw.order.Order.md)
+ - :
+
+ Called after handling the given `ApplePayPaymentAuthorizedEvent` for the given basket. Customer
+ information, billing address, and/or shipping address for the default shipment will have already been updated to
+ reflect the available contact information provided by Apple Pay based on the Apple Pay configuration for your
+ site. Any preexisting payment instruments on the basket will have been removed, and a single
+ `DW_APPLE_PAY` payment instrument added for the total amount.
+
+
+
+
+ The purpose of this hook is to populate the created order with any necessary information from the basket
+ or the Apple Pay event. Do not use this hook for address verification, or any other validation. Instead
+ use the [extensionPointPaymentAuthorizedAuthorizeOrderPayment](dw.extensions.applepay.ApplePayHooks.md#extensionpointpaymentauthorizedauthorizeorderpayment) hook which allows you to return
+ an `ApplePayHookResult` with error status information.
+
+
+
+
+ The default implementation of this hook simply calls `OrderMgr.createOrder` and returns the created
+ order.
+
+
+
+
+ Throw an error to indicate a problem creating the order.
+
+
+ **Parameters:**
+ - basket - the basket being checked out using Apple Pay
+ - event - `ApplePayPaymentAuthorizedEvent` object
+
+ **Returns:**
+ - a non-null order ends the hook execution
+
+
+---
+
+### failOrder(Order, Status)
+- failOrder(order: [Order](dw.order.Order.md), status: [Status](dw.system.Status.md)): [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+ - :
+
+ Called after payment authorization is unsuccessful and the given Apple Pay order must be failed. The purpose
+ of this hook is to fail the order, or return a redirect URL that results in the order being failed when the shopper
+ browser is navigated to it. The given status object is the result of calling the
+ [extensionPointPaymentAuthorizedAuthorizeOrderPayment](dw.extensions.applepay.ApplePayHooks.md#extensionpointpaymentauthorizedauthorizeorderpayment) hook.
+
+
+
+
+ The default implementation of this hook simply calls `OrderMgr.failOrder`, and returns a result
+ with the given status and no redirect URL.
+
+
+
+
+ Return a result with an error status to indicate a problem. See [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+ for how to indicate error statuses with detail information to be provided to Apple Pay. If the returned result includes
+ a redirect URL, the shopper browser will be navigated to that URL if the Apple Pay payment sheet is canceled.
+
+
+ **Parameters:**
+ - order - the order created for a failed Apple Pay checkout
+ - status - status code returned by the [extensionPointPaymentAuthorizedAuthorizeOrderPayment](dw.extensions.applepay.ApplePayHooks.md#extensionpointpaymentauthorizedauthorizeorderpayment) hook
+
+ **Returns:**
+ - ApplePayHookResult containing a status code to be provided to Apple Pay. A non-null result ends the hook execution
+
+
+---
+
+### getRequest(Basket, Object)
+- getRequest(basket: [Basket](dw.order.Basket.md), request: [Object](TopLevel.Object.md)): [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+ - :
+
+ Called to get the Apple Pay JS `PaymentRequest` for the given basket. You can set properties in the
+ given request object to extend or override default properties set automatically based on the Apple Pay
+ configuration for your site.
+
+
+
+
+ Return a result with an error status to indicate a problem. See [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+ for how to indicate error statuses with detail information to be provided to Apple Pay.
+
+
+
+
+ If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Apple
+ Pay payment sheet is canceled.
+
+
+
+
+ See the [Apple Pay JS API Reference](https://developer.apple.com/reference/applepayjs) for more information.
+
+
+ **Parameters:**
+ - basket - the basket for the Apple Pay request
+ - request - the Apple Pay payment request object
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### paymentMethodSelected(Basket, Object, Object)
+- paymentMethodSelected(basket: [Basket](dw.order.Basket.md), event: [Object](TopLevel.Object.md), response: [Object](TopLevel.Object.md)): [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+ - :
+
+ Called after handling the given `ApplePayPaymentMethodSelectedEvent` for the given basket. This Apple
+ Pay event does not contain payment card or device information.
+
+
+
+
+ The given response object will contain properties whose values are to be passed as parameters to the
+ `ApplePaySession.completePaymentMethodSelection` event callback:
+
+
+
+ - total - Updated total line item object
+ - lineItems - Array of updated line item objects
+
+
+
+ Return a result with an error status to indicate a problem. See [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+ for how to indicate error statuses with detail information to be provided to Apple Pay.
+
+
+
+
+ If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Apple
+ Pay payment sheet is canceled.
+
+
+
+
+ See the [Apple Pay JS API Reference](https://developer.apple.com/reference/applepayjs) for more information.
+
+
+ **Parameters:**
+ - basket - the basket being checked out using Apple Pay
+ - event - `ApplePayPaymentMethodSelectedEvent` object
+ - response - JS object containing Apple Pay event callback parameters
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### placeOrder(Order)
+- placeOrder(order: [Order](dw.order.Order.md)): [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+ - :
+
+ Called after payment has been authorized and the given Apple Pay order is ready to be placed. The purpose of this
+ hook is to place the order, or return a redirect URL that results in the order being placed when the shopper
+ browser is navigated to it.
+
+
+
+
+ The default implementation of this hook returns a redirect to `COPlaceOrder-Submit` with URL
+ parameters `order_id` set to [Order.getOrderNo()](dw.order.Order.md#getorderno) and `order_token` set to
+ [Order.getOrderToken()](dw.order.Order.md#getordertoken) which corresponds to SiteGenesis-based implementations. Your hook
+ implementation should return a result with a different redirect URL as necessary to place the order and show an
+ order confirmation.
+
+
+
+
+ Alternatively, your hook implementation itself can place the order and return a result with a redirect URL to an
+ order confirmation page that does not place the order. This is inconsistent with SiteGenesis-based
+ implementations so is not the default.
+
+
+
+
+ Return an error status to indicate a problem. See [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md) for how to
+ indicate error statuses with detail information to be provided to Apple Pay. If the returned result includes a
+ redirect URL, the shopper browser will be navigated to that URL if the Apple Pay payment sheet is canceled.
+
+
+ **Parameters:**
+ - order - the order paid using Apple Pay
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### prepareBasket(Basket, Object)
+- prepareBasket(basket: [Basket](dw.order.Basket.md), parameters: [Object](TopLevel.Object.md)): [ApplePayHookResult](dw.extensions.applepay.ApplePayHookResult.md)
+ - :
+
+ Called to prepare the given basket for an Apple Pay checkout. This hook will be executed after the user
+ clicks the Apple Pay button.
+
+
+
+
+ The default implementation of this hook calculates the basket. A custom hook implementation that returns a
+ non-null result must calculate the basket.
+
+
+
+
+ The given parameters object will contain properties whose values are passed from the
+ ` Result of a hook handling an Apple Pay request. |
+| [ApplePayHooks](dw.extensions.applepay.ApplePayHooks.md) | ApplePayHooks interface containing extension points for customizing Apple Pay. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.facebook.FacebookFeedHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.facebook.FacebookFeedHooks.md
new file mode 100644
index 00000000..f854e705
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.facebook.FacebookFeedHooks.md
@@ -0,0 +1,102 @@
+
+# Class FacebookFeedHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.facebook.FacebookFeedHooks](dw.extensions.facebook.FacebookFeedHooks.md)
+
+FacebookFeedHooks interface containing extension points for customizing Facebook export feeds.
+
+
+These hooks are not executed in a transaction.
+
+
+The extension points (hook names), and the functions that are called by each extension point. A function must be
+defined inside a JavaScript source and must be exported. The script with the exported hook function must be located
+inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.extensions.facebook.feed.transformProduct", "script": "./hooks.ds"}
+]
+```
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointTransformProduct](#extensionpointtransformproduct): [String](TopLevel.String.md) = "dw.extensions.facebook.feed.transformProduct" | The extension point name dw.extensions.facebook.feed.transformProduct. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [transformProduct](dw.extensions.facebook.FacebookFeedHooks.md#transformproductproduct-facebookproduct-string)([Product](dw.catalog.Product.md), [FacebookProduct](dw.extensions.facebook.FacebookProduct.md), [String](TopLevel.String.md)) | Called after default transformation of given Demandware product to Facebook product as part of the catalog feed export. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointTransformProduct
+
+- extensionPointTransformProduct: [String](TopLevel.String.md) = "dw.extensions.facebook.feed.transformProduct"
+ - : The extension point name dw.extensions.facebook.feed.transformProduct.
+
+
+---
+
+## Method Details
+
+### transformProduct(Product, FacebookProduct, String)
+- transformProduct(product: [Product](dw.catalog.Product.md), facebookProduct: [FacebookProduct](dw.extensions.facebook.FacebookProduct.md), feedId: [String](TopLevel.String.md)): [Status](dw.system.Status.md)
+ - :
+
+ Called after default transformation of given Demandware product to Facebook product as part of the catalog feed
+ export.
+
+
+
+
+ To customize multiple feeds differently, for example if one is for Facebook Dynamic Ads and the other is for
+ Instagram Commerce, use the `feedId` parameter to determine which feed is being exported. If the same
+ customization should apply to all feeds, ignore the parameter.
+
+
+ **Parameters:**
+ - product - the Demandware product
+ - facebookProduct - the Facebook representation of the product
+ - feedId - the merchant-selected ID for the feed being exported
+
+ **Returns:**
+ - a non-null Status ends the hook execution
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.facebook.FacebookProduct.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.facebook.FacebookProduct.md
new file mode 100644
index 00000000..a35f5628
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.facebook.FacebookProduct.md
@@ -0,0 +1,1343 @@
+
+# Class FacebookProduct
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.facebook.FacebookProduct](dw.extensions.facebook.FacebookProduct.md)
+
+Represents a row in the Facebook catalog feed export.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [AGE_GROUP_ADULT](#age_group_adult): [String](TopLevel.String.md) = "adult" | Indicates that the product is for adults. |
+| [AGE_GROUP_INFANT](#age_group_infant): [String](TopLevel.String.md) = "infant" | Indicates that the product is for infant children. |
+| [AGE_GROUP_KIDS](#age_group_kids): [String](TopLevel.String.md) = "kids" | Indicates that the product is for children. |
+| [AGE_GROUP_NEWBORN](#age_group_newborn): [String](TopLevel.String.md) = "newborn" | Indicates that the product is for newborn children. |
+| [AGE_GROUP_TODDLER](#age_group_toddler): [String](TopLevel.String.md) = "toddler" | Indicates that the product is for toddler children. |
+| [AVAILABILITY_AVAILABLE_FOR_ORDER](#availability_available_for_order): [String](TopLevel.String.md) = "available for order" | Indicates that the product can be ordered for later shipment. |
+| [AVAILABILITY_IN_STOCK](#availability_in_stock): [String](TopLevel.String.md) = "in stock" | Indicates that the product is available to ship immediately. |
+| [AVAILABILITY_OUT_OF_STOCK](#availability_out_of_stock): [String](TopLevel.String.md) = "out of stock" | Indicates that the product is out of stock. |
+| [AVAILABILITY_PREORDER](#availability_preorder): [String](TopLevel.String.md) = "preorder" | Indicates that the product will be available in the future. |
+| [CONDITION_NEW](#condition_new): [String](TopLevel.String.md) = "new" | Indicates that the product is new. |
+| [CONDITION_REFURBISHED](#condition_refurbished): [String](TopLevel.String.md) = "refurbished" | Indicates that the product is used but has been refurbished. |
+| [CONDITION_USED](#condition_used): [String](TopLevel.String.md) = "used" | Indicates that the product has been used. |
+| [GENDER_FEMALE](#gender_female): [String](TopLevel.String.md) = "female" | Indicates that the product is for females. |
+| [GENDER_MALE](#gender_male): [String](TopLevel.String.md) = "male" | Indicates that the product is for males. |
+| [GENDER_UNISEX](#gender_unisex): [String](TopLevel.String.md) = "unisex" | Indicates that the product is for both males and females. |
+| [SHIPPING_SIZE_UNIT_CM](#shipping_size_unit_cm): [String](TopLevel.String.md) = "cm" | Indicates that the product is measured in centimeters. |
+| [SHIPPING_SIZE_UNIT_FT](#shipping_size_unit_ft): [String](TopLevel.String.md) = "ft" | Indicates that the product is measured in feet. |
+| [SHIPPING_SIZE_UNIT_IN](#shipping_size_unit_in): [String](TopLevel.String.md) = "in" | Indicates that the product is measured in inches. |
+| [SHIPPING_SIZE_UNIT_M](#shipping_size_unit_m): [String](TopLevel.String.md) = "m" | Indicates that the product is measured in meters. |
+| [SHIPPING_WEIGHT_UNIT_G](#shipping_weight_unit_g): [String](TopLevel.String.md) = "g" | Indicates that the product is weighed in grams. |
+| [SHIPPING_WEIGHT_UNIT_KG](#shipping_weight_unit_kg): [String](TopLevel.String.md) = "kg" | Indicates that the product is weighed in kilograms. |
+| [SHIPPING_WEIGHT_UNIT_LB](#shipping_weight_unit_lb): [String](TopLevel.String.md) = "lb" | Indicates that the product is weighed in pounds. |
+| [SHIPPING_WEIGHT_UNIT_OZ](#shipping_weight_unit_oz): [String](TopLevel.String.md) = "oz" | Indicates that the product is weighed in ounces. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the Facebook product. |
+| [ageGroup](#agegroup): [String](TopLevel.String.md) | Returns the age group for the Facebook product. |
+| [availability](#availability): [String](TopLevel.String.md) | Returns the availability of the Facebook product. |
+| [brand](#brand): [String](TopLevel.String.md) | Returns the Facebook brand of the product. |
+| [color](#color): [String](TopLevel.String.md) | Returns the Facebook color value label of the product. |
+| [condition](#condition): [String](TopLevel.String.md) | Returns the condition of the Facebook product. |
+| [customLabel0](#customlabel0): [String](TopLevel.String.md) | Returns the Facebook custom label 0 value of the product. |
+| [customLabel1](#customlabel1): [String](TopLevel.String.md) | Returns the Facebook custom label 1 value of the product. |
+| [customLabel2](#customlabel2): [String](TopLevel.String.md) | Returns the Facebook custom label 2 value of the product. |
+| [customLabel3](#customlabel3): [String](TopLevel.String.md) | Returns the Facebook custom label 3 value of the product. |
+| [customLabel4](#customlabel4): [String](TopLevel.String.md) | Returns the Facebook custom label 4 value of the product. |
+| [description](#description): [String](TopLevel.String.md) | Returns the description of the Facebook product. |
+| [expirationDate](#expirationdate): [Date](TopLevel.Date.md) | Returns the Facebook expiration date of the product. |
+| [gender](#gender): [String](TopLevel.String.md) | Returns the gender for the Facebook product. |
+| [googleProductCategory](#googleproductcategory): [String](TopLevel.String.md) | Returns the category of this product in the Google category taxonomy. |
+| [gtin](#gtin): [String](TopLevel.String.md) | Returns the Facebook GTIN of the product. |
+| [imageLinks](#imagelinks): [List](dw.util.List.md) | Returns a list containing the URLs of the images to show in Facebook for the product. |
+| [itemGroupID](#itemgroupid): [String](TopLevel.String.md) | Returns the ID of the Facebook item group for the product, that is, its master product. |
+| [link](#link): [URL](dw.web.URL.md) | Returns the URL of the Demandware storefront link to the product. |
+| [material](#material): [String](TopLevel.String.md) | Returns the Facebook material value label of the product. |
+| [mpn](#mpn): [String](TopLevel.String.md) | Returns the Facebook MPN of the product. |
+| [pattern](#pattern): [String](TopLevel.String.md) | Returns the Facebook pattern value label of the product. |
+| [price](#price): [Money](dw.value.Money.md) | Returns the price to show in Facebook for the product. |
+| [productType](#producttype): [String](TopLevel.String.md) | Returns the Facebook product type. |
+| [salePrice](#saleprice): [Money](dw.value.Money.md) | Returns the sale price to show in Facebook for the product. |
+| [salePriceEffectiveDateEnd](#salepriceeffectivedateend): [Date](TopLevel.Date.md) | Returns the end date of the Facebook sale price of the product. |
+| [salePriceEffectiveDateStart](#salepriceeffectivedatestart): [Date](TopLevel.Date.md) | Returns the start date of the Facebook sale price of the product. |
+| [shippingHeight](#shippingheight): [Number](TopLevel.Number.md) | Returns the shipping height of the product. |
+| [shippingLength](#shippinglength): [Number](TopLevel.Number.md) | Returns the shipping length of the product. |
+| [shippingSizeUnit](#shippingsizeunit): [String](TopLevel.String.md) | Returns the shipping size unit of the product. |
+| [shippingWeight](#shippingweight): [Quantity](dw.value.Quantity.md) | Returns the shipping weight for the product. |
+| [shippingWidth](#shippingwidth): [Number](TopLevel.Number.md) | Returns the shipping width of the product. |
+| [size](#size): [String](TopLevel.String.md) | Returns the Facebook size value label of the product. |
+| [title](#title): [String](TopLevel.String.md) | Returns the title of the Facebook product. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAgeGroup](dw.extensions.facebook.FacebookProduct.md#getagegroup)() | Returns the age group for the Facebook product. |
+| [getAvailability](dw.extensions.facebook.FacebookProduct.md#getavailability)() | Returns the availability of the Facebook product. |
+| [getBrand](dw.extensions.facebook.FacebookProduct.md#getbrand)() | Returns the Facebook brand of the product. |
+| [getColor](dw.extensions.facebook.FacebookProduct.md#getcolor)() | Returns the Facebook color value label of the product. |
+| [getCondition](dw.extensions.facebook.FacebookProduct.md#getcondition)() | Returns the condition of the Facebook product. |
+| [getCustomLabel0](dw.extensions.facebook.FacebookProduct.md#getcustomlabel0)() | Returns the Facebook custom label 0 value of the product. |
+| [getCustomLabel1](dw.extensions.facebook.FacebookProduct.md#getcustomlabel1)() | Returns the Facebook custom label 1 value of the product. |
+| [getCustomLabel2](dw.extensions.facebook.FacebookProduct.md#getcustomlabel2)() | Returns the Facebook custom label 2 value of the product. |
+| [getCustomLabel3](dw.extensions.facebook.FacebookProduct.md#getcustomlabel3)() | Returns the Facebook custom label 3 value of the product. |
+| [getCustomLabel4](dw.extensions.facebook.FacebookProduct.md#getcustomlabel4)() | Returns the Facebook custom label 4 value of the product. |
+| [getDescription](dw.extensions.facebook.FacebookProduct.md#getdescription)() | Returns the description of the Facebook product. |
+| [getExpirationDate](dw.extensions.facebook.FacebookProduct.md#getexpirationdate)() | Returns the Facebook expiration date of the product. |
+| [getGender](dw.extensions.facebook.FacebookProduct.md#getgender)() | Returns the gender for the Facebook product. |
+| [getGoogleProductCategory](dw.extensions.facebook.FacebookProduct.md#getgoogleproductcategory)() | Returns the category of this product in the Google category taxonomy. |
+| [getGtin](dw.extensions.facebook.FacebookProduct.md#getgtin)() | Returns the Facebook GTIN of the product. |
+| [getID](dw.extensions.facebook.FacebookProduct.md#getid)() | Returns the ID of the Facebook product. |
+| [getImageLinks](dw.extensions.facebook.FacebookProduct.md#getimagelinks)() | Returns a list containing the URLs of the images to show in Facebook for the product. |
+| [getItemGroupID](dw.extensions.facebook.FacebookProduct.md#getitemgroupid)() | Returns the ID of the Facebook item group for the product, that is, its master product. |
+| [getLink](dw.extensions.facebook.FacebookProduct.md#getlink)() | Returns the URL of the Demandware storefront link to the product. |
+| [getMaterial](dw.extensions.facebook.FacebookProduct.md#getmaterial)() | Returns the Facebook material value label of the product. |
+| [getMpn](dw.extensions.facebook.FacebookProduct.md#getmpn)() | Returns the Facebook MPN of the product. |
+| [getPattern](dw.extensions.facebook.FacebookProduct.md#getpattern)() | Returns the Facebook pattern value label of the product. |
+| [getPrice](dw.extensions.facebook.FacebookProduct.md#getprice)() | Returns the price to show in Facebook for the product. |
+| [getProductType](dw.extensions.facebook.FacebookProduct.md#getproducttype)() | Returns the Facebook product type. |
+| [getSalePrice](dw.extensions.facebook.FacebookProduct.md#getsaleprice)() | Returns the sale price to show in Facebook for the product. |
+| [getSalePriceEffectiveDateEnd](dw.extensions.facebook.FacebookProduct.md#getsalepriceeffectivedateend)() | Returns the end date of the Facebook sale price of the product. |
+| [getSalePriceEffectiveDateStart](dw.extensions.facebook.FacebookProduct.md#getsalepriceeffectivedatestart)() | Returns the start date of the Facebook sale price of the product. |
+| [getShippingHeight](dw.extensions.facebook.FacebookProduct.md#getshippingheight)() | Returns the shipping height of the product. |
+| [getShippingLength](dw.extensions.facebook.FacebookProduct.md#getshippinglength)() | Returns the shipping length of the product. |
+| [getShippingSizeUnit](dw.extensions.facebook.FacebookProduct.md#getshippingsizeunit)() | Returns the shipping size unit of the product. |
+| [getShippingWeight](dw.extensions.facebook.FacebookProduct.md#getshippingweight)() | Returns the shipping weight for the product. |
+| [getShippingWidth](dw.extensions.facebook.FacebookProduct.md#getshippingwidth)() | Returns the shipping width of the product. |
+| [getSize](dw.extensions.facebook.FacebookProduct.md#getsize)() | Returns the Facebook size value label of the product. |
+| [getTitle](dw.extensions.facebook.FacebookProduct.md#gettitle)() | Returns the title of the Facebook product. |
+| [setAgeGroup](dw.extensions.facebook.FacebookProduct.md#setagegroupstring)([String](TopLevel.String.md)) | Sets the age group for the Facebook product. |
+| [setAvailability](dw.extensions.facebook.FacebookProduct.md#setavailabilitystring)([String](TopLevel.String.md)) | Sets the availability of the Facebook product. |
+| [setBrand](dw.extensions.facebook.FacebookProduct.md#setbrandstring)([String](TopLevel.String.md)) | Sets the Facebook brand of the product. |
+| [setColor](dw.extensions.facebook.FacebookProduct.md#setcolorstring)([String](TopLevel.String.md)) | Sets the Facebook color value label of the product. |
+| [setCondition](dw.extensions.facebook.FacebookProduct.md#setconditionstring)([String](TopLevel.String.md)) | Sets the condition of the Facebook product. |
+| [setCustomLabel0](dw.extensions.facebook.FacebookProduct.md#setcustomlabel0string)([String](TopLevel.String.md)) | Sets the Facebook custom label 0 value of the product. |
+| [setCustomLabel1](dw.extensions.facebook.FacebookProduct.md#setcustomlabel1string)([String](TopLevel.String.md)) | Sets the Facebook custom label 1 value of the product. |
+| [setCustomLabel2](dw.extensions.facebook.FacebookProduct.md#setcustomlabel2string)([String](TopLevel.String.md)) | Sets the Facebook custom label 2 value of the product. |
+| [setCustomLabel3](dw.extensions.facebook.FacebookProduct.md#setcustomlabel3string)([String](TopLevel.String.md)) | Sets the Facebook custom label 3 value of the product. |
+| [setCustomLabel4](dw.extensions.facebook.FacebookProduct.md#setcustomlabel4string)([String](TopLevel.String.md)) | Sets the Facebook custom label 4 value of the product. |
+| [setDescription](dw.extensions.facebook.FacebookProduct.md#setdescriptionstring)([String](TopLevel.String.md)) | Sets the description of the Facebook product. |
+| [setExpirationDate](dw.extensions.facebook.FacebookProduct.md#setexpirationdatedate)([Date](TopLevel.Date.md)) | Sets the Facebook expiration date of the product. |
+| [setGender](dw.extensions.facebook.FacebookProduct.md#setgenderstring)([String](TopLevel.String.md)) | Sets the gender for the Facebook product. |
+| [setGoogleProductCategory](dw.extensions.facebook.FacebookProduct.md#setgoogleproductcategorystring)([String](TopLevel.String.md)) | Sets the category of this product in the Google category taxonomy. |
+| [setGtin](dw.extensions.facebook.FacebookProduct.md#setgtinstring)([String](TopLevel.String.md)) | Sets the Facebook GTIN of the product. |
+| [setImageLinks](dw.extensions.facebook.FacebookProduct.md#setimagelinkslist)([List](dw.util.List.md)) | Sets the list of URLs of images to show in Facebook for the product. |
+| [setItemGroupID](dw.extensions.facebook.FacebookProduct.md#setitemgroupidstring)([String](TopLevel.String.md)) | Sets the ID of the Facebook item group for the product, that is, its master product. |
+| [setLink](dw.extensions.facebook.FacebookProduct.md#setlinkurl)([URL](dw.web.URL.md)) | Sets the URL of the Demandware storefront link to the product. |
+| [setMaterial](dw.extensions.facebook.FacebookProduct.md#setmaterialstring)([String](TopLevel.String.md)) | Sets the Facebook material value label of the product. |
+| [setMpn](dw.extensions.facebook.FacebookProduct.md#setmpnstring)([String](TopLevel.String.md)) | Sets the Facebook MPN of the product. |
+| [setPattern](dw.extensions.facebook.FacebookProduct.md#setpatternstring)([String](TopLevel.String.md)) | Sets the Facebook pattern value label of the product. |
+| [setPrice](dw.extensions.facebook.FacebookProduct.md#setpricemoney)([Money](dw.value.Money.md)) | Sets the price to show in Facebook for the product. |
+| [setProductType](dw.extensions.facebook.FacebookProduct.md#setproducttypestring)([String](TopLevel.String.md)) | Sets the Facebook product type. |
+| [setSalePrice](dw.extensions.facebook.FacebookProduct.md#setsalepricemoney)([Money](dw.value.Money.md)) | Sets the sale price to show in Facebook for the product. |
+| [setSalePriceEffectiveDateEnd](dw.extensions.facebook.FacebookProduct.md#setsalepriceeffectivedateenddate)([Date](TopLevel.Date.md)) | Sets the end date of the Facebook sale price of the product. |
+| [setSalePriceEffectiveDateStart](dw.extensions.facebook.FacebookProduct.md#setsalepriceeffectivedatestartdate)([Date](TopLevel.Date.md)) | Sets the start date of the Facebook sale price of the product. |
+| [setShippingHeight](dw.extensions.facebook.FacebookProduct.md#setshippingheightnumber)([Number](TopLevel.Number.md)) | Sets the shipping height of the product. |
+| [setShippingLength](dw.extensions.facebook.FacebookProduct.md#setshippinglengthnumber)([Number](TopLevel.Number.md)) | Sets the shipping length of the product. |
+| [setShippingSizeUnit](dw.extensions.facebook.FacebookProduct.md#setshippingsizeunitstring)([String](TopLevel.String.md)) | Sets the shipping size unit of the product. |
+| [setShippingWeight](dw.extensions.facebook.FacebookProduct.md#setshippingweightquantity)([Quantity](dw.value.Quantity.md)) | Sets the shipping weight for the product. |
+| [setShippingWidth](dw.extensions.facebook.FacebookProduct.md#setshippingwidthnumber)([Number](TopLevel.Number.md)) | Sets the shipping width of the product. |
+| [setSize](dw.extensions.facebook.FacebookProduct.md#setsizestring)([String](TopLevel.String.md)) | Sets the Facebook size value label of the product. |
+| [setTitle](dw.extensions.facebook.FacebookProduct.md#settitlestring)([String](TopLevel.String.md)) | Sets the title of the Facebook product. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### AGE_GROUP_ADULT
+
+- AGE_GROUP_ADULT: [String](TopLevel.String.md) = "adult"
+ - : Indicates that the product is for adults.
+
+
+---
+
+### AGE_GROUP_INFANT
+
+- AGE_GROUP_INFANT: [String](TopLevel.String.md) = "infant"
+ - : Indicates that the product is for infant children.
+
+
+---
+
+### AGE_GROUP_KIDS
+
+- AGE_GROUP_KIDS: [String](TopLevel.String.md) = "kids"
+ - : Indicates that the product is for children.
+
+
+---
+
+### AGE_GROUP_NEWBORN
+
+- AGE_GROUP_NEWBORN: [String](TopLevel.String.md) = "newborn"
+ - : Indicates that the product is for newborn children.
+
+
+---
+
+### AGE_GROUP_TODDLER
+
+- AGE_GROUP_TODDLER: [String](TopLevel.String.md) = "toddler"
+ - : Indicates that the product is for toddler children.
+
+
+---
+
+### AVAILABILITY_AVAILABLE_FOR_ORDER
+
+- AVAILABILITY_AVAILABLE_FOR_ORDER: [String](TopLevel.String.md) = "available for order"
+ - : Indicates that the product can be ordered for later shipment.
+
+
+---
+
+### AVAILABILITY_IN_STOCK
+
+- AVAILABILITY_IN_STOCK: [String](TopLevel.String.md) = "in stock"
+ - : Indicates that the product is available to ship immediately.
+
+
+---
+
+### AVAILABILITY_OUT_OF_STOCK
+
+- AVAILABILITY_OUT_OF_STOCK: [String](TopLevel.String.md) = "out of stock"
+ - : Indicates that the product is out of stock.
+
+
+---
+
+### AVAILABILITY_PREORDER
+
+- AVAILABILITY_PREORDER: [String](TopLevel.String.md) = "preorder"
+ - : Indicates that the product will be available in the future.
+
+
+---
+
+### CONDITION_NEW
+
+- CONDITION_NEW: [String](TopLevel.String.md) = "new"
+ - : Indicates that the product is new.
+
+
+---
+
+### CONDITION_REFURBISHED
+
+- CONDITION_REFURBISHED: [String](TopLevel.String.md) = "refurbished"
+ - : Indicates that the product is used but has been refurbished.
+
+
+---
+
+### CONDITION_USED
+
+- CONDITION_USED: [String](TopLevel.String.md) = "used"
+ - : Indicates that the product has been used.
+
+
+---
+
+### GENDER_FEMALE
+
+- GENDER_FEMALE: [String](TopLevel.String.md) = "female"
+ - : Indicates that the product is for females.
+
+
+---
+
+### GENDER_MALE
+
+- GENDER_MALE: [String](TopLevel.String.md) = "male"
+ - : Indicates that the product is for males.
+
+
+---
+
+### GENDER_UNISEX
+
+- GENDER_UNISEX: [String](TopLevel.String.md) = "unisex"
+ - : Indicates that the product is for both males and females.
+
+
+---
+
+### SHIPPING_SIZE_UNIT_CM
+
+- SHIPPING_SIZE_UNIT_CM: [String](TopLevel.String.md) = "cm"
+ - : Indicates that the product is measured in centimeters.
+
+
+---
+
+### SHIPPING_SIZE_UNIT_FT
+
+- SHIPPING_SIZE_UNIT_FT: [String](TopLevel.String.md) = "ft"
+ - : Indicates that the product is measured in feet.
+
+
+---
+
+### SHIPPING_SIZE_UNIT_IN
+
+- SHIPPING_SIZE_UNIT_IN: [String](TopLevel.String.md) = "in"
+ - : Indicates that the product is measured in inches.
+
+
+---
+
+### SHIPPING_SIZE_UNIT_M
+
+- SHIPPING_SIZE_UNIT_M: [String](TopLevel.String.md) = "m"
+ - : Indicates that the product is measured in meters.
+
+
+---
+
+### SHIPPING_WEIGHT_UNIT_G
+
+- SHIPPING_WEIGHT_UNIT_G: [String](TopLevel.String.md) = "g"
+ - : Indicates that the product is weighed in grams.
+
+
+---
+
+### SHIPPING_WEIGHT_UNIT_KG
+
+- SHIPPING_WEIGHT_UNIT_KG: [String](TopLevel.String.md) = "kg"
+ - : Indicates that the product is weighed in kilograms.
+
+
+---
+
+### SHIPPING_WEIGHT_UNIT_LB
+
+- SHIPPING_WEIGHT_UNIT_LB: [String](TopLevel.String.md) = "lb"
+ - : Indicates that the product is weighed in pounds.
+
+
+---
+
+### SHIPPING_WEIGHT_UNIT_OZ
+
+- SHIPPING_WEIGHT_UNIT_OZ: [String](TopLevel.String.md) = "oz"
+ - : Indicates that the product is weighed in ounces.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the Facebook product. This is the same as the ID of the Demandware product.
+
+
+---
+
+### ageGroup
+- ageGroup: [String](TopLevel.String.md)
+ - : Returns the age group for the Facebook product.
+
+
+---
+
+### availability
+- availability: [String](TopLevel.String.md)
+ - : Returns the availability of the Facebook product.
+
+
+---
+
+### brand
+- brand: [String](TopLevel.String.md)
+ - : Returns the Facebook brand of the product.
+
+
+---
+
+### color
+- color: [String](TopLevel.String.md)
+ - : Returns the Facebook color value label of the product.
+
+
+---
+
+### condition
+- condition: [String](TopLevel.String.md)
+ - : Returns the condition of the Facebook product.
+
+
+---
+
+### customLabel0
+- customLabel0: [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 0 value of the product.
+
+
+---
+
+### customLabel1
+- customLabel1: [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 1 value of the product.
+
+
+---
+
+### customLabel2
+- customLabel2: [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 2 value of the product.
+
+
+---
+
+### customLabel3
+- customLabel3: [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 3 value of the product.
+
+
+---
+
+### customLabel4
+- customLabel4: [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 4 value of the product.
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md)
+ - : Returns the description of the Facebook product.
+
+
+---
+
+### expirationDate
+- expirationDate: [Date](TopLevel.Date.md)
+ - : Returns the Facebook expiration date of the product. If the product is expired it will not be shown.
+
+
+---
+
+### gender
+- gender: [String](TopLevel.String.md)
+ - : Returns the gender for the Facebook product.
+
+
+---
+
+### googleProductCategory
+- googleProductCategory: [String](TopLevel.String.md)
+ - : Returns the category of this product in the Google category taxonomy. If the value is longer than 250 characters
+ it is truncated.
+
+
+
+---
+
+### gtin
+- gtin: [String](TopLevel.String.md)
+ - : Returns the Facebook GTIN of the product.
+
+
+---
+
+### imageLinks
+- imageLinks: [List](dw.util.List.md)
+ - : Returns a list containing the URLs of the images to show in Facebook for the product.
+
+
+---
+
+### itemGroupID
+- itemGroupID: [String](TopLevel.String.md)
+ - : Returns the ID of the Facebook item group for the product, that is, its master product.
+
+
+---
+
+### link
+- link: [URL](dw.web.URL.md)
+ - : Returns the URL of the Demandware storefront link to the product.
+
+
+---
+
+### material
+- material: [String](TopLevel.String.md)
+ - : Returns the Facebook material value label of the product.
+
+
+---
+
+### mpn
+- mpn: [String](TopLevel.String.md)
+ - : Returns the Facebook MPN of the product.
+
+
+---
+
+### pattern
+- pattern: [String](TopLevel.String.md)
+ - : Returns the Facebook pattern value label of the product.
+
+
+---
+
+### price
+- price: [Money](dw.value.Money.md)
+ - : Returns the price to show in Facebook for the product.
+
+
+---
+
+### productType
+- productType: [String](TopLevel.String.md)
+ - : Returns the Facebook product type. This is the retailer-defined category of the item.
+
+
+---
+
+### salePrice
+- salePrice: [Money](dw.value.Money.md)
+ - : Returns the sale price to show in Facebook for the product.
+
+
+---
+
+### salePriceEffectiveDateEnd
+- salePriceEffectiveDateEnd: [Date](TopLevel.Date.md)
+ - : Returns the end date of the Facebook sale price of the product.
+
+
+---
+
+### salePriceEffectiveDateStart
+- salePriceEffectiveDateStart: [Date](TopLevel.Date.md)
+ - : Returns the start date of the Facebook sale price of the product.
+
+
+---
+
+### shippingHeight
+- shippingHeight: [Number](TopLevel.Number.md)
+ - : Returns the shipping height of the product.
+
+ **See Also:**
+ - [getShippingLength()](dw.extensions.facebook.FacebookProduct.md#getshippinglength)
+ - [getShippingWidth()](dw.extensions.facebook.FacebookProduct.md#getshippingwidth)
+ - [getShippingSizeUnit()](dw.extensions.facebook.FacebookProduct.md#getshippingsizeunit)
+
+
+---
+
+### shippingLength
+- shippingLength: [Number](TopLevel.Number.md)
+ - : Returns the shipping length of the product.
+
+ **See Also:**
+ - [getShippingWidth()](dw.extensions.facebook.FacebookProduct.md#getshippingwidth)
+ - [getShippingHeight()](dw.extensions.facebook.FacebookProduct.md#getshippingheight)
+ - [getShippingSizeUnit()](dw.extensions.facebook.FacebookProduct.md#getshippingsizeunit)
+
+
+---
+
+### shippingSizeUnit
+- shippingSizeUnit: [String](TopLevel.String.md)
+ - : Returns the shipping size unit of the product.
+
+ **See Also:**
+ - [getShippingLength()](dw.extensions.facebook.FacebookProduct.md#getshippinglength)
+ - [getShippingWidth()](dw.extensions.facebook.FacebookProduct.md#getshippingwidth)
+ - [getShippingHeight()](dw.extensions.facebook.FacebookProduct.md#getshippingheight)
+
+
+---
+
+### shippingWeight
+- shippingWeight: [Quantity](dw.value.Quantity.md)
+ - : Returns the shipping weight for the product.
+
+
+---
+
+### shippingWidth
+- shippingWidth: [Number](TopLevel.Number.md)
+ - : Returns the shipping width of the product.
+
+ **See Also:**
+ - [getShippingLength()](dw.extensions.facebook.FacebookProduct.md#getshippinglength)
+ - [getShippingHeight()](dw.extensions.facebook.FacebookProduct.md#getshippingheight)
+ - [getShippingSizeUnit()](dw.extensions.facebook.FacebookProduct.md#getshippingsizeunit)
+
+
+---
+
+### size
+- size: [String](TopLevel.String.md)
+ - : Returns the Facebook size value label of the product.
+
+
+---
+
+### title
+- title: [String](TopLevel.String.md)
+ - : Returns the title of the Facebook product.
+
+
+---
+
+## Method Details
+
+### getAgeGroup()
+- getAgeGroup(): [String](TopLevel.String.md)
+ - : Returns the age group for the Facebook product.
+
+ **Returns:**
+ - product age group
+
+
+---
+
+### getAvailability()
+- getAvailability(): [String](TopLevel.String.md)
+ - : Returns the availability of the Facebook product.
+
+ **Returns:**
+ - product availability
+
+
+---
+
+### getBrand()
+- getBrand(): [String](TopLevel.String.md)
+ - : Returns the Facebook brand of the product.
+
+ **Returns:**
+ - the brand
+
+
+---
+
+### getColor()
+- getColor(): [String](TopLevel.String.md)
+ - : Returns the Facebook color value label of the product.
+
+ **Returns:**
+ - the color value label
+
+
+---
+
+### getCondition()
+- getCondition(): [String](TopLevel.String.md)
+ - : Returns the condition of the Facebook product.
+
+ **Returns:**
+ - product condition
+
+
+---
+
+### getCustomLabel0()
+- getCustomLabel0(): [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 0 value of the product.
+
+ **Returns:**
+ - the custom label 0 value
+
+
+---
+
+### getCustomLabel1()
+- getCustomLabel1(): [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 1 value of the product.
+
+ **Returns:**
+ - the custom label 1 value
+
+
+---
+
+### getCustomLabel2()
+- getCustomLabel2(): [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 2 value of the product.
+
+ **Returns:**
+ - the custom label 2 value
+
+
+---
+
+### getCustomLabel3()
+- getCustomLabel3(): [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 3 value of the product.
+
+ **Returns:**
+ - the custom label 3 value
+
+
+---
+
+### getCustomLabel4()
+- getCustomLabel4(): [String](TopLevel.String.md)
+ - : Returns the Facebook custom label 4 value of the product.
+
+ **Returns:**
+ - the custom label 4 value
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the description of the Facebook product.
+
+ **Returns:**
+ - product description
+
+
+---
+
+### getExpirationDate()
+- getExpirationDate(): [Date](TopLevel.Date.md)
+ - : Returns the Facebook expiration date of the product. If the product is expired it will not be shown.
+
+ **Returns:**
+ - the expiration date
+
+
+---
+
+### getGender()
+- getGender(): [String](TopLevel.String.md)
+ - : Returns the gender for the Facebook product.
+
+ **Returns:**
+ - product gender
+
+
+---
+
+### getGoogleProductCategory()
+- getGoogleProductCategory(): [String](TopLevel.String.md)
+ - : Returns the category of this product in the Google category taxonomy. If the value is longer than 250 characters
+ it is truncated.
+
+
+ **Returns:**
+ - the category of this product in the Google category taxonomy
+
+
+---
+
+### getGtin()
+- getGtin(): [String](TopLevel.String.md)
+ - : Returns the Facebook GTIN of the product.
+
+ **Returns:**
+ - the GTIN
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the Facebook product. This is the same as the ID of the Demandware product.
+
+ **Returns:**
+ - product ID
+
+
+---
+
+### getImageLinks()
+- getImageLinks(): [List](dw.util.List.md)
+ - : Returns a list containing the URLs of the images to show in Facebook for the product.
+
+ **Returns:**
+ - the URLs of the images
+
+
+---
+
+### getItemGroupID()
+- getItemGroupID(): [String](TopLevel.String.md)
+ - : Returns the ID of the Facebook item group for the product, that is, its master product.
+
+ **Returns:**
+ - the ID of the Facebook item group
+
+
+---
+
+### getLink()
+- getLink(): [URL](dw.web.URL.md)
+ - : Returns the URL of the Demandware storefront link to the product.
+
+ **Returns:**
+ - the URL of the storefront link
+
+
+---
+
+### getMaterial()
+- getMaterial(): [String](TopLevel.String.md)
+ - : Returns the Facebook material value label of the product.
+
+ **Returns:**
+ - the material value label
+
+
+---
+
+### getMpn()
+- getMpn(): [String](TopLevel.String.md)
+ - : Returns the Facebook MPN of the product.
+
+ **Returns:**
+ - the MPN
+
+
+---
+
+### getPattern()
+- getPattern(): [String](TopLevel.String.md)
+ - : Returns the Facebook pattern value label of the product.
+
+ **Returns:**
+ - the pattern value label
+
+
+---
+
+### getPrice()
+- getPrice(): [Money](dw.value.Money.md)
+ - : Returns the price to show in Facebook for the product.
+
+ **Returns:**
+ - the price to show in Facebook
+
+
+---
+
+### getProductType()
+- getProductType(): [String](TopLevel.String.md)
+ - : Returns the Facebook product type. This is the retailer-defined category of the item.
+
+ **Returns:**
+ - the Facebook product type
+
+
+---
+
+### getSalePrice()
+- getSalePrice(): [Money](dw.value.Money.md)
+ - : Returns the sale price to show in Facebook for the product.
+
+ **Returns:**
+ - the sale price to show in Facebook
+
+
+---
+
+### getSalePriceEffectiveDateEnd()
+- getSalePriceEffectiveDateEnd(): [Date](TopLevel.Date.md)
+ - : Returns the end date of the Facebook sale price of the product.
+
+ **Returns:**
+ - the end date of the Facebook sale price
+
+
+---
+
+### getSalePriceEffectiveDateStart()
+- getSalePriceEffectiveDateStart(): [Date](TopLevel.Date.md)
+ - : Returns the start date of the Facebook sale price of the product.
+
+ **Returns:**
+ - the start date of the Facebook sale price
+
+
+---
+
+### getShippingHeight()
+- getShippingHeight(): [Number](TopLevel.Number.md)
+ - : Returns the shipping height of the product.
+
+ **Returns:**
+ - the shipping height
+
+ **See Also:**
+ - [getShippingLength()](dw.extensions.facebook.FacebookProduct.md#getshippinglength)
+ - [getShippingWidth()](dw.extensions.facebook.FacebookProduct.md#getshippingwidth)
+ - [getShippingSizeUnit()](dw.extensions.facebook.FacebookProduct.md#getshippingsizeunit)
+
+
+---
+
+### getShippingLength()
+- getShippingLength(): [Number](TopLevel.Number.md)
+ - : Returns the shipping length of the product.
+
+ **Returns:**
+ - the shipping length
+
+ **See Also:**
+ - [getShippingWidth()](dw.extensions.facebook.FacebookProduct.md#getshippingwidth)
+ - [getShippingHeight()](dw.extensions.facebook.FacebookProduct.md#getshippingheight)
+ - [getShippingSizeUnit()](dw.extensions.facebook.FacebookProduct.md#getshippingsizeunit)
+
+
+---
+
+### getShippingSizeUnit()
+- getShippingSizeUnit(): [String](TopLevel.String.md)
+ - : Returns the shipping size unit of the product.
+
+ **Returns:**
+ - the shipping size unit
+
+ **See Also:**
+ - [getShippingLength()](dw.extensions.facebook.FacebookProduct.md#getshippinglength)
+ - [getShippingWidth()](dw.extensions.facebook.FacebookProduct.md#getshippingwidth)
+ - [getShippingHeight()](dw.extensions.facebook.FacebookProduct.md#getshippingheight)
+
+
+---
+
+### getShippingWeight()
+- getShippingWeight(): [Quantity](dw.value.Quantity.md)
+ - : Returns the shipping weight for the product.
+
+ **Returns:**
+ - the shipping weight
+
+
+---
+
+### getShippingWidth()
+- getShippingWidth(): [Number](TopLevel.Number.md)
+ - : Returns the shipping width of the product.
+
+ **Returns:**
+ - the shipping width
+
+ **See Also:**
+ - [getShippingLength()](dw.extensions.facebook.FacebookProduct.md#getshippinglength)
+ - [getShippingHeight()](dw.extensions.facebook.FacebookProduct.md#getshippingheight)
+ - [getShippingSizeUnit()](dw.extensions.facebook.FacebookProduct.md#getshippingsizeunit)
+
+
+---
+
+### getSize()
+- getSize(): [String](TopLevel.String.md)
+ - : Returns the Facebook size value label of the product.
+
+ **Returns:**
+ - the size value label
+
+
+---
+
+### getTitle()
+- getTitle(): [String](TopLevel.String.md)
+ - : Returns the title of the Facebook product.
+
+ **Returns:**
+ - product title
+
+
+---
+
+### setAgeGroup(String)
+- setAgeGroup(ageGroup: [String](TopLevel.String.md)): void
+ - : Sets the age group for the Facebook product. Possible values are
+ [AGE_GROUP_ADULT](dw.extensions.facebook.FacebookProduct.md#age_group_adult),
+ [AGE_GROUP_INFANT](dw.extensions.facebook.FacebookProduct.md#age_group_infant),
+ [AGE_GROUP_KIDS](dw.extensions.facebook.FacebookProduct.md#age_group_kids),
+ [AGE_GROUP_NEWBORN](dw.extensions.facebook.FacebookProduct.md#age_group_newborn),
+ [AGE_GROUP_TODDLER](dw.extensions.facebook.FacebookProduct.md#age_group_toddler), or `null`.
+
+
+ **Parameters:**
+ - ageGroup - the ageGroup to set for this product
+
+
+---
+
+### setAvailability(String)
+- setAvailability(availability: [String](TopLevel.String.md)): void
+ - : Sets the availability of the Facebook product. Possible values are
+ [AVAILABILITY_AVAILABLE_FOR_ORDER](dw.extensions.facebook.FacebookProduct.md#availability_available_for_order),
+ [AVAILABILITY_IN_STOCK](dw.extensions.facebook.FacebookProduct.md#availability_in_stock),
+ [AVAILABILITY_OUT_OF_STOCK](dw.extensions.facebook.FacebookProduct.md#availability_out_of_stock), or
+ [AVAILABILITY_PREORDER](dw.extensions.facebook.FacebookProduct.md#availability_preorder)
+
+
+ **Parameters:**
+ - availability - the availability status to set for this product
+
+
+---
+
+### setBrand(String)
+- setBrand(brand: [String](TopLevel.String.md)): void
+ - : Sets the Facebook brand of the product. If the value is longer than 70 characters it is truncated.
+
+ **Parameters:**
+ - brand - Facebook brand, up to 70 characters
+
+
+---
+
+### setColor(String)
+- setColor(color: [String](TopLevel.String.md)): void
+ - : Sets the Facebook color value label of the product. If the value is longer than 100 characters it is truncated.
+
+ **Parameters:**
+ - color - Facebook color value label, up to 100 characters
+
+
+---
+
+### setCondition(String)
+- setCondition(condition: [String](TopLevel.String.md)): void
+ - : Sets the condition of the Facebook product. Possible values are
+ [CONDITION_NEW](dw.extensions.facebook.FacebookProduct.md#condition_new),
+ [CONDITION_REFURBISHED](dw.extensions.facebook.FacebookProduct.md#condition_refurbished), or
+ [CONDITION_USED](dw.extensions.facebook.FacebookProduct.md#condition_used).
+
+
+ **Parameters:**
+ - condition - the condition status to set for this product
+
+
+---
+
+### setCustomLabel0(String)
+- setCustomLabel0(customLabel0: [String](TopLevel.String.md)): void
+ - : Sets the Facebook custom label 0 value of the product.
+
+ **Parameters:**
+ - customLabel0 - custom label 0 value
+
+
+---
+
+### setCustomLabel1(String)
+- setCustomLabel1(customLabel1: [String](TopLevel.String.md)): void
+ - : Sets the Facebook custom label 1 value of the product.
+
+ **Parameters:**
+ - customLabel1 - custom label 1 value
+
+
+---
+
+### setCustomLabel2(String)
+- setCustomLabel2(customLabel2: [String](TopLevel.String.md)): void
+ - : Sets the Facebook custom label 2 value of the product.
+
+ **Parameters:**
+ - customLabel2 - custom label 2 value
+
+
+---
+
+### setCustomLabel3(String)
+- setCustomLabel3(customLabel3: [String](TopLevel.String.md)): void
+ - : Sets the Facebook custom label 3 value of the product.
+
+ **Parameters:**
+ - customLabel3 - custom label 3 value
+
+
+---
+
+### setCustomLabel4(String)
+- setCustomLabel4(customLabel4: [String](TopLevel.String.md)): void
+ - : Sets the Facebook custom label 4 value of the product.
+
+ **Parameters:**
+ - customLabel4 - custom label 4 value
+
+
+---
+
+### setDescription(String)
+- setDescription(description: [String](TopLevel.String.md)): void
+ - : Sets the description of the Facebook product. If the value is longer than 5000 characters it is truncated.
+
+ **Parameters:**
+ - description - product description, up to 5000 characters
+
+
+---
+
+### setExpirationDate(Date)
+- setExpirationDate(expirationDate: [Date](TopLevel.Date.md)): void
+ - : Sets the Facebook expiration date of the product.
+
+ **Parameters:**
+ - expirationDate - Facebook expiration date
+
+
+---
+
+### setGender(String)
+- setGender(gender: [String](TopLevel.String.md)): void
+ - : Sets the gender for the Facebook product. Possible values are
+ [GENDER_MALE](dw.extensions.facebook.FacebookProduct.md#gender_male),
+ [GENDER_FEMALE](dw.extensions.facebook.FacebookProduct.md#gender_female),
+ [GENDER_UNISEX](dw.extensions.facebook.FacebookProduct.md#gender_unisex), or `null`.
+
+
+ **Parameters:**
+ - gender - the gender to set for this product
+
+
+---
+
+### setGoogleProductCategory(String)
+- setGoogleProductCategory(googleProductCategory: [String](TopLevel.String.md)): void
+ - : Sets the category of this product in the Google category taxonomy.
+
+ **Parameters:**
+ - googleProductCategory - Google product category
+
+
+---
+
+### setGtin(String)
+- setGtin(gtin: [String](TopLevel.String.md)): void
+ - : Sets the Facebook GTIN of the product. If the value is longer than 70 characters it is truncated.
+
+ **Parameters:**
+ - gtin - Facebook GTIN, up to 70 characters
+
+
+---
+
+### setImageLinks(List)
+- setImageLinks(imageLinks: [List](dw.util.List.md)): void
+ - : Sets the list of URLs of images to show in Facebook for the product.
+
+ **Parameters:**
+ - imageLinks - links to the product images
+
+
+---
+
+### setItemGroupID(String)
+- setItemGroupID(itemGroupID: [String](TopLevel.String.md)): void
+ - : Sets the ID of the Facebook item group for the product, that is, its master product.
+
+ **Parameters:**
+ - itemGroupID - ID of Facebook item group
+
+
+---
+
+### setLink(URL)
+- setLink(link: [URL](dw.web.URL.md)): void
+ - : Sets the URL of the Demandware storefront link to the product.
+
+ **Parameters:**
+ - link - Demandware storefront link to the product
+
+
+---
+
+### setMaterial(String)
+- setMaterial(material: [String](TopLevel.String.md)): void
+ - : Sets the Facebook material value label of the product. If the value is longer than 200 characters it is
+ truncated.
+
+
+ **Parameters:**
+ - material - Facebook material value label, up to 200 characters
+
+
+---
+
+### setMpn(String)
+- setMpn(mpn: [String](TopLevel.String.md)): void
+ - : Sets the Facebook MPN of the product. If the value is longer than 70 characters it is truncated.
+
+ **Parameters:**
+ - mpn - Facebook MPN, up to 70 characters
+
+
+---
+
+### setPattern(String)
+- setPattern(pattern: [String](TopLevel.String.md)): void
+ - : Sets the Facebook pattern value label of the product. If the value is longer than 100 characters it is truncated.
+
+ **Parameters:**
+ - pattern - Facebook pattern value label, up to 100 characters
+
+
+---
+
+### setPrice(Money)
+- setPrice(price: [Money](dw.value.Money.md)): void
+ - : Sets the price to show in Facebook for the product.
+
+ **Parameters:**
+ - price - Facebook price
+
+
+---
+
+### setProductType(String)
+- setProductType(productType: [String](TopLevel.String.md)): void
+ - : Sets the Facebook product type. If the value is longer than 750 characters it is truncated.
+
+ **Parameters:**
+ - productType - Facebook product type, up to 750 characters
+
+
+---
+
+### setSalePrice(Money)
+- setSalePrice(salePrice: [Money](dw.value.Money.md)): void
+ - : Sets the sale price to show in Facebook for the product.
+
+ **Parameters:**
+ - salePrice - Facebook sale price
+
+
+---
+
+### setSalePriceEffectiveDateEnd(Date)
+- setSalePriceEffectiveDateEnd(salePriceEffectiveDateEnd: [Date](TopLevel.Date.md)): void
+ - : Sets the end date of the Facebook sale price of the product.
+
+ **Parameters:**
+ - salePriceEffectiveDateEnd - end date of Facebook sale price
+
+
+---
+
+### setSalePriceEffectiveDateStart(Date)
+- setSalePriceEffectiveDateStart(salePriceEffectiveDateStart: [Date](TopLevel.Date.md)): void
+ - : Sets the start date of the Facebook sale price of the product.
+
+ **Parameters:**
+ - salePriceEffectiveDateStart - start date of Facebook sale price
+
+
+---
+
+### setShippingHeight(Number)
+- setShippingHeight(shippingHeight: [Number](TopLevel.Number.md)): void
+ - : Sets the shipping height of the product. If the value is negative it is truncated to 0.
+
+ **Parameters:**
+ - shippingHeight - shipping height, may not be negative
+
+ **See Also:**
+ - [setShippingLength(Number)](dw.extensions.facebook.FacebookProduct.md#setshippinglengthnumber)
+ - [setShippingWidth(Number)](dw.extensions.facebook.FacebookProduct.md#setshippingwidthnumber)
+ - [setShippingSizeUnit(String)](dw.extensions.facebook.FacebookProduct.md#setshippingsizeunitstring)
+
+
+---
+
+### setShippingLength(Number)
+- setShippingLength(shippingLength: [Number](TopLevel.Number.md)): void
+ - : Sets the shipping length of the product. If the value is negative it is truncated to 0.
+
+ **Parameters:**
+ - shippingLength - shipping length, may not be negative
+
+ **See Also:**
+ - [setShippingWidth(Number)](dw.extensions.facebook.FacebookProduct.md#setshippingwidthnumber)
+ - [setShippingHeight(Number)](dw.extensions.facebook.FacebookProduct.md#setshippingheightnumber)
+ - [setShippingSizeUnit(String)](dw.extensions.facebook.FacebookProduct.md#setshippingsizeunitstring)
+
+
+---
+
+### setShippingSizeUnit(String)
+- setShippingSizeUnit(shippingSizeUnit: [String](TopLevel.String.md)): void
+ - : Sets the shipping size unit of the product.
+
+ **Parameters:**
+ - shippingSizeUnit - shipping size unit
+
+ **See Also:**
+ - [setShippingLength(Number)](dw.extensions.facebook.FacebookProduct.md#setshippinglengthnumber)
+ - [setShippingWidth(Number)](dw.extensions.facebook.FacebookProduct.md#setshippingwidthnumber)
+ - [setShippingHeight(Number)](dw.extensions.facebook.FacebookProduct.md#setshippingheightnumber)
+
+
+---
+
+### setShippingWeight(Quantity)
+- setShippingWeight(shippingWeight: [Quantity](dw.value.Quantity.md)): void
+ - : Sets the shipping weight for the product. Possible unit values are
+ [SHIPPING_WEIGHT_UNIT_LB](dw.extensions.facebook.FacebookProduct.md#shipping_weight_unit_lb),
+ [SHIPPING_WEIGHT_UNIT_OZ](dw.extensions.facebook.FacebookProduct.md#shipping_weight_unit_oz),
+ [SHIPPING_WEIGHT_UNIT_G](dw.extensions.facebook.FacebookProduct.md#shipping_weight_unit_g), or
+ [SHIPPING_WEIGHT_UNIT_KG](dw.extensions.facebook.FacebookProduct.md#shipping_weight_unit_kg).
+
+
+ **Parameters:**
+ - shippingWeight - product shipping weight
+
+
+---
+
+### setShippingWidth(Number)
+- setShippingWidth(shippingWidth: [Number](TopLevel.Number.md)): void
+ - : Sets the shipping width of the product. If the value is negative it is truncated to 0.
+
+ **Parameters:**
+ - shippingWidth - shipping width, may not be negative
+
+ **See Also:**
+ - [setShippingLength(Number)](dw.extensions.facebook.FacebookProduct.md#setshippinglengthnumber)
+ - [setShippingHeight(Number)](dw.extensions.facebook.FacebookProduct.md#setshippingheightnumber)
+ - [setShippingSizeUnit(String)](dw.extensions.facebook.FacebookProduct.md#setshippingsizeunitstring)
+
+
+---
+
+### setSize(String)
+- setSize(size: [String](TopLevel.String.md)): void
+ - : Sets the Facebook size value label of the product. If the value is longer than 100 characters it is truncated.
+
+ **Parameters:**
+ - size - Facebook size value label, up to 100 characters
+
+
+---
+
+### setTitle(String)
+- setTitle(title: [String](TopLevel.String.md)): void
+ - : Sets the title of the Facebook product. If the value is longer than 100 characters it is truncated.
+
+ **Parameters:**
+ - title - product title, up to 100 characters
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.facebook.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.facebook.md
new file mode 100644
index 00000000..1ab828a8
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.facebook.md
@@ -0,0 +1,7 @@
+# Package dw.extensions.facebook
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [FacebookFeedHooks](dw.extensions.facebook.FacebookFeedHooks.md) | FacebookFeedHooks interface containing extension points for customizing Facebook export feeds. |
+| [FacebookProduct](dw.extensions.facebook.FacebookProduct.md) | Represents a row in the Facebook catalog feed export. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentapi.PaymentApiHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentapi.PaymentApiHooks.md
new file mode 100644
index 00000000..7d2b6634
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentapi.PaymentApiHooks.md
@@ -0,0 +1,136 @@
+
+# Class PaymentApiHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.paymentapi.PaymentApiHooks](dw.extensions.paymentapi.PaymentApiHooks.md)
+
+PaymentApiHooks interface containing extension points for customizing Payment API requests for authorization,
+and their responses.
+
+
+These hooks are executed in a transaction.
+
+
+The extension points (hook names), and the functions that are called by each extension point. A function must be
+defined inside a JavaScript source and must be exported. The script with the exported hook function must be located
+inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.extensions.paymentapi.beforeAuthorization", "script": "./payment.ds"}
+ {"name": "dw.extensions.paymentapi.afterAuthorization", "script": "./payment.ds"}
+]
+```
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointAfterAuthorization](#extensionpointafterauthorization): [String](TopLevel.String.md) = "dw.extensions.paymentapi.afterAuthorization" | The extension point name dw.extensions.paymentapi.afterAuthorization. |
+| [extensionPointBeforeAuthorization](#extensionpointbeforeauthorization): [String](TopLevel.String.md) = "dw.extensions.paymentapi.beforeAuthorization" | The extension point name dw.extensions.paymentapi.beforeAuthorization. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [afterAuthorization](dw.extensions.paymentapi.PaymentApiHooks.md#afterauthorizationorder-orderpaymentinstrument-object-status)([Order](dw.order.Order.md), [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [Object](TopLevel.Object.md), [Status](dw.system.Status.md)) | Called after the response has been handled for a request to authorize payment for the given order. |
+| [beforeAuthorization](dw.extensions.paymentapi.PaymentApiHooks.md#beforeauthorizationorder-orderpaymentinstrument-object)([Order](dw.order.Order.md), [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [Object](TopLevel.Object.md)) | Called when a request is to be made to authorize payment for the given order. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointAfterAuthorization
+
+- extensionPointAfterAuthorization: [String](TopLevel.String.md) = "dw.extensions.paymentapi.afterAuthorization"
+ - : The extension point name dw.extensions.paymentapi.afterAuthorization.
+
+
+---
+
+### extensionPointBeforeAuthorization
+
+- extensionPointBeforeAuthorization: [String](TopLevel.String.md) = "dw.extensions.paymentapi.beforeAuthorization"
+ - : The extension point name dw.extensions.paymentapi.beforeAuthorization.
+
+
+---
+
+## Method Details
+
+### afterAuthorization(Order, OrderPaymentInstrument, Object, Status)
+- afterAuthorization(order: [Order](dw.order.Order.md), payment: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), custom: [Object](TopLevel.Object.md), status: [Status](dw.system.Status.md)): [Status](dw.system.Status.md)
+ - :
+
+ Called after the response has been handled for a request to authorize payment for the given order.
+
+
+
+
+ The given status is the result of handling the response without customization. That status will be
+ used unless an implementation of this hook returns an alternative status.
+
+
+ **Parameters:**
+ - order - the order whose payment to authorize
+ - payment - the payment instrument to authorize
+ - custom - container of custom properties included in the PSP response
+ - status - the result of handling the response without customization
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### beforeAuthorization(Order, OrderPaymentInstrument, Object)
+- beforeAuthorization(order: [Order](dw.order.Order.md), payment: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), custom: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - :
+
+ Called when a request is to be made to authorize payment for the given order.
+
+
+
+
+ Return an error status to indicate a problem. The request will not be made to the payment provider.
+
+
+ **Parameters:**
+ - order - the order whose payment to authorize
+ - payment - the payment instrument to authorize
+ - custom - container for custom properties to include in request
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentapi.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentapi.md
new file mode 100644
index 00000000..8f35d15a
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentapi.md
@@ -0,0 +1,6 @@
+# Package dw.extensions.paymentapi
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [PaymentApiHooks](dw.extensions.paymentapi.PaymentApiHooks.md) | PaymentApiHooks interface containing extension points for customizing Payment API requests for authorization, and their responses. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentrequest.PaymentRequestHookResult.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentrequest.PaymentRequestHookResult.md
new file mode 100644
index 00000000..aa4ea6b1
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentrequest.PaymentRequestHookResult.md
@@ -0,0 +1,149 @@
+
+# Class PaymentRequestHookResult
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.paymentrequest.PaymentRequestHookResult](dw.extensions.paymentrequest.PaymentRequestHookResult.md)
+
+Result of a hook handling a Payment Request request
+
+**Deprecated:**
+:::warning
+Salesforce Payments includes support for Google Pay
+:::
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [eventDetail](#eventdetail): [Object](TopLevel.Object.md) `(read-only)` | Detail to the JS custom event to dispatch in response to this result. |
+| [eventName](#eventname): [String](TopLevel.String.md) `(read-only)` | Name of the JS custom event to dispatch in response to this result. |
+| [redirect](#redirect): [URL](dw.web.URL.md) `(read-only)` | URL to navigate to in response to this result. |
+| [status](#status): [Status](dw.system.Status.md) `(read-only)` | Status describing the outcome of this result. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [PaymentRequestHookResult](#paymentrequesthookresultstatus-url)([Status](dw.system.Status.md), [URL](dw.web.URL.md)) | Constructs a result with the given outcome information. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getEventDetail](dw.extensions.paymentrequest.PaymentRequestHookResult.md#geteventdetail)() | Detail to the JS custom event to dispatch in response to this result. |
+| [getEventName](dw.extensions.paymentrequest.PaymentRequestHookResult.md#geteventname)() | Name of the JS custom event to dispatch in response to this result. |
+| [getRedirect](dw.extensions.paymentrequest.PaymentRequestHookResult.md#getredirect)() | URL to navigate to in response to this result. |
+| [getStatus](dw.extensions.paymentrequest.PaymentRequestHookResult.md#getstatus)() | Status describing the outcome of this result. |
+| [setEvent](dw.extensions.paymentrequest.PaymentRequestHookResult.md#seteventstring)([String](TopLevel.String.md)) | Sets the name of the JS custom event to dispatch in response to this result. |
+| [setEvent](dw.extensions.paymentrequest.PaymentRequestHookResult.md#seteventstring-object)([String](TopLevel.String.md), [Object](TopLevel.Object.md)) | Sets the name and detail of the JS custom event to dispatch in response to this result. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### eventDetail
+- eventDetail: [Object](TopLevel.Object.md) `(read-only)`
+ - : Detail to the JS custom event to dispatch in response to this result.
+
+
+---
+
+### eventName
+- eventName: [String](TopLevel.String.md) `(read-only)`
+ - : Name of the JS custom event to dispatch in response to this result.
+
+
+---
+
+### redirect
+- redirect: [URL](dw.web.URL.md) `(read-only)`
+ - : URL to navigate to in response to this result.
+
+
+---
+
+### status
+- status: [Status](dw.system.Status.md) `(read-only)`
+ - : Status describing the outcome of this result.
+
+
+---
+
+## Constructor Details
+
+### PaymentRequestHookResult(Status, URL)
+- PaymentRequestHookResult(status: [Status](dw.system.Status.md), redirect: [URL](dw.web.URL.md))
+ - : Constructs a result with the given outcome information.
+
+ **Parameters:**
+ - status - status of the result
+ - redirect - optional URL to which to navigate to in response to this outcome
+
+
+---
+
+## Method Details
+
+### getEventDetail()
+- getEventDetail(): [Object](TopLevel.Object.md)
+ - : Detail to the JS custom event to dispatch in response to this result.
+
+ **Returns:**
+ - event detail
+
+
+---
+
+### getEventName()
+- getEventName(): [String](TopLevel.String.md)
+ - : Name of the JS custom event to dispatch in response to this result.
+
+ **Returns:**
+ - event name
+
+
+---
+
+### getRedirect()
+- getRedirect(): [URL](dw.web.URL.md)
+ - : URL to navigate to in response to this result.
+
+ **Returns:**
+ - redirect URL
+
+
+---
+
+### getStatus()
+- getStatus(): [Status](dw.system.Status.md)
+ - : Status describing the outcome of this result.
+
+ **Returns:**
+ - status of this result
+
+
+---
+
+### setEvent(String)
+- setEvent(name: [String](TopLevel.String.md)): void
+ - : Sets the name of the JS custom event to dispatch in response to this result.
+
+ **Parameters:**
+ - name - JS custom event name
+
+
+---
+
+### setEvent(String, Object)
+- setEvent(name: [String](TopLevel.String.md), detail: [Object](TopLevel.Object.md)): void
+ - : Sets the name and detail of the JS custom event to dispatch in response to this result.
+
+ **Parameters:**
+ - name - JS custom event name
+ - detail - JS custom event detail
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentrequest.PaymentRequestHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentrequest.PaymentRequestHooks.md
new file mode 100644
index 00000000..4c3798e3
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentrequest.PaymentRequestHooks.md
@@ -0,0 +1,356 @@
+
+# Class PaymentRequestHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.paymentrequest.PaymentRequestHooks](dw.extensions.paymentrequest.PaymentRequestHooks.md)
+
+PaymentRequestHooks interface containing extension points for customizing Payment Requests.
+
+
+These hooks are executed in a transaction.
+
+
+The extension points (hook names), and the functions that are called by each extension point. A function must be
+defined inside a JavaScript source and must be exported. The script with the exported hook function must be located
+inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.extensions.paymentrequest.getPaymentRequest", "script": "./paymentrequest.ds"}
+ {"name": "dw.extensions.paymentrequest.shippingAddressChange", "script": "./paymentrequest.ds"}
+]
+```
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+**Deprecated:**
+:::warning
+Salesforce Payments includes support for Google Pay
+:::
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointAbort](#extensionpointabort): [String](TopLevel.String.md) = "dw.extensions.paymentrequest.abort" | The extension point name dw.extensions.paymentrequest.abort. |
+| [extensionPointGetPaymentRequest](#extensionpointgetpaymentrequest): [String](TopLevel.String.md) = "dw.extensions.paymentrequest.getPaymentRequest" | The extension point name dw.extensions.paymentrequest.getPaymentRequest. |
+| [extensionPointPaymentAcceptedAuthorizeOrderPayment](#extensionpointpaymentacceptedauthorizeorderpayment): [String](TopLevel.String.md) = "dw.extensions.paymentrequest.paymentAccepted.authorizeOrderPayment" | The extension point name dw.extensions.paymentrequest.paymentAccepted.authorizeOrderPayment. |
+| [extensionPointPaymentAcceptedPlaceOrder](#extensionpointpaymentacceptedplaceorder): [String](TopLevel.String.md) = "dw.extensions.paymentrequest.paymentAccepted.placeOrder" | The extension point name dw.extensions.paymentrequest.paymentAccepted.placeOrder. |
+| [extensionPointShippingAddressChange](#extensionpointshippingaddresschange): [String](TopLevel.String.md) = "dw.extensions.paymentrequest.shippingAddressChange" | The extension point name dw.extensions.paymentrequest.shippingAddressChange. |
+| [extensionPointShippingOptionChange](#extensionpointshippingoptionchange): [String](TopLevel.String.md) = "dw.extensions.paymentrequest.shippingOptionChange" | The extension point name dw.extensions.paymentrequest.shippingOptionChange. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [abort](dw.extensions.paymentrequest.PaymentRequestHooks.md#abortbasket)([Basket](dw.order.Basket.md)) | Called after the Payment Request user interface was canceled. |
+| [authorizeOrderPayment](dw.extensions.paymentrequest.PaymentRequestHooks.md#authorizeorderpaymentorder-object)([Order](dw.order.Order.md), [Object](TopLevel.Object.md)) | Called after the shopper accepts the Payment Request payment for the given order. |
+| [getPaymentRequest](dw.extensions.paymentrequest.PaymentRequestHooks.md#getpaymentrequestbasket-object)([Basket](dw.order.Basket.md), [Object](TopLevel.Object.md)) | Called to get the `PaymentRequest` constructor parameters for the given basket. |
+| [placeOrder](dw.extensions.paymentrequest.PaymentRequestHooks.md#placeorderorder)([Order](dw.order.Order.md)) | Called after payment has been authorized and the given Payment Request order is ready to be placed. |
+| [shippingAddressChange](dw.extensions.paymentrequest.PaymentRequestHooks.md#shippingaddresschangebasket-object)([Basket](dw.order.Basket.md), [Object](TopLevel.Object.md)) | Called after handling the Payment Request `shippingaddresschange` event for the given basket. |
+| [shippingOptionChange](dw.extensions.paymentrequest.PaymentRequestHooks.md#shippingoptionchangebasket-shippingmethod-object)([Basket](dw.order.Basket.md), [ShippingMethod](dw.order.ShippingMethod.md), [Object](TopLevel.Object.md)) | Called after handling the Payment Request `shippingoptionchange` event for the given basket. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointAbort
+
+- extensionPointAbort: [String](TopLevel.String.md) = "dw.extensions.paymentrequest.abort"
+ - : The extension point name dw.extensions.paymentrequest.abort.
+
+
+---
+
+### extensionPointGetPaymentRequest
+
+- extensionPointGetPaymentRequest: [String](TopLevel.String.md) = "dw.extensions.paymentrequest.getPaymentRequest"
+ - : The extension point name dw.extensions.paymentrequest.getPaymentRequest.
+
+
+---
+
+### extensionPointPaymentAcceptedAuthorizeOrderPayment
+
+- extensionPointPaymentAcceptedAuthorizeOrderPayment: [String](TopLevel.String.md) = "dw.extensions.paymentrequest.paymentAccepted.authorizeOrderPayment"
+ - : The extension point name dw.extensions.paymentrequest.paymentAccepted.authorizeOrderPayment.
+
+
+---
+
+### extensionPointPaymentAcceptedPlaceOrder
+
+- extensionPointPaymentAcceptedPlaceOrder: [String](TopLevel.String.md) = "dw.extensions.paymentrequest.paymentAccepted.placeOrder"
+ - : The extension point name dw.extensions.paymentrequest.paymentAccepted.placeOrder.
+
+
+---
+
+### extensionPointShippingAddressChange
+
+- extensionPointShippingAddressChange: [String](TopLevel.String.md) = "dw.extensions.paymentrequest.shippingAddressChange"
+ - : The extension point name dw.extensions.paymentrequest.shippingAddressChange.
+
+
+---
+
+### extensionPointShippingOptionChange
+
+- extensionPointShippingOptionChange: [String](TopLevel.String.md) = "dw.extensions.paymentrequest.shippingOptionChange"
+ - : The extension point name dw.extensions.paymentrequest.shippingOptionChange.
+
+
+---
+
+## Method Details
+
+### abort(Basket)
+- abort(basket: [Basket](dw.order.Basket.md)): [PaymentRequestHookResult](dw.extensions.paymentrequest.PaymentRequestHookResult.md)
+ - :
+
+ Called after the Payment Request user interface was canceled. The given basket is the one that was passed to other
+ hooks earlier in the Payment Request checkout process.
+
+
+
+
+ It is not guaranteed that this hook will be executed for all Payment Request user interfaces canceled by shoppers or
+ otherwise ended without a successful order. Calls to this hook are provided on a best-effort basis.
+
+
+
+
+ If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if possible. It
+ is not guaranteed that the response with the hook result will be handled in the shopper browser in all cases.
+
+
+ **Parameters:**
+ - basket - the basket that was being checked out using Payment Request
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### authorizeOrderPayment(Order, Object)
+- authorizeOrderPayment(order: [Order](dw.order.Order.md), response: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - :
+
+ Called after the shopper accepts the Payment Request payment for the given order. Basket customer information,
+ billing address, and/or shipping address for the default shipment will have already been updated to reflect the
+ available contact information provided by Payment Request. Any preexisting payment instruments on the basket will
+ have been removed, and a single `DW_ANDROID_PAY` payment instrument added for the total amount. The
+ given order will have been created from this updated basket.
+
+
+
+
+ The purpose of this hook is to authorize the Payment Request payment for the order. If a non-error status is returned
+ that means that you have successfully authorized the payment with your payment service provider. Your hook
+ implementation must set the necessary payment status and transaction identifier data on the order as returned by
+ the provider.
+
+
+
+
+ Return an error status to indicate a problem, including unsuccessful authorization.
+
+
+
+
+ See the [Payment Request API](https://www.w3.org/TR/payment-request) for more information.
+
+
+ **Parameters:**
+ - order - the order paid using Payment Request
+ - response - response to the accepted `PaymentRequest`
+
+ **Returns:**
+ - a non-null status ends the hook execution
+
+
+---
+
+### getPaymentRequest(Basket, Object)
+- getPaymentRequest(basket: [Basket](dw.order.Basket.md), parameters: [Object](TopLevel.Object.md)): [PaymentRequestHookResult](dw.extensions.paymentrequest.PaymentRequestHookResult.md)
+ - :
+
+ Called to get the `PaymentRequest` constructor parameters for the given basket. You can
+ set properties in the given `parameters` object to extend or override default properties set
+ automatically based on the Google Pay configuration for your site.
+
+
+
+
+ The `parameters` object will contain the following properties by default:
+
+ - `methodData`- array containing payment methods the web site accepts
+ - `details`- information about the transaction that the user is being asked to complete
+ - `options`- information about what options the web page wishes to use from the payment request system
+
+
+
+
+
+ Return a result with an error status to indicate a problem.
+
+
+
+
+ If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Payment
+ Request user interaction is canceled.
+
+
+
+
+ See the [Payment Request API](https://www.w3.org/TR/payment-request) for more information.
+
+
+ **Parameters:**
+ - basket - the basket for the Payment Request request
+ - parameters - object containing `PaymentRequest` constructor parameters
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### placeOrder(Order)
+- placeOrder(order: [Order](dw.order.Order.md)): [PaymentRequestHookResult](dw.extensions.paymentrequest.PaymentRequestHookResult.md)
+ - :
+
+ Called after payment has been authorized and the given Payment Request order is ready to be placed. The purpose of
+ this hook is to place the order, or return a redirect URL that results in the order being placed when the shopper
+ browser is navigated to it.
+
+
+
+
+ The default implementation of this hook returns a redirect to `COPlaceOrder-Submit` with URL
+ parameters `order_id` set to [Order.getOrderNo()](dw.order.Order.md#getorderno) and `order_token` set to
+ [Order.getOrderToken()](dw.order.Order.md#getordertoken) which corresponds to SiteGenesis-based implementations. Your hook
+ implementation should return a result with a different redirect URL as necessary to place the order and show an
+ order confirmation.
+
+
+
+
+ Alternatively, your hook implementation itself can place the order and return a result with a redirect URL to an
+ order confirmation page that does not place the order. This is inconsistent with SiteGenesis-based
+ implementations so is not the default.
+
+
+
+
+ Return an error status to indicate a problem. If the returned result includes a redirect URL, the shopper browser
+ will be navigated to that URL if the Payment Request user interface is canceled.
+
+
+ **Parameters:**
+ - order - the order paid using PaymentRequest
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### shippingAddressChange(Basket, Object)
+- shippingAddressChange(basket: [Basket](dw.order.Basket.md), details: [Object](TopLevel.Object.md)): [PaymentRequestHookResult](dw.extensions.paymentrequest.PaymentRequestHookResult.md)
+ - :
+
+ Called after handling the Payment Request `shippingaddresschange` event for the given basket. Basket
+ customer information and/or shipping address for the default shipment will have already been updated to reflect
+ the available shipping address information provided by Payment Request. The basket will have already been
+ calculated before this hook is called.
+
+
+
+
+ Return a result with an error status to indicate a problem.
+
+
+
+
+ If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Payment
+ Request user interface is canceled.
+
+
+
+
+ See the [Payment Request API](https://www.w3.org/TR/payment-request) for more information.
+
+
+ **Parameters:**
+ - basket - the basket being checked out using Payment Request
+ - details - updated `PaymentRequest` object details
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### shippingOptionChange(Basket, ShippingMethod, Object)
+- shippingOptionChange(basket: [Basket](dw.order.Basket.md), shippingMethod: [ShippingMethod](dw.order.ShippingMethod.md), details: [Object](TopLevel.Object.md)): [PaymentRequestHookResult](dw.extensions.paymentrequest.PaymentRequestHookResult.md)
+ - :
+
+ Called after handling the Payment Request `shippingoptionchange` event for the given basket. The given
+ shipping method will have already been set on the basket. The basket will have already been calculated before
+ this hook is called.
+
+
+
+
+ Return a result with an error status to indicate a problem.
+
+
+
+
+ If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the
+ Payment Request user interface is canceled.
+
+
+
+
+ See the [Payment Request API](https://www.w3.org/TR/payment-request) for more information.
+
+
+ **Parameters:**
+ - basket - the basket being checked out using Payment Request
+ - shippingMethod - the shipping method that was selected
+ - details - updated `PaymentRequest` object details
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentrequest.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentrequest.md
new file mode 100644
index 00000000..4a53fade
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.paymentrequest.md
@@ -0,0 +1,7 @@
+# Package dw.extensions.paymentrequest
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [PaymentRequestHookResult](dw.extensions.paymentrequest.PaymentRequestHookResult.md) | Result of a hook handling a Payment Request request |
+| [PaymentRequestHooks](dw.extensions.paymentrequest.PaymentRequestHooks.md) | PaymentRequestHooks interface containing extension points for customizing Payment Requests. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceAdyenPaymentIntent.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceAdyenPaymentIntent.md
new file mode 100644
index 00000000..6db1bf47
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceAdyenPaymentIntent.md
@@ -0,0 +1,134 @@
+
+# Class SalesforceAdyenPaymentIntent
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforceAdyenPaymentIntent](dw.extensions.payments.SalesforceAdyenPaymentIntent.md)
+
+
+
+Salesforce Payments representation of an Adyen payment intent object. See Salesforce Payments documentation for how
+to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the identifier of this payment intent. |
+| [action](#action): [Object](TopLevel.Object.md) `(read-only)` | Returns the payment action for this payment intent. |
+| [resultCode](#resultcode): [String](TopLevel.String.md) `(read-only)` | Returns the Adyen result code for this payment intent. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAction](dw.extensions.payments.SalesforceAdyenPaymentIntent.md#getaction)() | Returns the payment action for this payment intent. |
+| [getID](dw.extensions.payments.SalesforceAdyenPaymentIntent.md#getid)() | Returns the identifier of this payment intent. |
+| [getPaymentInstrument](dw.extensions.payments.SalesforceAdyenPaymentIntent.md#getpaymentinstrumentbasket)([Basket](dw.order.Basket.md)) | Returns the payment instrument for this payment intent in the given basket, or `null` if the given basket has none. |
+| [getPaymentInstrument](dw.extensions.payments.SalesforceAdyenPaymentIntent.md#getpaymentinstrumentorder)([Order](dw.order.Order.md)) | Returns the payment instrument for this payment intent in the given order, or `null` if the given order has none. |
+| [getResultCode](dw.extensions.payments.SalesforceAdyenPaymentIntent.md#getresultcode)() | Returns the Adyen result code for this payment intent. |
+| [hasAction](dw.extensions.payments.SalesforceAdyenPaymentIntent.md#hasaction)() | Returns `true` if this payment intent has an action, or `false` if not. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the identifier of this payment intent.
+
+
+---
+
+### action
+- action: [Object](TopLevel.Object.md) `(read-only)`
+ - : Returns the payment action for this payment intent.
+
+
+---
+
+### resultCode
+- resultCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the Adyen result code for this payment intent.
+
+
+---
+
+## Method Details
+
+### getAction()
+- getAction(): [Object](TopLevel.Object.md)
+ - : Returns the payment action for this payment intent.
+
+ **Returns:**
+ - payment action
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the identifier of this payment intent.
+
+ **Returns:**
+ - payment intent identifier
+
+
+---
+
+### getPaymentInstrument(Basket)
+- getPaymentInstrument(basket: [Basket](dw.order.Basket.md)): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Returns the payment instrument for this payment intent in the given basket, or `null` if the given
+ basket has none.
+
+
+ **Parameters:**
+ - basket - basket
+
+ **Returns:**
+ - basket payment instrument
+
+
+---
+
+### getPaymentInstrument(Order)
+- getPaymentInstrument(order: [Order](dw.order.Order.md)): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Returns the payment instrument for this payment intent in the given order, or `null` if the given
+ order has none.
+
+
+ **Parameters:**
+ - order - order
+
+ **Returns:**
+ - order payment instrument
+
+
+---
+
+### getResultCode()
+- getResultCode(): [String](TopLevel.String.md)
+ - : Returns the Adyen result code for this payment intent.
+
+ **Returns:**
+ - Adyen result code
+
+
+---
+
+### hasAction()
+- hasAction(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if this payment intent has an action, or `false` if not.
+
+ **Returns:**
+ - `true` if this payment intent has an action
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md
new file mode 100644
index 00000000..0808c19f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md
@@ -0,0 +1,283 @@
+
+# Class SalesforceAdyenSavedPaymentMethod
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforceAdyenSavedPaymentMethod](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md)
+
+
+
+Salesforce Payments representation of an Adyen saved payment method object. See Salesforce Payments documentation for
+how to gain access and configure it for use on your sites.
+
+
+
+
+An Adyen saved payment method contains information about a credential used by a shopper to attempt payment, such as a
+payment card or bank account. The available information differs for each type of payment method. It includes only
+limited information that can be safely presented to a shopper to remind them what credential they used, and
+specifically not complete card, account, or other numbers that could be used to make future payments.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [TYPE_BANCONTACT](#type_bancontact): [String](TopLevel.String.md) = "bancontact" | Represents the Bancontact payment method. |
+| [TYPE_CARD](#type_card): [String](TopLevel.String.md) = "card" | Represents a credit card type of payment method. |
+| [TYPE_IDEAL](#type_ideal): [String](TopLevel.String.md) = "ideal" | Represents the iDEAL payment method. |
+| [TYPE_SEPA_DEBIT](#type_sepa_debit): [String](TopLevel.String.md) = "sepa_debit" | Represents the SEPA Debit payment method. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the identifier of this payment method. |
+| [brand](#brand): [String](TopLevel.String.md) `(read-only)` | Returns the brand of this payment method, or `null` if none is available. |
+| [expiryMonth](#expirymonth): [String](TopLevel.String.md) `(read-only)` | Returns the expiry month of the card for this payment method, or `null` if none is available. |
+| [expiryYear](#expiryyear): [String](TopLevel.String.md) `(read-only)` | Returns the expiry year of the card for this payment method, or `null` if none is available. |
+| [holderName](#holdername): [String](TopLevel.String.md) `(read-only)` | Returns the cardholder name for this payment method, or `null` if none is available. |
+| [last4](#last4): [String](TopLevel.String.md) `(read-only)` | Returns the last 4 digits of the credential for this payment method, or `null` if none is available. |
+| [ownerName](#ownername): [String](TopLevel.String.md) `(read-only)` | Returns the back account owner name for this payment method, or `null` if none is available. |
+| [type](#type): [String](TopLevel.String.md) `(read-only)` | Returns the type of this payment method. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBrand](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#getbrand)() | Returns the brand of this payment method, or `null` if none is available. |
+| [getExpiryMonth](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#getexpirymonth)() | Returns the expiry month of the card for this payment method, or `null` if none is available. |
+| [getExpiryYear](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#getexpiryyear)() | Returns the expiry year of the card for this payment method, or `null` if none is available. |
+| [getHolderName](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#getholdername)() | Returns the cardholder name for this payment method, or `null` if none is available. |
+| [getID](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#getid)() | Returns the identifier of this payment method. |
+| [getLast4](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#getlast4)() | Returns the last 4 digits of the credential for this payment method, or `null` if none is available. |
+| [getOwnerName](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#getownername)() | Returns the back account owner name for this payment method, or `null` if none is available. |
+| [getType](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#gettype)() | Returns the type of this payment method. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### TYPE_BANCONTACT
+
+- TYPE_BANCONTACT: [String](TopLevel.String.md) = "bancontact"
+ - : Represents the Bancontact payment method.
+
+
+---
+
+### TYPE_CARD
+
+- TYPE_CARD: [String](TopLevel.String.md) = "card"
+ - : Represents a credit card type of payment method.
+
+
+---
+
+### TYPE_IDEAL
+
+- TYPE_IDEAL: [String](TopLevel.String.md) = "ideal"
+ - : Represents the iDEAL payment method.
+
+
+---
+
+### TYPE_SEPA_DEBIT
+
+- TYPE_SEPA_DEBIT: [String](TopLevel.String.md) = "sepa_debit"
+ - : Represents the SEPA Debit payment method.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the identifier of this payment method.
+
+
+---
+
+### brand
+- brand: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the brand of this payment method, or `null` if none is available. Available on
+ [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) type methods.
+
+
+
+---
+
+### expiryMonth
+- expiryMonth: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the expiry month of the card for this payment method, or `null` if none is available.
+ Available on [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) and
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact) type methods.
+
+
+
+---
+
+### expiryYear
+- expiryYear: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the expiry year of the card for this payment method, or `null` if none is available. Available
+ on [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) and
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact) type methods.
+
+
+
+---
+
+### holderName
+- holderName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the cardholder name for this payment method, or `null` if none is available. Available on
+ [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) and [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact)
+ type methods.
+
+
+
+---
+
+### last4
+- last4: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the last 4 digits of the credential for this payment method, or `null` if none is available.
+ Available on [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) and
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact) type methods.
+
+
+
+---
+
+### ownerName
+- ownerName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the back account owner name for this payment method, or `null` if none is available. Available
+ on [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_sepa_debit) and
+ [TYPE_IDEAL](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_ideal) type method.
+
+
+
+---
+
+### type
+- type: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the type of this payment method.
+
+ **See Also:**
+ - [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact)
+ - [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card)
+ - [TYPE_IDEAL](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_ideal)
+ - [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_sepa_debit)
+
+
+---
+
+## Method Details
+
+### getBrand()
+- getBrand(): [String](TopLevel.String.md)
+ - : Returns the brand of this payment method, or `null` if none is available. Available on
+ [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) type methods.
+
+
+ **Returns:**
+ - payment method brand
+
+
+---
+
+### getExpiryMonth()
+- getExpiryMonth(): [String](TopLevel.String.md)
+ - : Returns the expiry month of the card for this payment method, or `null` if none is available.
+ Available on [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) and
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact) type methods.
+
+
+ **Returns:**
+ - payment method credential expiry month
+
+
+---
+
+### getExpiryYear()
+- getExpiryYear(): [String](TopLevel.String.md)
+ - : Returns the expiry year of the card for this payment method, or `null` if none is available. Available
+ on [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) and
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact) type methods.
+
+
+ **Returns:**
+ - payment method credential expiry year
+
+
+---
+
+### getHolderName()
+- getHolderName(): [String](TopLevel.String.md)
+ - : Returns the cardholder name for this payment method, or `null` if none is available. Available on
+ [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) and [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact)
+ type methods.
+
+
+ **Returns:**
+ - payment method credential cardholder name
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the identifier of this payment method.
+
+ **Returns:**
+ - payment method identifier
+
+
+---
+
+### getLast4()
+- getLast4(): [String](TopLevel.String.md)
+ - : Returns the last 4 digits of the credential for this payment method, or `null` if none is available.
+ Available on [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card) and
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact) type methods.
+
+
+ **Returns:**
+ - payment method credential last 4 digits
+
+
+---
+
+### getOwnerName()
+- getOwnerName(): [String](TopLevel.String.md)
+ - : Returns the back account owner name for this payment method, or `null` if none is available. Available
+ on [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_sepa_debit) and
+ [TYPE_IDEAL](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_ideal) type method.
+
+
+ **Returns:**
+ - payment method credential back account owner name
+
+
+---
+
+### getType()
+- getType(): [String](TopLevel.String.md)
+ - : Returns the type of this payment method.
+
+ **Returns:**
+ - payment method type
+
+ **See Also:**
+ - [TYPE_BANCONTACT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_bancontact)
+ - [TYPE_CARD](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_card)
+ - [TYPE_IDEAL](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_ideal)
+ - [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md#type_sepa_debit)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceBancontactPaymentDetails.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceBancontactPaymentDetails.md
new file mode 100644
index 00000000..28015c06
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceBancontactPaymentDetails.md
@@ -0,0 +1,88 @@
+
+# Class SalesforceBancontactPaymentDetails
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - [dw.extensions.payments.SalesforceBancontactPaymentDetails](dw.extensions.payments.SalesforceBancontactPaymentDetails.md)
+
+
+
+Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact). See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [bankName](#bankname): [String](TopLevel.String.md) `(read-only)` | Returns the bank name, or `null` if not known. |
+| [last4](#last4): [String](TopLevel.String.md) `(read-only)` | Returns the last 4 digits of the account number, or `null` if not known. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBankName](dw.extensions.payments.SalesforceBancontactPaymentDetails.md#getbankname)() | Returns the bank name, or `null` if not known. |
+| [getLast4](dw.extensions.payments.SalesforceBancontactPaymentDetails.md#getlast4)() | Returns the last 4 digits of the account number, or `null` if not known. |
+
+### Methods inherited from class SalesforcePaymentDetails
+
+[getType](dw.extensions.payments.SalesforcePaymentDetails.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### bankName
+- bankName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the bank name, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getBankName()](dw.extensions.payments.SalesforcePaymentMethod.md#getbankname)
+
+
+---
+
+### last4
+- last4: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the last 4 digits of the account number, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getLast4()](dw.extensions.payments.SalesforcePaymentMethod.md#getlast4)
+
+
+---
+
+## Method Details
+
+### getBankName()
+- getBankName(): [String](TopLevel.String.md)
+ - : Returns the bank name, or `null` if not known.
+
+ **Returns:**
+ - bank name
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getBankName()](dw.extensions.payments.SalesforcePaymentMethod.md#getbankname)
+
+
+---
+
+### getLast4()
+- getLast4(): [String](TopLevel.String.md)
+ - : Returns the last 4 digits of the account number, or `null` if not known.
+
+ **Returns:**
+ - last 4 digits of the account number
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getLast4()](dw.extensions.payments.SalesforcePaymentMethod.md#getlast4)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceCardPaymentDetails.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceCardPaymentDetails.md
new file mode 100644
index 00000000..90b53e90
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceCardPaymentDetails.md
@@ -0,0 +1,107 @@
+
+# Class SalesforceCardPaymentDetails
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - [dw.extensions.payments.SalesforceCardPaymentDetails](dw.extensions.payments.SalesforceCardPaymentDetails.md)
+
+
+
+Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card). See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [brand](#brand): [String](TopLevel.String.md) `(read-only)` | Returns the card brand, or `null` if not known. |
+| [last4](#last4): [String](TopLevel.String.md) `(read-only)` | Returns the last 4 digits of the card number, or `null` if not known. |
+| [walletType](#wallettype): [String](TopLevel.String.md) `(read-only)` | Returns the type of wallet used to make the card payment, or `null` if not known. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBrand](dw.extensions.payments.SalesforceCardPaymentDetails.md#getbrand)() | Returns the card brand, or `null` if not known. |
+| [getLast4](dw.extensions.payments.SalesforceCardPaymentDetails.md#getlast4)() | Returns the last 4 digits of the card number, or `null` if not known. |
+| [getWalletType](dw.extensions.payments.SalesforceCardPaymentDetails.md#getwallettype)() | Returns the type of wallet used to make the card payment, or `null` if not known. |
+
+### Methods inherited from class SalesforcePaymentDetails
+
+[getType](dw.extensions.payments.SalesforcePaymentDetails.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### brand
+- brand: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the card brand, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getBrand()](dw.extensions.payments.SalesforcePaymentMethod.md#getbrand)
+
+
+---
+
+### last4
+- last4: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the last 4 digits of the card number, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getLast4()](dw.extensions.payments.SalesforcePaymentMethod.md#getlast4)
+
+
+---
+
+### walletType
+- walletType: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the type of wallet used to make the card payment, or `null` if not known.
+
+
+---
+
+## Method Details
+
+### getBrand()
+- getBrand(): [String](TopLevel.String.md)
+ - : Returns the card brand, or `null` if not known.
+
+ **Returns:**
+ - card brand
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getBrand()](dw.extensions.payments.SalesforcePaymentMethod.md#getbrand)
+
+
+---
+
+### getLast4()
+- getLast4(): [String](TopLevel.String.md)
+ - : Returns the last 4 digits of the card number, or `null` if not known.
+
+ **Returns:**
+ - last 4 digits of the card number
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getLast4()](dw.extensions.payments.SalesforcePaymentMethod.md#getlast4)
+
+
+---
+
+### getWalletType()
+- getWalletType(): [String](TopLevel.String.md)
+ - : Returns the type of wallet used to make the card payment, or `null` if not known.
+
+ **Returns:**
+ - wallet type
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceEpsPaymentDetails.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceEpsPaymentDetails.md
new file mode 100644
index 00000000..d9350f82
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceEpsPaymentDetails.md
@@ -0,0 +1,63 @@
+
+# Class SalesforceEpsPaymentDetails
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - [dw.extensions.payments.SalesforceEpsPaymentDetails](dw.extensions.payments.SalesforceEpsPaymentDetails.md)
+
+
+
+Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_EPS](dw.extensions.payments.SalesforcePaymentMethod.md#type_eps). See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [bank](#bank): [String](TopLevel.String.md) `(read-only)` | Returns the bank used for the payment, or `null` if not known. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBank](dw.extensions.payments.SalesforceEpsPaymentDetails.md#getbank)() | Returns the bank used for the payment, or `null` if not known. |
+
+### Methods inherited from class SalesforcePaymentDetails
+
+[getType](dw.extensions.payments.SalesforcePaymentDetails.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### bank
+- bank: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the bank used for the payment, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getBank()](dw.extensions.payments.SalesforcePaymentMethod.md#getbank)
+
+
+---
+
+## Method Details
+
+### getBank()
+- getBank(): [String](TopLevel.String.md)
+ - : Returns the bank used for the payment, or `null` if not known.
+
+ **Returns:**
+ - bank
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getBank()](dw.extensions.payments.SalesforcePaymentMethod.md#getbank)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceIdealPaymentDetails.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceIdealPaymentDetails.md
new file mode 100644
index 00000000..56502354
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceIdealPaymentDetails.md
@@ -0,0 +1,63 @@
+
+# Class SalesforceIdealPaymentDetails
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - [dw.extensions.payments.SalesforceIdealPaymentDetails](dw.extensions.payments.SalesforceIdealPaymentDetails.md)
+
+
+
+Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_IDEAL](dw.extensions.payments.SalesforcePaymentMethod.md#type_ideal). See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [bank](#bank): [String](TopLevel.String.md) `(read-only)` | Returns the bank used for the payment, or `null` if not known. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBank](dw.extensions.payments.SalesforceIdealPaymentDetails.md#getbank)() | Returns the bank used for the payment, or `null` if not known. |
+
+### Methods inherited from class SalesforcePaymentDetails
+
+[getType](dw.extensions.payments.SalesforcePaymentDetails.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### bank
+- bank: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the bank used for the payment, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getBank()](dw.extensions.payments.SalesforcePaymentMethod.md#getbank)
+
+
+---
+
+## Method Details
+
+### getBank()
+- getBank(): [String](TopLevel.String.md)
+ - : Returns the bank used for the payment, or `null` if not known.
+
+ **Returns:**
+ - bank
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getBank()](dw.extensions.payments.SalesforcePaymentMethod.md#getbank)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceKlarnaPaymentDetails.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceKlarnaPaymentDetails.md
new file mode 100644
index 00000000..3a596232
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceKlarnaPaymentDetails.md
@@ -0,0 +1,63 @@
+
+# Class SalesforceKlarnaPaymentDetails
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - [dw.extensions.payments.SalesforceKlarnaPaymentDetails](dw.extensions.payments.SalesforceKlarnaPaymentDetails.md)
+
+
+
+Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_KLARNA](dw.extensions.payments.SalesforcePaymentMethod.md#type_klarna). See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [paymentMethodCategory](#paymentmethodcategory): [String](TopLevel.String.md) `(read-only)` | Returns the payment method category used for the payment, or `null` if not known. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getPaymentMethodCategory](dw.extensions.payments.SalesforceKlarnaPaymentDetails.md#getpaymentmethodcategory)() | Returns the payment method category used for the payment, or `null` if not known. |
+
+### Methods inherited from class SalesforcePaymentDetails
+
+[getType](dw.extensions.payments.SalesforcePaymentDetails.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### paymentMethodCategory
+- paymentMethodCategory: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the payment method category used for the payment, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getPaymentMethodCategory()](dw.extensions.payments.SalesforcePaymentMethod.md#getpaymentmethodcategory)
+
+
+---
+
+## Method Details
+
+### getPaymentMethodCategory()
+- getPaymentMethodCategory(): [String](TopLevel.String.md)
+ - : Returns the payment method category used for the payment, or `null` if not known.
+
+ **Returns:**
+ - payment method category
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getPaymentMethodCategory()](dw.extensions.payments.SalesforcePaymentMethod.md#getpaymentmethodcategory)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalOrder.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalOrder.md
new file mode 100644
index 00000000..2de4fac8
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalOrder.md
@@ -0,0 +1,263 @@
+
+# Class SalesforcePayPalOrder
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePayPalOrder](dw.extensions.payments.SalesforcePayPalOrder.md)
+
+
+
+Salesforce Payments representation of a PayPal order object. See Salesforce Payments documentation for how
+to gain access and configure it for use on your sites.
+
+
+
+
+A PayPal order is automatically created when a shopper is ready to pay for items in their basket. It becomes
+completed when the shopper provides information to the payment provider that is acceptable to authorize payment for a
+given amount.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [INTENT_AUTHORIZE](#intent_authorize): [String](TopLevel.String.md) = "AUTHORIZE" | Represents the `"AUTHORIZE"` intent, meaning manual capture. |
+| [INTENT_CAPTURE](#intent_capture): [String](TopLevel.String.md) = "CAPTURE" | Represents the `"CAPTURE"` intent, meaning automatic capture. |
+| [TYPE_PAYPAL](#type_paypal): [String](TopLevel.String.md) = "paypal" | Represents the PayPal funding source. |
+| [TYPE_VENMO](#type_venmo): [String](TopLevel.String.md) = "venmo" | Represents the Venmo funding source. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the identifier of this PayPal order. |
+| [amount](#amount): [Money](dw.value.Money.md) `(read-only)` | Returns the amount of this PayPal order. |
+| [authorizationID](#authorizationid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the authorization against this order, or `null` if not available. |
+| [captureID](#captureid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the capture against this order, or `null` if not available. |
+| [completed](#completed): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if this PayPal order has been completed, or `false` if not. |
+| [payer](#payer): [SalesforcePayPalOrderPayer](dw.extensions.payments.SalesforcePayPalOrderPayer.md) `(read-only)` | Returns the payer information for this PayPal order, or `null` if not known. |
+| [shipping](#shipping): [SalesforcePayPalOrderAddress](dw.extensions.payments.SalesforcePayPalOrderAddress.md) `(read-only)` | Returns the shipping address for this PayPal order, or `null` if not known. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAmount](dw.extensions.payments.SalesforcePayPalOrder.md#getamount)() | Returns the amount of this PayPal order. |
+| [getAuthorizationID](dw.extensions.payments.SalesforcePayPalOrder.md#getauthorizationid)() | Returns the ID of the authorization against this order, or `null` if not available. |
+| [getCaptureID](dw.extensions.payments.SalesforcePayPalOrder.md#getcaptureid)() | Returns the ID of the capture against this order, or `null` if not available. |
+| [getID](dw.extensions.payments.SalesforcePayPalOrder.md#getid)() | Returns the identifier of this PayPal order. |
+| [getPayer](dw.extensions.payments.SalesforcePayPalOrder.md#getpayer)() | Returns the payer information for this PayPal order, or `null` if not known. |
+| [getPaymentDetails](dw.extensions.payments.SalesforcePayPalOrder.md#getpaymentdetailsorderpaymentinstrument)([OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)) | Returns the details to the Salesforce Payments payment for this PayPal order, using the given payment instrument. |
+| [getPaymentInstrument](dw.extensions.payments.SalesforcePayPalOrder.md#getpaymentinstrumentbasket)([Basket](dw.order.Basket.md)) | Returns the payment instrument for this PayPal order in the given basket, or `null` if the given basket has none. |
+| [getPaymentInstrument](dw.extensions.payments.SalesforcePayPalOrder.md#getpaymentinstrumentorder)([Order](dw.order.Order.md)) | Returns the payment instrument for this PayPal order in the given order, or `null` if the given order has none. |
+| [getShipping](dw.extensions.payments.SalesforcePayPalOrder.md#getshipping)() | Returns the shipping address for this PayPal order, or `null` if not known. |
+| [isCompleted](dw.extensions.payments.SalesforcePayPalOrder.md#iscompleted)() | Returns `true` if this PayPal order has been completed, or `false` if not. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### INTENT_AUTHORIZE
+
+- INTENT_AUTHORIZE: [String](TopLevel.String.md) = "AUTHORIZE"
+ - : Represents the `"AUTHORIZE"` intent, meaning manual capture.
+
+
+---
+
+### INTENT_CAPTURE
+
+- INTENT_CAPTURE: [String](TopLevel.String.md) = "CAPTURE"
+ - : Represents the `"CAPTURE"` intent, meaning automatic capture.
+
+
+---
+
+### TYPE_PAYPAL
+
+- TYPE_PAYPAL: [String](TopLevel.String.md) = "paypal"
+ - : Represents the PayPal funding source.
+
+
+---
+
+### TYPE_VENMO
+
+- TYPE_VENMO: [String](TopLevel.String.md) = "venmo"
+ - : Represents the Venmo funding source.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the identifier of this PayPal order.
+
+
+---
+
+### amount
+- amount: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the amount of this PayPal order.
+
+
+---
+
+### authorizationID
+- authorizationID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the authorization against this order, or `null` if not available.
+
+
+---
+
+### captureID
+- captureID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the capture against this order, or `null` if not available.
+
+
+---
+
+### completed
+- completed: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if this PayPal order has been completed, or `false` if not.
+
+
+---
+
+### payer
+- payer: [SalesforcePayPalOrderPayer](dw.extensions.payments.SalesforcePayPalOrderPayer.md) `(read-only)`
+ - : Returns the payer information for this PayPal order, or `null` if not known.
+
+
+---
+
+### shipping
+- shipping: [SalesforcePayPalOrderAddress](dw.extensions.payments.SalesforcePayPalOrderAddress.md) `(read-only)`
+ - : Returns the shipping address for this PayPal order, or `null` if not known.
+
+
+---
+
+## Method Details
+
+### getAmount()
+- getAmount(): [Money](dw.value.Money.md)
+ - : Returns the amount of this PayPal order.
+
+ **Returns:**
+ - PayPal order amount
+
+
+---
+
+### getAuthorizationID()
+- getAuthorizationID(): [String](TopLevel.String.md)
+ - : Returns the ID of the authorization against this order, or `null` if not available.
+
+ **Returns:**
+ - PayPal order authorization identifier
+
+
+---
+
+### getCaptureID()
+- getCaptureID(): [String](TopLevel.String.md)
+ - : Returns the ID of the capture against this order, or `null` if not available.
+
+ **Returns:**
+ - PayPal order capture identifier
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the identifier of this PayPal order.
+
+ **Returns:**
+ - PayPal order identifier
+
+
+---
+
+### getPayer()
+- getPayer(): [SalesforcePayPalOrderPayer](dw.extensions.payments.SalesforcePayPalOrderPayer.md)
+ - : Returns the payer information for this PayPal order, or `null` if not known.
+
+ **Returns:**
+ - order payer information
+
+
+---
+
+### getPaymentDetails(OrderPaymentInstrument)
+- getPaymentDetails(paymentInstrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)): [SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - : Returns the details to the Salesforce Payments payment for this PayPal order, using the given payment instrument.
+
+ **Parameters:**
+ - paymentInstrument - payment instrument
+
+ **Returns:**
+ - The payment details
+
+
+---
+
+### getPaymentInstrument(Basket)
+- getPaymentInstrument(basket: [Basket](dw.order.Basket.md)): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Returns the payment instrument for this PayPal order in the given basket, or `null` if the given
+ basket has none.
+
+
+ **Parameters:**
+ - basket - basket
+
+ **Returns:**
+ - basket payment instrument
+
+
+---
+
+### getPaymentInstrument(Order)
+- getPaymentInstrument(order: [Order](dw.order.Order.md)): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Returns the payment instrument for this PayPal order in the given order, or `null` if the given
+ order has none.
+
+
+ **Parameters:**
+ - order - order
+
+ **Returns:**
+ - order payment instrument
+
+
+---
+
+### getShipping()
+- getShipping(): [SalesforcePayPalOrderAddress](dw.extensions.payments.SalesforcePayPalOrderAddress.md)
+ - : Returns the shipping address for this PayPal order, or `null` if not known.
+
+ **Returns:**
+ - order shipping address
+
+
+---
+
+### isCompleted()
+- isCompleted(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if this PayPal order has been completed, or `false` if not.
+
+ **Returns:**
+ - `true` if this PayPal order has been completed
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalOrderAddress.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalOrderAddress.md
new file mode 100644
index 00000000..5b4258df
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalOrderAddress.md
@@ -0,0 +1,171 @@
+
+# Class SalesforcePayPalOrderAddress
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePayPalOrderAddress](dw.extensions.payments.SalesforcePayPalOrderAddress.md)
+
+
+
+Salesforce Payments representation of a PayPal order address object. See Salesforce Payments documentation
+for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [addressLine1](#addressline1): [String](TopLevel.String.md) `(read-only)` | Returns the address line 1. |
+| [addressLine2](#addressline2): [String](TopLevel.String.md) `(read-only)` | Returns the address line 2. |
+| [adminArea1](#adminarea1): [String](TopLevel.String.md) `(read-only)` | Returns the address highest level sub-division in a country, which is usually a province, state, or ISO-3166-2 subdivision. |
+| [adminArea2](#adminarea2): [String](TopLevel.String.md) `(read-only)` | Returns the address city, town, or village. |
+| [countryCode](#countrycode): [String](TopLevel.String.md) `(read-only)` | Returns the address two-character ISO 3166-1 code that identifies the country or region. |
+| [fullName](#fullname): [String](TopLevel.String.md) `(read-only)` | Returns the address full name. |
+| [postalCode](#postalcode): [String](TopLevel.String.md) `(read-only)` | Returns the address postal code. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAddressLine1](dw.extensions.payments.SalesforcePayPalOrderAddress.md#getaddressline1)() | Returns the address line 1. |
+| [getAddressLine2](dw.extensions.payments.SalesforcePayPalOrderAddress.md#getaddressline2)() | Returns the address line 2. |
+| [getAdminArea1](dw.extensions.payments.SalesforcePayPalOrderAddress.md#getadminarea1)() | Returns the address highest level sub-division in a country, which is usually a province, state, or ISO-3166-2 subdivision. |
+| [getAdminArea2](dw.extensions.payments.SalesforcePayPalOrderAddress.md#getadminarea2)() | Returns the address city, town, or village. |
+| [getCountryCode](dw.extensions.payments.SalesforcePayPalOrderAddress.md#getcountrycode)() | Returns the address two-character ISO 3166-1 code that identifies the country or region. |
+| [getFullName](dw.extensions.payments.SalesforcePayPalOrderAddress.md#getfullname)() | Returns the address full name. |
+| [getPostalCode](dw.extensions.payments.SalesforcePayPalOrderAddress.md#getpostalcode)() | Returns the address postal code. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### addressLine1
+- addressLine1: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the address line 1.
+
+
+---
+
+### addressLine2
+- addressLine2: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the address line 2.
+
+
+---
+
+### adminArea1
+- adminArea1: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the address highest level sub-division in a country, which is usually a province, state, or ISO-3166-2
+ subdivision.
+
+
+
+---
+
+### adminArea2
+- adminArea2: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the address city, town, or village.
+
+
+---
+
+### countryCode
+- countryCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the address two-character ISO 3166-1 code that identifies the country or region.
+
+
+---
+
+### fullName
+- fullName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the address full name.
+
+
+---
+
+### postalCode
+- postalCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the address postal code.
+
+
+---
+
+## Method Details
+
+### getAddressLine1()
+- getAddressLine1(): [String](TopLevel.String.md)
+ - : Returns the address line 1.
+
+ **Returns:**
+ - address line 1
+
+
+---
+
+### getAddressLine2()
+- getAddressLine2(): [String](TopLevel.String.md)
+ - : Returns the address line 2.
+
+ **Returns:**
+ - address line 2
+
+
+---
+
+### getAdminArea1()
+- getAdminArea1(): [String](TopLevel.String.md)
+ - : Returns the address highest level sub-division in a country, which is usually a province, state, or ISO-3166-2
+ subdivision.
+
+
+ **Returns:**
+ - address highest level sub-division in a country, such as a state
+
+
+---
+
+### getAdminArea2()
+- getAdminArea2(): [String](TopLevel.String.md)
+ - : Returns the address city, town, or village.
+
+ **Returns:**
+ - address city, town, or village
+
+
+---
+
+### getCountryCode()
+- getCountryCode(): [String](TopLevel.String.md)
+ - : Returns the address two-character ISO 3166-1 code that identifies the country or region.
+
+ **Returns:**
+ - address country code
+
+
+---
+
+### getFullName()
+- getFullName(): [String](TopLevel.String.md)
+ - : Returns the address full name.
+
+ **Returns:**
+ - address full name
+
+
+---
+
+### getPostalCode()
+- getPostalCode(): [String](TopLevel.String.md)
+ - : Returns the address postal code.
+
+ **Returns:**
+ - address postal code
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalOrderPayer.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalOrderPayer.md
new file mode 100644
index 00000000..cedba323
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalOrderPayer.md
@@ -0,0 +1,110 @@
+
+# Class SalesforcePayPalOrderPayer
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePayPalOrderPayer](dw.extensions.payments.SalesforcePayPalOrderPayer.md)
+
+
+
+Salesforce Payments representation of a PayPal order's payer object. See Salesforce Payments documentation
+for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [emailAddress](#emailaddress): [String](TopLevel.String.md) `(read-only)` | Returns the payer's email address. |
+| [givenName](#givenname): [String](TopLevel.String.md) `(read-only)` | Returns the payer's given name. |
+| [phone](#phone): [String](TopLevel.String.md) `(read-only)` | Returns the payer's national phone number. |
+| [surname](#surname): [String](TopLevel.String.md) `(read-only)` | Returns the payer's surname. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getEmailAddress](dw.extensions.payments.SalesforcePayPalOrderPayer.md#getemailaddress)() | Returns the payer's email address. |
+| [getGivenName](dw.extensions.payments.SalesforcePayPalOrderPayer.md#getgivenname)() | Returns the payer's given name. |
+| [getPhone](dw.extensions.payments.SalesforcePayPalOrderPayer.md#getphone)() | Returns the payer's national phone number. |
+| [getSurname](dw.extensions.payments.SalesforcePayPalOrderPayer.md#getsurname)() | Returns the payer's surname. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### emailAddress
+- emailAddress: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the payer's email address.
+
+
+---
+
+### givenName
+- givenName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the payer's given name.
+
+
+---
+
+### phone
+- phone: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the payer's national phone number.
+
+
+---
+
+### surname
+- surname: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the payer's surname.
+
+
+---
+
+## Method Details
+
+### getEmailAddress()
+- getEmailAddress(): [String](TopLevel.String.md)
+ - : Returns the payer's email address.
+
+ **Returns:**
+ - payer's email address
+
+
+---
+
+### getGivenName()
+- getGivenName(): [String](TopLevel.String.md)
+ - : Returns the payer's given name.
+
+ **Returns:**
+ - payer's given name
+
+
+---
+
+### getPhone()
+- getPhone(): [String](TopLevel.String.md)
+ - : Returns the payer's national phone number.
+
+ **Returns:**
+ - payer's national phone number
+
+
+---
+
+### getSurname()
+- getSurname(): [String](TopLevel.String.md)
+ - : Returns the payer's surname.
+
+ **Returns:**
+ - payer's surname
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalPaymentDetails.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalPaymentDetails.md
new file mode 100644
index 00000000..78d4a007
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePayPalPaymentDetails.md
@@ -0,0 +1,88 @@
+
+# Class SalesforcePayPalPaymentDetails
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - [dw.extensions.payments.SalesforcePayPalPaymentDetails](dw.extensions.payments.SalesforcePayPalPaymentDetails.md)
+
+
+
+Details to a Salesforce Payments payment of type [SalesforcePayPalOrder.TYPE_PAYPAL](dw.extensions.payments.SalesforcePayPalOrder.md#type_paypal). See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [captureID](#captureid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the capture against the PayPal order, or `null` if not known. |
+| [payerEmailAddress](#payeremailaddress): [String](TopLevel.String.md) `(read-only)` | Returns the email address of the payer for the PayPal order, or `null` if not known. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCaptureID](dw.extensions.payments.SalesforcePayPalPaymentDetails.md#getcaptureid)() | Returns the ID of the capture against the PayPal order, or `null` if not known. |
+| [getPayerEmailAddress](dw.extensions.payments.SalesforcePayPalPaymentDetails.md#getpayeremailaddress)() | Returns the email address of the payer for the PayPal order, or `null` if not known. |
+
+### Methods inherited from class SalesforcePaymentDetails
+
+[getType](dw.extensions.payments.SalesforcePaymentDetails.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### captureID
+- captureID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the capture against the PayPal order, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePayPalOrder.getCaptureID()](dw.extensions.payments.SalesforcePayPalOrder.md#getcaptureid)
+
+
+---
+
+### payerEmailAddress
+- payerEmailAddress: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the email address of the payer for the PayPal order, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePayPalOrderPayer.getEmailAddress()](dw.extensions.payments.SalesforcePayPalOrderPayer.md#getemailaddress)
+
+
+---
+
+## Method Details
+
+### getCaptureID()
+- getCaptureID(): [String](TopLevel.String.md)
+ - : Returns the ID of the capture against the PayPal order, or `null` if not known.
+
+ **Returns:**
+ - PayPal order capture ID
+
+ **See Also:**
+ - [SalesforcePayPalOrder.getCaptureID()](dw.extensions.payments.SalesforcePayPalOrder.md#getcaptureid)
+
+
+---
+
+### getPayerEmailAddress()
+- getPayerEmailAddress(): [String](TopLevel.String.md)
+ - : Returns the email address of the payer for the PayPal order, or `null` if not known.
+
+ **Returns:**
+ - payer email address
+
+ **See Also:**
+ - [SalesforcePayPalOrderPayer.getEmailAddress()](dw.extensions.payments.SalesforcePayPalOrderPayer.md#getemailaddress)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentDetails.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentDetails.md
new file mode 100644
index 00000000..e47bed0f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentDetails.md
@@ -0,0 +1,83 @@
+
+# Class SalesforcePaymentDetails
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+
+
+
+Base class details to a Salesforce Payments payment. See Salesforce Payments documentation for how to gain access and
+configure it for use on your sites.
+
+
+
+
+Some payment types like [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card) contain additional details like the card brand, or
+the last 4 digits of the card number. Details to those payments will be of a specific subclass of this class like
+[SalesforceCardPaymentDetails](dw.extensions.payments.SalesforceCardPaymentDetails.md). Other payment types have no additional information so their details are
+represented by an object of this base type.
+
+
+
+## All Known Subclasses
+[SalesforceBancontactPaymentDetails](dw.extensions.payments.SalesforceBancontactPaymentDetails.md), [SalesforceCardPaymentDetails](dw.extensions.payments.SalesforceCardPaymentDetails.md), [SalesforceEpsPaymentDetails](dw.extensions.payments.SalesforceEpsPaymentDetails.md), [SalesforceIdealPaymentDetails](dw.extensions.payments.SalesforceIdealPaymentDetails.md), [SalesforceKlarnaPaymentDetails](dw.extensions.payments.SalesforceKlarnaPaymentDetails.md), [SalesforcePayPalPaymentDetails](dw.extensions.payments.SalesforcePayPalPaymentDetails.md), [SalesforceSepaDebitPaymentDetails](dw.extensions.payments.SalesforceSepaDebitPaymentDetails.md), [SalesforceVenmoPaymentDetails](dw.extensions.payments.SalesforceVenmoPaymentDetails.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [type](#type): [String](TopLevel.String.md) `(read-only)` | Returns the payment type. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getType](dw.extensions.payments.SalesforcePaymentDetails.md#gettype)() | Returns the payment type. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### type
+- type: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the payment type.
+
+ **See Also:**
+ - [SalesforcePaymentMethod.TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact)
+ - [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card)
+ - [SalesforcePaymentMethod.TYPE_EPS](dw.extensions.payments.SalesforcePaymentMethod.md#type_eps)
+ - [SalesforcePaymentMethod.TYPE_IDEAL](dw.extensions.payments.SalesforcePaymentMethod.md#type_ideal)
+ - [SalesforcePaymentMethod.TYPE_KLARNA](dw.extensions.payments.SalesforcePaymentMethod.md#type_klarna)
+ - [SalesforcePaymentMethod.TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit)
+ - [SalesforcePayPalOrder.TYPE_PAYPAL](dw.extensions.payments.SalesforcePayPalOrder.md#type_paypal)
+ - [SalesforcePayPalOrder.TYPE_VENMO](dw.extensions.payments.SalesforcePayPalOrder.md#type_venmo)
+
+
+---
+
+## Method Details
+
+### getType()
+- getType(): [String](TopLevel.String.md)
+ - : Returns the payment type.
+
+ **Returns:**
+ - payment type
+
+ **See Also:**
+ - [SalesforcePaymentMethod.TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact)
+ - [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card)
+ - [SalesforcePaymentMethod.TYPE_EPS](dw.extensions.payments.SalesforcePaymentMethod.md#type_eps)
+ - [SalesforcePaymentMethod.TYPE_IDEAL](dw.extensions.payments.SalesforcePaymentMethod.md#type_ideal)
+ - [SalesforcePaymentMethod.TYPE_KLARNA](dw.extensions.payments.SalesforcePaymentMethod.md#type_klarna)
+ - [SalesforcePaymentMethod.TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit)
+ - [SalesforcePayPalOrder.TYPE_PAYPAL](dw.extensions.payments.SalesforcePayPalOrder.md#type_paypal)
+ - [SalesforcePayPalOrder.TYPE_VENMO](dw.extensions.payments.SalesforcePayPalOrder.md#type_venmo)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentIntent.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentIntent.md
new file mode 100644
index 00000000..3990d737
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentIntent.md
@@ -0,0 +1,273 @@
+
+# Class SalesforcePaymentIntent
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md)
+
+
+
+Salesforce Payments representation of a Stripe payment intent object. See Salesforce Payments documentation for how
+to gain access and configure it for use on your sites.
+
+
+
+
+A payment intent is automatically created when a shopper is ready to pay for items in their basket. It becomes
+confirmed when the shopper provides information to the payment provider that is acceptable to authorize payment for a
+given amount. Once that information has been provided it becomes available as the payment method associated with the
+payment intent.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [SETUP_FUTURE_USAGE_OFF_SESSION](#setup_future_usage_off_session): [String](TopLevel.String.md) = "off_session" | Represents the payment method setup future usage is off session. |
+| [SETUP_FUTURE_USAGE_ON_SESSION](#setup_future_usage_on_session): [String](TopLevel.String.md) = "on_session" | Represents the payment method setup future usage is on session. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the identifier of this payment intent. |
+| [amount](#amount): [Money](dw.value.Money.md) `(read-only)` | Returns the amount of this payment intent. |
+| [cancelable](#cancelable): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if this payment intent has a status which indicates it can be canceled, or `false` if its status does not indicate it can be canceled. |
+| [clientSecret](#clientsecret): [String](TopLevel.String.md) `(read-only)` | Returns the client secret of this payment intent. |
+| [confirmed](#confirmed): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if this payment intent has been confirmed, or `false` if not. |
+| [paymentMethod](#paymentmethod): [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md) `(read-only)` | Returns the payment method for this payment intent, or `null` if none has been established. |
+| [refundable](#refundable): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if this payment intent has a status and other state which indicate it can be refunded, or `false` if it cannot be refunded. |
+| [setupFutureUsage](#setupfutureusage): [String](TopLevel.String.md) `(read-only)` | Returns [SETUP_FUTURE_USAGE_OFF_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_off_session) or [SETUP_FUTURE_USAGE_ON_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_on_session) to indicate how the payment intent can be used in the future or returns `null` if future usage is not set up. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAmount](dw.extensions.payments.SalesforcePaymentIntent.md#getamount)() | Returns the amount of this payment intent. |
+| [getClientSecret](dw.extensions.payments.SalesforcePaymentIntent.md#getclientsecret)() | Returns the client secret of this payment intent. |
+| [getID](dw.extensions.payments.SalesforcePaymentIntent.md#getid)() | Returns the identifier of this payment intent. |
+| [getPaymentInstrument](dw.extensions.payments.SalesforcePaymentIntent.md#getpaymentinstrumentbasket)([Basket](dw.order.Basket.md)) | Returns the payment instrument for this payment intent in the given basket, or `null` if the given basket has none. |
+| [getPaymentInstrument](dw.extensions.payments.SalesforcePaymentIntent.md#getpaymentinstrumentorder)([Order](dw.order.Order.md)) | Returns the payment instrument for this payment intent in the given order, or `null` if the given order has none. |
+| [getPaymentMethod](dw.extensions.payments.SalesforcePaymentIntent.md#getpaymentmethod)() | Returns the payment method for this payment intent, or `null` if none has been established. |
+| [getSetupFutureUsage](dw.extensions.payments.SalesforcePaymentIntent.md#getsetupfutureusage)() | Returns [SETUP_FUTURE_USAGE_OFF_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_off_session) or [SETUP_FUTURE_USAGE_ON_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_on_session) to indicate how the payment intent can be used in the future or returns `null` if future usage is not set up. |
+| [isCancelable](dw.extensions.payments.SalesforcePaymentIntent.md#iscancelable)() | Returns `true` if this payment intent has a status which indicates it can be canceled, or `false` if its status does not indicate it can be canceled. |
+| [isConfirmed](dw.extensions.payments.SalesforcePaymentIntent.md#isconfirmed)() | Returns `true` if this payment intent has been confirmed, or `false` if not. |
+| [isRefundable](dw.extensions.payments.SalesforcePaymentIntent.md#isrefundable)() | Returns `true` if this payment intent has a status and other state which indicate it can be refunded, or `false` if it cannot be refunded. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### SETUP_FUTURE_USAGE_OFF_SESSION
+
+- SETUP_FUTURE_USAGE_OFF_SESSION: [String](TopLevel.String.md) = "off_session"
+ - : Represents the payment method setup future usage is off session.
+
+
+---
+
+### SETUP_FUTURE_USAGE_ON_SESSION
+
+- SETUP_FUTURE_USAGE_ON_SESSION: [String](TopLevel.String.md) = "on_session"
+ - : Represents the payment method setup future usage is on session.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the identifier of this payment intent.
+
+
+---
+
+### amount
+- amount: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the amount of this payment intent.
+
+
+---
+
+### cancelable
+- cancelable: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if this payment intent has a status which indicates it can be canceled,
+ or `false` if its status does not indicate it can be canceled.
+
+
+
+---
+
+### clientSecret
+- clientSecret: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the client secret of this payment intent.
+
+
+---
+
+### confirmed
+- confirmed: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if this payment intent has been confirmed, or `false` if not.
+
+
+---
+
+### paymentMethod
+- paymentMethod: [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md) `(read-only)`
+ - : Returns the payment method for this payment intent, or `null` if none has been established.
+
+
+---
+
+### refundable
+- refundable: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if this payment intent has a status and other state which indicate it can be refunded,
+ or `false` if it cannot be refunded.
+
+
+
+---
+
+### setupFutureUsage
+- setupFutureUsage: [String](TopLevel.String.md) `(read-only)`
+ - : Returns [SETUP_FUTURE_USAGE_OFF_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_off_session) or [SETUP_FUTURE_USAGE_ON_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_on_session) to indicate how the payment
+ intent can be used in the future or returns `null` if future usage is not set up.
+
+
+ **See Also:**
+ - [SalesforcePaymentRequest.setSetupFutureUsage(Boolean)](dw.extensions.payments.SalesforcePaymentRequest.md#setsetupfutureusageboolean)
+ - [SETUP_FUTURE_USAGE_OFF_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_off_session)
+ - [SETUP_FUTURE_USAGE_ON_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_on_session)
+
+
+---
+
+## Method Details
+
+### getAmount()
+- getAmount(): [Money](dw.value.Money.md)
+ - : Returns the amount of this payment intent.
+
+ **Returns:**
+ - payment intent amount
+
+
+---
+
+### getClientSecret()
+- getClientSecret(): [String](TopLevel.String.md)
+ - : Returns the client secret of this payment intent.
+
+ **Returns:**
+ - payment intent client secret
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the identifier of this payment intent.
+
+ **Returns:**
+ - payment intent identifier
+
+
+---
+
+### getPaymentInstrument(Basket)
+- getPaymentInstrument(basket: [Basket](dw.order.Basket.md)): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Returns the payment instrument for this payment intent in the given basket, or `null` if the given
+ basket has none.
+
+
+ **Parameters:**
+ - basket - basket
+
+ **Returns:**
+ - basket payment instrument
+
+
+---
+
+### getPaymentInstrument(Order)
+- getPaymentInstrument(order: [Order](dw.order.Order.md)): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Returns the payment instrument for this payment intent in the given order, or `null` if the given
+ order has none.
+
+
+ **Parameters:**
+ - order - order
+
+ **Returns:**
+ - order payment instrument
+
+
+---
+
+### getPaymentMethod()
+- getPaymentMethod(): [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md)
+ - : Returns the payment method for this payment intent, or `null` if none has been established.
+
+ **Returns:**
+ - payment method
+
+
+---
+
+### getSetupFutureUsage()
+- getSetupFutureUsage(): [String](TopLevel.String.md)
+ - : Returns [SETUP_FUTURE_USAGE_OFF_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_off_session) or [SETUP_FUTURE_USAGE_ON_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_on_session) to indicate how the payment
+ intent can be used in the future or returns `null` if future usage is not set up.
+
+
+ **Returns:**
+ - setup future usage or `null` if future usage is not set up
+
+ **See Also:**
+ - [SalesforcePaymentRequest.setSetupFutureUsage(Boolean)](dw.extensions.payments.SalesforcePaymentRequest.md#setsetupfutureusageboolean)
+ - [SETUP_FUTURE_USAGE_OFF_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_off_session)
+ - [SETUP_FUTURE_USAGE_ON_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_on_session)
+
+
+---
+
+### isCancelable()
+- isCancelable(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if this payment intent has a status which indicates it can be canceled,
+ or `false` if its status does not indicate it can be canceled.
+
+
+ **Returns:**
+ - `true` if this payment intent has a status which indicates it can be canceled
+
+
+---
+
+### isConfirmed()
+- isConfirmed(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if this payment intent has been confirmed, or `false` if not.
+
+ **Returns:**
+ - `true` if this payment intent has been confirmed
+
+
+---
+
+### isRefundable()
+- isRefundable(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if this payment intent has a status and other state which indicate it can be refunded,
+ or `false` if it cannot be refunded.
+
+
+ **Returns:**
+ - `true` if this payment intent has a status and other state which indicate it can be refunded
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentMethod.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentMethod.md
new file mode 100644
index 00000000..84612533
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentMethod.md
@@ -0,0 +1,368 @@
+
+# Class SalesforcePaymentMethod
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md)
+
+
+
+Salesforce Payments representation of a payment method object. See Salesforce Payments documentation for how
+to gain access and configure it for use on your sites.
+
+
+
+
+A payment method contains information about a credential used by a shopper to attempt payment, such as a payment card
+or bank account. The available information differs for each type of payment method. It includes only limited
+information that can be safely presented to a shopper to remind them what credential they used, and specifically not
+complete card, account, or other numbers that could be used to make future payments.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [TYPE_AFTERPAY_CLEARPAY](#type_afterpay_clearpay): [String](TopLevel.String.md) = "afterpay_clearpay" | Represents the Afterpay Clearpay payment method. |
+| [TYPE_BANCONTACT](#type_bancontact): [String](TopLevel.String.md) = "bancontact" | Represents the Bancontact payment method. |
+| [TYPE_CARD](#type_card): [String](TopLevel.String.md) = "card" | Represents a credit card type of payment method. |
+| [TYPE_EPS](#type_eps): [String](TopLevel.String.md) = "eps" | Represents the EPS (Electronic Payment Standard) payment method. |
+| [TYPE_IDEAL](#type_ideal): [String](TopLevel.String.md) = "ideal" | Represents the iDEAL payment method. |
+| [TYPE_KLARNA](#type_klarna): [String](TopLevel.String.md) = "klarna" | Represents the Klarna payment method. |
+| [TYPE_SEPA_DEBIT](#type_sepa_debit): [String](TopLevel.String.md) = "sepa_debit" | Represents the SEPA Debit payment method. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the identifier of this payment method. |
+| [bank](#bank): [String](TopLevel.String.md) `(read-only)` | Returns the bank of this payment method, or `null` if none is available. |
+| [bankCode](#bankcode): [String](TopLevel.String.md) `(read-only)` | Returns the bank code of this payment method, or `null` if none is available. |
+| [bankName](#bankname): [String](TopLevel.String.md) `(read-only)` | Returns the bank name of this payment method, or `null` if none is available. |
+| [branchCode](#branchcode): [String](TopLevel.String.md) `(read-only)` | Returns the bank branch code of this payment method, or `null` if none is available. |
+| [brand](#brand): [String](TopLevel.String.md) `(read-only)` | Returns the brand of this payment method, or `null` if none is available. |
+| [country](#country): [String](TopLevel.String.md) `(read-only)` | Returns the country of this payment method, or `null` if none is available. |
+| [last4](#last4): [String](TopLevel.String.md) `(read-only)` | Returns the last 4 digits of the credential for this payment method, or `null` if none is available. |
+| [paymentMethodCategory](#paymentmethodcategory): [String](TopLevel.String.md) `(read-only)` | Returns the payment method category of this payment method, or `null` if none is available. |
+| [type](#type): [String](TopLevel.String.md) `(read-only)` | Returns the type of this payment method. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBank](dw.extensions.payments.SalesforcePaymentMethod.md#getbank)() | Returns the bank of this payment method, or `null` if none is available. |
+| [getBankCode](dw.extensions.payments.SalesforcePaymentMethod.md#getbankcode)() | Returns the bank code of this payment method, or `null` if none is available. |
+| [getBankName](dw.extensions.payments.SalesforcePaymentMethod.md#getbankname)() | Returns the bank name of this payment method, or `null` if none is available. |
+| [getBranchCode](dw.extensions.payments.SalesforcePaymentMethod.md#getbranchcode)() | Returns the bank branch code of this payment method, or `null` if none is available. |
+| [getBrand](dw.extensions.payments.SalesforcePaymentMethod.md#getbrand)() | Returns the brand of this payment method, or `null` if none is available. |
+| [getCountry](dw.extensions.payments.SalesforcePaymentMethod.md#getcountry)() | Returns the country of this payment method, or `null` if none is available. |
+| [getID](dw.extensions.payments.SalesforcePaymentMethod.md#getid)() | Returns the identifier of this payment method. |
+| [getLast4](dw.extensions.payments.SalesforcePaymentMethod.md#getlast4)() | Returns the last 4 digits of the credential for this payment method, or `null` if none is available. |
+| [getPaymentDetails](dw.extensions.payments.SalesforcePaymentMethod.md#getpaymentdetailsorderpaymentinstrument)([OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)) | Returns the details to the Salesforce Payments payment for this payment method, using the given payment instrument. |
+| [getPaymentMethodCategory](dw.extensions.payments.SalesforcePaymentMethod.md#getpaymentmethodcategory)() | Returns the payment method category of this payment method, or `null` if none is available. |
+| [getType](dw.extensions.payments.SalesforcePaymentMethod.md#gettype)() | Returns the type of this payment method. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### TYPE_AFTERPAY_CLEARPAY
+
+- TYPE_AFTERPAY_CLEARPAY: [String](TopLevel.String.md) = "afterpay_clearpay"
+ - : Represents the Afterpay Clearpay payment method.
+
+
+---
+
+### TYPE_BANCONTACT
+
+- TYPE_BANCONTACT: [String](TopLevel.String.md) = "bancontact"
+ - : Represents the Bancontact payment method.
+
+
+---
+
+### TYPE_CARD
+
+- TYPE_CARD: [String](TopLevel.String.md) = "card"
+ - : Represents a credit card type of payment method.
+
+
+---
+
+### TYPE_EPS
+
+- TYPE_EPS: [String](TopLevel.String.md) = "eps"
+ - : Represents the EPS (Electronic Payment Standard) payment method.
+
+
+---
+
+### TYPE_IDEAL
+
+- TYPE_IDEAL: [String](TopLevel.String.md) = "ideal"
+ - : Represents the iDEAL payment method.
+
+
+---
+
+### TYPE_KLARNA
+
+- TYPE_KLARNA: [String](TopLevel.String.md) = "klarna"
+ - : Represents the Klarna payment method.
+
+
+---
+
+### TYPE_SEPA_DEBIT
+
+- TYPE_SEPA_DEBIT: [String](TopLevel.String.md) = "sepa_debit"
+ - : Represents the SEPA Debit payment method.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the identifier of this payment method.
+
+
+---
+
+### bank
+- bank: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the bank of this payment method, or `null` if none is available. Available on
+ [TYPE_IDEAL](dw.extensions.payments.SalesforcePaymentMethod.md#type_ideal) and [TYPE_EPS](dw.extensions.payments.SalesforcePaymentMethod.md#type_eps) type methods.
+
+
+
+---
+
+### bankCode
+- bankCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the bank code of this payment method, or `null` if none is available. Available on
+ [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit) and [TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact) type methods.
+
+
+
+---
+
+### bankName
+- bankName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the bank name of this payment method, or `null` if none is available. Available on
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact) type methods.
+
+
+
+---
+
+### branchCode
+- branchCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the bank branch code of this payment method, or `null` if none is available. Available on
+ [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit) type methods.
+
+
+
+---
+
+### brand
+- brand: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the brand of this payment method, or `null` if none is available. Available on
+ [TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card) type methods.
+
+
+
+---
+
+### country
+- country: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the country of this payment method, or `null` if none is available. Available on
+ [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit) type methods.
+
+
+
+---
+
+### last4
+- last4: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the last 4 digits of the credential for this payment method, or `null` if none is available.
+ Available on [TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card), [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit), and
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact) type methods.
+
+
+
+---
+
+### paymentMethodCategory
+- paymentMethodCategory: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the payment method category of this payment method, or `null` if none is available. Available
+ on [TYPE_KLARNA](dw.extensions.payments.SalesforcePaymentMethod.md#type_klarna) type methods.
+
+
+
+---
+
+### type
+- type: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the type of this payment method.
+
+ **See Also:**
+ - [TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact)
+ - [TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card)
+ - [TYPE_EPS](dw.extensions.payments.SalesforcePaymentMethod.md#type_eps)
+ - [TYPE_AFTERPAY_CLEARPAY](dw.extensions.payments.SalesforcePaymentMethod.md#type_afterpay_clearpay)
+ - [TYPE_IDEAL](dw.extensions.payments.SalesforcePaymentMethod.md#type_ideal)
+ - [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit)
+
+
+---
+
+## Method Details
+
+### getBank()
+- getBank(): [String](TopLevel.String.md)
+ - : Returns the bank of this payment method, or `null` if none is available. Available on
+ [TYPE_IDEAL](dw.extensions.payments.SalesforcePaymentMethod.md#type_ideal) and [TYPE_EPS](dw.extensions.payments.SalesforcePaymentMethod.md#type_eps) type methods.
+
+
+ **Returns:**
+ - payment method bank
+
+
+---
+
+### getBankCode()
+- getBankCode(): [String](TopLevel.String.md)
+ - : Returns the bank code of this payment method, or `null` if none is available. Available on
+ [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit) and [TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact) type methods.
+
+
+ **Returns:**
+ - payment method bank code
+
+
+---
+
+### getBankName()
+- getBankName(): [String](TopLevel.String.md)
+ - : Returns the bank name of this payment method, or `null` if none is available. Available on
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact) type methods.
+
+
+ **Returns:**
+ - payment method bank name
+
+
+---
+
+### getBranchCode()
+- getBranchCode(): [String](TopLevel.String.md)
+ - : Returns the bank branch code of this payment method, or `null` if none is available. Available on
+ [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit) type methods.
+
+
+ **Returns:**
+ - payment method bank branch code
+
+
+---
+
+### getBrand()
+- getBrand(): [String](TopLevel.String.md)
+ - : Returns the brand of this payment method, or `null` if none is available. Available on
+ [TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card) type methods.
+
+
+ **Returns:**
+ - payment method brand
+
+
+---
+
+### getCountry()
+- getCountry(): [String](TopLevel.String.md)
+ - : Returns the country of this payment method, or `null` if none is available. Available on
+ [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit) type methods.
+
+
+ **Returns:**
+ - payment method country
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the identifier of this payment method.
+
+ **Returns:**
+ - payment method identifier
+
+
+---
+
+### getLast4()
+- getLast4(): [String](TopLevel.String.md)
+ - : Returns the last 4 digits of the credential for this payment method, or `null` if none is available.
+ Available on [TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card), [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit), and
+ [TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact) type methods.
+
+
+ **Returns:**
+ - payment method credential last 4 digits
+
+
+---
+
+### getPaymentDetails(OrderPaymentInstrument)
+- getPaymentDetails(paymentInstrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)): [SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - : Returns the details to the Salesforce Payments payment for this payment method, using the given payment
+ instrument.
+
+
+ **Parameters:**
+ - paymentInstrument - payment instrument
+
+ **Returns:**
+ - The payment details
+
+
+---
+
+### getPaymentMethodCategory()
+- getPaymentMethodCategory(): [String](TopLevel.String.md)
+ - : Returns the payment method category of this payment method, or `null` if none is available. Available
+ on [TYPE_KLARNA](dw.extensions.payments.SalesforcePaymentMethod.md#type_klarna) type methods.
+
+
+ **Returns:**
+ - payment method category
+
+
+---
+
+### getType()
+- getType(): [String](TopLevel.String.md)
+ - : Returns the type of this payment method.
+
+ **Returns:**
+ - payment method type
+
+ **See Also:**
+ - [TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact)
+ - [TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card)
+ - [TYPE_EPS](dw.extensions.payments.SalesforcePaymentMethod.md#type_eps)
+ - [TYPE_AFTERPAY_CLEARPAY](dw.extensions.payments.SalesforcePaymentMethod.md#type_afterpay_clearpay)
+ - [TYPE_IDEAL](dw.extensions.payments.SalesforcePaymentMethod.md#type_ideal)
+ - [TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentRequest.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentRequest.md
new file mode 100644
index 00000000..45e3a6bc
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentRequest.md
@@ -0,0 +1,1077 @@
+
+# Class SalesforcePaymentRequest
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentRequest](dw.extensions.payments.SalesforcePaymentRequest.md)
+
+
+
+Salesforce Payments request for a shopper to make payment. See Salesforce Payments documentation for how to
+gain access and configure it for use on your sites.
+
+
+
+
+A request is required to render payment methods and/or express checkout buttons using ` Returns a set containing the element types to be explicitly excluded from mounted components. |
+| [include](#include): [Set](dw.util.Set.md) `(read-only)` | Returns a set containing the specific element types to include in mounted components. |
+| [selector](#selector): [String](TopLevel.String.md) `(read-only)` | Returns the DOM element selector where to mount payment methods and/or express checkout buttons. |
+| [setupFutureUsage](#setupfutureusage): [Boolean](TopLevel.Boolean.md) | Returns `true` if the payment method should be always saved for future use off session, or `false` if the payment method should be only saved for future use on session when appropriate. |
+| [statementDescriptor](#statementdescriptor): [String](TopLevel.String.md) | Returns the complete description that appears on your customers' statements for payments made by this request, or `null` if the default statement descriptor for your account will be used. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [SalesforcePaymentRequest](#salesforcepaymentrequeststring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Constructs a payment request using the given identifiers. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addExclude](dw.extensions.payments.SalesforcePaymentRequest.md#addexcludestring)([String](TopLevel.String.md)) | Adds the given element type to explicitly exclude from mounted components. |
+| [addInclude](dw.extensions.payments.SalesforcePaymentRequest.md#addincludestring)([String](TopLevel.String.md)) | Adds the given element type to include in mounted components. |
+| static [calculatePaymentRequestOptions](dw.extensions.payments.SalesforcePaymentRequest.md#calculatepaymentrequestoptionsbasket-object)([Basket](dw.order.Basket.md), [Object](TopLevel.Object.md)) | Returns a JS object containing the payment request options to use when a Pay Now button is tapped, in the appropriate format for use in client side JavaScript, with data calculated from the given basket. |
+| static [format](dw.extensions.payments.SalesforcePaymentRequest.md#formatobject)([Object](TopLevel.Object.md)) | Returns a JS object containing the payment request options to use when a Buy Now button is tapped, in the appropriate format for use in client side JavaScript. |
+| [getBasketData](dw.extensions.payments.SalesforcePaymentRequest.md#getbasketdata)() | Returns a JS object containing the data used to prepare the shopper basket when a Buy Now button is tapped. |
+| [getBillingDetails](dw.extensions.payments.SalesforcePaymentRequest.md#getbillingdetails)() | Returns a JS object containing the billing details to use when a Stripe PaymentMethod is created. |
+| [getCardCaptureAutomatic](dw.extensions.payments.SalesforcePaymentRequest.md#getcardcaptureautomatic)() | Returns `true` if the credit card payment should be automatically captured at the time of the sale, or `false` if the credit card payment should be captured later. |
+| [getExclude](dw.extensions.payments.SalesforcePaymentRequest.md#getexclude)() | Returns a set containing the element types to be explicitly excluded from mounted components. |
+| [getID](dw.extensions.payments.SalesforcePaymentRequest.md#getid)() | Returns the identifier of this payment request. |
+| [getInclude](dw.extensions.payments.SalesforcePaymentRequest.md#getinclude)() | Returns a set containing the specific element types to include in mounted components. |
+| [getSelector](dw.extensions.payments.SalesforcePaymentRequest.md#getselector)() | Returns the DOM element selector where to mount payment methods and/or express checkout buttons. |
+| [getSetupFutureUsage](dw.extensions.payments.SalesforcePaymentRequest.md#getsetupfutureusage)() | Returns `true` if the payment method should be always saved for future use off session, or `false` if the payment method should be only saved for future use on session when appropriate. |
+| [getStatementDescriptor](dw.extensions.payments.SalesforcePaymentRequest.md#getstatementdescriptor)() | Returns the complete description that appears on your customers' statements for payments made by this request, or `null` if the default statement descriptor for your account will be used. |
+| [setBasketData](dw.extensions.payments.SalesforcePaymentRequest.md#setbasketdataobject)([Object](TopLevel.Object.md)) | Sets the data used to prepare the shopper basket when a Buy Now button is tapped. |
+| [setBillingDetails](dw.extensions.payments.SalesforcePaymentRequest.md#setbillingdetailsobject)([Object](TopLevel.Object.md)) | Sets the billing details to use when a Stripe PaymentMethod is created. |
+| [setCardCaptureAutomatic](dw.extensions.payments.SalesforcePaymentRequest.md#setcardcaptureautomaticboolean)([Boolean](TopLevel.Boolean.md)) | Sets if the credit card payment should be automatically captured at the time of the sale. |
+| [setOptions](dw.extensions.payments.SalesforcePaymentRequest.md#setoptionsobject)([Object](TopLevel.Object.md)) | Sets the payment request options to use when a Buy Now button is tapped. |
+| [setPayPalButtonsOptions](dw.extensions.payments.SalesforcePaymentRequest.md#setpaypalbuttonsoptionsobject)([Object](TopLevel.Object.md)) | Sets the the options to pass into the `paypal.Buttons` call. |
+| [setPayPalShippingPreference](dw.extensions.payments.SalesforcePaymentRequest.md#setpaypalshippingpreferencestring)([String](TopLevel.String.md)) | Sets the PayPal order application context `shipping_preference` value. |
+| [setPayPalUserAction](dw.extensions.payments.SalesforcePaymentRequest.md#setpaypaluseractionstring)([String](TopLevel.String.md)) | Sets the PayPal order application context `user_action` value. |
+| [setReturnController](dw.extensions.payments.SalesforcePaymentRequest.md#setreturncontrollerstring)([String](TopLevel.String.md)) | Sets the controller to which to redirect when the shopper returns from a 3rd party payment website. |
+| [setSavePaymentMethodEnabled](dw.extensions.payments.SalesforcePaymentRequest.md#setsavepaymentmethodenabledboolean)([Boolean](TopLevel.Boolean.md)) | Sets if mounted components may provide a control for the shopper to save their payment method for later use. |
+| [setSetupFutureUsage](dw.extensions.payments.SalesforcePaymentRequest.md#setsetupfutureusageboolean)([Boolean](TopLevel.Boolean.md)) | Sets if the payment method should be always saved for future use off session. |
+| [setStatementDescriptor](dw.extensions.payments.SalesforcePaymentRequest.md#setstatementdescriptorstring)([String](TopLevel.String.md)) | Sets the complete description that appears on your customers' statements for payments made by this request. |
+| [setStripeCreateElementOptions](dw.extensions.payments.SalesforcePaymentRequest.md#setstripecreateelementoptionsstring-object)([String](TopLevel.String.md), [Object](TopLevel.Object.md)) | Sets the the options to pass into the Stripe `elements.create` call for the given element type. |
+| [setStripeElementsOptions](dw.extensions.payments.SalesforcePaymentRequest.md#setstripeelementsoptionsobject)([Object](TopLevel.Object.md)) | Sets the the options to pass into the `stripe.elements` call. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ELEMENT_AFTERPAY_CLEARPAY_MESSAGE
+
+- ELEMENT_AFTERPAY_CLEARPAY_MESSAGE: [String](TopLevel.String.md) = "afterpayClearpayMessage"
+ - : Element for the Stripe Afterpay/Clearpay message `"afterpayClearpayMessage"`.
+
+
+---
+
+### ELEMENT_CARD_CVC
+
+- ELEMENT_CARD_CVC: [String](TopLevel.String.md) = "cardCvc"
+ - : Element for the Stripe credit card CVC field `"cardCvc"`.
+
+
+---
+
+### ELEMENT_CARD_EXPIRY
+
+- ELEMENT_CARD_EXPIRY: [String](TopLevel.String.md) = "cardExpiry"
+ - : Element for the Stripe credit card expiration date field `"cardExpiry"`.
+
+
+---
+
+### ELEMENT_CARD_NUMBER
+
+- ELEMENT_CARD_NUMBER: [String](TopLevel.String.md) = "cardNumber"
+ - : Element for the Stripe credit card number field `"cardNumber"`.
+
+
+---
+
+### ELEMENT_EPS_BANK
+
+- ELEMENT_EPS_BANK: [String](TopLevel.String.md) = "epsBank"
+ - : Element for the Stripe EPS bank selection field `"epsBank"`.
+
+
+---
+
+### ELEMENT_IBAN
+
+- ELEMENT_IBAN: [String](TopLevel.String.md) = "iban"
+ - : Element for the Stripe IBAN field `"iban"`.
+
+
+---
+
+### ELEMENT_IDEAL_BANK
+
+- ELEMENT_IDEAL_BANK: [String](TopLevel.String.md) = "idealBank"
+ - : Element for the Stripe iDEAL bank selection field `"idealBank"`.
+
+
+---
+
+### ELEMENT_PAYMENT_REQUEST_BUTTON
+
+- ELEMENT_PAYMENT_REQUEST_BUTTON: [String](TopLevel.String.md) = "paymentRequestButton"
+ - : Element for the Stripe payment request button `"paymentRequestButton"`.
+
+
+---
+
+### ELEMENT_TYPE_AFTERPAY_CLEARPAY
+
+- ELEMENT_TYPE_AFTERPAY_CLEARPAY: [String](TopLevel.String.md) = "afterpay_clearpay"
+ - : Element type name for Afterpay.
+
+
+---
+
+### ELEMENT_TYPE_AFTERPAY_CLEARPAY_MESSAGE
+
+- ELEMENT_TYPE_AFTERPAY_CLEARPAY_MESSAGE: [String](TopLevel.String.md) = "afterpayclearpaymessage"
+ - : Element type name for Afterpay/Clearpay message.
+
+
+---
+
+### ELEMENT_TYPE_APPLEPAY
+
+- ELEMENT_TYPE_APPLEPAY: [String](TopLevel.String.md) = "applepay"
+ - : Element type name for Apple Pay payment request buttons.
+
+
+---
+
+### ELEMENT_TYPE_BANCONTACT
+
+- ELEMENT_TYPE_BANCONTACT: [String](TopLevel.String.md) = "bancontact"
+ - : Element type name for Bancontact.
+
+
+---
+
+### ELEMENT_TYPE_CARD
+
+- ELEMENT_TYPE_CARD: [String](TopLevel.String.md) = "card"
+ - : Element type name for credit cards.
+
+
+---
+
+### ELEMENT_TYPE_EPS
+
+- ELEMENT_TYPE_EPS: [String](TopLevel.String.md) = "eps"
+ - : Element type name for EPS.
+
+
+---
+
+### ELEMENT_TYPE_IDEAL
+
+- ELEMENT_TYPE_IDEAL: [String](TopLevel.String.md) = "ideal"
+ - : Element type name for iDEAL.
+
+
+---
+
+### ELEMENT_TYPE_PAYMENTREQUEST
+
+- ELEMENT_TYPE_PAYMENTREQUEST: [String](TopLevel.String.md) = "paymentrequest"
+ - : Element type name for other payment request buttons besides Apple Pay, like Google Pay.
+
+
+---
+
+### ELEMENT_TYPE_PAYPAL
+
+- ELEMENT_TYPE_PAYPAL: [String](TopLevel.String.md) = "paypal"
+ - : Element type name for PayPal in multi-step checkout.
+
+
+---
+
+### ELEMENT_TYPE_PAYPAL_EXPRESS
+
+- ELEMENT_TYPE_PAYPAL_EXPRESS: [String](TopLevel.String.md) = "paypalexpress"
+ - : Element type name for PayPal in express checkout.
+
+
+---
+
+### ELEMENT_TYPE_PAYPAL_MESSAGE
+
+- ELEMENT_TYPE_PAYPAL_MESSAGE: [String](TopLevel.String.md) = "paypalmessage"
+ - : Element type name for the PayPal messages component.
+
+
+---
+
+### ELEMENT_TYPE_SEPA_DEBIT
+
+- ELEMENT_TYPE_SEPA_DEBIT: [String](TopLevel.String.md) = "sepa_debit"
+ - : Element type name for SEPA debit.
+
+
+---
+
+### ELEMENT_TYPE_VENMO
+
+- ELEMENT_TYPE_VENMO: [String](TopLevel.String.md) = "venmo"
+ - : Element type name for Venmo in multi-step checkout.
+
+
+---
+
+### ELEMENT_TYPE_VENMO_EXPRESS
+
+- ELEMENT_TYPE_VENMO_EXPRESS: [String](TopLevel.String.md) = "venmoexpress"
+ - : Element type name for Venmo in express checkout.
+
+
+---
+
+### PAYPAL_SHIPPING_PREFERENCE_GET_FROM_FILE
+
+- PAYPAL_SHIPPING_PREFERENCE_GET_FROM_FILE: [String](TopLevel.String.md) = "GET_FROM_FILE"
+ - : PayPal application context `shipping_preference` value `"GET_FROM_FILE"`, to use the
+ customer-provided shipping address on the PayPal site.
+
+
+
+---
+
+### PAYPAL_SHIPPING_PREFERENCE_NO_SHIPPING
+
+- PAYPAL_SHIPPING_PREFERENCE_NO_SHIPPING: [String](TopLevel.String.md) = "NO_SHIPPING"
+ - : PayPal application context `shipping_preference` value `"NO_SHIPPING"`, to redact the
+ shipping address from the PayPal site. Recommended for digital goods.
+
+
+
+---
+
+### PAYPAL_SHIPPING_PREFERENCE_SET_PROVIDED_ADDRESS
+
+- PAYPAL_SHIPPING_PREFERENCE_SET_PROVIDED_ADDRESS: [String](TopLevel.String.md) = "SET_PROVIDED_ADDRESS"
+ - : PayPal application context `shipping_preference` value `"SET_PROVIDED_ADDRESS"`, to use the
+ merchant-provided address. The customer cannot change this address on the PayPal site.
+
+
+
+---
+
+### PAYPAL_USER_ACTION_CONTINUE
+
+- PAYPAL_USER_ACTION_CONTINUE: [String](TopLevel.String.md) = "CONTINUE"
+ - : PayPal application context `user_action` value `"CONTINUE"`. Use this option when the final
+ amount is not known when the checkout flow is initiated and you want to redirect the customer to the merchant
+ page without processing the payment.
+
+
+
+---
+
+### PAYPAL_USER_ACTION_PAY_NOW
+
+- PAYPAL_USER_ACTION_PAY_NOW: [String](TopLevel.String.md) = "PAY_NOW"
+ - : PayPal application context `user_action` value `"PAY_NOW"`. Use this option when the final
+ amount is known when the checkout is initiated and you want to process the payment immediately when the customer
+ clicks Pay Now.
+
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the identifier of this payment request.
+
+
+---
+
+### basketData
+- basketData: [Object](TopLevel.Object.md)
+ - : Returns a JS object containing the data used to prepare the shopper basket when a Buy Now button is tapped.
+
+ **See Also:**
+ - [setBasketData(Object)](dw.extensions.payments.SalesforcePaymentRequest.md#setbasketdataobject)
+
+
+---
+
+### billingDetails
+- billingDetails: [Object](TopLevel.Object.md)
+ - : Returns a JS object containing the billing details to use when a Stripe PaymentMethod is created.
+
+ **See Also:**
+ - [setBillingDetails(Object)](dw.extensions.payments.SalesforcePaymentRequest.md#setbillingdetailsobject)
+
+
+---
+
+### cardCaptureAutomatic
+- cardCaptureAutomatic: [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if the credit card payment should be automatically captured at the time of the sale, or
+ `false` if the credit card payment should be captured later.
+
+
+
+---
+
+### exclude
+- exclude: [Set](dw.util.Set.md) `(read-only)`
+ - :
+
+ Returns a set containing the element types to be explicitly excluded from mounted components. See the element
+ type constants in this class for the full list of supported element types.
+
+
+
+
+ Note: if an element type is both explicitly included and excluded, it will not be presented.
+
+
+ **See Also:**
+ - [addExclude(String)](dw.extensions.payments.SalesforcePaymentRequest.md#addexcludestring)
+
+
+---
+
+### include
+- include: [Set](dw.util.Set.md) `(read-only)`
+ - :
+
+ Returns a set containing the specific element types to include in mounted components. If the set is
+ empty then all applicable and enabled element types will be included by default. See the element type constants
+ in this class for the full list of supported element types.
+
+
+
+
+ Note: if an element type is both explicitly included and excluded, it will not be presented.
+
+
+ **See Also:**
+ - [addInclude(String)](dw.extensions.payments.SalesforcePaymentRequest.md#addincludestring)
+
+
+---
+
+### selector
+- selector: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the DOM element selector where to mount payment methods and/or express checkout buttons.
+
+
+---
+
+### setupFutureUsage
+- setupFutureUsage: [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if the payment method should be always saved for future use off session, or
+ `false` if the payment method should be only saved for future use on session when appropriate.
+
+
+
+---
+
+### statementDescriptor
+- statementDescriptor: [String](TopLevel.String.md)
+ - : Returns the complete description that appears on your customers' statements for payments made by this request, or
+ `null` if the default statement descriptor for your account will be used.
+
+
+
+---
+
+## Constructor Details
+
+### SalesforcePaymentRequest(String, String)
+- SalesforcePaymentRequest(id: [String](TopLevel.String.md), selector: [String](TopLevel.String.md))
+ - : Constructs a payment request using the given identifiers.
+
+ **Parameters:**
+ - id - identifier for payment request
+ - selector - DOM element selector where to mount payment methods and/or express checkout buttons
+
+ **Throws:**
+ - Exception - if id or selector is null
+
+
+---
+
+## Method Details
+
+### addExclude(String)
+- addExclude(elementType: [String](TopLevel.String.md)): void
+ - :
+
+ Adds the given element type to explicitly exclude from mounted components. It is not necessary to explicitly
+ exclude element types that are not enabled for the site, or are not applicable for the current shopper and/or
+ their basket. See the element type constants in this class for the full list of supported element types.
+
+
+
+
+ Note: if an element type is both explicitly included and excluded, it will not be presented.
+
+
+ **Parameters:**
+ - elementType - element type
+
+ **See Also:**
+ - [getExclude()](dw.extensions.payments.SalesforcePaymentRequest.md#getexclude)
+
+
+---
+
+### addInclude(String)
+- addInclude(elementType: [String](TopLevel.String.md)): void
+ - :
+
+ Adds the given element type to include in mounted components. Call this method to include only a specific list of
+ element types to be presented when applicable and enabled for the site. See the element type constants in this
+ class for the full list of supported element types.
+
+
+
+
+ Note: if an element type is both explicitly included and excluded, it will not be presented.
+
+
+ **Parameters:**
+ - elementType - element type
+
+ **See Also:**
+ - [getInclude()](dw.extensions.payments.SalesforcePaymentRequest.md#getinclude)
+
+
+---
+
+### calculatePaymentRequestOptions(Basket, Object)
+- static calculatePaymentRequestOptions(basket: [Basket](dw.order.Basket.md), options: [Object](TopLevel.Object.md)): [Object](TopLevel.Object.md)
+ - :
+
+ Returns a JS object containing the payment request options to use when a Pay Now button is tapped, in the
+ appropriate format for use in client side JavaScript, with data calculated from the given basket. This method is
+ provided as a convenience to calculate updated payment request options when the shopper basket has changed. Data
+ in the given `options` object like `total`, `displayItems`, and
+ `shippingOptions` will be replaced in the returned object by values recalculated from the given
+ `basket` and applicable shipping methods.
+
+
+
+
+ The following example shows the resulting output for a basket and sample options.
+
+
+
+ ```
+ SalesforcePaymentRequest.calculatePaymentRequestOptions(basket, {
+ requestPayerName: true,
+ requestPayerEmail: true,
+ requestPayerPhone: false,
+ requestShipping: true
+ });
+ ```
+
+
+
+ returns
+
+
+
+ ```
+ {
+ currency: 'gbp',
+ total: {
+ label: 'Total',
+ amount: '2644'
+ },
+ displayItems: [{
+ label: 'Subtotal',
+ amount: '1919'
+ }, {
+ label: 'Tax',
+ amount: '126'
+ }, {
+ label: 'Ground',
+ amount: '599'
+ }],
+ requestPayerName: true,
+ requestPayerEmail: true,
+ requestPayerPhone: false,
+ requestShipping: true,
+ shippingOptions: [{
+ id: 'GBP001',
+ label: 'Ground',
+ detail: 'Order received within 7-10 business days',
+ amount: '599'
+ },{
+ id: 'GBP002',
+ label: 'Express',
+ detail: 'Order received within 2-4 business days',
+ amount: '999'
+ }]
+ }
+ ```
+
+
+ **Parameters:**
+ - options - JS object containing payment request options in B2C Commerce API standard format
+
+ **Returns:**
+ - JS object containing equivalent payment request options in Stripe JS API format
+
+
+---
+
+### format(Object)
+- static format(options: [Object](TopLevel.Object.md)): [Object](TopLevel.Object.md)
+ - :
+
+ Returns a JS object containing the payment request options to use when a Buy Now button is tapped, in the
+ appropriate format for use in client side JavaScript. This method is provided as a convenience to adjust values
+ in B2C Commerce API standard formats to their equivalents as expected by Stripe JS APIs. The following example
+ shows options set in B2C Commerce API format, and the resulting output.
+
+
+
+ ```
+ SalesforcePaymentRequest.format({
+ currency: 'GBP',
+ total: {
+ label: 'Total',
+ amount: '26.44'
+ },
+ displayItems: [{
+ label: 'Subtotal',
+ amount: '19.19'
+ }, {
+ label: 'Tax',
+ amount: '1.26'
+ }, {
+ label: 'Ground',
+ amount: '5.99'
+ }],
+ requestPayerPhone: false,
+ shippingOptions: [{
+ id: 'GBP001',
+ label: 'Ground',
+ detail: 'Order received within 7-10 business days',
+ amount: '5.99'
+ }]
+ });
+ ```
+
+
+
+ returns
+
+
+
+ ```
+ {
+ currency: 'gbp',
+ total: {
+ label: 'Total',
+ amount: '2644'
+ },
+ displayItems: [{
+ label: 'Subtotal',
+ amount: '1919'
+ }, {
+ label: 'Tax',
+ amount: '126'
+ }, {
+ label: 'Ground',
+ amount: '599'
+ }],
+ requestPayerPhone: false,
+ shippingOptions: [{
+ id: 'GBP001',
+ label: 'Ground',
+ detail: 'Order received within 7-10 business days',
+ amount: '599'
+ }]
+ }
+ ```
+
+
+ **Parameters:**
+ - options - JS object containing payment request options in B2C Commerce API standard format
+
+ **Returns:**
+ - JS object containing equivalent payment request options in Stripe JS API format
+
+
+---
+
+### getBasketData()
+- getBasketData(): [Object](TopLevel.Object.md)
+ - : Returns a JS object containing the data used to prepare the shopper basket when a Buy Now button is tapped.
+
+ **Returns:**
+ - JS object containing the basket data
+
+ **See Also:**
+ - [setBasketData(Object)](dw.extensions.payments.SalesforcePaymentRequest.md#setbasketdataobject)
+
+
+---
+
+### getBillingDetails()
+- getBillingDetails(): [Object](TopLevel.Object.md)
+ - : Returns a JS object containing the billing details to use when a Stripe PaymentMethod is created.
+
+ **Returns:**
+ - JS object containing the billing details
+
+ **See Also:**
+ - [setBillingDetails(Object)](dw.extensions.payments.SalesforcePaymentRequest.md#setbillingdetailsobject)
+
+
+---
+
+### getCardCaptureAutomatic()
+- getCardCaptureAutomatic(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if the credit card payment should be automatically captured at the time of the sale, or
+ `false` if the credit card payment should be captured later.
+
+
+ **Returns:**
+ - `true` if the credit card payment should be automatically captured at the time of the sale,
+ `false` if the credit card payment should be captured later.
+
+
+
+---
+
+### getExclude()
+- getExclude(): [Set](dw.util.Set.md)
+ - :
+
+ Returns a set containing the element types to be explicitly excluded from mounted components. See the element
+ type constants in this class for the full list of supported element types.
+
+
+
+
+ Note: if an element type is both explicitly included and excluded, it will not be presented.
+
+
+ **Returns:**
+ - set of element types
+
+ **See Also:**
+ - [addExclude(String)](dw.extensions.payments.SalesforcePaymentRequest.md#addexcludestring)
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the identifier of this payment request.
+
+ **Returns:**
+ - payment request identifier
+
+
+---
+
+### getInclude()
+- getInclude(): [Set](dw.util.Set.md)
+ - :
+
+ Returns a set containing the specific element types to include in mounted components. If the set is
+ empty then all applicable and enabled element types will be included by default. See the element type constants
+ in this class for the full list of supported element types.
+
+
+
+
+ Note: if an element type is both explicitly included and excluded, it will not be presented.
+
+
+ **Returns:**
+ - set of element types
+
+ **See Also:**
+ - [addInclude(String)](dw.extensions.payments.SalesforcePaymentRequest.md#addincludestring)
+
+
+---
+
+### getSelector()
+- getSelector(): [String](TopLevel.String.md)
+ - : Returns the DOM element selector where to mount payment methods and/or express checkout buttons.
+
+ **Returns:**
+ - DOM element selector
+
+
+---
+
+### getSetupFutureUsage()
+- getSetupFutureUsage(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if the payment method should be always saved for future use off session, or
+ `false` if the payment method should be only saved for future use on session when appropriate.
+
+
+ **Returns:**
+ - `true` if the payment method should be always saved for future use off session,
+ `false` if the payment method should be only saved for future use on session when appropriate.
+
+
+
+---
+
+### getStatementDescriptor()
+- getStatementDescriptor(): [String](TopLevel.String.md)
+ - : Returns the complete description that appears on your customers' statements for payments made by this request, or
+ `null` if the default statement descriptor for your account will be used.
+
+
+ **Returns:**
+ - statement descriptor for payments made by this request, or `null` if the account default will
+ be used
+
+
+
+---
+
+### setBasketData(Object)
+- setBasketData(basketData: [Object](TopLevel.Object.md)): void
+ - :
+
+ Sets the data used to prepare the shopper basket when a Buy Now button is tapped. For convenience this method
+ accepts a JS object to set all of the following properties at once:
+
+
+
+ - `sku`- SKU of the product to add exclusively to the basket (required)
+ - `quantity`- integer quantity of the product, default is 1
+ - `shippingMethod`- ID of the shipping method to set on the shipment, default is the site default shipping method for the basket currency
+ - `options`- JS array containing one JS object per selected product option, default is no selected options
+ - `id`- product option ID
+ - `valueId`- product option value ID
+
+
+
+ The following example shows how to set all of the supported basket data.
+
+
+
+ ```
+ request.setBasketData({
+ sku: 'tv-pdp-6010fdM',
+ quantity: 1,
+ shippingMethod: '001',
+ options: [{
+ id: 'tvWarranty',
+ valueId: '000'
+ }]
+ });
+ ```
+
+
+ **Parameters:**
+ - basketData - JS object containing the basket data
+
+ **See Also:**
+ - [getBasketData()](dw.extensions.payments.SalesforcePaymentRequest.md#getbasketdata)
+
+
+---
+
+### setBillingDetails(Object)
+- setBillingDetails(billingDetails: [Object](TopLevel.Object.md)): void
+ - : Sets the billing details to use when a Stripe PaymentMethod is created. For convenience this method accepts a
+ JS object to set all details at once. The following example shows how to set details including address.
+
+
+
+ ```
+ request.setBillingDetails({
+ address: {
+ city: 'Wien',
+ country: 'AT',
+ line1: 'Opernring 2',
+ postal_code: '1010'
+ },
+ email: 'jhummel@salesforce.com',
+ name: 'Johann Hummel'
+ });
+ ```
+
+
+
+ For more information on the available billing details see the Stripe create PaymentMethod API
+ documentation.
+
+
+ **Parameters:**
+ - billingDetails - JS object containing the billing details
+
+
+---
+
+### setCardCaptureAutomatic(Boolean)
+- setCardCaptureAutomatic(cardCaptureAutomatic: [Boolean](TopLevel.Boolean.md)): void
+ - : Sets if the credit card payment should be automatically captured at the time of the sale.
+
+ **Parameters:**
+ - cardCaptureAutomatic - `true` if the credit card payment should be automatically captured at the time of the sale, or `false` if the credit card payment should be captured later.
+
+
+---
+
+### setOptions(Object)
+- setOptions(options: [Object](TopLevel.Object.md)): void
+ - :
+
+ Sets the payment request options to use when a Buy Now button is tapped. For convenience this method accepts a
+ JS object to set all options at once. The following example shows how to set options including currency,
+ labels, and amounts, in B2C Commerce API format.
+
+
+
+ ```
+ request.setOptions({
+ currency: 'GBP',
+ total: {
+ label: 'Total',
+ amount: '26.44'
+ },
+ displayItems: [{
+ label: 'Subtotal',
+ amount: '19.19'
+ }, {
+ label: 'Tax',
+ amount: '1.26'
+ }, {
+ label: 'Ground',
+ amount: '5.99'
+ }],
+ requestPayerPhone: false,
+ shippingOptions: [{
+ id: 'GBP001',
+ label: 'Ground',
+ detail: 'Order received within 7-10 business days',
+ amount: '5.99'
+ }]
+ });
+ ```
+
+
+
+ The `total` option must match the total that will result from preparing the shopper basket using the
+ data provided to [setBasketData(Object)](dw.extensions.payments.SalesforcePaymentRequest.md#setbasketdataobject) in this request. The `id` of each JS object in the
+ `shippingOptions` array must equal the ID of the corresponding site shipping method that the shopper
+ may select in the browser payment app.
+
+
+
+
+ For more information on the available payment request options see the Stripe Payment Request object API
+ documentation.
+
+
+
+
+ Note: The Stripe Payment Request `country` option will be set automatically to the country of the
+ Salesforce Payments account associated with the Commerce Cloud instance and is not included here.
+
+
+ **Parameters:**
+ - options - JS object containing the payment request options
+
+
+---
+
+### setPayPalButtonsOptions(Object)
+- setPayPalButtonsOptions(options: [Object](TopLevel.Object.md)): void
+ - : Sets the the options to pass into the `paypal.Buttons` call. For more information see the PayPal
+ Buttons API documentation.
+
+
+ **Parameters:**
+ - options - JS object containing the options
+
+
+---
+
+### setPayPalShippingPreference(String)
+- setPayPalShippingPreference(shippingPreference: [String](TopLevel.String.md)): void
+ - : Sets the PayPal order application context `shipping_preference` value. For more information see the
+ PayPal Orders API documentation.
+
+
+ **Parameters:**
+ - shippingPreference - constant indicating the shipping preference
+
+ **See Also:**
+ - [PAYPAL_SHIPPING_PREFERENCE_GET_FROM_FILE](dw.extensions.payments.SalesforcePaymentRequest.md#paypal_shipping_preference_get_from_file)
+ - [PAYPAL_SHIPPING_PREFERENCE_NO_SHIPPING](dw.extensions.payments.SalesforcePaymentRequest.md#paypal_shipping_preference_no_shipping)
+ - [PAYPAL_SHIPPING_PREFERENCE_SET_PROVIDED_ADDRESS](dw.extensions.payments.SalesforcePaymentRequest.md#paypal_shipping_preference_set_provided_address)
+
+
+---
+
+### setPayPalUserAction(String)
+- setPayPalUserAction(userAction: [String](TopLevel.String.md)): void
+ - : Sets the PayPal order application context `user_action` value. For more information see the PayPal
+ Orders API documentation.
+
+
+ **Parameters:**
+ - userAction - constant indicating the user action
+
+ **See Also:**
+ - [PAYPAL_USER_ACTION_CONTINUE](dw.extensions.payments.SalesforcePaymentRequest.md#paypal_user_action_continue)
+ - [PAYPAL_USER_ACTION_PAY_NOW](dw.extensions.payments.SalesforcePaymentRequest.md#paypal_user_action_pay_now)
+
+
+---
+
+### setReturnController(String)
+- setReturnController(returnController: [String](TopLevel.String.md)): void
+ - : Sets the controller to which to redirect when the shopper returns from a 3rd party payment website. Default is
+ the controller for the current page.
+
+
+ **Parameters:**
+ - returnController - return controller, such as `"Cart-Show"`
+
+
+---
+
+### setSavePaymentMethodEnabled(Boolean)
+- setSavePaymentMethodEnabled(savePaymentMethodEnabled: [Boolean](TopLevel.Boolean.md)): void
+ - : Sets if mounted components may provide a control for the shopper to save their payment method for later use. When
+ set to `false` no control will be provided. When set to `true` a control may be provided,
+ if applicable for the shopper and presented payment method, but is not guaranteed.
+
+
+ **Parameters:**
+ - savePaymentMethodEnabled - if mounted components may provide a control for the shopper to save their payment method
+
+
+---
+
+### setSetupFutureUsage(Boolean)
+- setSetupFutureUsage(setupFutureUsage: [Boolean](TopLevel.Boolean.md)): void
+ - : Sets if the payment method should be always saved for future use off session.
+
+ **Parameters:**
+ - setupFutureUsage - `true` if the payment method should be always saved for future use off session, or `false` if the payment method should be only saved for future use on session when appropriate.
+
+
+---
+
+### setStatementDescriptor(String)
+- setStatementDescriptor(statementDescriptor: [String](TopLevel.String.md)): void
+ - : Sets the complete description that appears on your customers' statements for payments made by this request. Set
+ this to `null` to use the default statement descriptor for your account.
+
+
+ **Parameters:**
+ - statementDescriptor - statement descriptor for payments made by this request, or `null` to use the account default
+
+
+---
+
+### setStripeCreateElementOptions(String, Object)
+- setStripeCreateElementOptions(element: [String](TopLevel.String.md), options: [Object](TopLevel.Object.md)): void
+ - : Sets the the options to pass into the Stripe `elements.create` call for the given element type. For
+ more information see the Stripe Elements API documentation.
+
+
+ **Parameters:**
+ - element - name of the Stripe element whose creation to configure
+ - options - JS object containing the options
+
+ **See Also:**
+ - [ELEMENT_AFTERPAY_CLEARPAY_MESSAGE](dw.extensions.payments.SalesforcePaymentRequest.md#element_afterpay_clearpay_message)
+ - [ELEMENT_CARD_CVC](dw.extensions.payments.SalesforcePaymentRequest.md#element_card_cvc)
+ - [ELEMENT_CARD_EXPIRY](dw.extensions.payments.SalesforcePaymentRequest.md#element_card_expiry)
+ - [ELEMENT_CARD_NUMBER](dw.extensions.payments.SalesforcePaymentRequest.md#element_card_number)
+ - [ELEMENT_EPS_BANK](dw.extensions.payments.SalesforcePaymentRequest.md#element_eps_bank)
+ - [ELEMENT_IBAN](dw.extensions.payments.SalesforcePaymentRequest.md#element_iban)
+ - [ELEMENT_IDEAL_BANK](dw.extensions.payments.SalesforcePaymentRequest.md#element_ideal_bank)
+ - [ELEMENT_PAYMENT_REQUEST_BUTTON](dw.extensions.payments.SalesforcePaymentRequest.md#element_payment_request_button)
+
+
+---
+
+### setStripeElementsOptions(Object)
+- setStripeElementsOptions(options: [Object](TopLevel.Object.md)): void
+ - : Sets the the options to pass into the `stripe.elements` call. For more information see the Stripe
+ Elements API documentation.
+
+
+ **Parameters:**
+ - options - JS object containing the options
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsHooks.md
new file mode 100644
index 00000000..fbdcda93
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsHooks.md
@@ -0,0 +1,166 @@
+
+# Class SalesforcePaymentsHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentsHooks](dw.extensions.payments.SalesforcePaymentsHooks.md)
+
+
+
+This interface represents all script hooks that can be registered to customize the Salesforce Payments functionality.
+See Salesforce Payments documentation for how to gain access and configure it for use on your sites.
+
+
+
+
+It contains the extension points (hook names), and the functions that are called by each extension point. A function
+must be defined inside a JavaScript source and must be exported. The script with the exported hook function must be
+located inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.extensions.payments.asyncPaymentSucceeded", "script": "./payments.js"},
+ {"name": "dw.extensions.payments.adyenNotification", "script": "./payments.js"},
+ {"name": "dw.extensions.payments.sendOrderConfirmationEmail", "script": "./emails.js"}
+]
+```
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointAdyenNotification](#extensionpointadyennotification): [String](TopLevel.String.md) = "dw.extensions.payments.adyenNotification" | The extension point name dw.extensions.payments.adyenNotification. |
+| [extensionPointAsyncPaymentSucceeded](#extensionpointasyncpaymentsucceeded): [String](TopLevel.String.md) = "dw.extensions.payments.asyncPaymentSucceeded" | The extension point name dw.extensions.payments.asyncPaymentSucceeded. |
+| [extensionPointSendOrderConfirmationEmail](#extensionpointsendorderconfirmationemail): [String](TopLevel.String.md) = "dw.extensions.payments.sendOrderConfirmationEmail" | The extension point name dw.extensions.payments.sendOrderConfirmationEmail. |
+| [extensionPointStripePaymentEvent](#extensionpointstripepaymentevent): [String](TopLevel.String.md) = "dw.extensions.payments.stripePaymentEvent" | The extension point name dw.extensions.payments.stripePaymentEvent. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [adyenNotification](dw.extensions.payments.SalesforcePaymentsHooks.md#adyennotificationorder)([Order](dw.order.Order.md)) | Called when an Adyen webhook notification is received for the given order. |
+| [asyncPaymentSucceeded](dw.extensions.payments.SalesforcePaymentsHooks.md#asyncpaymentsucceededorder)([Order](dw.order.Order.md)) | Called when asynchronous payment succeeded for the given order. |
+| [sendOrderConfirmationEmail](dw.extensions.payments.SalesforcePaymentsHooks.md#sendorderconfirmationemailorder)([Order](dw.order.Order.md)) | Called to send order confirmation email after successful payment processing. |
+| [stripePaymentEvent](dw.extensions.payments.SalesforcePaymentsHooks.md#stripepaymenteventstring-order)([String](TopLevel.String.md), [Order](dw.order.Order.md)) | Called when a Stripe payment event is received for the given order. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointAdyenNotification
+
+- extensionPointAdyenNotification: [String](TopLevel.String.md) = "dw.extensions.payments.adyenNotification"
+ - : The extension point name dw.extensions.payments.adyenNotification.
+
+
+---
+
+### extensionPointAsyncPaymentSucceeded
+
+- extensionPointAsyncPaymentSucceeded: [String](TopLevel.String.md) = "dw.extensions.payments.asyncPaymentSucceeded"
+ - : The extension point name dw.extensions.payments.asyncPaymentSucceeded.
+
+
+---
+
+### extensionPointSendOrderConfirmationEmail
+
+- extensionPointSendOrderConfirmationEmail: [String](TopLevel.String.md) = "dw.extensions.payments.sendOrderConfirmationEmail"
+ - : The extension point name dw.extensions.payments.sendOrderConfirmationEmail.
+
+
+---
+
+### extensionPointStripePaymentEvent
+
+- extensionPointStripePaymentEvent: [String](TopLevel.String.md) = "dw.extensions.payments.stripePaymentEvent"
+ - : The extension point name dw.extensions.payments.stripePaymentEvent.
+
+
+---
+
+## Method Details
+
+### adyenNotification(Order)
+- adyenNotification(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - : Called when an Adyen webhook notification is received for the given order.
+
+ **Parameters:**
+ - order - the order for which the notification was received
+
+ **Returns:**
+ - a non-null result ends the hook execution, and is ignored
+
+
+---
+
+### asyncPaymentSucceeded(Order)
+- asyncPaymentSucceeded(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - : Called when asynchronous payment succeeded for the given order.
+
+ **Parameters:**
+ - order - the order whose asynchronous payment succeeded
+
+ **Returns:**
+ - a non-null result ends the hook execution, and is ignored
+
+
+---
+
+### sendOrderConfirmationEmail(Order)
+- sendOrderConfirmationEmail(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - : Called to send order confirmation email after successful payment processing.
+
+ **Parameters:**
+ - order - the order for which to send confirmation email
+
+ **Returns:**
+ - a non-null result ends the hook execution
+
+
+---
+
+### stripePaymentEvent(String, Order)
+- stripePaymentEvent(eventName: [String](TopLevel.String.md), order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - : Called when a Stripe payment event is received for the given order.
+
+ **Parameters:**
+ - eventName - the Stripe event name, such as `"payment_intent.succeeded"`
+ - order - the order for which the event was received
+
+ **Returns:**
+ - a non-null result ends the hook execution, and is ignored
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsMerchantAccount.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsMerchantAccount.md
new file mode 100644
index 00000000..2ae3c653
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsMerchantAccount.md
@@ -0,0 +1,151 @@
+
+# Class SalesforcePaymentsMerchantAccount
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentsMerchantAccount](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md)
+
+Contains information about a merchant account configured for use with Salesforce Payments. See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [accountId](#accountid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the Salesforce Payments merchant account. |
+| [accountType](#accounttype): [String](TopLevel.String.md) `(read-only)` | Returns the type of the Salesforce Payments merchant account and environment, such as `"STRIPE_TEST"` or `"ADYEN_LIVE"`. |
+| [config](#config): [Object](TopLevel.Object.md) `(read-only)` | Returns an opaque configuration object containing gateway-specific information. |
+| [live](#live): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if the account takes live payments, or `false` if it takes test payments. |
+| [vendor](#vendor): [String](TopLevel.String.md) `(read-only)` | Returns the name of the gateway vendor, such as `"Stripe"` or `"Adyen"`. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAccountId](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md#getaccountid)() | Returns the ID of the Salesforce Payments merchant account. |
+| [getAccountType](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md#getaccounttype)() | Returns the type of the Salesforce Payments merchant account and environment, such as `"STRIPE_TEST"` or `"ADYEN_LIVE"`. |
+| [getConfig](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md#getconfig)() | Returns an opaque configuration object containing gateway-specific information. |
+| [getVendor](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md#getvendor)() | Returns the name of the gateway vendor, such as `"Stripe"` or `"Adyen"`. |
+| [isLive](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md#islive)() | Returns `true` if the account takes live payments, or `false` if it takes test payments. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### accountId
+- accountId: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the Salesforce Payments merchant account.
+
+ **See Also:**
+ - [PaymentTransaction.setAccountID(String)](dw.order.PaymentTransaction.md#setaccountidstring)
+ - [PaymentTransaction.getAccountID()](dw.order.PaymentTransaction.md#getaccountid)
+
+
+---
+
+### accountType
+- accountType: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the type of the Salesforce Payments merchant account and environment, such as `"STRIPE_TEST"`
+ or `"ADYEN_LIVE"`.
+
+
+ **See Also:**
+ - [PaymentTransaction.setAccountType(String)](dw.order.PaymentTransaction.md#setaccounttypestring)
+ - [PaymentTransaction.getAccountType()](dw.order.PaymentTransaction.md#getaccounttype)
+
+
+---
+
+### config
+- config: [Object](TopLevel.Object.md) `(read-only)`
+ - : Returns an opaque configuration object containing gateway-specific information. Do not depend on the structure or
+ contents of this object as they may change at any time.
+
+
+
+---
+
+### live
+- live: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if the account takes live payments, or `false` if it takes test payments.
+
+
+---
+
+### vendor
+- vendor: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the gateway vendor, such as `"Stripe"` or `"Adyen"`.
+
+
+---
+
+## Method Details
+
+### getAccountId()
+- getAccountId(): [String](TopLevel.String.md)
+ - : Returns the ID of the Salesforce Payments merchant account.
+
+ **Returns:**
+ - merchant account ID
+
+ **See Also:**
+ - [PaymentTransaction.setAccountID(String)](dw.order.PaymentTransaction.md#setaccountidstring)
+ - [PaymentTransaction.getAccountID()](dw.order.PaymentTransaction.md#getaccountid)
+
+
+---
+
+### getAccountType()
+- getAccountType(): [String](TopLevel.String.md)
+ - : Returns the type of the Salesforce Payments merchant account and environment, such as `"STRIPE_TEST"`
+ or `"ADYEN_LIVE"`.
+
+
+ **Returns:**
+ - merchant account type
+
+ **See Also:**
+ - [PaymentTransaction.setAccountType(String)](dw.order.PaymentTransaction.md#setaccounttypestring)
+ - [PaymentTransaction.getAccountType()](dw.order.PaymentTransaction.md#getaccounttype)
+
+
+---
+
+### getConfig()
+- getConfig(): [Object](TopLevel.Object.md)
+ - : Returns an opaque configuration object containing gateway-specific information. Do not depend on the structure or
+ contents of this object as they may change at any time.
+
+
+ **Returns:**
+ - opaque configuration object
+
+
+---
+
+### getVendor()
+- getVendor(): [String](TopLevel.String.md)
+ - : Returns the name of the gateway vendor, such as `"Stripe"` or `"Adyen"`.
+
+ **Returns:**
+ - gateway vendor name
+
+
+---
+
+### isLive()
+- isLive(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if the account takes live payments, or `false` if it takes test payments.
+
+ **Returns:**
+ - `true` if the account takes live payments
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsMerchantAccountPaymentMethod.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsMerchantAccountPaymentMethod.md
new file mode 100644
index 00000000..4f9fe677
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsMerchantAccountPaymentMethod.md
@@ -0,0 +1,98 @@
+
+# Class SalesforcePaymentsMerchantAccountPaymentMethod
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentsMerchantAccountPaymentMethod](dw.extensions.payments.SalesforcePaymentsMerchantAccountPaymentMethod.md)
+
+Contains information about a payment method to be presented to a payer, as configured for a Salesforce Payments
+merchant account. See Salesforce Payments documentation for how to gain access and configure it for use on your
+sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [merchantAccount](#merchantaccount): [SalesforcePaymentsMerchantAccount](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md) `(read-only)` | Returns the merchant account configured for this payment method. |
+| [paymentMethodType](#paymentmethodtype): [String](TopLevel.String.md) `(read-only)` | Returns the constant indicating the type of payment method to be presented, such as [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card). |
+| [paymentModes](#paymentmodes): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection containing the payment modes for which this payment method is to be presented, such as `"Express"`. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getMerchantAccount](dw.extensions.payments.SalesforcePaymentsMerchantAccountPaymentMethod.md#getmerchantaccount)() | Returns the merchant account configured for this payment method. |
+| [getPaymentMethodType](dw.extensions.payments.SalesforcePaymentsMerchantAccountPaymentMethod.md#getpaymentmethodtype)() | Returns the constant indicating the type of payment method to be presented, such as [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card). |
+| [getPaymentModes](dw.extensions.payments.SalesforcePaymentsMerchantAccountPaymentMethod.md#getpaymentmodes)() | Returns a collection containing the payment modes for which this payment method is to be presented, such as `"Express"`. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### merchantAccount
+- merchantAccount: [SalesforcePaymentsMerchantAccount](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md) `(read-only)`
+ - : Returns the merchant account configured for this payment method.
+
+
+---
+
+### paymentMethodType
+- paymentMethodType: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the constant indicating the type of payment method to be presented, such as
+ [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card).
+
+
+
+---
+
+### paymentModes
+- paymentModes: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection containing the payment modes for which this payment method is to be presented, such as
+ `"Express"`.
+
+
+
+---
+
+## Method Details
+
+### getMerchantAccount()
+- getMerchantAccount(): [SalesforcePaymentsMerchantAccount](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md)
+ - : Returns the merchant account configured for this payment method.
+
+ **Returns:**
+ - merchant account
+
+
+---
+
+### getPaymentMethodType()
+- getPaymentMethodType(): [String](TopLevel.String.md)
+ - : Returns the constant indicating the type of payment method to be presented, such as
+ [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card).
+
+
+ **Returns:**
+ - payment method type
+
+
+---
+
+### getPaymentModes()
+- getPaymentModes(): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing the payment modes for which this payment method is to be presented, such as
+ `"Express"`.
+
+
+ **Returns:**
+ - collection of payment modes
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsMgr.md
new file mode 100644
index 00000000..0e28fabe
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsMgr.md
@@ -0,0 +1,941 @@
+
+# Class SalesforcePaymentsMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentsMgr](dw.extensions.payments.SalesforcePaymentsMgr.md)
+
+Contains functionality for use with Salesforce Payments. See Salesforce Payments documentation for how to gain access
+and configure it for use on your sites.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [CANCELLATION_REASON_ABANDONED](#cancellation_reason_abandoned): [String](TopLevel.String.md) = "abandoned" | Cancellation reason indicating customer abandoned payment. |
+| [CANCELLATION_REASON_DUPLICATE](#cancellation_reason_duplicate): [String](TopLevel.String.md) = "duplicate" | Cancellation reason indicating payment intent was a duplicate. |
+| [CANCELLATION_REASON_FRAUDULENT](#cancellation_reason_fraudulent): [String](TopLevel.String.md) = "fraudulent" | Cancellation reason indicating payment was fraudulent. |
+| [CANCELLATION_REASON_REQUESTED_BY_CUSTOMER](#cancellation_reason_requested_by_customer): [String](TopLevel.String.md) = "requested_by_customer" | Cancellation reason indicating customer action or request. |
+| [REFUND_REASON_DUPLICATE](#refund_reason_duplicate): [String](TopLevel.String.md) = "duplicate" | Refund reason indicating payment intent was a duplicate. |
+| [REFUND_REASON_FRAUDULENT](#refund_reason_fraudulent): [String](TopLevel.String.md) = "fraudulent" | Refund reason indicating payment was fraudulent. |
+| [REFUND_REASON_REQUESTED_BY_CUSTOMER](#refund_reason_requested_by_customer): [String](TopLevel.String.md) = "requested_by_customer" | Refund reason indicating customer action or request. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [paymentsSiteConfig](#paymentssiteconfig): [SalesforcePaymentsSiteConfiguration](dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md) `(read-only)` | Returns a payments site configuration object for the current site. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| ~~static [attachPaymentMethod](dw.extensions.payments.SalesforcePaymentsMgr.md#attachpaymentmethodsalesforcepaymentmethod-customer)([SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md), [Customer](dw.customer.Customer.md))~~ | Attaches the given payment method to the given customer. |
+| static [authorizePayPalOrder](dw.extensions.payments.SalesforcePaymentsMgr.md#authorizepaypalordersalesforcepaypalorder)([SalesforcePayPalOrder](dw.extensions.payments.SalesforcePayPalOrder.md)) | Authorizes the given PayPal order. |
+| static [cancelPaymentIntent](dw.extensions.payments.SalesforcePaymentsMgr.md#cancelpaymentintentsalesforcepaymentintent-object)([SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md), [Object](TopLevel.Object.md)) | Cancels the given payment intent. |
+| static [captureAdyenPayment](dw.extensions.payments.SalesforcePaymentsMgr.md#captureadyenpaymentorderpaymentinstrument-money-object)([OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [Money](dw.value.Money.md), [Object](TopLevel.Object.md)) | Captures funds for the given order payment instrument. |
+| static [capturePayPalOrder](dw.extensions.payments.SalesforcePaymentsMgr.md#capturepaypalordersalesforcepaypalorder)([SalesforcePayPalOrder](dw.extensions.payments.SalesforcePayPalOrder.md)) | Captures funds for the given PayPal order. |
+| static [capturePaymentIntent](dw.extensions.payments.SalesforcePaymentsMgr.md#capturepaymentintentsalesforcepaymentintent-money)([SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md), [Money](dw.value.Money.md)) | Captures funds for the given payment intent. |
+| static [confirmPaymentIntent](dw.extensions.payments.SalesforcePaymentsMgr.md#confirmpaymentintentorder-salesforcepaymentmethod-object)([Order](dw.order.Order.md), [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md), [Object](TopLevel.Object.md)) | Confirms a new payment intent using the given payment method, and associates it with the given order. |
+| static [createAdyenPaymentIntent](dw.extensions.payments.SalesforcePaymentsMgr.md#createadyenpaymentintentorder-shipment-string-money-boolean-object-object)([Order](dw.order.Order.md), [Shipment](dw.order.Shipment.md), [String](TopLevel.String.md), [Money](dw.value.Money.md), [Boolean](TopLevel.Boolean.md), [Object](TopLevel.Object.md), [Object](TopLevel.Object.md)) | Creates an Adyen payment intent using the given information, and associates it with the given order. |
+| static [createPayPalOrder](dw.extensions.payments.SalesforcePaymentsMgr.md#createpaypalorderbasket-shipment-string-money-object)([Basket](dw.order.Basket.md), [Shipment](dw.order.Shipment.md), [String](TopLevel.String.md), [Money](dw.value.Money.md), [Object](TopLevel.Object.md)) | Creates a PayPal order using the given information, and associates it with the given basket. |
+| static [createPaymentIntent](dw.extensions.payments.SalesforcePaymentsMgr.md#createpaymentintentbasket-shipment-string-money-boolean-object)([Basket](dw.order.Basket.md), [Shipment](dw.order.Shipment.md), [String](TopLevel.String.md), [Money](dw.value.Money.md), [Boolean](TopLevel.Boolean.md), [Object](TopLevel.Object.md)) | Creates a payment intent using the given information, and associates it with the given basket. |
+| ~~static [detachPaymentMethod](dw.extensions.payments.SalesforcePaymentsMgr.md#detachpaymentmethodsalesforcepaymentmethod)([SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md))~~ | Detaches the given payment method from its associated customer. |
+| static [getAdyenSavedPaymentMethods](dw.extensions.payments.SalesforcePaymentsMgr.md#getadyensavedpaymentmethodscustomer)([Customer](dw.customer.Customer.md)) | Returns a collection containing the Adyen payment methods saved to be presented to the given customer for reuse in checkouts. |
+| ~~static [getAttachedPaymentMethods](dw.extensions.payments.SalesforcePaymentsMgr.md#getattachedpaymentmethodscustomer)([Customer](dw.customer.Customer.md))~~ | Returns a collection containing the payment methods attached to the given customer. |
+| static [getOffSessionPaymentMethods](dw.extensions.payments.SalesforcePaymentsMgr.md#getoffsessionpaymentmethodscustomer)([Customer](dw.customer.Customer.md)) | Returns a collection containing the payment methods for the given customer set up for future off session reuse. |
+| static [getPayPalOrder](dw.extensions.payments.SalesforcePaymentsMgr.md#getpaypalorderbasket)([Basket](dw.order.Basket.md)) | Returns the PayPal order for the given basket, or `null` if the given basket has none. |
+| static [getPayPalOrder](dw.extensions.payments.SalesforcePaymentsMgr.md#getpaypalorderorder)([Order](dw.order.Order.md)) | Returns the PayPal order for the given order, or `null` if the given order has none. |
+| static [getPaymentDetails](dw.extensions.payments.SalesforcePaymentsMgr.md#getpaymentdetailsorderpaymentinstrument)([OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)) | Returns the details to the Salesforce Payments payment associated with the given payment instrument, or `null` if the given payment instrument has none. |
+| static [getPaymentIntent](dw.extensions.payments.SalesforcePaymentsMgr.md#getpaymentintentbasket)([Basket](dw.order.Basket.md)) | Returns the payment intent for the given basket, or `null` if the given basket has none. |
+| static [getPaymentIntent](dw.extensions.payments.SalesforcePaymentsMgr.md#getpaymentintentorder)([Order](dw.order.Order.md)) | Returns the payment intent for the given order, or `null` if the given order has none. |
+| static [getPaymentsSiteConfig](dw.extensions.payments.SalesforcePaymentsMgr.md#getpaymentssiteconfig)() | Returns a payments site configuration object for the current site. |
+| static [getPaymentsZone](dw.extensions.payments.SalesforcePaymentsMgr.md#getpaymentszonestring)([String](TopLevel.String.md)) | Returns a payments zone object for the passed in payments zone ID. |
+| static [getSavedPaymentMethods](dw.extensions.payments.SalesforcePaymentsMgr.md#getsavedpaymentmethodscustomer)([Customer](dw.customer.Customer.md)) | Returns a collection containing the payment methods saved to be presented to the given customer for reuse in checkouts. |
+| static [handleAdyenAdditionalDetails](dw.extensions.payments.SalesforcePaymentsMgr.md#handleadyenadditionaldetailsorder-string-object)([Order](dw.order.Order.md), [String](TopLevel.String.md), [Object](TopLevel.Object.md)) | Handles the given additional Adyen payment details and associates the associated payment with the given order, if applicable. |
+| static [onCustomerRegistered](dw.extensions.payments.SalesforcePaymentsMgr.md#oncustomerregisteredorder)([Order](dw.order.Order.md)) | Handles the account registration of the shopper who placed the given order. |
+| static [refundAdyenPayment](dw.extensions.payments.SalesforcePaymentsMgr.md#refundadyenpaymentorderpaymentinstrument-money-object)([OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [Money](dw.value.Money.md), [Object](TopLevel.Object.md)) | Refunds previously captured funds for the given order payment instrument. |
+| static [refundPaymentIntent](dw.extensions.payments.SalesforcePaymentsMgr.md#refundpaymentintentsalesforcepaymentintent-money-object)([SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md), [Money](dw.value.Money.md), [Object](TopLevel.Object.md)) | Refunds previously captured funds for the given payment intent. |
+| static [removeAdyenSavedPaymentMethod](dw.extensions.payments.SalesforcePaymentsMgr.md#removeadyensavedpaymentmethodsalesforceadyensavedpaymentmethod)([SalesforceAdyenSavedPaymentMethod](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md)) | Deletes an Adyen saved payment method. |
+| static [removeSavedPaymentMethod](dw.extensions.payments.SalesforcePaymentsMgr.md#removesavedpaymentmethodsalesforcepaymentmethod)([SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md)) | Removes the given saved payment method so that it is no longer presented to the given customer for reuse in checkouts. |
+| static [resolvePaymentsZone](dw.extensions.payments.SalesforcePaymentsMgr.md#resolvepaymentszoneobject)([Object](TopLevel.Object.md)) | Resolves and returns the payments zone object for the passed in payments zone properties object. |
+| static [reverseAdyenPayment](dw.extensions.payments.SalesforcePaymentsMgr.md#reverseadyenpaymentorderpaymentinstrument-object)([OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [Object](TopLevel.Object.md)) | Reverses the authorisation for the given order payment instrument. |
+| static [savePaymentMethod](dw.extensions.payments.SalesforcePaymentsMgr.md#savepaymentmethodcustomer-salesforcepaymentmethod)([Customer](dw.customer.Customer.md), [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md)) | Saves the given payment method to be presented to the given customer for reuse in subsequent checkouts. |
+| static [setPaymentDetails](dw.extensions.payments.SalesforcePaymentsMgr.md#setpaymentdetailsorderpaymentinstrument-salesforcepaymentdetails)([OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)) | Sets the details to the Salesforce Payments payment associated with the given payment instrument. |
+| static [updatePaymentIntent](dw.extensions.payments.SalesforcePaymentsMgr.md#updatepaymentintentsalesforcepaymentintent-shipment-money-string-object)([SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md), [Shipment](dw.order.Shipment.md), [Money](dw.value.Money.md), [String](TopLevel.String.md), [Object](TopLevel.Object.md)) | Updates the provided information in the given payment intent. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### CANCELLATION_REASON_ABANDONED
+
+- CANCELLATION_REASON_ABANDONED: [String](TopLevel.String.md) = "abandoned"
+ - : Cancellation reason indicating customer abandoned payment.
+
+
+---
+
+### CANCELLATION_REASON_DUPLICATE
+
+- CANCELLATION_REASON_DUPLICATE: [String](TopLevel.String.md) = "duplicate"
+ - : Cancellation reason indicating payment intent was a duplicate.
+
+
+---
+
+### CANCELLATION_REASON_FRAUDULENT
+
+- CANCELLATION_REASON_FRAUDULENT: [String](TopLevel.String.md) = "fraudulent"
+ - : Cancellation reason indicating payment was fraudulent.
+
+
+---
+
+### CANCELLATION_REASON_REQUESTED_BY_CUSTOMER
+
+- CANCELLATION_REASON_REQUESTED_BY_CUSTOMER: [String](TopLevel.String.md) = "requested_by_customer"
+ - : Cancellation reason indicating customer action or request.
+
+
+---
+
+### REFUND_REASON_DUPLICATE
+
+- REFUND_REASON_DUPLICATE: [String](TopLevel.String.md) = "duplicate"
+ - : Refund reason indicating payment intent was a duplicate.
+
+
+---
+
+### REFUND_REASON_FRAUDULENT
+
+- REFUND_REASON_FRAUDULENT: [String](TopLevel.String.md) = "fraudulent"
+ - : Refund reason indicating payment was fraudulent.
+
+
+---
+
+### REFUND_REASON_REQUESTED_BY_CUSTOMER
+
+- REFUND_REASON_REQUESTED_BY_CUSTOMER: [String](TopLevel.String.md) = "requested_by_customer"
+ - : Refund reason indicating customer action or request.
+
+
+---
+
+## Property Details
+
+### paymentsSiteConfig
+- paymentsSiteConfig: [SalesforcePaymentsSiteConfiguration](dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md) `(read-only)`
+ - : Returns a payments site configuration object for the current site.
+
+
+---
+
+## Method Details
+
+### attachPaymentMethod(SalesforcePaymentMethod, Customer)
+- ~~static attachPaymentMethod(paymentMethod: [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md), customer: [Customer](dw.customer.Customer.md)): void~~
+ - : Attaches the given payment method to the given customer. Use this method to attach a payment method of type
+ [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card) to a shopper who registers as a customer after placing an order, and
+ has affirmatively elected to save their card as part of the registration process. This method will throw an error
+ if passed incompatible payment method and/or customer objects.
+
+
+ **Parameters:**
+ - paymentMethod - payment method to attach to customer
+ - customer - customer whose payment method to attach
+
+ **Throws:**
+ - Exception - if there was an error attaching the payment method to the customer
+
+ **Deprecated:**
+:::warning
+use [onCustomerRegistered(Order)](dw.extensions.payments.SalesforcePaymentsMgr.md#oncustomerregisteredorder) and
+ [savePaymentMethod(Customer, SalesforcePaymentMethod)](dw.extensions.payments.SalesforcePaymentsMgr.md#savepaymentmethodcustomer-salesforcepaymentmethod)
+
+:::
+
+---
+
+### authorizePayPalOrder(SalesforcePayPalOrder)
+- static authorizePayPalOrder(paypalOrder: [SalesforcePayPalOrder](dw.extensions.payments.SalesforcePayPalOrder.md)): [Status](dw.system.Status.md)
+ - : Authorizes the given PayPal order.
+
+
+ The PayPal order must be in a status that supports authorization. See the PayPal documentation for more details.
+
+
+ **Parameters:**
+ - paypalOrder - PayPal order to authorize
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'error'` contains the PayPal error information, if it
+ is available in the response.
+
+
+ **Throws:**
+ - Exception - if there was an error authorizing the PayPal order
+
+
+---
+
+### cancelPaymentIntent(SalesforcePaymentIntent, Object)
+- static cancelPaymentIntent(paymentIntent: [SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md), paymentIntentProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - : Cancels the given payment intent. If a payment authorization has been made for the payment intent, the
+ authorization is removed.
+
+
+ The payment intent must be in a status that supports cancel. See the Stripe documentation for more details.
+
+
+
+
+ The following Payment Intent property is supported:
+
+ - `cancellationReason`- optional payment intent cancellation reason
+
+
+ **Parameters:**
+ - paymentIntent - payment intent to capture
+ - paymentIntentProperties - additional properties to pass to the create Payment Intent API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'paymentintent'` contains the payment intent, if it is
+ available in the Stripe response. Status detail `'error'` contains the Stripe error
+ information, if it is available in the response.
+
+
+ **Throws:**
+ - Exception - if there was an error canceling the payment intent
+
+ **See Also:**
+ - [CANCELLATION_REASON_ABANDONED](dw.extensions.payments.SalesforcePaymentsMgr.md#cancellation_reason_abandoned)
+ - [CANCELLATION_REASON_DUPLICATE](dw.extensions.payments.SalesforcePaymentsMgr.md#cancellation_reason_duplicate)
+ - [CANCELLATION_REASON_FRAUDULENT](dw.extensions.payments.SalesforcePaymentsMgr.md#cancellation_reason_fraudulent)
+ - [CANCELLATION_REASON_REQUESTED_BY_CUSTOMER](dw.extensions.payments.SalesforcePaymentsMgr.md#cancellation_reason_requested_by_customer)
+
+
+---
+
+### captureAdyenPayment(OrderPaymentInstrument, Money, Object)
+- static captureAdyenPayment(orderPaymentInstrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), amount: [Money](dw.value.Money.md), transactionProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - : Captures funds for the given order payment instrument.
+
+
+ The order payment instrument must be in a state that supports capture.
+
+
+
+
+ The `amount` must be less than or equal to the amount available to capture.
+
+
+
+
+ The following Transaction properties are supported:
+
+ - `reference`- optional reference for the transaction, for example order number
+
+
+ **Parameters:**
+ - orderPaymentInstrument - payment instrument to capture
+ - amount - amount to capture
+ - transactionProperties - properties to pass to the capture Adyen Payment API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'.
+
+ **Throws:**
+ - Exception - if there was an error capturing the payment instrument
+
+
+---
+
+### capturePayPalOrder(SalesforcePayPalOrder)
+- static capturePayPalOrder(paypalOrder: [SalesforcePayPalOrder](dw.extensions.payments.SalesforcePayPalOrder.md)): [Status](dw.system.Status.md)
+ - : Captures funds for the given PayPal order.
+
+
+ The PayPal order must be in a status that supports capture. See the PayPal documentation for more details.
+
+
+ **Parameters:**
+ - paypalOrder - PayPal order to capture
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'error'` contains the PayPal error information, if it
+ is available in the response.
+
+
+ **Throws:**
+ - Exception - if there was an error capturing the PayPal order
+
+
+---
+
+### capturePaymentIntent(SalesforcePaymentIntent, Money)
+- static capturePaymentIntent(paymentIntent: [SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md), amount: [Money](dw.value.Money.md)): [Status](dw.system.Status.md)
+ - : Captures funds for the given payment intent.
+
+
+ The payment intent must be in a status that supports capture. See the Stripe documentation for more details.
+
+
+
+
+ If `amount` is not specified, the default is the full amount available to capture. If specified, the
+ amount must be less than or equal to the amount available to capture.
+
+
+ **Parameters:**
+ - paymentIntent - payment intent to capture
+ - amount - optional amount to capture, defaults to amount available to capture
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'error'` contains the Stripe error information, if it
+ is available in the response.
+
+
+ **Throws:**
+ - Exception - if there was an error capturing the payment intent
+
+
+---
+
+### confirmPaymentIntent(Order, SalesforcePaymentMethod, Object)
+- static confirmPaymentIntent(order: [Order](dw.order.Order.md), paymentMethod: [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md), paymentIntentProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - :
+
+ Confirms a new payment intent using the given payment method, and associates it with the given order.
+
+
+
+
+ The order must be prepared to contain products, shipments, and any other necessary data, and must be calculated
+ to reflect the correct total amounts. If the order is not for the same [Customer](dw.customer.Customer.md) as the given
+ payment method, an error is thrown.
+
+
+
+
+ The specified payment method must be set up for off session future use or an error is thrown. iDeal and
+ Bancontact implement reuse differently than other payment methods, but they can't be reused themselves.
+
+
+
+
+ The following Payment Intent properties are supported:
+
+ - `statementDescriptor`- optional statement descriptor - `cardCaptureAutomatic`- optional `true`if the credit card payment should be automatically captured at the time of the sale, or `false`if the credit card payment should be captured later
+
+ If `cardCaptureAutomatic`is provided it is used to determine card capture timing, and otherwise the default card capture timing set for the site is used.
+
+ If `statementDescriptor`is provided it is used as the complete description that appears on your customers' statements for the payment, and if not a default statement descriptor is used. If a default statement descriptor is set for the site it is used as the default, and otherwise the default statement descriptor for the account will apply.
+
+
+ **Parameters:**
+ - order - order to pay using Salesforce Payments
+ - paymentMethod - payment method to use to pay
+ - paymentIntentProperties - additional properties to pass to the create Payment Intent API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'paymentintent'` contains the payment intent, if it is
+ available in the Stripe response. Status detail `'error'` contains the Stripe error
+ information, if it is available in the response.
+
+
+ **Throws:**
+ - Exception - if the parameter validation failed or there's an error confirming the payment intent
+
+
+---
+
+### createAdyenPaymentIntent(Order, Shipment, String, Money, Boolean, Object, Object)
+- static createAdyenPaymentIntent(order: [Order](dw.order.Order.md), shipment: [Shipment](dw.order.Shipment.md), zoneId: [String](TopLevel.String.md), amount: [Money](dw.value.Money.md), customerRequired: [Boolean](TopLevel.Boolean.md), paymentData: [Object](TopLevel.Object.md), paymentIntentProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - :
+
+ Creates an Adyen payment intent using the given information, and associates it with the given order.
+
+
+
+
+ The following Payment Intent properties are supported:
+
+ - `type`- required payment method type, such as [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card) - `cardCaptureAutomatic`- optional `true`if the credit card payment should be automatically captured at the time of the sale, or `false`if the credit card payment should be captured later - `storePaymentMethod`- optional `true`if the payment method should be stored for future usage, or `false`if not
+
+ If `cardCaptureAutomatic`is provided it is used to determine card capture timing, and otherwise the default card capture timing set for the site is used.
+
+
+ **Parameters:**
+ - order - order to checkout and pay using Salesforce Payments
+ - shipment - shipment to use for shipping information in the payment intent
+ - zoneId - id of the payment zone
+ - amount - payment amount
+ - customerRequired - `true` if an Adyen shopper reference must be associated with the transaction and needs to be created if it does not already exist for the given ecom customer or `false` a shopper reference does not have to be associated with the transaction. A customer is required if storing a payment method for future usage or using an existing stored payment method.
+ - paymentData - Adyen specific payment data passed directly from the client as-is
+ - paymentIntentProperties - properties to pass to the create Payment Intent API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'paymentintent'` contains the payment intent, if it is
+ available in the Adyen response. Status detail `'error'` contains the Adyen error information,
+ if it is available in the response.
+
+
+
+---
+
+### createPayPalOrder(Basket, Shipment, String, Money, Object)
+- static createPayPalOrder(basket: [Basket](dw.order.Basket.md), shipment: [Shipment](dw.order.Shipment.md), zoneId: [String](TopLevel.String.md), amount: [Money](dw.value.Money.md), paypalOrderProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - :
+
+ Creates a PayPal order using the given information, and associates it with the given basket.
+
+
+
+
+ The following PayPal order properties are supported:
+
+ - `fundingSource`- required funding source, such as [SalesforcePayPalOrder.TYPE_PAYPAL](dw.extensions.payments.SalesforcePayPalOrder.md#type_paypal) - `intent`- optional order capture timing intent, such as [SalesforcePayPalOrder.INTENT_AUTHORIZE](dw.extensions.payments.SalesforcePayPalOrder.md#intent_authorize)or [SalesforcePayPalOrder.INTENT_CAPTURE](dw.extensions.payments.SalesforcePayPalOrder.md#intent_capture) - `shippingPreference`- optional shipping preference, such as `"GET_FROM_FILE"` - `userAction`- optional user action, such as `"PAY_NOW"`
+
+ If `intent`is provided it is used to determine manual or automatic capture, and otherwise the default card capture timing set for the site is used.
+
+
+ **Parameters:**
+ - basket - basket to checkout and pay using Salesforce Payments
+ - shipment - shipment to use for shipping information in the payment intent
+ - zoneId - id of the payment zone
+ - amount - payment amount
+ - paypalOrderProperties - properties to pass to the create PayPal order API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'paypalorder'` contains the PayPal order, if it is
+ available in the PayPal response. Status detail `'error'` contains the PayPal error
+ information, if it is available in the response.
+
+
+
+---
+
+### createPaymentIntent(Basket, Shipment, String, Money, Boolean, Object)
+- static createPaymentIntent(basket: [Basket](dw.order.Basket.md), shipment: [Shipment](dw.order.Shipment.md), zoneId: [String](TopLevel.String.md), amount: [Money](dw.value.Money.md), stripeCustomerRequired: [Boolean](TopLevel.Boolean.md), paymentIntentProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - :
+
+ Creates a payment intent using the given information, and associates it with the given basket.
+
+
+
+
+ The following Payment Intent properties are supported:
+
+ - `type`- required payment method type, such as [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card) - `statementDescriptor`- optional statement descriptor - `cardCaptureAutomatic`- optional `true`if the credit card payment should be automatically captured at the time of the sale, or `false`if the credit card payment should be captured later - `setupFutureUsage`- optional future usage setup value, such as [SalesforcePaymentIntent.SETUP_FUTURE_USAGE_ON_SESSION](dw.extensions.payments.SalesforcePaymentIntent.md#setup_future_usage_on_session)
+
+ The `stripeCustomerRequired`must be set to `true`if the payment will be set up for future usage, whether on session or off session. If `true`then if a Stripe Customer is associated with the shopper then it will be used, and otherwise a new Stripe Customer will be created. The new Stripe Customer will be associated with the shopper if logged into a registered customer account for the site.
+
+ If `cardCaptureAutomatic`is provided it is used to determine card capture timing, and otherwise the default card capture timing set for the site is used.
+
+ If `statementDescriptor`is provided it is used as the complete description that appears on your customers' statements for the payment, and if not a default statement descriptor is used. If a default statement descriptor is set for the site it is used as the default, and otherwise the default statement descriptor for the account will apply.
+
+ If `setupFutureUsage`is provided it will be used to prepare the payment to be set up for future usage at confirmation time. When set, this future usage setup value must match the value used at confirmation time.
+
+
+ **Parameters:**
+ - basket - basket to checkout and pay using Salesforce Payments
+ - shipment - shipment to use for shipping information in the payment intent
+ - zoneId - id of the payment zone
+ - amount - payment amount
+ - stripeCustomerRequired - `true` if a Stripe Customer must be associated with the payment intent, and would be created if it doesn't already exist, or `false` if a Stripe Customer does not have to be associated with the payment intent
+ - paymentIntentProperties - properties to pass to the create Payment Intent API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'paymentintent'` contains the payment intent, if it is
+ available in the Stripe response. Status detail `'error'` contains the Stripe error
+ information, if it is available in the response.
+
+
+
+---
+
+### detachPaymentMethod(SalesforcePaymentMethod)
+- ~~static detachPaymentMethod(paymentMethod: [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md)): void~~
+ - : Detaches the given payment method from its associated customer. Once detached the payment method remains
+ associated with payment intents in the payment account, but is no longer saved for use by the customer in future
+ orders.
+
+
+ **Parameters:**
+ - paymentMethod - payment method to detach from customer
+
+ **Throws:**
+ - Exception - if there was an error detaching the payment method from its customer
+
+ **Deprecated:**
+:::warning
+use [removeSavedPaymentMethod(SalesforcePaymentMethod)](dw.extensions.payments.SalesforcePaymentsMgr.md#removesavedpaymentmethodsalesforcepaymentmethod)
+:::
+
+---
+
+### getAdyenSavedPaymentMethods(Customer)
+- static getAdyenSavedPaymentMethods(customer: [Customer](dw.customer.Customer.md)): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing the Adyen payment methods saved to be presented to the given customer for reuse
+ in checkouts. The collection will be empty if there are no payment methods saved for the customer, or there was
+ an error retrieving the saved payment methods.
+
+
+ **Parameters:**
+ - customer - customer whose saved payment methods to get
+
+ **Returns:**
+ - collection of saved payment methods
+
+ **Throws:**
+ - Exception - if the given customer is `null` or `undefined`, or there is configuration missing that is required to retrieve the saved payment methods
+
+
+---
+
+### getAttachedPaymentMethods(Customer)
+- ~~static getAttachedPaymentMethods(customer: [Customer](dw.customer.Customer.md)): [Collection](dw.util.Collection.md)~~
+ - : Returns a collection containing the payment methods attached to the given customer. The collection will be empty
+ if there are no payment methods attached to the customer, or there was an error retrieving the attached payment
+ methods.
+
+
+ **Parameters:**
+ - customer - customer whose payment methods to get
+
+ **Returns:**
+ - collection of attached payment methods
+
+ **Throws:**
+ - Exception - if the given customer is `null` or `undefined`
+
+ **Deprecated:**
+:::warning
+use [getSavedPaymentMethods(Customer)](dw.extensions.payments.SalesforcePaymentsMgr.md#getsavedpaymentmethodscustomer)
+:::
+
+---
+
+### getOffSessionPaymentMethods(Customer)
+- static getOffSessionPaymentMethods(customer: [Customer](dw.customer.Customer.md)): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing the payment methods for the given customer set up for future off session reuse.
+ The collection will be empty if there are no off session payment methods for the customer, or there was an error
+ retrieving the off session payment methods.
+
+
+ **Parameters:**
+ - customer - customer whose off session payment methods to get
+
+ **Returns:**
+ - collection of off session payment methods
+
+ **Throws:**
+ - Exception - if the given customer is `null` or `undefined`, or there is an error getting the off session payment methods
+
+
+---
+
+### getPayPalOrder(Basket)
+- static getPayPalOrder(basket: [Basket](dw.order.Basket.md)): [SalesforcePayPalOrder](dw.extensions.payments.SalesforcePayPalOrder.md)
+ - : Returns the PayPal order for the given basket, or `null` if the given basket has none.
+
+ **Parameters:**
+ - basket - basket to checkout and pay using Salesforce Payments
+
+ **Returns:**
+ - The PayPal order
+
+ **Throws:**
+ - Exception - if there was an error retrieving the PayPal order for the basket
+
+
+---
+
+### getPayPalOrder(Order)
+- static getPayPalOrder(order: [Order](dw.order.Order.md)): [SalesforcePayPalOrder](dw.extensions.payments.SalesforcePayPalOrder.md)
+ - : Returns the PayPal order for the given order, or `null` if the given order has none.
+
+ **Parameters:**
+ - order - order paid using Salesforce Payments
+
+ **Returns:**
+ - The PayPal order
+
+ **Throws:**
+ - Exception - if there was an error retrieving the PayPal order for the order
+
+
+---
+
+### getPaymentDetails(OrderPaymentInstrument)
+- static getPaymentDetails(paymentInstrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)): [SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - : Returns the details to the Salesforce Payments payment associated with the given payment instrument, or
+ `null` if the given payment instrument has none.
+
+
+ **Parameters:**
+ - paymentInstrument - payment instrument
+
+ **Returns:**
+ - The payment details
+
+ **Throws:**
+ - Exception - if paymentInstrument is null
+
+
+---
+
+### getPaymentIntent(Basket)
+- static getPaymentIntent(basket: [Basket](dw.order.Basket.md)): [SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md)
+ - : Returns the payment intent for the given basket, or `null` if the given basket has none.
+
+ **Parameters:**
+ - basket - basket to checkout and pay using Salesforce Payments
+
+ **Returns:**
+ - The payment intent
+
+ **Throws:**
+ - Exception - if there was an error retrieving the payment intent for the basket
+
+
+---
+
+### getPaymentIntent(Order)
+- static getPaymentIntent(order: [Order](dw.order.Order.md)): [SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md)
+ - : Returns the payment intent for the given order, or `null` if the given order has none.
+
+ **Parameters:**
+ - order - order paid using Salesforce Payments
+
+ **Returns:**
+ - The payment intent
+
+ **Throws:**
+ - Exception - if there was an error retrieving the payment intent for the order
+
+
+---
+
+### getPaymentsSiteConfig()
+- static getPaymentsSiteConfig(): [SalesforcePaymentsSiteConfiguration](dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md)
+ - : Returns a payments site configuration object for the current site.
+
+ **Returns:**
+ - a payments site configuration or null if no payments site configuration found
+
+ **Throws:**
+ - Exception - if there is no current site
+
+
+---
+
+### getPaymentsZone(String)
+- static getPaymentsZone(zoneId: [String](TopLevel.String.md)): [SalesforcePaymentsZone](dw.extensions.payments.SalesforcePaymentsZone.md)
+ - : Returns a payments zone object for the passed in payments zone ID.
+
+ **Parameters:**
+ - zoneId - ID of the payments zone to retrieve and use to checkout and pay using Salesforce Payments
+
+ **Returns:**
+ - a payments zone or null if no payments zone with the given ID exists
+
+
+---
+
+### getSavedPaymentMethods(Customer)
+- static getSavedPaymentMethods(customer: [Customer](dw.customer.Customer.md)): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing the payment methods saved to be presented to the given customer for reuse in
+ checkouts. The collection will be empty if there are no payment methods saved for the customer, or there was an
+ error retrieving the saved payment methods.
+
+
+ **Parameters:**
+ - customer - customer whose saved payment methods to get
+
+ **Returns:**
+ - collection of saved payment methods
+
+ **Throws:**
+ - Exception - if the given customer is `null` or `undefined`, or there is configuration missing that is required to retrieve the saved payment methods
+
+
+---
+
+### handleAdyenAdditionalDetails(Order, String, Object)
+- static handleAdyenAdditionalDetails(order: [Order](dw.order.Order.md), zoneId: [String](TopLevel.String.md), data: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - :
+
+ Handles the given additional Adyen payment details and associates the associated payment with the given order, if
+ applicable.
+
+
+
+
+ Pass the state data from the Adyen `onAdditionalDetails` event as-is, without any encoding or other
+ changes to the data or its structure. See the Adyen documentation for more information.
+
+
+ **Parameters:**
+ - order - order to checkout and pay using Salesforce Payments
+ - zoneId - id of the payment zone
+ - data - additional details state data
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'adyenpayment'` contains the payment details, if it is
+ available in the Adyen response and the response resultCode is 'Authorised'. Status detail
+ `'error'` contains the Adyen error information, if it is available in the response.
+
+
+
+---
+
+### onCustomerRegistered(Order)
+- static onCustomerRegistered(order: [Order](dw.order.Order.md)): void
+ - : Handles the account registration of the shopper who placed the given order. Use this method to ensure the
+ registered customer profile is associated with the order in Salesforce Payments.
+
+
+ **Parameters:**
+ - order - order paid using Salesforce Payments
+
+ **Throws:**
+ - Exception - if there was an error attaching the payment method to the customer
+
+
+---
+
+### refundAdyenPayment(OrderPaymentInstrument, Money, Object)
+- static refundAdyenPayment(orderPaymentInstrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), amount: [Money](dw.value.Money.md), transactionProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - : Refunds previously captured funds for the given order payment instrument.
+
+
+ The order payment instrument must be in a state that supports refund.
+
+
+
+
+ The `amount` must be less than or equal to the amount available to refund.
+
+
+
+
+ The following Transaction properties are supported:
+
+ - `reference`- optional reference for the transaction, for example order number
+
+
+ **Parameters:**
+ - orderPaymentInstrument - payment instrument to refund
+ - amount - amount to refund
+ - transactionProperties - properties to pass to the refund Adyen Payment API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'.
+
+ **Throws:**
+ - Exception - if there was an error refunding the payment instrument
+
+
+---
+
+### refundPaymentIntent(SalesforcePaymentIntent, Money, Object)
+- static refundPaymentIntent(paymentIntent: [SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md), amount: [Money](dw.value.Money.md), refundProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - : Refunds previously captured funds for the given payment intent.
+
+
+ The payment intent must be in a state that supports refund. This includes its status as well as any previous
+ refunds. See the Stripe documentation for more details.
+
+
+
+
+ The following Payment Intent property is supported:
+
+ - `reason`- optional payment intent refund reason
+
+ If `amount`is not specified, the default is the full amount available to refund. If specified, the amount must be less than or equal to the amount available to refund.
+
+
+ **Parameters:**
+ - paymentIntent - payment intent to refund
+ - amount - optional amount to refund, defaults to amount previously captured
+ - refundProperties - additional properties to pass to the refund API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'error'` contains the Stripe error information, if it
+ is available in the response.
+
+
+ **Throws:**
+ - Exception - if there was an error refunding the payment intent
+
+ **See Also:**
+ - [REFUND_REASON_DUPLICATE](dw.extensions.payments.SalesforcePaymentsMgr.md#refund_reason_duplicate)
+ - [REFUND_REASON_FRAUDULENT](dw.extensions.payments.SalesforcePaymentsMgr.md#refund_reason_fraudulent)
+ - [REFUND_REASON_REQUESTED_BY_CUSTOMER](dw.extensions.payments.SalesforcePaymentsMgr.md#refund_reason_requested_by_customer)
+
+
+---
+
+### removeAdyenSavedPaymentMethod(SalesforceAdyenSavedPaymentMethod)
+- static removeAdyenSavedPaymentMethod(savedPaymentMethod: [SalesforceAdyenSavedPaymentMethod](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md)): void
+ - : Deletes an Adyen saved payment method.
+
+ **Parameters:**
+ - savedPaymentMethod - the saved payment method to delete
+
+ **Throws:**
+ - Exception - if the saved payment method is `null` or `undefined`, or there is configuration missing that is required to delete the saved payment method
+
+
+---
+
+### removeSavedPaymentMethod(SalesforcePaymentMethod)
+- static removeSavedPaymentMethod(paymentMethod: [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md)): void
+ - : Removes the given saved payment method so that it is no longer presented to the given customer for reuse in
+ checkouts. The payment method remains in the payment account, but is no longer saved for use by the customer.
+
+
+ **Parameters:**
+ - paymentMethod - payment method to detach from customer
+
+ **Throws:**
+ - Exception - if there was an error removing the saved payment method from its customer
+
+
+---
+
+### resolvePaymentsZone(Object)
+- static resolvePaymentsZone(paymentsZoneProperties: [Object](TopLevel.Object.md)): [SalesforcePaymentsZone](dw.extensions.payments.SalesforcePaymentsZone.md)
+ - : Resolves and returns the payments zone object for the passed in payments zone properties object. If an empty
+ object is provided, the default payments zone will be returned if it exists.
+
+
+ The following payments zone properties are supported:
+
+ - `countryCode`- optional country code of the shopper, or `null`if not known
+ - `currency`- optional basket currency, or `null`if not known
+
+
+ **Parameters:**
+ - paymentsZoneProperties - properties to use to retrieve the payments zone for to use to checkout and pay using Salesforce Payments
+
+ **Returns:**
+ - a payments zone
+
+ **Throws:**
+ - Exception - if no default payments zone exists
+
+
+---
+
+### reverseAdyenPayment(OrderPaymentInstrument, Object)
+- static reverseAdyenPayment(orderPaymentInstrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), transactionProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - : Reverses the authorisation for the given order payment instrument.
+
+
+ The order payment instrument must be in a state that supports reversal.
+
+
+
+
+ The following Transaction properties are supported:
+
+ - `reference`- optional reference for the transaction, for example order number
+
+
+ **Parameters:**
+ - orderPaymentInstrument - payment instrument to reverse
+ - transactionProperties - properties to pass to the reverse Adyen Payment API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'.
+
+ **Throws:**
+ - Exception - if there was an error reversing the payment instrument
+
+
+---
+
+### savePaymentMethod(Customer, SalesforcePaymentMethod)
+- static savePaymentMethod(customer: [Customer](dw.customer.Customer.md), paymentMethod: [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md)): void
+ - : Saves the given payment method to be presented to the given customer for reuse in subsequent checkouts. This
+ method will throw an error if passed incompatible payment method and/or customer objects.
+
+
+ **Parameters:**
+ - customer - customer for which to save the payment method
+ - paymentMethod - payment method to save for the customer
+
+ **Throws:**
+ - Exception - if there was an error saving the payment method for the customer
+
+
+---
+
+### setPaymentDetails(OrderPaymentInstrument, SalesforcePaymentDetails)
+- static setPaymentDetails(paymentInstrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), paymentDetails: [SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)): void
+ - : Sets the details to the Salesforce Payments payment associated with the given payment instrument.
+
+ **Parameters:**
+ - paymentInstrument - payment instrument
+ - paymentDetails - payment details
+
+ **Throws:**
+ - Exception - if either paymentInstrument or paymentDetails is null
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getPaymentDetails(OrderPaymentInstrument)](dw.extensions.payments.SalesforcePaymentMethod.md#getpaymentdetailsorderpaymentinstrument)
+ - [SalesforcePayPalOrder.getPaymentDetails(OrderPaymentInstrument)](dw.extensions.payments.SalesforcePayPalOrder.md#getpaymentdetailsorderpaymentinstrument)
+
+
+---
+
+### updatePaymentIntent(SalesforcePaymentIntent, Shipment, Money, String, Object)
+- static updatePaymentIntent(paymentIntent: [SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md), shipment: [Shipment](dw.order.Shipment.md), amount: [Money](dw.value.Money.md), orderNo: [String](TopLevel.String.md), paymentIntentProperties: [Object](TopLevel.Object.md)): [Status](dw.system.Status.md)
+ - : Updates the provided information in the given payment intent.
+
+
+ The payment intent must be in a status that supports update. See the Stripe documentation for more details.
+
+
+
+
+ The following Payment Intent properties are supported:
+
+ - `statementDescriptor`- optional statement descriptor - `cardCaptureAutomatic`- optional `true`if the credit card payment should be automatically captured at the time of the sale, or `false`if the credit card payment should be captured later
+
+ If `cardCaptureAutomatic`is provided it is used to determine card capture timing, and otherwise the default card capture timing set for the site is used.
+
+ If `statementDescriptor`is provided it is used as the complete description that appears on your customers' statements for the payment, and if not a default statement descriptor is used. If a default statement descriptor is set for the site it is used as the default, and otherwise the default statement descriptor for the account will apply.
+
+
+ **Parameters:**
+ - paymentIntent - payment intent to update
+ - shipment - optional shipment to use to update shipping information in the payment intent
+ - amount - optional new payment amount
+ - orderNo - optional order no of [Order](dw.order.Order.md) to associate with the payment intent in metadata
+ - paymentIntentProperties - optional additional properties to pass to the update Payment Intent API
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'. Status detail `'paymentintent'` contains the payment intent, if it is
+ available in the Stripe response. Status detail `'error'` contains the Stripe error
+ information, if it is available in the response.
+
+
+ **Throws:**
+ - Exception - if the parameter validation failed or there's an error updating the payment intent
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md
new file mode 100644
index 00000000..da440064
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md
@@ -0,0 +1,126 @@
+
+# Class SalesforcePaymentsSiteConfiguration
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentsSiteConfiguration](dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md)
+
+
+
+Salesforce Payments representation of a payment site configuration object. See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+
+A payment site configuration contains information about the configuration of the site such as
+whether the site is activated with Express Checkout, Multi-Step Checkout or both.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [cardCaptureAutomatic](#cardcaptureautomatic): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or false if the capture method is set to manual. |
+| [expressCheckoutEnabled](#expresscheckoutenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if Express Checkout is enabled for the site. |
+| [futureUsageOffSession](#futureusageoffsession): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if the payment card credential storage is configured to set up all applicable payments for off session reuse, or false if the credential storage is configured to set up for on session reuse only the payments for which the shopper actively confirms use of saved credentials. |
+| [multiStepCheckoutEnabled](#multistepcheckoutenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if Multi-Step Checkout is enabled for the site. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [isCardCaptureAutomatic](dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md#iscardcaptureautomatic)() | Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or false if the capture method is set to manual. |
+| [isExpressCheckoutEnabled](dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md#isexpresscheckoutenabled)() | Returns true if Express Checkout is enabled for the site. |
+| [isFutureUsageOffSession](dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md#isfutureusageoffsession)() | Returns true if the payment card credential storage is configured to set up all applicable payments for off session reuse, or false if the credential storage is configured to set up for on session reuse only the payments for which the shopper actively confirms use of saved credentials. |
+| [isMultiStepCheckoutEnabled](dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md#ismultistepcheckoutenabled)() | Returns true if Multi-Step Checkout is enabled for the site. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### cardCaptureAutomatic
+- cardCaptureAutomatic: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or
+ false if the capture method is set to manual.
+
+
+
+---
+
+### expressCheckoutEnabled
+- expressCheckoutEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if Express Checkout is enabled for the site.
+
+
+---
+
+### futureUsageOffSession
+- futureUsageOffSession: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if the payment card credential storage is configured to set up all applicable payments for off
+ session reuse, or false if the credential storage is configured to set up for on session reuse only the payments
+ for which the shopper actively confirms use of saved credentials.
+
+
+
+---
+
+### multiStepCheckoutEnabled
+- multiStepCheckoutEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if Multi-Step Checkout is enabled for the site.
+
+
+---
+
+## Method Details
+
+### isCardCaptureAutomatic()
+- isCardCaptureAutomatic(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or
+ false if the capture method is set to manual.
+
+
+ **Returns:**
+ - true if the credit card capture method is automatic, or false if it is manual
+
+
+---
+
+### isExpressCheckoutEnabled()
+- isExpressCheckoutEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if Express Checkout is enabled for the site.
+
+ **Returns:**
+ - true if Express Checkout is enabled for the site, or false if not
+
+
+---
+
+### isFutureUsageOffSession()
+- isFutureUsageOffSession(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the payment card credential storage is configured to set up all applicable payments for off
+ session reuse, or false if the credential storage is configured to set up for on session reuse only the payments
+ for which the shopper actively confirms use of saved credentials.
+
+
+ **Returns:**
+ - true if the future usage is off session, or false if on session
+
+
+---
+
+### isMultiStepCheckoutEnabled()
+- isMultiStepCheckoutEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if Multi-Step Checkout is enabled for the site.
+
+ **Returns:**
+ - true if Multi-Step Checkout is enabled for the site, or false if not
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsZone.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsZone.md
new file mode 100644
index 00000000..9edb0071
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforcePaymentsZone.md
@@ -0,0 +1,393 @@
+
+# Class SalesforcePaymentsZone
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentsZone](dw.extensions.payments.SalesforcePaymentsZone.md)
+
+
+
+Salesforce Payments representation of a payments zone. See Salesforce Payments documentation for how to gain access
+and configure payment zones and assign them to sites.
+
+
+
+
+A payments zone contains information about the payment zone for a site and country.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [afterpayClearpayEnabled](#afterpayclearpayenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if Afterpay Clearpay presentment is enabled, or `false` if not. |
+| [applePayEnabled](#applepayenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if Apple Pay presentment is enabled, or `false` if not. |
+| [bancontactEnabled](#bancontactenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if Bancontact presentment is enabled, or `false` if not. |
+| [bancontactMobileEnabled](#bancontactmobileenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if Bancontact Mobile presentment is enabled, or `false` if not. |
+| [cardEnabled](#cardenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if credit card presentment is enabled, or `false` if not. |
+| [epsEnabled](#epsenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if EPS presentment is enabled, or `false` if not. |
+| [idealEnabled](#idealenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if iDEAL presentment is enabled, or `false` if not. |
+| [klarnaEnabled](#klarnaenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if Klarna presentment is enabled, or `false` if not. |
+| [klarnaPayInInstallmentsEnabled](#klarnapayininstallmentsenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if Klarna Pay in Installments presentment is enabled, or `false` if not. |
+| [klarnaPayNowEnabled](#klarnapaynowenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if Klarna Pay Now presentment is enabled, or `false` if not. |
+| [payPalEnabled](#paypalenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if PayPal multi-step checkout presentment is enabled, or `false` if not. |
+| [payPalExpressEnabled](#paypalexpressenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if PayPal express checkout presentment is enabled, or `false` if not. |
+| [paymentRequestEnabled](#paymentrequestenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if W3C Payment Request API button presentment is enabled, or `false` if not. |
+| [sepaDebitEnabled](#sepadebitenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if SEPA Debit presentment is enabled, or `false` if not. |
+| [venmoEnabled](#venmoenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if Venmo multi-step checkout presentment is enabled, or `false` if not. |
+| [venmoExpressEnabled](#venmoexpressenabled): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true` if Venmo express checkout presentment is enabled, or `false` if not. |
+| [zoneId](#zoneid): [String](TopLevel.String.md) `(read-only)` | Returns the id of the payments zone. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getPaymentMethods](dw.extensions.payments.SalesforcePaymentsZone.md#getpaymentmethodsstring-money)([String](TopLevel.String.md), [Money](dw.value.Money.md)) | Returns a collection containing the merchant account payment methods to be presented for this payments zone. |
+| [getZoneId](dw.extensions.payments.SalesforcePaymentsZone.md#getzoneid)() | Returns the id of the payments zone. |
+| [isAfterpayClearpayEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isafterpayclearpayenabled)() | Returns `true` if Afterpay Clearpay presentment is enabled, or `false` if not. |
+| [isApplePayEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isapplepayenabled)() | Returns `true` if Apple Pay presentment is enabled, or `false` if not. |
+| [isBancontactEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isbancontactenabled)() | Returns `true` if Bancontact presentment is enabled, or `false` if not. |
+| [isBancontactMobileEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isbancontactmobileenabled)() | Returns `true` if Bancontact Mobile presentment is enabled, or `false` if not. |
+| [isCardEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#iscardenabled)() | Returns `true` if credit card presentment is enabled, or `false` if not. |
+| [isEpsEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isepsenabled)() | Returns `true` if EPS presentment is enabled, or `false` if not. |
+| [isIdealEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isidealenabled)() | Returns `true` if iDEAL presentment is enabled, or `false` if not. |
+| [isKlarnaEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isklarnaenabled)() | Returns `true` if Klarna presentment is enabled, or `false` if not. |
+| [isKlarnaPayInInstallmentsEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isklarnapayininstallmentsenabled)() | Returns `true` if Klarna Pay in Installments presentment is enabled, or `false` if not. |
+| [isKlarnaPayNowEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isklarnapaynowenabled)() | Returns `true` if Klarna Pay Now presentment is enabled, or `false` if not. |
+| [isPayPalEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#ispaypalenabled)() | Returns `true` if PayPal multi-step checkout presentment is enabled, or `false` if not. |
+| [isPayPalExpressEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#ispaypalexpressenabled)() | Returns `true` if PayPal express checkout presentment is enabled, or `false` if not. |
+| [isPaymentRequestEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#ispaymentrequestenabled)() | Returns `true` if W3C Payment Request API button presentment is enabled, or `false` if not. |
+| [isSepaDebitEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#issepadebitenabled)() | Returns `true` if SEPA Debit presentment is enabled, or `false` if not. |
+| [isVenmoEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isvenmoenabled)() | Returns `true` if Venmo multi-step checkout presentment is enabled, or `false` if not. |
+| [isVenmoExpressEnabled](dw.extensions.payments.SalesforcePaymentsZone.md#isvenmoexpressenabled)() | Returns `true` if Venmo express checkout presentment is enabled, or `false` if not. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### afterpayClearpayEnabled
+- afterpayClearpayEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if Afterpay Clearpay presentment is enabled, or `false` if not.
+
+
+---
+
+### applePayEnabled
+- applePayEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if Apple Pay presentment is enabled, or `false` if not.
+
+
+---
+
+### bancontactEnabled
+- bancontactEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if Bancontact presentment is enabled, or `false` if not. Note: For Adyen
+ merchant accounts, this setting refers to the "Bancontact Card" payment method.
+
+
+
+---
+
+### bancontactMobileEnabled
+- bancontactMobileEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if Bancontact Mobile presentment is enabled, or `false` if not. Note: This
+ setting is only applicable for Adyen Merchant Accounts
+
+
+
+---
+
+### cardEnabled
+- cardEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if credit card presentment is enabled, or `false` if not.
+
+
+---
+
+### epsEnabled
+- epsEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if EPS presentment is enabled, or `false` if not.
+
+
+---
+
+### idealEnabled
+- idealEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if iDEAL presentment is enabled, or `false` if not.
+
+
+---
+
+### klarnaEnabled
+- klarnaEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if Klarna presentment is enabled, or `false` if not. Note: For Adyen
+ merchant accounts, this setting applies to the Klarna Pay Later payment method.
+
+
+
+---
+
+### klarnaPayInInstallmentsEnabled
+- klarnaPayInInstallmentsEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if Klarna Pay in Installments presentment is enabled, or `false` if not.
+ Note: This setting is only applicable for Adyen Merchant Accounts.
+
+
+
+---
+
+### klarnaPayNowEnabled
+- klarnaPayNowEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if Klarna Pay Now presentment is enabled, or `false` if not. Note: This
+ setting is only applicable for Adyen Merchant Accounts.
+
+
+
+---
+
+### payPalEnabled
+- payPalEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if PayPal multi-step checkout presentment is enabled, or `false` if not.
+
+
+---
+
+### payPalExpressEnabled
+- payPalExpressEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if PayPal express checkout presentment is enabled, or `false` if not.
+
+
+---
+
+### paymentRequestEnabled
+- paymentRequestEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if W3C Payment Request API button presentment is enabled, or `false` if not.
+
+
+---
+
+### sepaDebitEnabled
+- sepaDebitEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if SEPA Debit presentment is enabled, or `false` if not.
+
+
+---
+
+### venmoEnabled
+- venmoEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if Venmo multi-step checkout presentment is enabled, or `false` if not.
+
+
+---
+
+### venmoExpressEnabled
+- venmoExpressEnabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if Venmo express checkout presentment is enabled, or `false` if not.
+
+
+---
+
+### zoneId
+- zoneId: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the id of the payments zone.
+
+
+---
+
+## Method Details
+
+### getPaymentMethods(String, Money)
+- getPaymentMethods(countryCode: [String](TopLevel.String.md), amount: [Money](dw.value.Money.md)): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing the merchant account payment methods to be presented for this payments zone.
+
+ **Returns:**
+ - collection of merchant account payment methods
+
+
+---
+
+### getZoneId()
+- getZoneId(): [String](TopLevel.String.md)
+ - : Returns the id of the payments zone.
+
+ **Returns:**
+ - zone id
+
+
+---
+
+### isAfterpayClearpayEnabled()
+- isAfterpayClearpayEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if Afterpay Clearpay presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if Afterpay Clearpay presentment is enabled
+
+
+---
+
+### isApplePayEnabled()
+- isApplePayEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if Apple Pay presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if Apple Pay presentment is enabled
+
+
+---
+
+### isBancontactEnabled()
+- isBancontactEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if Bancontact presentment is enabled, or `false` if not. Note: For Adyen
+ merchant accounts, this setting refers to the "Bancontact Card" payment method.
+
+
+ **Returns:**
+ - if Bancontact presentment is enabled
+
+
+---
+
+### isBancontactMobileEnabled()
+- isBancontactMobileEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if Bancontact Mobile presentment is enabled, or `false` if not. Note: This
+ setting is only applicable for Adyen Merchant Accounts
+
+
+ **Returns:**
+ - if Bancontact Mobile presentment is enabled
+
+
+---
+
+### isCardEnabled()
+- isCardEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if credit card presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if credit card presentment is enabled
+
+
+---
+
+### isEpsEnabled()
+- isEpsEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if EPS presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if EPS presentment is enabled
+
+
+---
+
+### isIdealEnabled()
+- isIdealEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if iDEAL presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if iDEAL presentment is enabled
+
+
+---
+
+### isKlarnaEnabled()
+- isKlarnaEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if Klarna presentment is enabled, or `false` if not. Note: For Adyen
+ merchant accounts, this setting applies to the Klarna Pay Later payment method.
+
+
+ **Returns:**
+ - if Klarna presentment is enabled
+
+
+---
+
+### isKlarnaPayInInstallmentsEnabled()
+- isKlarnaPayInInstallmentsEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if Klarna Pay in Installments presentment is enabled, or `false` if not.
+ Note: This setting is only applicable for Adyen Merchant Accounts.
+
+
+ **Returns:**
+ - if Klarna Pay in Installments presentment is enabled
+
+
+---
+
+### isKlarnaPayNowEnabled()
+- isKlarnaPayNowEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if Klarna Pay Now presentment is enabled, or `false` if not. Note: This
+ setting is only applicable for Adyen Merchant Accounts.
+
+
+ **Returns:**
+ - if Klarna Pay Now presentment is enabled
+
+
+---
+
+### isPayPalEnabled()
+- isPayPalEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if PayPal multi-step checkout presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if PayPal multi-step checkout presentment is enabled
+
+
+---
+
+### isPayPalExpressEnabled()
+- isPayPalExpressEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if PayPal express checkout presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if PayPal express checkout presentment is enabled
+
+
+---
+
+### isPaymentRequestEnabled()
+- isPaymentRequestEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if W3C Payment Request API button presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if W3C Payment Request API presentment is enabled
+
+
+---
+
+### isSepaDebitEnabled()
+- isSepaDebitEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if SEPA Debit presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if SEPA Debit presentment is enabled
+
+
+---
+
+### isVenmoEnabled()
+- isVenmoEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if Venmo multi-step checkout presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if Venmo multi-step checkout presentment is enabled
+
+
+---
+
+### isVenmoExpressEnabled()
+- isVenmoExpressEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if Venmo express checkout presentment is enabled, or `false` if not.
+
+ **Returns:**
+ - if Venmo express checkout presentment is enabled
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceSepaDebitPaymentDetails.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceSepaDebitPaymentDetails.md
new file mode 100644
index 00000000..c1738f68
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceSepaDebitPaymentDetails.md
@@ -0,0 +1,63 @@
+
+# Class SalesforceSepaDebitPaymentDetails
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - [dw.extensions.payments.SalesforceSepaDebitPaymentDetails](dw.extensions.payments.SalesforceSepaDebitPaymentDetails.md)
+
+
+
+Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit). See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [last4](#last4): [String](TopLevel.String.md) `(read-only)` | Returns the last 4 digits of the account number, or `null` if not known. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getLast4](dw.extensions.payments.SalesforceSepaDebitPaymentDetails.md#getlast4)() | Returns the last 4 digits of the account number, or `null` if not known. |
+
+### Methods inherited from class SalesforcePaymentDetails
+
+[getType](dw.extensions.payments.SalesforcePaymentDetails.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### last4
+- last4: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the last 4 digits of the account number, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getLast4()](dw.extensions.payments.SalesforcePaymentMethod.md#getlast4)
+
+
+---
+
+## Method Details
+
+### getLast4()
+- getLast4(): [String](TopLevel.String.md)
+ - : Returns the last 4 digits of the account number, or `null` if not known.
+
+ **Returns:**
+ - last 4 digits of the account number
+
+ **See Also:**
+ - [SalesforcePaymentMethod.getLast4()](dw.extensions.payments.SalesforcePaymentMethod.md#getlast4)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceVenmoPaymentDetails.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceVenmoPaymentDetails.md
new file mode 100644
index 00000000..a084c84b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.SalesforceVenmoPaymentDetails.md
@@ -0,0 +1,88 @@
+
+# Class SalesforceVenmoPaymentDetails
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.payments.SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md)
+ - [dw.extensions.payments.SalesforceVenmoPaymentDetails](dw.extensions.payments.SalesforceVenmoPaymentDetails.md)
+
+
+
+Details to a Salesforce Payments payment of type [SalesforcePayPalOrder.TYPE_VENMO](dw.extensions.payments.SalesforcePayPalOrder.md#type_venmo). See Salesforce Payments
+documentation for how to gain access and configure it for use on your sites.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [captureID](#captureid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the capture against the PayPal Venmo order, or `null` if not known. |
+| [payerEmailAddress](#payeremailaddress): [String](TopLevel.String.md) `(read-only)` | Returns the email address of the payer for the PayPal Venmo order, or `null` if not known. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCaptureID](dw.extensions.payments.SalesforceVenmoPaymentDetails.md#getcaptureid)() | Returns the ID of the capture against the PayPal Venmo order, or `null` if not known. |
+| [getPayerEmailAddress](dw.extensions.payments.SalesforceVenmoPaymentDetails.md#getpayeremailaddress)() | Returns the email address of the payer for the PayPal Venmo order, or `null` if not known. |
+
+### Methods inherited from class SalesforcePaymentDetails
+
+[getType](dw.extensions.payments.SalesforcePaymentDetails.md#gettype)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### captureID
+- captureID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the capture against the PayPal Venmo order, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePayPalOrder.getCaptureID()](dw.extensions.payments.SalesforcePayPalOrder.md#getcaptureid)
+
+
+---
+
+### payerEmailAddress
+- payerEmailAddress: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the email address of the payer for the PayPal Venmo order, or `null` if not known.
+
+ **See Also:**
+ - [SalesforcePayPalOrderPayer.getEmailAddress()](dw.extensions.payments.SalesforcePayPalOrderPayer.md#getemailaddress)
+
+
+---
+
+## Method Details
+
+### getCaptureID()
+- getCaptureID(): [String](TopLevel.String.md)
+ - : Returns the ID of the capture against the PayPal Venmo order, or `null` if not known.
+
+ **Returns:**
+ - PayPal order capture ID
+
+ **See Also:**
+ - [SalesforcePayPalOrder.getCaptureID()](dw.extensions.payments.SalesforcePayPalOrder.md#getcaptureid)
+
+
+---
+
+### getPayerEmailAddress()
+- getPayerEmailAddress(): [String](TopLevel.String.md)
+ - : Returns the email address of the payer for the PayPal Venmo order, or `null` if not known.
+
+ **Returns:**
+ - payer email address
+
+ **See Also:**
+ - [SalesforcePayPalOrderPayer.getEmailAddress()](dw.extensions.payments.SalesforcePayPalOrderPayer.md#getemailaddress)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.md
new file mode 100644
index 00000000..c7b085f0
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.payments.md
@@ -0,0 +1,28 @@
+# Package dw.extensions.payments
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [SalesforceAdyenPaymentIntent](dw.extensions.payments.SalesforceAdyenPaymentIntent.md) | Salesforce Payments representation of an Adyen payment intent object. |
+| [SalesforceAdyenSavedPaymentMethod](dw.extensions.payments.SalesforceAdyenSavedPaymentMethod.md) | Salesforce Payments representation of an Adyen saved payment method object. |
+| [SalesforceBancontactPaymentDetails](dw.extensions.payments.SalesforceBancontactPaymentDetails.md) | Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_BANCONTACT](dw.extensions.payments.SalesforcePaymentMethod.md#type_bancontact). |
+| [SalesforceCardPaymentDetails](dw.extensions.payments.SalesforceCardPaymentDetails.md) | Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_CARD](dw.extensions.payments.SalesforcePaymentMethod.md#type_card). |
+| [SalesforceEpsPaymentDetails](dw.extensions.payments.SalesforceEpsPaymentDetails.md) | Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_EPS](dw.extensions.payments.SalesforcePaymentMethod.md#type_eps). |
+| [SalesforceIdealPaymentDetails](dw.extensions.payments.SalesforceIdealPaymentDetails.md) | Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_IDEAL](dw.extensions.payments.SalesforcePaymentMethod.md#type_ideal). |
+| [SalesforceKlarnaPaymentDetails](dw.extensions.payments.SalesforceKlarnaPaymentDetails.md) | Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_KLARNA](dw.extensions.payments.SalesforcePaymentMethod.md#type_klarna). |
+| [SalesforcePaymentDetails](dw.extensions.payments.SalesforcePaymentDetails.md) | Base class details to a Salesforce Payments payment. |
+| [SalesforcePaymentIntent](dw.extensions.payments.SalesforcePaymentIntent.md) | Salesforce Payments representation of a Stripe payment intent object. |
+| [SalesforcePaymentMethod](dw.extensions.payments.SalesforcePaymentMethod.md) | Salesforce Payments representation of a payment method object. |
+| [SalesforcePaymentRequest](dw.extensions.payments.SalesforcePaymentRequest.md) | Salesforce Payments request for a shopper to make payment. |
+| [SalesforcePaymentsHooks](dw.extensions.payments.SalesforcePaymentsHooks.md) | This interface represents all script hooks that can be registered to customize the Salesforce Payments functionality. |
+| [SalesforcePaymentsMerchantAccount](dw.extensions.payments.SalesforcePaymentsMerchantAccount.md) | Contains information about a merchant account configured for use with Salesforce Payments. |
+| [SalesforcePaymentsMerchantAccountPaymentMethod](dw.extensions.payments.SalesforcePaymentsMerchantAccountPaymentMethod.md) | Contains information about a payment method to be presented to a payer, as configured for a Salesforce Payments merchant account. |
+| [SalesforcePaymentsMgr](dw.extensions.payments.SalesforcePaymentsMgr.md) | Contains functionality for use with Salesforce Payments. |
+| [SalesforcePaymentsSiteConfiguration](dw.extensions.payments.SalesforcePaymentsSiteConfiguration.md) | Salesforce Payments representation of a payment site configuration object. |
+| [SalesforcePaymentsZone](dw.extensions.payments.SalesforcePaymentsZone.md) | Salesforce Payments representation of a payments zone. |
+| [SalesforcePayPalOrder](dw.extensions.payments.SalesforcePayPalOrder.md) | Salesforce Payments representation of a PayPal order object. |
+| [SalesforcePayPalOrderAddress](dw.extensions.payments.SalesforcePayPalOrderAddress.md) | Salesforce Payments representation of a PayPal order address object. |
+| [SalesforcePayPalOrderPayer](dw.extensions.payments.SalesforcePayPalOrderPayer.md) | Salesforce Payments representation of a PayPal order's payer object. |
+| [SalesforcePayPalPaymentDetails](dw.extensions.payments.SalesforcePayPalPaymentDetails.md) | Details to a Salesforce Payments payment of type [SalesforcePayPalOrder.TYPE_PAYPAL](dw.extensions.payments.SalesforcePayPalOrder.md#type_paypal). |
+| [SalesforceSepaDebitPaymentDetails](dw.extensions.payments.SalesforceSepaDebitPaymentDetails.md) | Details to a Salesforce Payments payment of type [SalesforcePaymentMethod.TYPE_SEPA_DEBIT](dw.extensions.payments.SalesforcePaymentMethod.md#type_sepa_debit). |
+| [SalesforceVenmoPaymentDetails](dw.extensions.payments.SalesforceVenmoPaymentDetails.md) | Details to a Salesforce Payments payment of type [SalesforcePayPalOrder.TYPE_VENMO](dw.extensions.payments.SalesforcePayPalOrder.md#type_venmo). |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestAvailability.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestAvailability.md
new file mode 100644
index 00000000..48f76790
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestAvailability.md
@@ -0,0 +1,85 @@
+
+# Class PinterestAvailability
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.pinterest.PinterestAvailability](dw.extensions.pinterest.PinterestAvailability.md)
+
+Represents a row in the Pinterest availability feed export file.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the Pinterest product. |
+| [availability](#availability): [String](TopLevel.String.md) | Returns the availability of the Pinterest product. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAvailability](dw.extensions.pinterest.PinterestAvailability.md#getavailability)() | Returns the availability of the Pinterest product. |
+| [getID](dw.extensions.pinterest.PinterestAvailability.md#getid)() | Returns the ID of the Pinterest product. |
+| [setAvailability](dw.extensions.pinterest.PinterestAvailability.md#setavailabilitystring)([String](TopLevel.String.md)) | Sets the availability of the Pinterest product. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the Pinterest product. This is the same as the ID of the Demandware product.
+
+
+---
+
+### availability
+- availability: [String](TopLevel.String.md)
+ - : Returns the availability of the Pinterest product. Possible values are
+ [PinterestProduct.AVAILABILITY_IN_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_in_stock) or
+ [PinterestProduct.AVAILABILITY_OUT_OF_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_out_of_stock).
+
+
+
+---
+
+## Method Details
+
+### getAvailability()
+- getAvailability(): [String](TopLevel.String.md)
+ - : Returns the availability of the Pinterest product. Possible values are
+ [PinterestProduct.AVAILABILITY_IN_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_in_stock) or
+ [PinterestProduct.AVAILABILITY_OUT_OF_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_out_of_stock).
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the Pinterest product. This is the same as the ID of the Demandware product.
+
+ **Returns:**
+ - product ID
+
+
+---
+
+### setAvailability(String)
+- setAvailability(availability: [String](TopLevel.String.md)): void
+ - : Sets the availability of the Pinterest product. Possible values are
+ [PinterestProduct.AVAILABILITY_IN_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_in_stock) or
+ [PinterestProduct.AVAILABILITY_OUT_OF_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_out_of_stock).
+
+
+ **Parameters:**
+ - availability - the availability status to set for this product
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestFeedHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestFeedHooks.md
new file mode 100644
index 00000000..555f9e77
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestFeedHooks.md
@@ -0,0 +1,118 @@
+
+# Class PinterestFeedHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.pinterest.PinterestFeedHooks](dw.extensions.pinterest.PinterestFeedHooks.md)
+
+PinterestFeedHooks interface containing extension points for customizing Pinterest export feeds.
+
+
+These hooks are not executed in a transaction.
+
+
+The extension points (hook names), and the functions that are called by each extension point. A function must be
+defined inside a JavaScript source and must be exported. The script with the exported hook function must be located
+inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.extensions.pinterest.feed.transformProduct", "script": "./hooks.ds"}
+]
+```
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointTransformAvailability](#extensionpointtransformavailability): [String](TopLevel.String.md) = "dw.extensions.pinterest.feed.transformAvailability" | The extension point name dw.extensions.pinterest.feed.transformAvailability. |
+| [extensionPointTransformProduct](#extensionpointtransformproduct): [String](TopLevel.String.md) = "dw.extensions.pinterest.feed.transformProduct" | The extension point name dw.extensions.pinterest.feed.transformProduct. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [transformAvailability](dw.extensions.pinterest.PinterestFeedHooks.md#transformavailabilityproduct-pinterestavailability)([Product](dw.catalog.Product.md), [PinterestAvailability](dw.extensions.pinterest.PinterestAvailability.md)) | Called after default transformation of given Demandware product to Pinterest availability as part of the availability feed export. |
+| [transformProduct](dw.extensions.pinterest.PinterestFeedHooks.md#transformproductproduct-pinterestproduct)([Product](dw.catalog.Product.md), [PinterestProduct](dw.extensions.pinterest.PinterestProduct.md)) | Called after default transformation of given Demandware product to Pinterest product as part of the catalog feed export. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointTransformAvailability
+
+- extensionPointTransformAvailability: [String](TopLevel.String.md) = "dw.extensions.pinterest.feed.transformAvailability"
+ - : The extension point name dw.extensions.pinterest.feed.transformAvailability.
+
+
+---
+
+### extensionPointTransformProduct
+
+- extensionPointTransformProduct: [String](TopLevel.String.md) = "dw.extensions.pinterest.feed.transformProduct"
+ - : The extension point name dw.extensions.pinterest.feed.transformProduct.
+
+
+---
+
+## Method Details
+
+### transformAvailability(Product, PinterestAvailability)
+- transformAvailability(product: [Product](dw.catalog.Product.md), pinterestAvailability: [PinterestAvailability](dw.extensions.pinterest.PinterestAvailability.md)): [Status](dw.system.Status.md)
+ - : Called after default transformation of given Demandware product to Pinterest availability as part of the
+ availability feed export.
+
+
+ **Parameters:**
+ - product - the Demandware product
+ - pinterestAvailability - the Pinterest representation of the product availability
+
+ **Returns:**
+ - a non-null Status ends the hook execution
+
+
+---
+
+### transformProduct(Product, PinterestProduct)
+- transformProduct(product: [Product](dw.catalog.Product.md), pinterestProduct: [PinterestProduct](dw.extensions.pinterest.PinterestProduct.md)): [Status](dw.system.Status.md)
+ - : Called after default transformation of given Demandware product to Pinterest product as part of the catalog feed
+ export.
+
+
+ **Parameters:**
+ - product - the Demandware product
+ - pinterestProduct - the Pinterest representation of the product
+
+ **Returns:**
+ - a non-null Status ends the hook execution
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestOrder.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestOrder.md
new file mode 100644
index 00000000..6d052ae2
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestOrder.md
@@ -0,0 +1,263 @@
+
+# Class PinterestOrder
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.pinterest.PinterestOrder](dw.extensions.pinterest.PinterestOrder.md)
+
+An order that was placed through Pinterest.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [PAYMENT_STATUS_NOT_PAID](#payment_status_not_paid): [String](TopLevel.String.md) = "NOT_PAID" | Indicates that payment has not been made. |
+| [PAYMENT_STATUS_PAID](#payment_status_paid): [String](TopLevel.String.md) = "PAID" | Indicates that payment is complete. |
+| [PAYMENT_STATUS_PART_PAID](#payment_status_part_paid): [String](TopLevel.String.md) = "PART_PAID" | Indicates that payment is incomplete. |
+| [STATUS_BACKORDER](#status_backorder): [String](TopLevel.String.md) = "BACKORDER" | Indicates an order on backorder. |
+| [STATUS_CANCELLED](#status_cancelled): [String](TopLevel.String.md) = "CANCELLED" | Indicates an order that has been canceled. |
+| [STATUS_DELIVERED](#status_delivered): [String](TopLevel.String.md) = "DELIVERED" | Indicates an order that has been delivered. |
+| [STATUS_IN_PROGRESS](#status_in_progress): [String](TopLevel.String.md) = "IN_PROGRESS" | Indicates an order in progress. |
+| [STATUS_NEW](#status_new): [String](TopLevel.String.md) = "NEW" | Indicates a new order. |
+| [STATUS_RETURNED](#status_returned): [String](TopLevel.String.md) = "RETURNED" | Indicates an order that has been returned. |
+| [STATUS_SHIPPED](#status_shipped): [String](TopLevel.String.md) = "SHIPPED" | Indicates an order that has shipped. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [itemId](#itemid): [String](TopLevel.String.md) | Returns the item ID for this Pinterest order. |
+| [orderNo](#orderno): [String](TopLevel.String.md) `(read-only)` | Returns the order number for this Pinterest order. |
+| [paymentStatus](#paymentstatus): [String](TopLevel.String.md) | Returns the status of this Pinterest order. |
+| [status](#status): [String](TopLevel.String.md) | Returns the status of this Pinterest order. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getItemId](dw.extensions.pinterest.PinterestOrder.md#getitemid)() | Returns the item ID for this Pinterest order. |
+| [getOrderNo](dw.extensions.pinterest.PinterestOrder.md#getorderno)() | Returns the order number for this Pinterest order. |
+| [getPaymentStatus](dw.extensions.pinterest.PinterestOrder.md#getpaymentstatus)() | Returns the status of this Pinterest order. |
+| [getStatus](dw.extensions.pinterest.PinterestOrder.md#getstatus)() | Returns the status of this Pinterest order. |
+| [setItemId](dw.extensions.pinterest.PinterestOrder.md#setitemidstring)([String](TopLevel.String.md)) | Sets the item ID for this Pinterest order. |
+| [setPaymentStatus](dw.extensions.pinterest.PinterestOrder.md#setpaymentstatusstring)([String](TopLevel.String.md)) | Sets the status of this Pinterest order. |
+| [setStatus](dw.extensions.pinterest.PinterestOrder.md#setstatusstring)([String](TopLevel.String.md)) | Sets the status of this Pinterest order. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### PAYMENT_STATUS_NOT_PAID
+
+- PAYMENT_STATUS_NOT_PAID: [String](TopLevel.String.md) = "NOT_PAID"
+ - : Indicates that payment has not been made.
+
+
+---
+
+### PAYMENT_STATUS_PAID
+
+- PAYMENT_STATUS_PAID: [String](TopLevel.String.md) = "PAID"
+ - : Indicates that payment is complete.
+
+
+---
+
+### PAYMENT_STATUS_PART_PAID
+
+- PAYMENT_STATUS_PART_PAID: [String](TopLevel.String.md) = "PART_PAID"
+ - : Indicates that payment is incomplete.
+
+
+---
+
+### STATUS_BACKORDER
+
+- STATUS_BACKORDER: [String](TopLevel.String.md) = "BACKORDER"
+ - : Indicates an order on backorder.
+
+
+---
+
+### STATUS_CANCELLED
+
+- STATUS_CANCELLED: [String](TopLevel.String.md) = "CANCELLED"
+ - : Indicates an order that has been canceled.
+
+
+---
+
+### STATUS_DELIVERED
+
+- STATUS_DELIVERED: [String](TopLevel.String.md) = "DELIVERED"
+ - : Indicates an order that has been delivered.
+
+
+---
+
+### STATUS_IN_PROGRESS
+
+- STATUS_IN_PROGRESS: [String](TopLevel.String.md) = "IN_PROGRESS"
+ - : Indicates an order in progress.
+
+
+---
+
+### STATUS_NEW
+
+- STATUS_NEW: [String](TopLevel.String.md) = "NEW"
+ - : Indicates a new order.
+
+
+---
+
+### STATUS_RETURNED
+
+- STATUS_RETURNED: [String](TopLevel.String.md) = "RETURNED"
+ - : Indicates an order that has been returned.
+
+
+---
+
+### STATUS_SHIPPED
+
+- STATUS_SHIPPED: [String](TopLevel.String.md) = "SHIPPED"
+ - : Indicates an order that has shipped.
+
+
+---
+
+## Property Details
+
+### itemId
+- itemId: [String](TopLevel.String.md)
+ - : Returns the item ID for this Pinterest order.
+
+
+---
+
+### orderNo
+- orderNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the order number for this Pinterest order. This is the same as the order number of the Demandware order.
+
+
+---
+
+### paymentStatus
+- paymentStatus: [String](TopLevel.String.md)
+ - : Returns the status of this Pinterest order. Possible values are
+ [PAYMENT_STATUS_PAID](dw.extensions.pinterest.PinterestOrder.md#payment_status_paid),
+ [PAYMENT_STATUS_NOT_PAID](dw.extensions.pinterest.PinterestOrder.md#payment_status_not_paid),
+ or [PAYMENT_STATUS_PART_PAID](dw.extensions.pinterest.PinterestOrder.md#payment_status_part_paid).
+
+
+
+---
+
+### status
+- status: [String](TopLevel.String.md)
+ - : Returns the status of this Pinterest order. Possible values are
+ [STATUS_NEW](dw.extensions.pinterest.PinterestOrder.md#status_new),
+ [STATUS_IN_PROGRESS](dw.extensions.pinterest.PinterestOrder.md#status_in_progress),
+ [STATUS_SHIPPED](dw.extensions.pinterest.PinterestOrder.md#status_shipped),
+ [STATUS_BACKORDER](dw.extensions.pinterest.PinterestOrder.md#status_backorder),
+ [STATUS_CANCELLED](dw.extensions.pinterest.PinterestOrder.md#status_cancelled),
+ [STATUS_DELIVERED](dw.extensions.pinterest.PinterestOrder.md#status_delivered),
+ or [STATUS_RETURNED](dw.extensions.pinterest.PinterestOrder.md#status_returned).
+
+
+
+---
+
+## Method Details
+
+### getItemId()
+- getItemId(): [String](TopLevel.String.md)
+ - : Returns the item ID for this Pinterest order.
+
+
+---
+
+### getOrderNo()
+- getOrderNo(): [String](TopLevel.String.md)
+ - : Returns the order number for this Pinterest order. This is the same as the order number of the Demandware order.
+
+ **Returns:**
+ - order number
+
+
+---
+
+### getPaymentStatus()
+- getPaymentStatus(): [String](TopLevel.String.md)
+ - : Returns the status of this Pinterest order. Possible values are
+ [PAYMENT_STATUS_PAID](dw.extensions.pinterest.PinterestOrder.md#payment_status_paid),
+ [PAYMENT_STATUS_NOT_PAID](dw.extensions.pinterest.PinterestOrder.md#payment_status_not_paid),
+ or [PAYMENT_STATUS_PART_PAID](dw.extensions.pinterest.PinterestOrder.md#payment_status_part_paid).
+
+
+
+---
+
+### getStatus()
+- getStatus(): [String](TopLevel.String.md)
+ - : Returns the status of this Pinterest order. Possible values are
+ [STATUS_NEW](dw.extensions.pinterest.PinterestOrder.md#status_new),
+ [STATUS_IN_PROGRESS](dw.extensions.pinterest.PinterestOrder.md#status_in_progress),
+ [STATUS_SHIPPED](dw.extensions.pinterest.PinterestOrder.md#status_shipped),
+ [STATUS_BACKORDER](dw.extensions.pinterest.PinterestOrder.md#status_backorder),
+ [STATUS_CANCELLED](dw.extensions.pinterest.PinterestOrder.md#status_cancelled),
+ [STATUS_DELIVERED](dw.extensions.pinterest.PinterestOrder.md#status_delivered),
+ or [STATUS_RETURNED](dw.extensions.pinterest.PinterestOrder.md#status_returned).
+
+
+
+---
+
+### setItemId(String)
+- setItemId(itemId: [String](TopLevel.String.md)): void
+ - : Sets the item ID for this Pinterest order.
+
+ **Parameters:**
+ - itemId - item ID
+
+
+---
+
+### setPaymentStatus(String)
+- setPaymentStatus(status: [String](TopLevel.String.md)): void
+ - : Sets the status of this Pinterest order. Possible values are
+ [PAYMENT_STATUS_PAID](dw.extensions.pinterest.PinterestOrder.md#payment_status_paid),
+ [PAYMENT_STATUS_NOT_PAID](dw.extensions.pinterest.PinterestOrder.md#payment_status_not_paid),
+ or [PAYMENT_STATUS_PART_PAID](dw.extensions.pinterest.PinterestOrder.md#payment_status_part_paid).
+
+
+ **Parameters:**
+ - status - the status to set for this order
+
+
+---
+
+### setStatus(String)
+- setStatus(status: [String](TopLevel.String.md)): void
+ - : Sets the status of this Pinterest order. Possible values are
+ [STATUS_NEW](dw.extensions.pinterest.PinterestOrder.md#status_new),
+ [STATUS_IN_PROGRESS](dw.extensions.pinterest.PinterestOrder.md#status_in_progress),
+ [STATUS_SHIPPED](dw.extensions.pinterest.PinterestOrder.md#status_shipped),
+ [STATUS_BACKORDER](dw.extensions.pinterest.PinterestOrder.md#status_backorder),
+ [STATUS_CANCELLED](dw.extensions.pinterest.PinterestOrder.md#status_cancelled),
+ [STATUS_DELIVERED](dw.extensions.pinterest.PinterestOrder.md#status_delivered),
+ or [STATUS_RETURNED](dw.extensions.pinterest.PinterestOrder.md#status_returned).
+
+
+ **Parameters:**
+ - status - the status to set for this order
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestOrderHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestOrderHooks.md
new file mode 100644
index 00000000..cc7b9b98
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestOrderHooks.md
@@ -0,0 +1,89 @@
+
+# Class PinterestOrderHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.pinterest.PinterestOrderHooks](dw.extensions.pinterest.PinterestOrderHooks.md)
+
+PinterestOrderHooks interface containing extension points for customizing Pinterest order status.
+
+
+These hooks are not executed in a transaction.
+
+
+The extension points (hook names), and the functions that are called by each extension point. A function must be
+defined inside a JavaScript source and must be exported. The script with the exported hook function must be located
+inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.extensions.pinterest.order.getStatus", "script": "./hooks.ds"}
+]
+```
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointGetStatus](#extensionpointgetstatus): [String](TopLevel.String.md) = "dw.extensions.pinterest.order.getStatus" | The extension point name dw.extensions.pinterest.order.getStatus. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getStatus](dw.extensions.pinterest.PinterestOrderHooks.md#getstatuspinterestorder)([PinterestOrder](dw.extensions.pinterest.PinterestOrder.md)) | Called to retrieve status for the given order. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointGetStatus
+
+- extensionPointGetStatus: [String](TopLevel.String.md) = "dw.extensions.pinterest.order.getStatus"
+ - : The extension point name dw.extensions.pinterest.order.getStatus.
+
+
+---
+
+## Method Details
+
+### getStatus(PinterestOrder)
+- getStatus(order: [PinterestOrder](dw.extensions.pinterest.PinterestOrder.md)): [Status](dw.system.Status.md)
+ - : Called to retrieve status for the given order. Return a `null` status for unknown orders.
+
+ **Parameters:**
+ - order - the Pinterest order
+
+ **Returns:**
+ - a non-null Status ends the hook execution
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestProduct.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestProduct.md
new file mode 100644
index 00000000..da2f6f2f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.PinterestProduct.md
@@ -0,0 +1,677 @@
+
+# Class PinterestProduct
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.extensions.pinterest.PinterestProduct](dw.extensions.pinterest.PinterestProduct.md)
+
+Represents a row in the Pinterest catalog feed export.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [AVAILABILITY_IN_STOCK](#availability_in_stock): [String](TopLevel.String.md) = "in stock" | Indicates that the product is in stock. |
+| [AVAILABILITY_OUT_OF_STOCK](#availability_out_of_stock): [String](TopLevel.String.md) = "out of stock" | Indicates that the product is not in stock. |
+| [AVAILABILITY_PREORDER](#availability_preorder): [String](TopLevel.String.md) = "preorder" | Indicates that the product is availabile in preorder. |
+| [CONDITION_NEW](#condition_new): [String](TopLevel.String.md) = "new" | Indicates that the product has never been used. |
+| [CONDITION_REFURBISHED](#condition_refurbished): [String](TopLevel.String.md) = "refurbished" | Indicates that the product has been used but refurbished. |
+| [CONDITION_USED](#condition_used): [String](TopLevel.String.md) = "used" | Indicates that the product has been used. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the Pinterest product. |
+| [availability](#availability): [String](TopLevel.String.md) | Returns the availability of the Pinterest product. |
+| [brand](#brand): [String](TopLevel.String.md) | Returns the Pinterest brand of the product. |
+| [color](#color): [String](TopLevel.String.md) | Returns the Pinterest color value label of the product. |
+| [colorHex](#colorhex): [String](TopLevel.String.md) | Returns the Pinterest color hex value of the product. |
+| [colorImage](#colorimage): [URL](dw.web.URL.md) | Returns the URL of the image to show in Pinterest for the product color (swatch). |
+| [condition](#condition): [String](TopLevel.String.md) | Returns the condition of the Pinterest product. |
+| [description](#description): [String](TopLevel.String.md) | Returns the Pinterest description of the product. |
+| [googleProductCategory](#googleproductcategory): [String](TopLevel.String.md) | Returns the category of this product in the Google category taxonomy. |
+| [gtin](#gtin): [String](TopLevel.String.md) | Returns the Pinterest GTIN of the product. |
+| [imageLinks](#imagelinks): [List](dw.util.List.md) | Returns a list containing the URLs of the image to show in Pinterest for the product. |
+| [itemGroupID](#itemgroupid): [String](TopLevel.String.md) | Returns the ID of the Pinterest item group for the product, that is, its master product. |
+| [itemGroupLink](#itemgrouplink): [URL](dw.web.URL.md) | Returns the URL of the Pinterest item group for the product, that is, the link to its master product in the Demandware storefront. |
+| [link](#link): [URL](dw.web.URL.md) | Returns the URL of the Demandware storefront link to the product. |
+| [maxPrice](#maxprice): [Money](dw.value.Money.md) | Returns the maximum price to show in Pinterest for the product. |
+| [minPrice](#minprice): [Money](dw.value.Money.md) | Returns the minimum price to show in Pinterest for the product. |
+| [price](#price): [Money](dw.value.Money.md) | Returns the price to show in Pinterest for the product. |
+| [productCategory](#productcategory): [String](TopLevel.String.md) | Returns the Pinterest category path of the product. |
+| [returnPolicy](#returnpolicy): [String](TopLevel.String.md) | Returns the Pinterest return policy of the product. |
+| [size](#size): [String](TopLevel.String.md) | Returns the Pinterest size value label of the product. |
+| [title](#title): [String](TopLevel.String.md) | Returns the Pinterest title of the product. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAvailability](dw.extensions.pinterest.PinterestProduct.md#getavailability)() | Returns the availability of the Pinterest product. |
+| [getBrand](dw.extensions.pinterest.PinterestProduct.md#getbrand)() | Returns the Pinterest brand of the product. |
+| [getColor](dw.extensions.pinterest.PinterestProduct.md#getcolor)() | Returns the Pinterest color value label of the product. |
+| [getColorHex](dw.extensions.pinterest.PinterestProduct.md#getcolorhex)() | Returns the Pinterest color hex value of the product. |
+| [getColorImage](dw.extensions.pinterest.PinterestProduct.md#getcolorimage)() | Returns the URL of the image to show in Pinterest for the product color (swatch). |
+| [getCondition](dw.extensions.pinterest.PinterestProduct.md#getcondition)() | Returns the condition of the Pinterest product. |
+| [getDescription](dw.extensions.pinterest.PinterestProduct.md#getdescription)() | Returns the Pinterest description of the product. |
+| [getGoogleProductCategory](dw.extensions.pinterest.PinterestProduct.md#getgoogleproductcategory)() | Returns the category of this product in the Google category taxonomy. |
+| [getGtin](dw.extensions.pinterest.PinterestProduct.md#getgtin)() | Returns the Pinterest GTIN of the product. |
+| [getID](dw.extensions.pinterest.PinterestProduct.md#getid)() | Returns the ID of the Pinterest product. |
+| [getImageLinks](dw.extensions.pinterest.PinterestProduct.md#getimagelinks)() | Returns a list containing the URLs of the image to show in Pinterest for the product. |
+| [getItemGroupID](dw.extensions.pinterest.PinterestProduct.md#getitemgroupid)() | Returns the ID of the Pinterest item group for the product, that is, its master product. |
+| [getItemGroupLink](dw.extensions.pinterest.PinterestProduct.md#getitemgrouplink)() | Returns the URL of the Pinterest item group for the product, that is, the link to its master product in the Demandware storefront. |
+| [getLink](dw.extensions.pinterest.PinterestProduct.md#getlink)() | Returns the URL of the Demandware storefront link to the product. |
+| [getMaxPrice](dw.extensions.pinterest.PinterestProduct.md#getmaxprice)() | Returns the maximum price to show in Pinterest for the product. |
+| [getMinPrice](dw.extensions.pinterest.PinterestProduct.md#getminprice)() | Returns the minimum price to show in Pinterest for the product. |
+| [getPrice](dw.extensions.pinterest.PinterestProduct.md#getprice)() | Returns the price to show in Pinterest for the product. |
+| [getProductCategory](dw.extensions.pinterest.PinterestProduct.md#getproductcategory)() | Returns the Pinterest category path of the product. |
+| [getReturnPolicy](dw.extensions.pinterest.PinterestProduct.md#getreturnpolicy)() | Returns the Pinterest return policy of the product. |
+| [getSize](dw.extensions.pinterest.PinterestProduct.md#getsize)() | Returns the Pinterest size value label of the product. |
+| [getTitle](dw.extensions.pinterest.PinterestProduct.md#gettitle)() | Returns the Pinterest title of the product. |
+| [setAvailability](dw.extensions.pinterest.PinterestProduct.md#setavailabilitystring)([String](TopLevel.String.md)) | Sets the availability of the Pinterest product. |
+| [setBrand](dw.extensions.pinterest.PinterestProduct.md#setbrandstring)([String](TopLevel.String.md)) | Sets the Pinterest brand of the product. |
+| [setColor](dw.extensions.pinterest.PinterestProduct.md#setcolorstring)([String](TopLevel.String.md)) | Sets the Pinterest color value label of the product. |
+| [setColorHex](dw.extensions.pinterest.PinterestProduct.md#setcolorhexstring)([String](TopLevel.String.md)) | Sets the Pinterest color hex value of the product. |
+| [setColorImage](dw.extensions.pinterest.PinterestProduct.md#setcolorimageurl)([URL](dw.web.URL.md)) | Sets the URL of the image to show in Pinterest for the product color (swatch). |
+| [setCondition](dw.extensions.pinterest.PinterestProduct.md#setconditionstring)([String](TopLevel.String.md)) | Sets the condition of the Pinterest product. |
+| [setDescription](dw.extensions.pinterest.PinterestProduct.md#setdescriptionstring)([String](TopLevel.String.md)) | Sets the Pinterest description of the product. |
+| [setGoogleProductCategory](dw.extensions.pinterest.PinterestProduct.md#setgoogleproductcategorystring)([String](TopLevel.String.md)) | Sets the category of this product in the Google category taxonomy. |
+| [setGtin](dw.extensions.pinterest.PinterestProduct.md#setgtinstring)([String](TopLevel.String.md)) | Sets the Pinterest GTIN of the product. |
+| [setImageLinks](dw.extensions.pinterest.PinterestProduct.md#setimagelinkslist)([List](dw.util.List.md)) | Sets the list of URLs of images to show in Pinterest for the product. |
+| [setItemGroupID](dw.extensions.pinterest.PinterestProduct.md#setitemgroupidstring)([String](TopLevel.String.md)) | Sets the ID of the Pinterest item group for the product, that is, its master product. |
+| [setItemGroupLink](dw.extensions.pinterest.PinterestProduct.md#setitemgrouplinkurl)([URL](dw.web.URL.md)) | Sets the URL of the Pinterest item group for the product, that is, the link to its master product in the Demandware storefront. |
+| [setLink](dw.extensions.pinterest.PinterestProduct.md#setlinkurl)([URL](dw.web.URL.md)) | Sets the URL of the Demandware storefront link to the product. |
+| [setMaxPrice](dw.extensions.pinterest.PinterestProduct.md#setmaxpricemoney)([Money](dw.value.Money.md)) | Sets the maximum price to show in Pinterest for the product. |
+| [setMinPrice](dw.extensions.pinterest.PinterestProduct.md#setminpricemoney)([Money](dw.value.Money.md)) | Sets the minimum price to show in Pinterest for the product. |
+| [setPrice](dw.extensions.pinterest.PinterestProduct.md#setpricemoney)([Money](dw.value.Money.md)) | Sets the price to show in Pinterest for the product. |
+| [setProductCategory](dw.extensions.pinterest.PinterestProduct.md#setproductcategorystring)([String](TopLevel.String.md)) | Sets the Pinterest category path of the product. |
+| [setReturnPolicy](dw.extensions.pinterest.PinterestProduct.md#setreturnpolicystring)([String](TopLevel.String.md)) | Sets the Pinterest return policy of the product. |
+| [setSize](dw.extensions.pinterest.PinterestProduct.md#setsizestring)([String](TopLevel.String.md)) | Sets the Pinterest size value label of the product. |
+| [setTitle](dw.extensions.pinterest.PinterestProduct.md#settitlestring)([String](TopLevel.String.md)) | Sets the Pinterest title of the product. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### AVAILABILITY_IN_STOCK
+
+- AVAILABILITY_IN_STOCK: [String](TopLevel.String.md) = "in stock"
+ - : Indicates that the product is in stock.
+
+
+---
+
+### AVAILABILITY_OUT_OF_STOCK
+
+- AVAILABILITY_OUT_OF_STOCK: [String](TopLevel.String.md) = "out of stock"
+ - : Indicates that the product is not in stock.
+
+
+---
+
+### AVAILABILITY_PREORDER
+
+- AVAILABILITY_PREORDER: [String](TopLevel.String.md) = "preorder"
+ - : Indicates that the product is availabile in preorder.
+
+
+---
+
+### CONDITION_NEW
+
+- CONDITION_NEW: [String](TopLevel.String.md) = "new"
+ - : Indicates that the product has never been used.
+
+
+---
+
+### CONDITION_REFURBISHED
+
+- CONDITION_REFURBISHED: [String](TopLevel.String.md) = "refurbished"
+ - : Indicates that the product has been used but refurbished.
+
+
+---
+
+### CONDITION_USED
+
+- CONDITION_USED: [String](TopLevel.String.md) = "used"
+ - : Indicates that the product has been used.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the Pinterest product. This is the same as the ID of the Demandware product.
+
+
+---
+
+### availability
+- availability: [String](TopLevel.String.md)
+ - : Returns the availability of the Pinterest product. Possible values are
+ [AVAILABILITY_IN_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_in_stock) or
+ [AVAILABILITY_OUT_OF_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_out_of_stock).
+
+
+
+---
+
+### brand
+- brand: [String](TopLevel.String.md)
+ - : Returns the Pinterest brand of the product.
+
+
+---
+
+### color
+- color: [String](TopLevel.String.md)
+ - : Returns the Pinterest color value label of the product.
+
+
+---
+
+### colorHex
+- colorHex: [String](TopLevel.String.md)
+ - : Returns the Pinterest color hex value of the product.
+
+
+---
+
+### colorImage
+- colorImage: [URL](dw.web.URL.md)
+ - : Returns the URL of the image to show in Pinterest for the product color (swatch).
+
+
+---
+
+### condition
+- condition: [String](TopLevel.String.md)
+ - : Returns the condition of the Pinterest product. Possible values are
+ [CONDITION_NEW](dw.extensions.pinterest.PinterestProduct.md#condition_new),
+ [CONDITION_REFURBISHED](dw.extensions.pinterest.PinterestProduct.md#condition_refurbished), or
+ [CONDITION_USED](dw.extensions.pinterest.PinterestProduct.md#condition_used).
+
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md)
+ - : Returns the Pinterest description of the product.
+
+
+---
+
+### googleProductCategory
+- googleProductCategory: [String](TopLevel.String.md)
+ - : Returns the category of this product in the Google category taxonomy.
+
+
+---
+
+### gtin
+- gtin: [String](TopLevel.String.md)
+ - : Returns the Pinterest GTIN of the product.
+
+
+---
+
+### imageLinks
+- imageLinks: [List](dw.util.List.md)
+ - : Returns a list containing the URLs of the image to show in Pinterest for the product.
+
+
+---
+
+### itemGroupID
+- itemGroupID: [String](TopLevel.String.md)
+ - : Returns the ID of the Pinterest item group for the product, that is, its master product.
+
+
+---
+
+### itemGroupLink
+- itemGroupLink: [URL](dw.web.URL.md)
+ - : Returns the URL of the Pinterest item group for the product, that is, the link to its master product in the
+ Demandware storefront.
+
+
+
+---
+
+### link
+- link: [URL](dw.web.URL.md)
+ - : Returns the URL of the Demandware storefront link to the product.
+
+
+---
+
+### maxPrice
+- maxPrice: [Money](dw.value.Money.md)
+ - : Returns the maximum price to show in Pinterest for the product.
+
+
+---
+
+### minPrice
+- minPrice: [Money](dw.value.Money.md)
+ - : Returns the minimum price to show in Pinterest for the product.
+
+
+---
+
+### price
+- price: [Money](dw.value.Money.md)
+ - : Returns the price to show in Pinterest for the product.
+
+
+---
+
+### productCategory
+- productCategory: [String](TopLevel.String.md)
+ - : Returns the Pinterest category path of the product.
+
+
+---
+
+### returnPolicy
+- returnPolicy: [String](TopLevel.String.md)
+ - : Returns the Pinterest return policy of the product.
+
+
+---
+
+### size
+- size: [String](TopLevel.String.md)
+ - : Returns the Pinterest size value label of the product.
+
+
+---
+
+### title
+- title: [String](TopLevel.String.md)
+ - : Returns the Pinterest title of the product.
+
+
+---
+
+## Method Details
+
+### getAvailability()
+- getAvailability(): [String](TopLevel.String.md)
+ - : Returns the availability of the Pinterest product. Possible values are
+ [AVAILABILITY_IN_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_in_stock) or
+ [AVAILABILITY_OUT_OF_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_out_of_stock).
+
+
+
+---
+
+### getBrand()
+- getBrand(): [String](TopLevel.String.md)
+ - : Returns the Pinterest brand of the product.
+
+
+---
+
+### getColor()
+- getColor(): [String](TopLevel.String.md)
+ - : Returns the Pinterest color value label of the product.
+
+
+---
+
+### getColorHex()
+- getColorHex(): [String](TopLevel.String.md)
+ - : Returns the Pinterest color hex value of the product.
+
+
+---
+
+### getColorImage()
+- getColorImage(): [URL](dw.web.URL.md)
+ - : Returns the URL of the image to show in Pinterest for the product color (swatch).
+
+
+---
+
+### getCondition()
+- getCondition(): [String](TopLevel.String.md)
+ - : Returns the condition of the Pinterest product. Possible values are
+ [CONDITION_NEW](dw.extensions.pinterest.PinterestProduct.md#condition_new),
+ [CONDITION_REFURBISHED](dw.extensions.pinterest.PinterestProduct.md#condition_refurbished), or
+ [CONDITION_USED](dw.extensions.pinterest.PinterestProduct.md#condition_used).
+
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the Pinterest description of the product.
+
+
+---
+
+### getGoogleProductCategory()
+- getGoogleProductCategory(): [String](TopLevel.String.md)
+ - : Returns the category of this product in the Google category taxonomy.
+
+
+---
+
+### getGtin()
+- getGtin(): [String](TopLevel.String.md)
+ - : Returns the Pinterest GTIN of the product.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the Pinterest product. This is the same as the ID of the Demandware product.
+
+ **Returns:**
+ - product ID
+
+
+---
+
+### getImageLinks()
+- getImageLinks(): [List](dw.util.List.md)
+ - : Returns a list containing the URLs of the image to show in Pinterest for the product.
+
+
+---
+
+### getItemGroupID()
+- getItemGroupID(): [String](TopLevel.String.md)
+ - : Returns the ID of the Pinterest item group for the product, that is, its master product.
+
+
+---
+
+### getItemGroupLink()
+- getItemGroupLink(): [URL](dw.web.URL.md)
+ - : Returns the URL of the Pinterest item group for the product, that is, the link to its master product in the
+ Demandware storefront.
+
+
+
+---
+
+### getLink()
+- getLink(): [URL](dw.web.URL.md)
+ - : Returns the URL of the Demandware storefront link to the product.
+
+
+---
+
+### getMaxPrice()
+- getMaxPrice(): [Money](dw.value.Money.md)
+ - : Returns the maximum price to show in Pinterest for the product.
+
+
+---
+
+### getMinPrice()
+- getMinPrice(): [Money](dw.value.Money.md)
+ - : Returns the minimum price to show in Pinterest for the product.
+
+
+---
+
+### getPrice()
+- getPrice(): [Money](dw.value.Money.md)
+ - : Returns the price to show in Pinterest for the product.
+
+
+---
+
+### getProductCategory()
+- getProductCategory(): [String](TopLevel.String.md)
+ - : Returns the Pinterest category path of the product.
+
+
+---
+
+### getReturnPolicy()
+- getReturnPolicy(): [String](TopLevel.String.md)
+ - : Returns the Pinterest return policy of the product.
+
+
+---
+
+### getSize()
+- getSize(): [String](TopLevel.String.md)
+ - : Returns the Pinterest size value label of the product.
+
+
+---
+
+### getTitle()
+- getTitle(): [String](TopLevel.String.md)
+ - : Returns the Pinterest title of the product.
+
+
+---
+
+### setAvailability(String)
+- setAvailability(availability: [String](TopLevel.String.md)): void
+ - : Sets the availability of the Pinterest product. Possible values are
+ [AVAILABILITY_IN_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_in_stock) or
+ [AVAILABILITY_OUT_OF_STOCK](dw.extensions.pinterest.PinterestProduct.md#availability_out_of_stock).
+
+
+ **Parameters:**
+ - availability - the availability status to set for this product
+
+
+---
+
+### setBrand(String)
+- setBrand(brand: [String](TopLevel.String.md)): void
+ - : Sets the Pinterest brand of the product.
+
+ **Parameters:**
+ - brand - Pinterest brand
+
+
+---
+
+### setColor(String)
+- setColor(color: [String](TopLevel.String.md)): void
+ - : Sets the Pinterest color value label of the product.
+
+ **Parameters:**
+ - color - Pinterest color value label
+
+
+---
+
+### setColorHex(String)
+- setColorHex(colorHex: [String](TopLevel.String.md)): void
+ - : Sets the Pinterest color hex value of the product.
+
+ **Parameters:**
+ - colorHex - Pinterest color hex value
+
+
+---
+
+### setColorImage(URL)
+- setColorImage(colorImage: [URL](dw.web.URL.md)): void
+ - : Sets the URL of the image to show in Pinterest for the product color (swatch).
+
+ **Parameters:**
+ - colorImage - link to Pinterest color image
+
+
+---
+
+### setCondition(String)
+- setCondition(condition: [String](TopLevel.String.md)): void
+ - : Sets the condition of the Pinterest product. Possible values are
+ [CONDITION_NEW](dw.extensions.pinterest.PinterestProduct.md#condition_new),
+ [CONDITION_REFURBISHED](dw.extensions.pinterest.PinterestProduct.md#condition_refurbished), or
+ [CONDITION_USED](dw.extensions.pinterest.PinterestProduct.md#condition_used).
+
+
+ **Parameters:**
+ - condition - the condition status to set for this product
+
+
+---
+
+### setDescription(String)
+- setDescription(description: [String](TopLevel.String.md)): void
+ - : Sets the Pinterest description of the product.
+
+ **Parameters:**
+ - description - Pinterest description
+
+
+---
+
+### setGoogleProductCategory(String)
+- setGoogleProductCategory(googleProductCategory: [String](TopLevel.String.md)): void
+ - : Sets the category of this product in the Google category taxonomy.
+
+ **Parameters:**
+ - googleProductCategory - Google product category
+
+
+---
+
+### setGtin(String)
+- setGtin(gtin: [String](TopLevel.String.md)): void
+ - : Sets the Pinterest GTIN of the product.
+
+ **Parameters:**
+ - gtin - Pinterest GTIN
+
+
+---
+
+### setImageLinks(List)
+- setImageLinks(imageLinks: [List](dw.util.List.md)): void
+ - : Sets the list of URLs of images to show in Pinterest for the product.
+
+ **Parameters:**
+ - imageLinks - links to the product images
+
+
+---
+
+### setItemGroupID(String)
+- setItemGroupID(itemGroupID: [String](TopLevel.String.md)): void
+ - : Sets the ID of the Pinterest item group for the product, that is, its master product.
+
+ **Parameters:**
+ - itemGroupID - ID of Pinterest item group
+
+
+---
+
+### setItemGroupLink(URL)
+- setItemGroupLink(itemGroupLink: [URL](dw.web.URL.md)): void
+ - : Sets the URL of the Pinterest item group for the product, that is, the link to its master product in the
+ Demandware storefront.
+
+
+ **Parameters:**
+ - itemGroupLink - link to the Pinterest item group
+
+
+---
+
+### setLink(URL)
+- setLink(link: [URL](dw.web.URL.md)): void
+ - : Sets the URL of the Demandware storefront link to the product.
+
+ **Parameters:**
+ - link - Demandware storefront link to the product
+
+
+---
+
+### setMaxPrice(Money)
+- setMaxPrice(maxPrice: [Money](dw.value.Money.md)): void
+ - : Sets the maximum price to show in Pinterest for the product.
+
+ **Parameters:**
+ - maxPrice - Pinterest maximum price
+
+
+---
+
+### setMinPrice(Money)
+- setMinPrice(minPrice: [Money](dw.value.Money.md)): void
+ - : Sets the minimum price to show in Pinterest for the product.
+
+ **Parameters:**
+ - minPrice - Pinterest minimum price
+
+
+---
+
+### setPrice(Money)
+- setPrice(price: [Money](dw.value.Money.md)): void
+ - : Sets the price to show in Pinterest for the product.
+
+ **Parameters:**
+ - price - Pinterest price
+
+
+---
+
+### setProductCategory(String)
+- setProductCategory(productCategory: [String](TopLevel.String.md)): void
+ - : Sets the Pinterest category path of the product.
+
+ **Parameters:**
+ - productCategory - Pinterest category path
+
+
+---
+
+### setReturnPolicy(String)
+- setReturnPolicy(returnPolicy: [String](TopLevel.String.md)): void
+ - : Sets the Pinterest return policy of the product.
+
+ **Parameters:**
+ - returnPolicy - Pinterest return policy
+
+
+---
+
+### setSize(String)
+- setSize(size: [String](TopLevel.String.md)): void
+ - : Sets the Pinterest size value label of the product.
+
+ **Parameters:**
+ - size - Pinterest size value label
+
+
+---
+
+### setTitle(String)
+- setTitle(title: [String](TopLevel.String.md)): void
+ - : Sets the Pinterest title of the product.
+
+ **Parameters:**
+ - title - Pinterest title
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.md b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.md
new file mode 100644
index 00000000..7853cdab
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.extensions.pinterest.md
@@ -0,0 +1,10 @@
+# Package dw.extensions.pinterest
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [PinterestAvailability](dw.extensions.pinterest.PinterestAvailability.md) | Represents a row in the Pinterest availability feed export file. |
+| [PinterestFeedHooks](dw.extensions.pinterest.PinterestFeedHooks.md) | PinterestFeedHooks interface containing extension points for customizing Pinterest export feeds. |
+| [PinterestOrder](dw.extensions.pinterest.PinterestOrder.md) | An order that was placed through Pinterest. |
+| [PinterestOrderHooks](dw.extensions.pinterest.PinterestOrderHooks.md) | PinterestOrderHooks interface containing extension points for customizing Pinterest order status. |
+| [PinterestProduct](dw.extensions.pinterest.PinterestProduct.md) | Represents a row in the Pinterest catalog feed export. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.CSVStreamReader.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.CSVStreamReader.md
new file mode 100644
index 00000000..69305b15
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.CSVStreamReader.md
@@ -0,0 +1,128 @@
+
+# Class CSVStreamReader
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.CSVStreamReader](dw.io.CSVStreamReader.md)
+
+The class supports reading a CSV file. The reader supports handling CSV
+entries where the separator is contained in quotes and also CSV entries where
+a quoted entry contains newline characters.
+
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [CSVStreamReader](#csvstreamreaderreader)([Reader](dw.io.Reader.md)) | Creates a new CSVReader with a ',' as separator character and a '"' as quote character. |
+| [CSVStreamReader](#csvstreamreaderreader-string)([Reader](dw.io.Reader.md), [String](TopLevel.String.md)) | Creates a new CSVReader with the specified separator character and a '"' as quote character. |
+| [CSVStreamReader](#csvstreamreaderreader-string-string)([Reader](dw.io.Reader.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Creates a new CSVReader with the specified separator character and the specified quote character. |
+| [CSVStreamReader](#csvstreamreaderreader-string-string-number)([Reader](dw.io.Reader.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Number](TopLevel.Number.md)) | Creates a new CSVReader. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.CSVStreamReader.md#close)() | Closes the underlying reader. |
+| [readAll](dw.io.CSVStreamReader.md#readall)() | Returns a list of lines representing the entire CSV file. |
+| [readNext](dw.io.CSVStreamReader.md#readnext)() | Returns the next line from the input stream. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### CSVStreamReader(Reader)
+- CSVStreamReader(ioreader: [Reader](dw.io.Reader.md))
+ - : Creates a new CSVReader with a ',' as separator character and a '"' as
+ quote character. The reader doesn't skip any header lines.
+
+
+ **Parameters:**
+ - ioreader - the reader to use.
+
+
+---
+
+### CSVStreamReader(Reader, String)
+- CSVStreamReader(ioreader: [Reader](dw.io.Reader.md), separator: [String](TopLevel.String.md))
+ - : Creates a new CSVReader with the specified separator character and a '"'
+ as quote character. The reader doesn't skip any header lines.
+
+
+ **Parameters:**
+ - ioreader - the reader to use.
+ - separator - a string, which represents the separator character.
+
+
+---
+
+### CSVStreamReader(Reader, String, String)
+- CSVStreamReader(ioreader: [Reader](dw.io.Reader.md), separator: [String](TopLevel.String.md), quote: [String](TopLevel.String.md))
+ - : Creates a new CSVReader with the specified separator character and the
+ specified quote character. The reader doesn't skip any header lines.
+
+
+ **Parameters:**
+ - ioreader - the reader to use.
+ - separator - a string, which represents the separator character.
+ - quote - a string, which represents the quote character.
+
+
+---
+
+### CSVStreamReader(Reader, String, String, Number)
+- CSVStreamReader(ioreader: [Reader](dw.io.Reader.md), separator: [String](TopLevel.String.md), quote: [String](TopLevel.String.md), skip: [Number](TopLevel.Number.md))
+ - : Creates a new CSVReader. The separator character, the quote character and
+ the number of header lines can be specified in the call.
+
+
+ **Parameters:**
+ - ioreader - the reader to use.
+ - separator - a string, which represents the separator character.
+ - quote - a string, which represents the quote character.
+ - skip - the number of lines to skip at the beginning of the file.
+
+
+---
+
+## Method Details
+
+### close()
+- close(): void
+ - : Closes the underlying reader.
+
+
+---
+
+### readAll()
+- readAll(): [List](dw.util.List.md)
+ - : Returns a list of lines representing the entire CSV file. Each line is a
+ array of strings.
+
+
+ Using this method on large feeds is inherently unsafe and may lead to an
+ out-of-memory condition. Instead use method [readNext()](dw.io.CSVStreamReader.md#readnext) and
+ process entries line by line.
+
+
+ **Returns:**
+ - a list of lines representing the entire CSV file.
+
+
+---
+
+### readNext()
+- readNext(): [String\[\]](TopLevel.String.md)
+ - : Returns the next line from the input stream. The line is returned as an
+ array of strings. The method returns null if the end of the stream is
+ reached.
+
+
+ **Returns:**
+ - the next line from the input stream as an array of strings.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.CSVStreamWriter.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.CSVStreamWriter.md
new file mode 100644
index 00000000..7cc47f73
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.CSVStreamWriter.md
@@ -0,0 +1,92 @@
+
+# Class CSVStreamWriter
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.CSVStreamWriter](dw.io.CSVStreamWriter.md)
+
+The class writes a CSV file.
+
+
+**Note:** when this class is used with sensitive data, be careful in persisting sensitive information to disk.
+
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [CSVStreamWriter](#csvstreamwriterwriter)([Writer](dw.io.Writer.md)) | Create a new CSVStreamWriter with a ',' as separator and '"' as quote character. |
+| [CSVStreamWriter](#csvstreamwriterwriter-string)([Writer](dw.io.Writer.md), [String](TopLevel.String.md)) | Create a new CSVStreamWriter with the specified separator and '"' as quote character. |
+| [CSVStreamWriter](#csvstreamwriterwriter-string-string)([Writer](dw.io.Writer.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Create a new CSVStreamWriter with the specified separator and the specified quote character. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.CSVStreamWriter.md#close)() | Closes the underlying writer. |
+| [writeNext](dw.io.CSVStreamWriter.md#writenextstring)([String...](TopLevel.String.md)) | Write a single line to the CSV file. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### CSVStreamWriter(Writer)
+- CSVStreamWriter(writer: [Writer](dw.io.Writer.md))
+ - : Create a new CSVStreamWriter with a ',' as separator and '"'
+ as quote character.
+
+
+ **Parameters:**
+ - writer - the writer to use.
+
+
+---
+
+### CSVStreamWriter(Writer, String)
+- CSVStreamWriter(writer: [Writer](dw.io.Writer.md), separator: [String](TopLevel.String.md))
+ - : Create a new CSVStreamWriter with the specified separator and '"'
+ as quote character.
+
+
+ **Parameters:**
+ - writer - the writer to use.
+ - separator - the separator to use.
+
+
+---
+
+### CSVStreamWriter(Writer, String, String)
+- CSVStreamWriter(writer: [Writer](dw.io.Writer.md), separator: [String](TopLevel.String.md), quote: [String](TopLevel.String.md))
+ - : Create a new CSVStreamWriter with the specified separator and the
+ specified quote character.
+
+
+ **Parameters:**
+ - writer - the writer to use.
+ - separator - the separator to use.
+ - quote - the quote to use.
+
+
+---
+
+## Method Details
+
+### close()
+- close(): void
+ - : Closes the underlying writer.
+
+
+---
+
+### writeNext(String...)
+- writeNext(line: [String...](TopLevel.String.md)): void
+ - : Write a single line to the CSV file.
+
+ **Parameters:**
+ - line - an array of strings.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.File.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.File.md
new file mode 100644
index 00000000..83a07d6b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.File.md
@@ -0,0 +1,729 @@
+
+# Class File
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.File](dw.io.File.md)
+
+Represents a file resource accessible from scripting. As with
+`java.io.File`, a `File` is essentially an
+"abstract pathname" which may or may not denote an actual file on the file
+system. Methods `createNewFile`,
+`mkdir`, `mkdirs`, and `remove` are provided
+to actually manipulate physical files.
+
+
+File access is limited to certain virtual directories. These directories are
+a subset of those accessible through WebDAV. As a result of this
+restriction, pathnames must be one of the following forms:
+
+
+
+- `/TEMP(/...)`
+- `/IMPEX(/...)`
+- `/REALMDATA(/...)`
+- `/CATALOGS/[Catalog Name](/...)`
+- `/LIBRARIES/[Library Name](/...)`
+
+
+Note, that these paths are analogous to the WebDAV URIs used to access the
+same directories.
+
+
+The files are stored in a shared file system where multiple processes could
+access the same file. The programmer has to make sure no more than one process
+writes to a file at a given time.
+
+
+
+This class provides other useful methods for listing the
+children of a directory and for working with zip files.
+
+
+**Note:** when this class is used with sensitive data, be careful in persisting sensitive information.
+
+
+For performance reasons no more than 100,000 files (regular files and directories) should be stored in a
+directory.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [CATALOGS](#catalogs): [String](TopLevel.String.md) = "CATALOGS" | Catalogs root directory. |
+| [CUSTOMERPI](#customerpi): [String](TopLevel.String.md) = "CUSTOMERPI" | Customer Payment Instrument root directory. |
+| [CUSTOMER_SNAPSHOTS](#customer_snapshots): [String](TopLevel.String.md) = "CUSTOMERSNAPSHOTS" | Customer snapshots root directory. |
+| [DYNAMIC](#dynamic): [String](TopLevel.String.md) = "DYNAMIC" | Reserved for future use. |
+| [IMPEX](#impex): [String](TopLevel.String.md) = "IMPEX" | Import/export root directory. |
+| [LIBRARIES](#libraries): [String](TopLevel.String.md) = "LIBRARIES" | Libraries root directory. |
+| ~~[REALMDATA](#realmdata): [String](TopLevel.String.md) = "REALMDATA"~~ | RealmData root directory. |
+| [SEPARATOR](#separator): [String](TopLevel.String.md) = "/" | The UNIX style '/' path separator, which must be used for files paths. |
+| [STATIC](#static): [String](TopLevel.String.md) = "STATIC" | Static content root directory. |
+| [TEMP](#temp): [String](TopLevel.String.md) = "TEMP" | Temp root directory. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [directory](#directory): [Boolean](TopLevel.Boolean.md) `(read-only)` | Indicates that this file is a directory. |
+| [file](#file): [Boolean](TopLevel.Boolean.md) `(read-only)` | Indicates if this file is a file. |
+| [fullPath](#fullpath): [String](TopLevel.String.md) `(read-only)` | Return the full file path denoted by this `File`. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of the file or directory denoted by this object. |
+| ~~[path](#path): [String](TopLevel.String.md)~~ `(read-only)` | Returns the portion of the path relative to the root directory. |
+| [rootDirectoryType](#rootdirectorytype): [String](TopLevel.String.md) `(read-only)` | Returns the root directory type, e.g. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [File](#filestring)([String](TopLevel.String.md)) | Creates a `File` from the given absolute file path in the file namespace. |
+| [File](#filefile-string)([File](dw.io.File.md), [String](TopLevel.String.md)) | Creates a `File` given a root directory and a relative path. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [copyTo](dw.io.File.md#copytofile)([File](dw.io.File.md)) | Copy a file. |
+| [createNewFile](dw.io.File.md#createnewfile)() | Create file. |
+| [exists](dw.io.File.md#exists)() | Indicates if the file exists. |
+| [getFullPath](dw.io.File.md#getfullpath)() | Return the full file path denoted by this `File`. |
+| [getName](dw.io.File.md#getname)() | Returns the name of the file or directory denoted by this object. |
+| ~~[getPath](dw.io.File.md#getpath)()~~ | Returns the portion of the path relative to the root directory. |
+| static [getRootDirectory](dw.io.File.md#getrootdirectorystring-string)([String](TopLevel.String.md), [String...](TopLevel.String.md)) | Returns a `File` representing a directory for the specified root directory type. |
+| [getRootDirectoryType](dw.io.File.md#getrootdirectorytype)() | Returns the root directory type, e.g. |
+| [gunzip](dw.io.File.md#gunzipfile)([File](dw.io.File.md)) | Assumes this instance is a gzip file. |
+| [gzip](dw.io.File.md#gzipfile)([File](dw.io.File.md)) | GZip this instance into a new gzip file. |
+| [isDirectory](dw.io.File.md#isdirectory)() | Indicates that this file is a directory. |
+| [isFile](dw.io.File.md#isfile)() | Indicates if this file is a file. |
+| [lastModified](dw.io.File.md#lastmodified)() | Return the time, in milliseconds, that this file was last modified. |
+| [length](dw.io.File.md#length)() | Return the length of the file in bytes. |
+| [list](dw.io.File.md#list)() | Returns an array of strings naming the files and directories in the directory denoted by this object. |
+| [listFiles](dw.io.File.md#listfiles)() | Returns an array of `File` objects in the directory denoted by this `File`. |
+| [listFiles](dw.io.File.md#listfilesfunction)([Function](TopLevel.Function.md)) | Returns an array of `File` objects denoting the files and directories in the directory denoted by this object that satisfy the specified filter. |
+| [md5](dw.io.File.md#md5)() | Returns an MD5 hash of the content of the file of this instance. |
+| [mkdir](dw.io.File.md#mkdir)() | Creates a directory. |
+| [mkdirs](dw.io.File.md#mkdirs)() | Creates a directory, including, its parent directories, as needed. |
+| [remove](dw.io.File.md#remove)() | Deletes the file or directory denoted by this object. |
+| [renameTo](dw.io.File.md#renametofile)([File](dw.io.File.md)) | Rename file. |
+| [unzip](dw.io.File.md#unzipfile)([File](dw.io.File.md)) | Assumes this instance is a zip file. |
+| [zip](dw.io.File.md#zipfile)([File](dw.io.File.md)) | Zip this instance into a new zip file. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### CATALOGS
+
+- CATALOGS: [String](TopLevel.String.md) = "CATALOGS"
+ - : Catalogs root directory.
+
+
+---
+
+### CUSTOMERPI
+
+- CUSTOMERPI: [String](TopLevel.String.md) = "CUSTOMERPI"
+ - : Customer Payment Instrument root directory.
+
+
+---
+
+### CUSTOMER_SNAPSHOTS
+
+- CUSTOMER_SNAPSHOTS: [String](TopLevel.String.md) = "CUSTOMERSNAPSHOTS"
+ - : Customer snapshots root directory.
+
+
+---
+
+### DYNAMIC
+
+- DYNAMIC: [String](TopLevel.String.md) = "DYNAMIC"
+ - : Reserved for future use.
+
+
+---
+
+### IMPEX
+
+- IMPEX: [String](TopLevel.String.md) = "IMPEX"
+ - : Import/export root directory.
+
+
+---
+
+### LIBRARIES
+
+- LIBRARIES: [String](TopLevel.String.md) = "LIBRARIES"
+ - : Libraries root directory.
+
+
+---
+
+### REALMDATA
+
+- ~~REALMDATA: [String](TopLevel.String.md) = "REALMDATA"~~
+ - : RealmData root directory.
+
+ **Deprecated:**
+:::warning
+Folder to be removed.
+:::
+
+---
+
+### SEPARATOR
+
+- SEPARATOR: [String](TopLevel.String.md) = "/"
+ - : The UNIX style '/' path separator, which must be used for files paths.
+
+
+---
+
+### STATIC
+
+- STATIC: [String](TopLevel.String.md) = "STATIC"
+ - : Static content root directory.
+
+
+---
+
+### TEMP
+
+- TEMP: [String](TopLevel.String.md) = "TEMP"
+ - : Temp root directory.
+
+
+---
+
+## Property Details
+
+### directory
+- directory: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Indicates that this file is a directory.
+
+
+---
+
+### file
+- file: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Indicates if this file is a file.
+
+
+---
+
+### fullPath
+- fullPath: [String](TopLevel.String.md) `(read-only)`
+ - : Return the full file path denoted by this `File`.
+ This value will be the same regardless of which constructor was
+ used to create this `File`.
+
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the file or directory denoted by this object. This is
+ just the last name in the pathname's name sequence. If the pathname's
+ name sequence is empty, then the empty string is returned.
+
+
+
+---
+
+### path
+- ~~path: [String](TopLevel.String.md)~~ `(read-only)`
+ - : Returns the portion of the path relative to the root directory.
+
+ **Deprecated:**
+:::warning
+Use [getFullPath()](dw.io.File.md#getfullpath) to access the full path.
+ This method does not return the correct path for files
+ in the CATALOGS or LIBRARIES virtual directories.
+
+:::
+
+---
+
+### rootDirectoryType
+- rootDirectoryType: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the root directory type, e.g. "IMPEX" represented by this
+ `File`.
+
+
+
+---
+
+## Constructor Details
+
+### File(String)
+- File(absPath: [String](TopLevel.String.md))
+ - : Creates a `File` from the given absolute file path in the
+ file namespace. If the specified path is not a valid accessible path,
+ an exception will be thrown.
+
+
+ The passed path should use the forward slash '/' as the path
+ separator and begin with a leading slash. However, if a leading slash
+ is not provided, or the backslash character is used as the separator,
+ these problems will be fixed. The normalized value will then be returned
+ by [getFullPath()](dw.io.File.md#getfullpath).
+
+
+ **Parameters:**
+ - absPath - the absolute file path throws IOException
+
+
+---
+
+### File(File, String)
+- File(rootDir: [File](dw.io.File.md), relPath: [String](TopLevel.String.md))
+ - : Creates a `File` given a root directory and a relative path.
+
+ **Parameters:**
+ - rootDir - File object representing root directory
+ - relPath - relative file path
+
+
+---
+
+## Method Details
+
+### copyTo(File)
+- copyTo(file: [File](dw.io.File.md)): [File](dw.io.File.md)
+ - : Copy a file. Directories cannot be copied. This method cannot be used from storefront requests.
+
+ **Parameters:**
+ - file - the File object to copy to
+
+ **Returns:**
+ - a reference to the copied file.
+
+ **Throws:**
+ - IOException - if there is an interruption during file copy.
+ - FileAlreadyExistsException - if the file to copy to already exists
+ - UnsupportedOperationException - if invoked from a storefront request
+
+
+---
+
+### createNewFile()
+- createNewFile(): [Boolean](TopLevel.Boolean.md)
+ - : Create file.
+
+ **Returns:**
+ - boolean, true - if file has been created, false - file already exists
+
+ **Throws:**
+ - Exception -
+
+
+---
+
+### exists()
+- exists(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if the file exists.
+
+ **Returns:**
+ - true if file exists, false otherwise.
+
+
+---
+
+### getFullPath()
+- getFullPath(): [String](TopLevel.String.md)
+ - : Return the full file path denoted by this `File`.
+ This value will be the same regardless of which constructor was
+ used to create this `File`.
+
+
+ **Returns:**
+ - the full file path.
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of the file or directory denoted by this object. This is
+ just the last name in the pathname's name sequence. If the pathname's
+ name sequence is empty, then the empty string is returned.
+
+
+ **Returns:**
+ - The name of the file or directory denoted by this object.
+
+
+---
+
+### getPath()
+- ~~getPath(): [String](TopLevel.String.md)~~
+ - : Returns the portion of the path relative to the root directory.
+
+ **Returns:**
+ - the relative file path, possibly blank but not null.
+
+ **Deprecated:**
+:::warning
+Use [getFullPath()](dw.io.File.md#getfullpath) to access the full path.
+ This method does not return the correct path for files
+ in the CATALOGS or LIBRARIES virtual directories.
+
+:::
+
+---
+
+### getRootDirectory(String, String...)
+- static getRootDirectory(rootDir: [String](TopLevel.String.md), args: [String...](TopLevel.String.md)): [File](dw.io.File.md)
+ - : Returns a `File` representing a directory for the specified
+ root directory type. If the root directory
+ type is CATALOGS or LIBRARIES, then an additional argument representing
+ the specific catalog or library must be provided. Otherwise, no
+ additional arguments are needed.
+
+
+ **Parameters:**
+ - rootDir - root directory type (see the constants defined in this class)
+ - args - root directory specific arguments
+
+ **Returns:**
+ - File object representing the directory
+
+
+---
+
+### getRootDirectoryType()
+- getRootDirectoryType(): [String](TopLevel.String.md)
+ - : Returns the root directory type, e.g. "IMPEX" represented by this
+ `File`.
+
+
+ **Returns:**
+ - root directory type
+
+
+---
+
+### gunzip(File)
+- gunzip(root: [File](dw.io.File.md)): void
+ - : Assumes this instance is a gzip file. Unzipping it will
+ explode the contents in the directory passed in (root).
+
+
+ **Parameters:**
+ - root - a File indicating root. root must be a directory.
+
+ **Throws:**
+ - Exception - if the zip files contents can't be exploded.
+
+
+---
+
+### gzip(File)
+- gzip(outputZipFile: [File](dw.io.File.md)): void
+ - : GZip this instance into a new gzip file. If you're zipping a file, then a single entry, the instance,
+ is included in the output gzip file. Note that a new File is created. GZipping directories is not supported.
+ This file is never modified.
+
+
+ **Parameters:**
+ - outputZipFile - the zip file created.
+
+ **Throws:**
+ - IOException - if the zip file can't be created.
+
+
+---
+
+### isDirectory()
+- isDirectory(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates that this file is a directory.
+
+ **Returns:**
+ - true if the file is a directory, false otherwise.
+
+
+---
+
+### isFile()
+- isFile(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if this file is a file.
+
+ **Returns:**
+ - true if the file is a file, false otherwise.
+
+
+---
+
+### lastModified()
+- lastModified(): [Number](TopLevel.Number.md)
+ - : Return the time, in milliseconds, that this file was last modified.
+
+ **Returns:**
+ - the time, in milliseconds, that this file was last modified.
+
+
+---
+
+### length()
+- length(): [Number](TopLevel.Number.md)
+ - : Return the length of the file in bytes.
+
+ **Returns:**
+ - the file length in bytes.
+
+
+---
+
+### list()
+- list(): [String\[\]](TopLevel.String.md)
+ - : Returns an array of strings naming the files and directories in the
+ directory denoted by this object.
+
+
+
+ If this object does not denote a directory, then this method returns
+ `null`. Otherwise an array of strings is returned, one for
+ each file or directory in the directory. Names denoting the directory
+ itself and the directory's parent directory are not included in the
+ result. Each string is a file name rather than a complete path.
+
+
+
+ There is no guarantee that the name strings in the resulting array will
+ appear in any specific order; they are not, in particular, guaranteed to
+ appear in alphabetical order.
+
+
+ **Returns:**
+ - An array of strings naming the files and directories in the
+ directory denoted by this `File`. The array will be
+ empty if the directory is empty. Returns `null` if
+ this `File` does not denote a directory.
+
+
+
+---
+
+### listFiles()
+- listFiles(): [List](dw.util.List.md)
+ - : Returns an array of `File` objects in the directory denoted
+ by this `File`.
+
+
+
+ If this `File` does not denote a directory, then this method
+ returns `null`. Otherwise an array of `File`
+ objects is returned, one for each file or directory in the directory.
+ Files denoting the directory itself and the directory's parent directory
+ are not included in the result.
+
+
+
+ There is no guarantee that the files in the resulting array will appear
+ in any specific order; they are not, in particular, guaranteed to appear
+ in alphabetical order. Example usage:
+
+
+
+ `
+ // Assume "foo" is an accessible directory.
+
+ var this_directory : dw.io.File = new File("foo");
+
+
+
+ // Find all files in directory foo, one level "down".
+
+ // listFiles() will _not_ traverse subdirectories.
+
+ var folder : dw.util.List = this_directory.listFiles();
+
+ var first_element : dw.io.File = folder[0];
+
+
+
+ function modification_comparison(lhs : File, rhs : File)
+
+ {
+
+ return lhs.lastModified() < rhs.lastModified();
+
+ }
+
+
+
+ function lexigraphic_comparison(lhs: File, rhs : File)
+
+ {
+
+ return lhs.getName() < rhs.getName();
+
+ }
+
+
+
+ var time_ordered_folder : dw.util.ArrayList = folder.sort(modification_comparison);
+
+ var alphabetic_folder : dw.util.ArrayList = folder.sort(lexigraphic_comparison);
+
+ `
+
+
+ **Returns:**
+ - a list of `File` objects or `null` if
+ this is not a directory.
+
+
+
+---
+
+### listFiles(Function)
+- listFiles(filter: [Function](TopLevel.Function.md)): [List](dw.util.List.md)
+ - : Returns an array of `File` objects denoting the files and
+ directories in the directory denoted by this object that satisfy the
+ specified filter. The behavior of this method is the same as that of the
+ `[listFiles()](dw.io.File.md#listfiles)` method, except that the files in the
+ returned array must satisfy the filter. The filter is a Javascript
+ function which accepts one argument, a `File`, and returns
+ true or false depending on whether the file meets the filter conditions.
+ If the given `filter` is `null` then all files
+ are accepted. Otherwise, a file satisfies the filter if and only if the
+ filter returns `true`. Example usage:
+
+
+
+ `
+ // Assume "foo" is an accessible directory.
+
+ var this_directory : dw.io.File = new File("foo");
+
+
+
+ function longer_than_3(candidate : dw.io.File)
+
+ {
+
+ return candidate.getName().length > 3;
+
+ }
+
+
+
+ // Find all files in directory foo, one level "down",
+
+ // such that the filename is longer than 3 characters.
+
+ var folder_long_names : dw.util.List = this_directory.listFiles(longer_than_3);
+
+ `
+
+
+ **Parameters:**
+ - filter - a Javascript function which accepts a `File` argument and returns `true` or `false`.
+
+ **Returns:**
+ - list of `File` objects or `null` if
+ this is not a directory
+
+
+
+---
+
+### md5()
+- md5(): [String](TopLevel.String.md)
+ - : Returns an MD5 hash of the content of the file of this instance.
+
+ **Returns:**
+ - The MD5 hash of the file's content.
+
+ **Throws:**
+ - Exception - if the file could not be read or is a directory.
+
+
+---
+
+### mkdir()
+- mkdir(): [Boolean](TopLevel.Boolean.md)
+ - : Creates a directory.
+
+ **Returns:**
+ - true if file creation succeeded, false otherwise.
+
+
+---
+
+### mkdirs()
+- mkdirs(): [Boolean](TopLevel.Boolean.md)
+ - : Creates a directory, including, its parent directories, as needed.
+
+ **Returns:**
+ - true if file creation succeeded, false otherwise.
+
+
+---
+
+### remove()
+- remove(): [Boolean](TopLevel.Boolean.md)
+ - : Deletes the file or directory denoted by this object. If this File
+ represents a directory, then the directory must be empty in order to be
+ deleted.
+
+
+ **Returns:**
+ - true if file deletion succeeded, false otherwise
+
+
+---
+
+### renameTo(File)
+- renameTo(file: [File](dw.io.File.md)): [Boolean](TopLevel.Boolean.md)
+ - : Rename file.
+
+ **Parameters:**
+ - file - the File object to rename to
+
+ **Returns:**
+ - boolean, true - if file rename succeeded, false - failed
+
+
+---
+
+### unzip(File)
+- unzip(root: [File](dw.io.File.md)): void
+ - : Assumes this instance is a zip file. Unzipping it will
+ explode the contents in the directory passed in (root).
+
+
+ **Parameters:**
+ - root - a File indicating root. root must be a directory.
+
+ **Throws:**
+ - Exception - if the zip files contents can't be exploded.
+
+
+---
+
+### zip(File)
+- zip(outputZipFile: [File](dw.io.File.md)): void
+ - : Zip this instance into a new zip file. If you're zipping a directory,
+ the directory itself and all its children files to any level (any number of subdirectories)
+ are included in the zip file. The directory will be the only entry in the archive (single root).
+ If you're zipping a file, then a single entry, the instance,
+ is included in the output zip file. Note that a new File is created.
+ This file is never modified.
+
+
+ **Parameters:**
+ - outputZipFile - the zip file created.
+
+ **Throws:**
+ - IOException - if the zip file can't be created.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.FileReader.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.FileReader.md
new file mode 100644
index 00000000..e897f423
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.FileReader.md
@@ -0,0 +1,70 @@
+
+# Class FileReader
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.Reader](dw.io.Reader.md)
+ - [dw.io.FileReader](dw.io.FileReader.md)
+
+File reader class.
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [FileReader](#filereaderfile)([File](dw.io.File.md)) | Constructs the reader. |
+| [FileReader](#filereaderfile-string)([File](dw.io.File.md), [String](TopLevel.String.md)) | Constructs the reader. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.FileReader.md#close)() | Closes the reader. |
+
+### Methods inherited from class Reader
+
+[close](dw.io.Reader.md#close), [getLines](dw.io.Reader.md#getlines), [getString](dw.io.Reader.md#getstring), [read](dw.io.Reader.md#read), [read](dw.io.Reader.md#readnumber), [readLine](dw.io.Reader.md#readline), [readLines](dw.io.Reader.md#readlines), [readN](dw.io.Reader.md#readnnumber), [readString](dw.io.Reader.md#readstring), [ready](dw.io.Reader.md#ready), [skip](dw.io.Reader.md#skipnumber)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### FileReader(File)
+- FileReader(file: [File](dw.io.File.md))
+ - : Constructs the reader.
+
+
+ To release system resources, close the reader by calling [close()](dw.io.FileReader.md#close).
+
+
+ **Parameters:**
+ - file - the file object to read.
+
+
+---
+
+### FileReader(File, String)
+- FileReader(file: [File](dw.io.File.md), encoding: [String](TopLevel.String.md))
+ - : Constructs the reader.
+
+
+ To release system resources, close the reader by calling [close()](dw.io.FileReader.md#close).
+
+
+ **Parameters:**
+ - file - the file object to read.
+ - encoding - the character encoding to use.
+
+
+---
+
+## Method Details
+
+### close()
+- close(): void
+ - : Closes the reader.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.FileWriter.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.FileWriter.md
new file mode 100644
index 00000000..efdfd23f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.FileWriter.md
@@ -0,0 +1,159 @@
+
+# Class FileWriter
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.Writer](dw.io.Writer.md)
+ - [dw.io.FileWriter](dw.io.FileWriter.md)
+
+Convenience class for writing character files.
+
+
+Files are stored in a shared file system where multiple processes could
+access the same file. The client code is responsible for ensuring that no
+more than one process writes to a file at a given time.
+
+
+**Note:** when this class is used with sensitive data, be careful in persisting sensitive information to disk.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [lineSeparator](#lineseparator): [String](TopLevel.String.md) | Get the current line separator (e.g. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [FileWriter](#filewriterfile)([File](dw.io.File.md)) | Constructs the writer for the specified file. |
+| [FileWriter](#filewriterfile-boolean)([File](dw.io.File.md), [Boolean](TopLevel.Boolean.md)) | Constructs the writer for the specified file. |
+| [FileWriter](#filewriterfile-string)([File](dw.io.File.md), [String](TopLevel.String.md)) | Constructs the writer for the specified file with the specified encoding. |
+| [FileWriter](#filewriterfile-string-boolean)([File](dw.io.File.md), [String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md)) | Constructs the writer for the specified file with the specified encoding. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.FileWriter.md#close)() | Closes the writer. |
+| [getLineSeparator](dw.io.FileWriter.md#getlineseparator)() | Get the current line separator (e.g. |
+| [setLineSeparator](dw.io.FileWriter.md#setlineseparatorstring)([String](TopLevel.String.md)) | Set the line separator (e.g. |
+| [writeLine](dw.io.FileWriter.md#writelinestring)([String](TopLevel.String.md)) | Writes the specified line and appends the line separator. |
+
+### Methods inherited from class Writer
+
+[close](dw.io.Writer.md#close), [flush](dw.io.Writer.md#flush), [write](dw.io.Writer.md#writestring), [write](dw.io.Writer.md#writestring-number-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### lineSeparator
+- lineSeparator: [String](TopLevel.String.md)
+ - : Get the current line separator (e.g. '\n' or '\r\n'), if no value is set the system default '\n' will be used.
+
+
+---
+
+## Constructor Details
+
+### FileWriter(File)
+- FileWriter(file: [File](dw.io.File.md))
+ - : Constructs the writer for the specified file. Uses "UTF-8" as encoding.
+
+
+ To release system resources, close the writer by calling [close()](dw.io.FileWriter.md#close).
+
+
+ **Parameters:**
+ - file - the file object to write to.
+
+
+---
+
+### FileWriter(File, Boolean)
+- FileWriter(file: [File](dw.io.File.md), append: [Boolean](TopLevel.Boolean.md))
+ - : Constructs the writer for the specified file. Optional file append mode
+ is supported. Uses "UTF-8" as encoding.
+
+
+ To release system resources, close the writer by calling [close()](dw.io.FileWriter.md#close).
+
+
+ **Parameters:**
+ - file - the file object to write to.
+ - append - flag, whether the file should be written in append mode
+
+
+---
+
+### FileWriter(File, String)
+- FileWriter(file: [File](dw.io.File.md), encoding: [String](TopLevel.String.md))
+ - : Constructs the writer for the specified file with the specified encoding.
+
+
+ To release system resources, close the writer by calling [close()](dw.io.FileWriter.md#close).
+
+
+ **Parameters:**
+ - file - the file object to write to.
+ - encoding - the character encoding to use.
+
+
+---
+
+### FileWriter(File, String, Boolean)
+- FileWriter(file: [File](dw.io.File.md), encoding: [String](TopLevel.String.md), append: [Boolean](TopLevel.Boolean.md))
+ - : Constructs the writer for the specified file with the specified encoding.
+ Optional file append mode is supported.
+
+
+ To release system resources, close the writer by calling [close()](dw.io.FileWriter.md#close).
+
+
+ **Parameters:**
+ - file - the file object to write to.
+ - encoding - the character encoding to use.
+ - append - flag indicating whether the file should be written in append mode.
+
+
+---
+
+## Method Details
+
+### close()
+- close(): void
+ - : Closes the writer.
+
+
+---
+
+### getLineSeparator()
+- getLineSeparator(): [String](TopLevel.String.md)
+ - : Get the current line separator (e.g. '\n' or '\r\n'), if no value is set the system default '\n' will be used.
+
+
+---
+
+### setLineSeparator(String)
+- setLineSeparator(lineSeparator: [String](TopLevel.String.md)): void
+ - : Set the line separator (e.g. '\n' or '\r\n'), if no value is set the system default '\n' will be used.
+
+ **Parameters:**
+ - lineSeparator - that will be written at the end of each line
+
+
+---
+
+### writeLine(String)
+- writeLine(str: [String](TopLevel.String.md)): void
+ - : Writes the specified line and appends the line separator.
+
+ **Parameters:**
+ - str - the line to write to the file.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.InputStream.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.InputStream.md
new file mode 100644
index 00000000..03a1a0c5
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.InputStream.md
@@ -0,0 +1,35 @@
+
+# Class InputStream
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.InputStream](dw.io.InputStream.md)
+
+The class represent a stream of bytes that can be read from the
+application. The InputStream itself doesn't provide any methods
+to read the data. Instead the InputStream can be chained with
+other classes like a XMLStreamReader to read data.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.InputStream.md#close)() | Closes the input stream. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### close()
+- close(): void
+ - : Closes the input stream.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.OutputStream.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.OutputStream.md
new file mode 100644
index 00000000..9b2891ae
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.OutputStream.md
@@ -0,0 +1,38 @@
+
+# Class OutputStream
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.OutputStream](dw.io.OutputStream.md)
+
+The class represent a stream of bytes that can be written from the
+application. The OutputStream itself doesn't provide any methods
+to write the data. Instead the OutputStream can be chained with
+other classes like a XMLStreamWriter to write data.
+
+
+**Note:** when this class is used with sensitive data, be careful in persisting sensitive information to disk.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.OutputStream.md#close)() | Closes the output stream. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### close()
+- close(): void
+ - : Closes the output stream.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.PrintWriter.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.PrintWriter.md
new file mode 100644
index 00000000..53025152
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.PrintWriter.md
@@ -0,0 +1,66 @@
+
+# Class PrintWriter
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.Writer](dw.io.Writer.md)
+ - [dw.io.PrintWriter](dw.io.PrintWriter.md)
+
+Template output stream writer.
+
+Printwriter is available in the template scripting context and is used
+to write data into the template output stream. You cannot instantiate this class
+directly. Instead, the system assigns the object to variable named 'out' in the script context
+to be used by the template scripts.
+
+
+**Note:** when this class is used with sensitive data, be careful in persisting sensitive information to disk.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [print](dw.io.PrintWriter.md#printstring)([String](TopLevel.String.md)) | Prints the given string into the output stream. |
+| [println](dw.io.PrintWriter.md#println)() | Prints a line break into the output stream. |
+| [println](dw.io.PrintWriter.md#printlnstring)([String](TopLevel.String.md)) | Print the given string followed by a line break into the output stream. |
+
+### Methods inherited from class Writer
+
+[close](dw.io.Writer.md#close), [flush](dw.io.Writer.md#flush), [write](dw.io.Writer.md#writestring), [write](dw.io.Writer.md#writestring-number-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### print(String)
+- print(str: [String](TopLevel.String.md)): void
+ - : Prints the given string into the output stream.
+
+ **Parameters:**
+ - str - the String object
+
+
+---
+
+### println()
+- println(): void
+ - : Prints a line break into the output stream.
+
+
+---
+
+### println(String)
+- println(str: [String](TopLevel.String.md)): void
+ - : Print the given string followed by a line break into the output stream.
+
+ **Parameters:**
+ - str - the String object
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.RandomAccessFileReader.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.RandomAccessFileReader.md
new file mode 100644
index 00000000..f95f2164
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.RandomAccessFileReader.md
@@ -0,0 +1,183 @@
+
+# Class RandomAccessFileReader
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.RandomAccessFileReader](dw.io.RandomAccessFileReader.md)
+
+Instances of this class support reading from a random access file. A random
+access file behaves like a large array of bytes stored in the file system.
+There is a kind of cursor, or index into the implied array, called the file
+pointer. Read operations read bytes starting at the file pointer and advance
+the file pointer past the bytes read. The file pointer can be read by the
+getPosition method and set by the setPosition method.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [MAX_READ_BYTES](#max_read_bytes): [Number](TopLevel.Number.md) = 10240 | The maximum number of bytes that a single call to [readBytes(Number)](dw.io.RandomAccessFileReader.md#readbytesnumber) can return == 10KB |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [position](#position): [Number](TopLevel.Number.md) | Returns the current offset in this file. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [RandomAccessFileReader](#randomaccessfilereaderfile)([File](dw.io.File.md)) | Construct a reader for random read access to the provided file. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.RandomAccessFileReader.md#close)() | Closes this random access file reader and releases any system resources associated with the stream. |
+| [getPosition](dw.io.RandomAccessFileReader.md#getposition)() | Returns the current offset in this file. |
+| [length](dw.io.RandomAccessFileReader.md#length)() | Returns the length of this file. |
+| [readByte](dw.io.RandomAccessFileReader.md#readbyte)() | Reads a signed eight-bit value from the file starting from the current file pointer. |
+| [readBytes](dw.io.RandomAccessFileReader.md#readbytesnumber)([Number](TopLevel.Number.md)) | Reads up to n bytes from the file starting at the current file pointer. |
+| [setPosition](dw.io.RandomAccessFileReader.md#setpositionnumber)([Number](TopLevel.Number.md)) | Sets the file-pointer offset, measured from the beginning of this file, at which the next read occurs. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### MAX_READ_BYTES
+
+- MAX_READ_BYTES: [Number](TopLevel.Number.md) = 10240
+ - : The maximum number of bytes that a single call to [readBytes(Number)](dw.io.RandomAccessFileReader.md#readbytesnumber) can return == 10KB
+
+
+---
+
+## Property Details
+
+### position
+- position: [Number](TopLevel.Number.md)
+ - : Returns the current offset in this file.
+
+
+---
+
+## Constructor Details
+
+### RandomAccessFileReader(File)
+- RandomAccessFileReader(file: [File](dw.io.File.md))
+ - : Construct a reader for random read access to the provided file.
+
+
+ To release system resources, close the reader by calling [close()](dw.io.RandomAccessFileReader.md#close).
+
+
+ **Parameters:**
+ - file - The file to be read. Must not be null.
+
+ **Throws:**
+ - IOException - If the given file object does not denote an existing regular file
+
+
+---
+
+## Method Details
+
+### close()
+- close(): void
+ - : Closes this random access file reader and releases any system resources
+ associated with the stream.
+
+
+ **Throws:**
+ - IOException - if an I/O error occurs.
+
+
+---
+
+### getPosition()
+- getPosition(): [Number](TopLevel.Number.md)
+ - : Returns the current offset in this file.
+
+ **Returns:**
+ - the offset from the beginning of the file, in bytes, at which the
+ next read occurs.
+
+
+ **Throws:**
+ - IOException - if an I/O error occurs.
+
+
+---
+
+### length()
+- length(): [Number](TopLevel.Number.md)
+ - : Returns the length of this file.
+
+ **Returns:**
+ - the length of this file, measured in bytes.
+
+ **Throws:**
+ - IOException - if an I/O error occurs.
+
+
+---
+
+### readByte()
+- readByte(): [Number](TopLevel.Number.md)
+ - : Reads a signed eight-bit value from the file starting from the current
+ file pointer. Since the byte is interpreted as signed, the value returned
+ will always be between -128 and +127.
+
+
+ **Returns:**
+ - the next byte of this file as a signed eight-bit byte.
+
+ **Throws:**
+ - IOException - if an I/O error occurs or if this file has reached the end.
+
+
+---
+
+### readBytes(Number)
+- readBytes(numBytes: [Number](TopLevel.Number.md)): [Bytes](dw.util.Bytes.md)
+ - : Reads up to n bytes from the file starting at the current file pointer.
+ If there are fewer than n bytes remaining in the file, then as many bytes
+ as possible are read. If no bytes remain in the file, then null is
+ returned.
+
+
+ **Parameters:**
+ - numBytes - The number of bytes to read. Must be non-negative and smaller than [MAX_READ_BYTES](dw.io.RandomAccessFileReader.md#max_read_bytes) or an exception will be thrown.
+
+ **Returns:**
+ - A Bytes object representing the read bytes or null if no bytes
+ were read.
+
+
+ **Throws:**
+ - IOException - if an I/O error occurs.
+ - IllegalArgumentException - if numBytes< 0 or numBytes > MAX\_READ\_BYTES.
+
+
+---
+
+### setPosition(Number)
+- setPosition(position: [Number](TopLevel.Number.md)): void
+ - : Sets the file-pointer offset, measured from the beginning of this file,
+ at which the next read occurs. The offset may be set beyond the end of
+ the file.
+
+
+ **Parameters:**
+ - position - the offset position, measured in bytes from the beginning of the file, at which to set the file pointer
+
+ **Throws:**
+ - IOException - if position is less than 0 or if an I/O error occurs.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.Reader.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.Reader.md
new file mode 100644
index 00000000..9331b529
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.Reader.md
@@ -0,0 +1,284 @@
+
+# Class Reader
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.Reader](dw.io.Reader.md)
+
+The class supports reading characters from a stream.
+
+
+## All Known Subclasses
+[FileReader](dw.io.FileReader.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| ~~[lines](#lines): [List](dw.util.List.md)~~ `(read-only)` | The method reads the whole input stream, parses it and returns a list of strings. |
+| ~~[string](#string): [String](TopLevel.String.md)~~ `(read-only)` | The method reads the whole input stream as one string and returns it. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [Reader](#readerstring)([String](TopLevel.String.md)) | Creates a reader from a string. |
+| [Reader](#readerinputstream)([InputStream](dw.io.InputStream.md)) | Create a reader from a stream using UTF-8 character encoding. |
+| [Reader](#readerinputstream-string)([InputStream](dw.io.InputStream.md), [String](TopLevel.String.md)) | Create a reader from a stream using the specified character encoding. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.Reader.md#close)() | Closes the reader. |
+| ~~[getLines](dw.io.Reader.md#getlines)()~~ | The method reads the whole input stream, parses it and returns a list of strings. |
+| ~~[getString](dw.io.Reader.md#getstring)()~~ | The method reads the whole input stream as one string and returns it. |
+| [read](dw.io.Reader.md#read)() | Reads a single character from the stream. |
+| ~~[read](dw.io.Reader.md#readnumber)([Number](TopLevel.Number.md))~~ | Reads multiple characters from the stream as string. |
+| [readLine](dw.io.Reader.md#readline)() | Reads the next line. |
+| [readLines](dw.io.Reader.md#readlines)() | The method reads the whole input stream, parses it and returns a list of strings. |
+| [readN](dw.io.Reader.md#readnnumber)([Number](TopLevel.Number.md)) | Reads n characters from the stream as string. |
+| [readString](dw.io.Reader.md#readstring)() | The method reads the whole input stream as one string and returns it. |
+| [ready](dw.io.Reader.md#ready)() | Identifies if this stream is ready to be read. |
+| [skip](dw.io.Reader.md#skipnumber)([Number](TopLevel.Number.md)) | Skips the specified number of characters in the stream. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### lines
+- ~~lines: [List](dw.util.List.md)~~ `(read-only)`
+ - : The method reads the whole input stream, parses it and returns a list of strings.
+
+
+ Using this method on large feeds is inherently unsafe and may lead to an out-of-memory condition. Instead use
+ method [readLine()](dw.io.Reader.md#readline) and process one line at a time.
+
+
+ **Deprecated:**
+:::warning
+Use [readLines()](dw.io.Reader.md#readlines)
+:::
+
+---
+
+### string
+- ~~string: [String](TopLevel.String.md)~~ `(read-only)`
+ - : The method reads the whole input stream as one string and returns it.
+
+
+ Using this method is unsafe if the length of the input stream is not known and may lead to an out-of-memory
+ condition. Instead use method [readN(Number)](dw.io.Reader.md#readnnumber).
+
+
+ **Deprecated:**
+:::warning
+Use [readString()](dw.io.Reader.md#readstring)
+:::
+
+---
+
+## Constructor Details
+
+### Reader(String)
+- Reader(source: [String](TopLevel.String.md))
+ - : Creates a reader from a string.
+
+ **Parameters:**
+ - source - the source string.
+
+
+---
+
+### Reader(InputStream)
+- Reader(stream: [InputStream](dw.io.InputStream.md))
+ - : Create a reader from a stream using UTF-8 character encoding.
+
+ **Parameters:**
+ - stream - the input stream to use.
+
+
+---
+
+### Reader(InputStream, String)
+- Reader(stream: [InputStream](dw.io.InputStream.md), encoding: [String](TopLevel.String.md))
+ - : Create a reader from a stream using the specified character encoding.
+
+ **Parameters:**
+ - stream - the input stream to use.
+ - encoding - the encoding to use.
+
+
+---
+
+## Method Details
+
+### close()
+- close(): void
+ - : Closes the reader.
+
+
+---
+
+### getLines()
+- ~~getLines(): [List](dw.util.List.md)~~
+ - : The method reads the whole input stream, parses it and returns a list of strings.
+
+
+ Using this method on large feeds is inherently unsafe and may lead to an out-of-memory condition. Instead use
+ method [readLine()](dw.io.Reader.md#readline) and process one line at a time.
+
+
+ **Returns:**
+ - a list of strings
+
+ **Deprecated:**
+:::warning
+Use [readLines()](dw.io.Reader.md#readlines)
+:::
+
+---
+
+### getString()
+- ~~getString(): [String](TopLevel.String.md)~~
+ - : The method reads the whole input stream as one string and returns it.
+
+
+ Using this method is unsafe if the length of the input stream is not known and may lead to an out-of-memory
+ condition. Instead use method [readN(Number)](dw.io.Reader.md#readnnumber).
+
+
+ **Returns:**
+ - a string, which represents the whole content of the InputStream
+
+ **Throws:**
+ - IOException - if something went wrong while reading from the underlying stream
+
+ **Deprecated:**
+:::warning
+Use [readString()](dw.io.Reader.md#readstring)
+:::
+
+---
+
+### read()
+- read(): [String](TopLevel.String.md)
+ - : Reads a single character from the stream. The method returns null if the end of the stream is reached.
+
+ **Returns:**
+ - a single character in a string, or null if the end of the stream is reached
+
+
+---
+
+### read(Number)
+- ~~read(length: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)~~
+ - : Reads multiple characters from the stream as string. The actual number of characters that were read can be
+ determined from the length of the returned string. If the end of the stream is reached and no more characters can
+ be read, the method exits with an exception.
+
+
+ **Parameters:**
+ - length - the number of characters to read.
+
+ **Returns:**
+ - a string whose length is controlled by the length parameter. The actual number of characters that were
+ read can be determined from the length of the returned string.
+
+
+ **Throws:**
+ - an - exception if the stream is exhausted
+
+ **Deprecated:**
+:::warning
+use [readN(Number)](dw.io.Reader.md#readnnumber) instead which does not throw an exception if the stream is exhausted
+:::
+
+---
+
+### readLine()
+- readLine(): [String](TopLevel.String.md)
+ - : Reads the next line.
+
+ **Returns:**
+ - A String containing the contents of the line, not including any line termination characters, or null if
+ the end of the stream has been reached.
+
+
+
+---
+
+### readLines()
+- readLines(): [List](dw.util.List.md)
+ - : The method reads the whole input stream, parses it and returns a list of strings.
+
+
+ Using this method on large feeds is inherently unsafe and may lead to an out-of-memory condition. Instead use
+ method [readLine()](dw.io.Reader.md#readline) and process one line at a time.
+
+
+ **Returns:**
+ - a list of strings
+
+
+---
+
+### readN(Number)
+- readN(n: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Reads n characters from the stream as string. The actual number of characters that were read can be determined
+ from the length of the returned string. If the end of the stream is reached and no more characters can be read,
+ the method returns null.
+
+
+ **Parameters:**
+ - n - the number of characters to read
+
+ **Returns:**
+ - a string whose maximum length is controlled by the n parameter, or null if the end of the stream is
+ reached and no more characters can be read
+
+
+
+---
+
+### readString()
+- readString(): [String](TopLevel.String.md)
+ - : The method reads the whole input stream as one string and returns it.
+
+
+ Using this method is unsafe if the length of the input stream is not known and may lead to an out-of-memory
+ condition. Instead use method [readN(Number)](dw.io.Reader.md#readnnumber).
+
+
+ **Returns:**
+ - a string, which represents the whole content of the InputStream
+
+ **Throws:**
+ - IOException - if something went wrong while reading from the underlying stream
+
+
+---
+
+### ready()
+- ready(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this stream is ready to be read.
+
+ **Returns:**
+ - true guarantees that the stream is ready to read without waiting for input. A false
+ response means that the stream may or may not block to wait for input. Note that returning
+ false does not guarantee that the next read() will block.
+
+
+
+---
+
+### skip(Number)
+- skip(n: [Number](TopLevel.Number.md)): void
+ - : Skips the specified number of characters in the stream.
+
+ **Parameters:**
+ - n - the number of characters to skip.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.StringWriter.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.StringWriter.md
new file mode 100644
index 00000000..76c6b2ad
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.StringWriter.md
@@ -0,0 +1,89 @@
+
+# Class StringWriter
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.Writer](dw.io.Writer.md)
+ - [dw.io.StringWriter](dw.io.StringWriter.md)
+
+A Writer that can be used to generate a String.
+
+
+In most cases it is not necessary to use StringWriter. If the final
+destination of the output is a file, use [FileWriter](dw.io.FileWriter.md) directly.
+This will help to reduce memory usage. If you wish to transfer a feed to a
+remote FTP, SFTP or WebDAV server, first write the feed to the file system
+using FileWriter and optionally [CSVStreamWriter](dw.io.CSVStreamWriter.md) or
+[XMLStreamWriter](dw.io.XMLStreamWriter.md), then upload the file with
+[FTPClient.putBinary(String, File)](dw.net.FTPClient.md#putbinarystring-file),
+[SFTPClient.putBinary(String, File)](dw.net.SFTPClient.md#putbinarystring-file), or
+[WebDAVClient.put(String, File)](dw.net.WebDAVClient.md#putstring-file).
+
+
+**Note:** when this class is used with sensitive data, be careful in persisting sensitive information to disk.
+
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [StringWriter](#stringwriter)() | Creates a new StringWriter. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [toString](dw.io.StringWriter.md#tostring)() | Returns a string representation of this writer. |
+| [write](dw.io.StringWriter.md#writestring)([String](TopLevel.String.md)) | Write the given string to the stream. |
+| [write](dw.io.StringWriter.md#writestring-number-number)([String](TopLevel.String.md), [Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Write the given string to the stream. |
+
+### Methods inherited from class Writer
+
+[close](dw.io.Writer.md#close), [flush](dw.io.Writer.md#flush), [write](dw.io.Writer.md#writestring), [write](dw.io.Writer.md#writestring-number-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### StringWriter()
+- StringWriter()
+ - : Creates a new StringWriter.
+
+
+---
+
+## Method Details
+
+### toString()
+- toString(): [String](TopLevel.String.md)
+ - : Returns a string representation of this writer.
+
+ **Returns:**
+ - a string representation of this writer.
+
+
+---
+
+### write(String)
+- write(str: [String](TopLevel.String.md)): void
+ - : Write the given string to the stream.
+
+ **Parameters:**
+ - str - the string to write to the stream.
+
+
+---
+
+### write(String, Number, Number)
+- write(str: [String](TopLevel.String.md), off: [Number](TopLevel.Number.md), len: [Number](TopLevel.Number.md)): void
+ - : Write the given string to the stream.
+
+ **Parameters:**
+ - str - the string to write to the stream.
+ - off - the offset from which to start writing characters to the stream.
+ - len - the number of characters to write from the stream.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.Writer.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.Writer.md
new file mode 100644
index 00000000..0221b2ff
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.Writer.md
@@ -0,0 +1,96 @@
+
+# Class Writer
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.Writer](dw.io.Writer.md)
+
+The class supports writing characters to a stream.
+
+
+**Note:** when this class is used with sensitive data, be careful in persisting sensitive information to disk.
+
+
+
+## All Known Subclasses
+[FileWriter](dw.io.FileWriter.md), [PrintWriter](dw.io.PrintWriter.md), [StringWriter](dw.io.StringWriter.md)
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [Writer](#writeroutputstream)([OutputStream](dw.io.OutputStream.md)) | Create a writer from a stream using UTF-8 character encoding. |
+| [Writer](#writeroutputstream-string)([OutputStream](dw.io.OutputStream.md), [String](TopLevel.String.md)) | Create a writer from a stream using the specified character encoding. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.Writer.md#close)() | Closes the writer. |
+| [flush](dw.io.Writer.md#flush)() | Flushes the buffer. |
+| [write](dw.io.Writer.md#writestring)([String](TopLevel.String.md)) | Write the given string to the stream. |
+| [write](dw.io.Writer.md#writestring-number-number)([String](TopLevel.String.md), [Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Write the given string to the stream. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### Writer(OutputStream)
+- Writer(stream: [OutputStream](dw.io.OutputStream.md))
+ - : Create a writer from a stream using UTF-8 character encoding.
+
+ **Parameters:**
+ - stream - the output stream to use when creating the writer.
+
+
+---
+
+### Writer(OutputStream, String)
+- Writer(stream: [OutputStream](dw.io.OutputStream.md), encoding: [String](TopLevel.String.md))
+ - : Create a writer from a stream using the specified character encoding.
+
+ **Parameters:**
+ - stream - the output stream to use when creating the writer.
+ - encoding - the encoding to use when creating the writer.
+
+
+---
+
+## Method Details
+
+### close()
+- close(): void
+ - : Closes the writer.
+
+
+---
+
+### flush()
+- flush(): void
+ - : Flushes the buffer.
+
+
+---
+
+### write(String)
+- write(str: [String](TopLevel.String.md)): void
+ - : Write the given string to the stream.
+
+ **Parameters:**
+ - str - the string to write to the stream.
+
+
+---
+
+### write(String, Number, Number)
+- write(str: [String](TopLevel.String.md), off: [Number](TopLevel.Number.md), len: [Number](TopLevel.Number.md)): void
+ - : Write the given string to the stream.
+
+ **Parameters:**
+ - str - the string to write to the stream.
+ - off - the offset from which to start writing characters to the stream.
+ - len - the number of characters to write from the stream.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.XMLIndentingStreamWriter.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.XMLIndentingStreamWriter.md
new file mode 100644
index 00000000..bfb3b796
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.XMLIndentingStreamWriter.md
@@ -0,0 +1,121 @@
+
+# Class XMLIndentingStreamWriter
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.XMLStreamWriter](dw.io.XMLStreamWriter.md)
+ - [dw.io.XMLIndentingStreamWriter](dw.io.XMLIndentingStreamWriter.md)
+
+A XMLIndentingStreamWriter writes the XML output formatted for good
+readability.
+
+
+**Note:** when this class is used with sensitive data, be careful
+in persisting sensitive information to disk.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [indent](#indent): [String](TopLevel.String.md) | Returns the indent. |
+| [newLine](#newline): [String](TopLevel.String.md) | Returns the string that is used for a new line character. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [XMLIndentingStreamWriter](#xmlindentingstreamwriterwriter)([Writer](dw.io.Writer.md)) | Constructs the writer for the specified writer. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getIndent](dw.io.XMLIndentingStreamWriter.md#getindent)() | Returns the indent. |
+| [getNewLine](dw.io.XMLIndentingStreamWriter.md#getnewline)() | Returns the string that is used for a new line character. |
+| [setIndent](dw.io.XMLIndentingStreamWriter.md#setindentstring)([String](TopLevel.String.md)) | Specifies a string that will be used as identing characters. |
+| [setNewLine](dw.io.XMLIndentingStreamWriter.md#setnewlinestring)([String](TopLevel.String.md)) | Sets the string that is used for a new line character. |
+
+### Methods inherited from class XMLStreamWriter
+
+[close](dw.io.XMLStreamWriter.md#close), [flush](dw.io.XMLStreamWriter.md#flush), [getDefaultNamespace](dw.io.XMLStreamWriter.md#getdefaultnamespace), [getPrefix](dw.io.XMLStreamWriter.md#getprefixstring), [setDefaultNamespace](dw.io.XMLStreamWriter.md#setdefaultnamespacestring), [setPrefix](dw.io.XMLStreamWriter.md#setprefixstring-string), [writeAttribute](dw.io.XMLStreamWriter.md#writeattributestring-string), [writeAttribute](dw.io.XMLStreamWriter.md#writeattributestring-string-string), [writeAttribute](dw.io.XMLStreamWriter.md#writeattributestring-string-string-string), [writeCData](dw.io.XMLStreamWriter.md#writecdatastring), [writeCharacters](dw.io.XMLStreamWriter.md#writecharactersstring), [writeComment](dw.io.XMLStreamWriter.md#writecommentstring), [writeDTD](dw.io.XMLStreamWriter.md#writedtdstring), [writeDefaultNamespace](dw.io.XMLStreamWriter.md#writedefaultnamespacestring), [writeEmptyElement](dw.io.XMLStreamWriter.md#writeemptyelementstring), [writeEmptyElement](dw.io.XMLStreamWriter.md#writeemptyelementstring-string), [writeEmptyElement](dw.io.XMLStreamWriter.md#writeemptyelementstring-string-string), [writeEndDocument](dw.io.XMLStreamWriter.md#writeenddocument), [writeEndElement](dw.io.XMLStreamWriter.md#writeendelement), [writeEntityRef](dw.io.XMLStreamWriter.md#writeentityrefstring), [writeNamespace](dw.io.XMLStreamWriter.md#writenamespacestring-string), [writeProcessingInstruction](dw.io.XMLStreamWriter.md#writeprocessinginstructionstring), [writeProcessingInstruction](dw.io.XMLStreamWriter.md#writeprocessinginstructionstring-string), [writeRaw](dw.io.XMLStreamWriter.md#writerawstring), [writeStartDocument](dw.io.XMLStreamWriter.md#writestartdocument), [writeStartDocument](dw.io.XMLStreamWriter.md#writestartdocumentstring), [writeStartDocument](dw.io.XMLStreamWriter.md#writestartdocumentstring-string), [writeStartElement](dw.io.XMLStreamWriter.md#writestartelementstring), [writeStartElement](dw.io.XMLStreamWriter.md#writestartelementstring-string), [writeStartElement](dw.io.XMLStreamWriter.md#writestartelementstring-string-string)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### indent
+- indent: [String](TopLevel.String.md)
+ - : Returns the indent.
+
+
+---
+
+### newLine
+- newLine: [String](TopLevel.String.md)
+ - : Returns the string that is used for a new line character. The
+ default is the normal new line character.
+
+
+
+---
+
+## Constructor Details
+
+### XMLIndentingStreamWriter(Writer)
+- XMLIndentingStreamWriter(writer: [Writer](dw.io.Writer.md))
+ - : Constructs the writer for the specified writer.
+
+ **Parameters:**
+ - writer - the writer to use.
+
+
+---
+
+## Method Details
+
+### getIndent()
+- getIndent(): [String](TopLevel.String.md)
+ - : Returns the indent.
+
+ **Returns:**
+ - Returns the indent.
+
+
+---
+
+### getNewLine()
+- getNewLine(): [String](TopLevel.String.md)
+ - : Returns the string that is used for a new line character. The
+ default is the normal new line character.
+
+
+ **Returns:**
+ - the new line.
+
+
+---
+
+### setIndent(String)
+- setIndent(indent: [String](TopLevel.String.md)): void
+ - : Specifies a string that will be used as identing characters. The
+ default are two space characters.
+
+
+ **Parameters:**
+ - indent - The indent to set.
+
+
+---
+
+### setNewLine(String)
+- setNewLine(newLine: [String](TopLevel.String.md)): void
+ - : Sets the string that is used for a new line character.
+
+ **Parameters:**
+ - newLine - The newLine to set.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.XMLStreamConstants.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.XMLStreamConstants.md
new file mode 100644
index 00000000..867df69c
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.XMLStreamConstants.md
@@ -0,0 +1,172 @@
+
+# Class XMLStreamConstants
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.XMLStreamConstants](dw.io.XMLStreamConstants.md)
+
+Useful constants for working with XML streams.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [ATTRIBUTE](#attribute): [Number](TopLevel.Number.md) = 10 | Represents an attribute in an element. |
+| [CDATA](#cdata): [Number](TopLevel.Number.md) = 12 | Represents a CDATA section in an element. |
+| [CHARACTERS](#characters): [Number](TopLevel.Number.md) = 4 | Represents the character data in an XML document. |
+| [COMMENT](#comment): [Number](TopLevel.Number.md) = 5 | Represents a comment in an XML document. |
+| [DTD](#dtd): [Number](TopLevel.Number.md) = 11 | Represents the document type definition. |
+| [END_DOCUMENT](#end_document): [Number](TopLevel.Number.md) = 8 | Represents the end of an XML document. |
+| [END_ELEMENT](#end_element): [Number](TopLevel.Number.md) = 2 | Represents the end of an element in an XML document. |
+| [ENTITY_DECLARATION](#entity_declaration): [Number](TopLevel.Number.md) = 15 | Represents the entity declaration in an XML document. |
+| [ENTITY_REFERENCE](#entity_reference): [Number](TopLevel.Number.md) = 9 | Represents an entity reference in an XML document. |
+| [NAMESPACE](#namespace): [Number](TopLevel.Number.md) = 13 | Represents a namespace declaration in an XML document. |
+| [NOTATION_DECLARATION](#notation_declaration): [Number](TopLevel.Number.md) = 14 | Represents the notation declaration in an XML document. |
+| [PROCESSING_INSTRUCTION](#processing_instruction): [Number](TopLevel.Number.md) = 3 | Represents processing instruction in an XML document. |
+| [SPACE](#space): [Number](TopLevel.Number.md) = 6 | Represents a space in an XML document. |
+| [START_DOCUMENT](#start_document): [Number](TopLevel.Number.md) = 7 | Represents the start of an XML document. |
+| [START_ELEMENT](#start_element): [Number](TopLevel.Number.md) = 1 | Represents the start of an element in an XML document. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [XMLStreamConstants](#xmlstreamconstants)() | |
+
+## Method Summary
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ATTRIBUTE
+
+- ATTRIBUTE: [Number](TopLevel.Number.md) = 10
+ - : Represents an attribute in an element.
+
+
+---
+
+### CDATA
+
+- CDATA: [Number](TopLevel.Number.md) = 12
+ - : Represents a CDATA section in an element.
+
+
+---
+
+### CHARACTERS
+
+- CHARACTERS: [Number](TopLevel.Number.md) = 4
+ - : Represents the character data in an XML document.
+
+
+---
+
+### COMMENT
+
+- COMMENT: [Number](TopLevel.Number.md) = 5
+ - : Represents a comment in an XML document.
+
+
+---
+
+### DTD
+
+- DTD: [Number](TopLevel.Number.md) = 11
+ - : Represents the document type definition.
+
+
+---
+
+### END_DOCUMENT
+
+- END_DOCUMENT: [Number](TopLevel.Number.md) = 8
+ - : Represents the end of an XML document.
+
+
+---
+
+### END_ELEMENT
+
+- END_ELEMENT: [Number](TopLevel.Number.md) = 2
+ - : Represents the end of an element in an XML document.
+
+
+---
+
+### ENTITY_DECLARATION
+
+- ENTITY_DECLARATION: [Number](TopLevel.Number.md) = 15
+ - : Represents the entity declaration in an XML document.
+
+
+---
+
+### ENTITY_REFERENCE
+
+- ENTITY_REFERENCE: [Number](TopLevel.Number.md) = 9
+ - : Represents an entity reference in an XML document.
+
+
+---
+
+### NAMESPACE
+
+- NAMESPACE: [Number](TopLevel.Number.md) = 13
+ - : Represents a namespace declaration in an XML document.
+
+
+---
+
+### NOTATION_DECLARATION
+
+- NOTATION_DECLARATION: [Number](TopLevel.Number.md) = 14
+ - : Represents the notation declaration in an XML document.
+
+
+---
+
+### PROCESSING_INSTRUCTION
+
+- PROCESSING_INSTRUCTION: [Number](TopLevel.Number.md) = 3
+ - : Represents processing instruction in an XML document.
+
+
+---
+
+### SPACE
+
+- SPACE: [Number](TopLevel.Number.md) = 6
+ - : Represents a space in an XML document.
+
+
+---
+
+### START_DOCUMENT
+
+- START_DOCUMENT: [Number](TopLevel.Number.md) = 7
+ - : Represents the start of an XML document.
+
+
+---
+
+### START_ELEMENT
+
+- START_ELEMENT: [Number](TopLevel.Number.md) = 1
+ - : Represents the start of an element in an XML document.
+
+
+---
+
+## Constructor Details
+
+### XMLStreamConstants()
+- XMLStreamConstants()
+ - :
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.io.XMLStreamReader.md b/packages/b2c-tooling-sdk/data/script-api/dw.io.XMLStreamReader.md
new file mode 100644
index 00000000..a572c159
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.io.XMLStreamReader.md
@@ -0,0 +1,1181 @@
+
+# Class XMLStreamReader
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.io.XMLStreamReader](dw.io.XMLStreamReader.md)
+
+The XMLStreamReader allows forward, read-only access to XML. It is designed
+to be the lowest level and most efficient way to read XML data.
+
+
+ The XMLStreamReader is designed to iterate over XML using
+next() and hasNext(). The data can be accessed using methods such as getEventType(),
+getNamespaceURI(), getLocalName() and getText();
+
+
+
+ The [next()](dw.io.XMLStreamReader.md#next) method causes the reader to read the next parse event.
+The next() method returns an integer which identifies the type of event just read.
+
+
+ The event type can be determined using [getEventType()](dw.io.XMLStreamReader.md#geteventtype).
+
+
+ Parsing events are defined as the XML Declaration, a DTD,
+start tag, character data, white space, end tag, comment,
+or processing instruction. An attribute or namespace event may be encountered
+at the root level of a document as the result of a query operation.
+
+
+
+The following table describes which methods are valid in what state.
+If a method is called in an invalid state the method will throw a
+java.lang.IllegalStateException.
+
+
+| Valid methods for each state |
+| --- |
+| Event Type | Valid Methods |
+| All States | getProperty(), hasNext(), require(), close(), getNamespaceURI(), isStartElement(), isEndElement(), isCharacters(), isWhiteSpace(), getNamespaceContext(), getEventType(),getLocation(), hasText(), hasName() |
+| START\_ELEMENT | next(), getName(), getLocalName(), hasName(), getPrefix(), getAttributeXXX(), isAttributeSpecified(), getNamespaceXXX(), getElementText(), nextTag(), getXMLObject() |
+| ATTRIBUTE | next(), nextTag() getAttributeXXX(), isAttributeSpecified(), |
+| NAMESPACE | next(), nextTag() getNamespaceXXX() |
+| END\_ELEMENT | next(), getName(), getLocalName(), hasName(), getPrefix(), getNamespaceXXX(), nextTag() |
+| CHARACTERS | next(), getTextXXX(), nextTag() |
+| CDATA | next(), getTextXXX(), nextTag() |
+| COMMENT | next(), getTextXXX(), nextTag() |
+| SPACE | next(), getTextXXX(), nextTag() |
+| START\_DOCUMENT | next(), getEncoding(), getVersion(), isStandalone(), standaloneSet(), getCharacterEncodingScheme(), nextTag() |
+| END\_DOCUMENT | close() |
+| PROCESSING\_INSTRUCTION | next(), getPITarget(), getPIData(), nextTag() |
+| ENTITY\_REFERENCE | next(), getLocalName(), getText(), nextTag() |
+| DTD | next(), getText(), nextTag() |
+
+
+
+
+
+The following is a code sample to read an XML file containing multiple
+"myobject" sub-elements. Only one myObject instance is kept in memory at
+any given time to keep memory consumption low:
+
+
+```
+var fileReader : FileReader = new FileReader(file, "UTF-8");
+var xmlStreamReader : XMLStreamReader = new XMLStreamReader(fileReader);
+
+while (xmlStreamReader.hasNext())
+{
+ if (xmlStreamReader.next() == XMLStreamConstants.START_ELEMENT)
+ {
+ var localElementName : String = xmlStreamReader.getLocalName();
+ if (localElementName == "myobject")
+ {
+ // read single "myobject" as XML
+ var myObject : XML = xmlStreamReader.getXMLObject();
+
+ // process myObject
+ }
+ }
+}
+
+xmlStreamReader.close();
+fileReader.close();
+```
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [PIData](#pidata): [String](TopLevel.String.md) `(read-only)` | Get the data section of a processing instruction. |
+| [PITarget](#pitarget): [String](TopLevel.String.md) `(read-only)` | Get the target of a processing instruction. |
+| ~~[XMLObject](#xmlobject): [Object](TopLevel.Object.md)~~ `(read-only)` | Reads a sub-tree of the XML document and parses it as XML object. |
+| [attributeCount](#attributecount): [Number](TopLevel.Number.md) `(read-only)` | Returns the count of attributes on this START\_ELEMENT, this method is only valid on a START\_ELEMENT or ATTRIBUTE. |
+| [characterEncodingScheme](#characterencodingscheme): [String](TopLevel.String.md) `(read-only)` | Returns the character encoding declared on the XML declaration Returns null if none was declared. |
+| [characters](#characters): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the cursor points to a character data event. |
+| [columnNumber](#columnnumber): [Number](TopLevel.Number.md) `(read-only)` | Returns the column number where the current event ends or -1 if none is available. |
+| ~~[elementText](#elementtext): [String](TopLevel.String.md)~~ `(read-only)` | Reads the content of a text-only element, an exception is thrown if this is not a text-only element. |
+| [encoding](#encoding): [String](TopLevel.String.md) `(read-only)` | Return input encoding if known or null if unknown. |
+| [endElement](#endelement): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the cursor points to an end tag. |
+| [eventType](#eventtype): [Number](TopLevel.Number.md) `(read-only)` | Returns an integer code that indicates the type of the event the cursor is pointing to. |
+| [lineNumber](#linenumber): [Number](TopLevel.Number.md) `(read-only)` | Returns the line number where the current event ends or -1 if none is available. |
+| [localName](#localname): [String](TopLevel.String.md) `(read-only)` | Returns the (local) name of the current event. |
+| [namespaceCount](#namespacecount): [Number](TopLevel.Number.md) `(read-only)` | Returns the count of namespaces declared on this START\_ELEMENT or END\_ELEMENT, this method is only valid on a START\_ELEMENT, END\_ELEMENT or NAMESPACE. |
+| [namespaceURI](#namespaceuri): [String](TopLevel.String.md) `(read-only)` | If the current event is a START\_ELEMENT or END\_ELEMENT this method returns the URI of the prefix or the default namespace. |
+| [prefix](#prefix): [String](TopLevel.String.md) `(read-only)` | Returns the prefix of the current event or null if the event does not have a prefix |
+| [standalone](#standalone): [Boolean](TopLevel.Boolean.md) `(read-only)` | Get the standalone declaration from the xml declaration. |
+| [startElement](#startelement): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the cursor points to a start tag. |
+| [text](#text): [String](TopLevel.String.md) `(read-only)` | Returns the current value of the parse event as a string, this returns the string value of a CHARACTERS event, returns the value of a COMMENT, the replacement value for an ENTITY\_REFERENCE, the string value of a CDATA section, the string value for a SPACE event, or the String value of the internal subset of the DTD. |
+| [textLength](#textlength): [Number](TopLevel.Number.md) `(read-only)` | Returns the length of the sequence of characters for this Text event within the text character array. |
+| [textStart](#textstart): [Number](TopLevel.Number.md) `(read-only)` | Returns the offset into the text character array where the first character (of this text event) is stored. |
+| [version](#version): [String](TopLevel.String.md) `(read-only)` | Get the xml version declared on the xml declaration. |
+| [whiteSpace](#whitespace): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the cursor points to a character data event that consists of all whitespace. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [XMLStreamReader](#xmlstreamreaderreader)([Reader](dw.io.Reader.md)) | Constructs the stream readon on behalf of the reader. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [close](dw.io.XMLStreamReader.md#close)() | Frees any resources associated with this Reader. |
+| [getAttributeCount](dw.io.XMLStreamReader.md#getattributecount)() | Returns the count of attributes on this START\_ELEMENT, this method is only valid on a START\_ELEMENT or ATTRIBUTE. |
+| [getAttributeLocalName](dw.io.XMLStreamReader.md#getattributelocalnamenumber)([Number](TopLevel.Number.md)) | Returns the localName of the attribute at the provided index. |
+| [getAttributeNamespace](dw.io.XMLStreamReader.md#getattributenamespacenumber)([Number](TopLevel.Number.md)) | Returns the namespace of the attribute at the provided index. |
+| [getAttributePrefix](dw.io.XMLStreamReader.md#getattributeprefixnumber)([Number](TopLevel.Number.md)) | Returns the prefix of this attribute at the provided index. |
+| [getAttributeType](dw.io.XMLStreamReader.md#getattributetypenumber)([Number](TopLevel.Number.md)) | Returns the XML type of the attribute at the provided index. |
+| [getAttributeValue](dw.io.XMLStreamReader.md#getattributevaluenumber)([Number](TopLevel.Number.md)) | Returns the value of the attribute at the index. |
+| [getAttributeValue](dw.io.XMLStreamReader.md#getattributevaluestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns the normalized attribute value of the attribute with the namespace and localName If the namespaceURI is null the namespace is not checked for equality |
+| [getCharacterEncodingScheme](dw.io.XMLStreamReader.md#getcharacterencodingscheme)() | Returns the character encoding declared on the XML declaration Returns null if none was declared. |
+| [getColumnNumber](dw.io.XMLStreamReader.md#getcolumnnumber)() | Returns the column number where the current event ends or -1 if none is available. |
+| ~~[getElementText](dw.io.XMLStreamReader.md#getelementtext)()~~ | Reads the content of a text-only element, an exception is thrown if this is not a text-only element. |
+| [getEncoding](dw.io.XMLStreamReader.md#getencoding)() | Return input encoding if known or null if unknown. |
+| [getEventType](dw.io.XMLStreamReader.md#geteventtype)() | Returns an integer code that indicates the type of the event the cursor is pointing to. |
+| [getLineNumber](dw.io.XMLStreamReader.md#getlinenumber)() | Returns the line number where the current event ends or -1 if none is available. |
+| [getLocalName](dw.io.XMLStreamReader.md#getlocalname)() | Returns the (local) name of the current event. |
+| [getNamespaceCount](dw.io.XMLStreamReader.md#getnamespacecount)() | Returns the count of namespaces declared on this START\_ELEMENT or END\_ELEMENT, this method is only valid on a START\_ELEMENT, END\_ELEMENT or NAMESPACE. |
+| [getNamespacePrefix](dw.io.XMLStreamReader.md#getnamespaceprefixnumber)([Number](TopLevel.Number.md)) | Returns the prefix for the namespace declared at the index. |
+| [getNamespaceURI](dw.io.XMLStreamReader.md#getnamespaceuri)() | If the current event is a START\_ELEMENT or END\_ELEMENT this method returns the URI of the prefix or the default namespace. |
+| [getNamespaceURI](dw.io.XMLStreamReader.md#getnamespaceurinumber)([Number](TopLevel.Number.md)) | Returns the uri for the namespace declared at the index. |
+| [getNamespaceURI](dw.io.XMLStreamReader.md#getnamespaceuristring)([String](TopLevel.String.md)) | Return the uri for the given prefix. |
+| [getPIData](dw.io.XMLStreamReader.md#getpidata)() | Get the data section of a processing instruction. |
+| [getPITarget](dw.io.XMLStreamReader.md#getpitarget)() | Get the target of a processing instruction. |
+| [getPrefix](dw.io.XMLStreamReader.md#getprefix)() | Returns the prefix of the current event or null if the event does not have a prefix |
+| [getText](dw.io.XMLStreamReader.md#gettext)() | Returns the current value of the parse event as a string, this returns the string value of a CHARACTERS event, returns the value of a COMMENT, the replacement value for an ENTITY\_REFERENCE, the string value of a CDATA section, the string value for a SPACE event, or the String value of the internal subset of the DTD. |
+| [getTextLength](dw.io.XMLStreamReader.md#gettextlength)() | Returns the length of the sequence of characters for this Text event within the text character array. |
+| [getTextStart](dw.io.XMLStreamReader.md#gettextstart)() | Returns the offset into the text character array where the first character (of this text event) is stored. |
+| [getVersion](dw.io.XMLStreamReader.md#getversion)() | Get the xml version declared on the xml declaration. |
+| ~~[getXMLObject](dw.io.XMLStreamReader.md#getxmlobject)()~~ | Reads a sub-tree of the XML document and parses it as XML object. |
+| [hasName](dw.io.XMLStreamReader.md#hasname)() | Identifies if the current event has a name (is a START\_ELEMENT or END\_ELEMENT) |
+| [hasNext](dw.io.XMLStreamReader.md#hasnext)() | Returns true if there are more parsing events and false if there are no more events. |
+| [hasText](dw.io.XMLStreamReader.md#hastext)() | Indicates if the current event has text. |
+| [isAttributeSpecified](dw.io.XMLStreamReader.md#isattributespecifiednumber)([Number](TopLevel.Number.md)) | Identifies if this attribute was created by default. |
+| [isCharacters](dw.io.XMLStreamReader.md#ischaracters)() | Identifies if the cursor points to a character data event. |
+| [isEndElement](dw.io.XMLStreamReader.md#isendelement)() | Identifies if the cursor points to an end tag. |
+| [isStandalone](dw.io.XMLStreamReader.md#isstandalone)() | Get the standalone declaration from the xml declaration. |
+| [isStartElement](dw.io.XMLStreamReader.md#isstartelement)() | Identifies if the cursor points to a start tag. |
+| [isWhiteSpace](dw.io.XMLStreamReader.md#iswhitespace)() | Identifies if the cursor points to a character data event that consists of all whitespace. |
+| [next](dw.io.XMLStreamReader.md#next)() | Get next parsing event - a processor may return all contiguous character data in a single chunk, or it may split it into several chunks. |
+| [nextTag](dw.io.XMLStreamReader.md#nexttag)() | Skips any white space (isWhiteSpace() returns true), COMMENT, or PROCESSING\_INSTRUCTION, until a START\_ELEMENT or END\_ELEMENT is reached. |
+| [readElementText](dw.io.XMLStreamReader.md#readelementtext)() | Reads the content of a text-only element, an exception is thrown if this is not a text-only element. |
+| [readXMLObject](dw.io.XMLStreamReader.md#readxmlobject)() | Reads a sub-tree of the XML document and parses it as XML object. |
+| [require](dw.io.XMLStreamReader.md#requirenumber-string-string)([Number](TopLevel.Number.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Test if the current event is of the given type and if the namespace and name match the current namespace and name of the current event. |
+| [standaloneSet](dw.io.XMLStreamReader.md#standaloneset)() | Identifies if standalone was set in the document. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### PIData
+- PIData: [String](TopLevel.String.md) `(read-only)`
+ - : Get the data section of a processing instruction.
+
+
+---
+
+### PITarget
+- PITarget: [String](TopLevel.String.md) `(read-only)`
+ - : Get the target of a processing instruction.
+
+
+---
+
+### XMLObject
+- ~~XMLObject: [Object](TopLevel.Object.md)~~ `(read-only)`
+ - : Reads a sub-tree of the XML document and parses it as XML object.
+
+
+ The stream must be positioned on a START\_ELEMENT. Do not call the method
+ when the stream is positioned at document's root element. This would
+ cause the whole document to be parsed into a single XML what may lead to
+ an out-of-memory condition. Instead use \#next() to navigate to
+ sub-elements and invoke getXMLObject() there. Do not keep references to
+ more than the currently processed XML to keep memory consumption low. The
+ method reads the stream up to the matching END\_ELEMENT. When the method
+ returns the current event is the END\_ELEMENT event.
+
+
+ **Deprecated:**
+:::warning
+Use [readXMLObject()](dw.io.XMLStreamReader.md#readxmlobject)
+:::
+
+---
+
+### attributeCount
+- attributeCount: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the count of attributes on this START\_ELEMENT,
+ this method is only valid on a START\_ELEMENT or ATTRIBUTE. This
+ count excludes namespace definitions. Attribute indices are
+ zero-based.
+
+
+
+---
+
+### characterEncodingScheme
+- characterEncodingScheme: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the character encoding declared on the XML declaration
+ Returns null if none was declared.
+
+
+
+---
+
+### characters
+- characters: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the cursor points to a character data event.
+
+
+---
+
+### columnNumber
+- columnNumber: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the column number where the current event ends or -1 if none is
+ available.
+
+
+
+---
+
+### elementText
+- ~~elementText: [String](TopLevel.String.md)~~ `(read-only)`
+ - : Reads the content of a text-only element, an exception is thrown if this is not a text-only element. This method
+ always returns coalesced content.
+
+ Precondition: the current event is START\_ELEMENT.
+
+ Postcondition: the current event is the corresponding END\_ELEMENT.
+
+ The method does the following (implementations are free to be optimized but must do equivalent processing):
+
+
+ ```
+ if ( getEventType() != XMLStreamConstants.START_ELEMENT )
+ {
+ throw new XMLStreamException( "parser must be on START_ELEMENT to read next text", getLocation() );
+ }
+ int eventType = next();
+ StringBuffer content = new StringBuffer();
+ while ( eventType != XMLStreamConstants.END_ELEMENT )
+ {
+ if ( eventType == XMLStreamConstants.CHARACTERS || eventType == XMLStreamConstants.CDATA
+ || eventType == XMLStreamConstants.SPACE || eventType == XMLStreamConstants.ENTITY_REFERENCE )
+ {
+ buf.append( getText() );
+ }
+ else if ( eventType == XMLStreamConstants.PROCESSING_INSTRUCTION || eventType == XMLStreamConstants.COMMENT )
+ {
+ // skipping
+ }
+ else if ( eventType == XMLStreamConstants.END_DOCUMENT )
+ {
+ throw new XMLStreamException( "unexpected end of document when reading element text content", this );
+ }
+ else if ( eventType == XMLStreamConstants.START_ELEMENT )
+ {
+ throw new XMLStreamException( "element text content may not contain START_ELEMENT", getLocation() );
+ }
+ else
+ {
+ throw new XMLStreamException( "Unexpected event type " + eventType, getLocation() );
+ }
+ eventType = next();
+ }
+ return buf.toString();
+ ```
+
+
+ **Deprecated:**
+:::warning
+Use [readElementText()](dw.io.XMLStreamReader.md#readelementtext)
+:::
+
+---
+
+### encoding
+- encoding: [String](TopLevel.String.md) `(read-only)`
+ - : Return input encoding if known or null if unknown.
+
+
+---
+
+### endElement
+- endElement: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the cursor points to an end tag.
+
+
+---
+
+### eventType
+- eventType: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns an integer code that indicates the type
+ of the event the cursor is pointing to.
+
+
+
+---
+
+### lineNumber
+- lineNumber: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the line number where the current event ends or -1 if none is
+ available.
+
+
+
+---
+
+### localName
+- localName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the (local) name of the current event.
+ For START\_ELEMENT or END\_ELEMENT returns the (local) name of the current element.
+ For ENTITY\_REFERENCE it returns entity name.
+ The current event must be START\_ELEMENT or END\_ELEMENT,
+ or ENTITY\_REFERENCE.
+
+
+
+---
+
+### namespaceCount
+- namespaceCount: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the count of namespaces declared on this START\_ELEMENT or END\_ELEMENT,
+ this method is only valid on a START\_ELEMENT, END\_ELEMENT or NAMESPACE. On
+ an END\_ELEMENT the count is of the namespaces that are about to go
+ out of scope. This is the equivalent of the information reported
+ by SAX callback for an end element event.
+
+
+
+---
+
+### namespaceURI
+- namespaceURI: [String](TopLevel.String.md) `(read-only)`
+ - : If the current event is a START\_ELEMENT or END\_ELEMENT this method
+ returns the URI of the prefix or the default namespace.
+ Returns null if the event does not have a prefix.
+
+
+
+---
+
+### prefix
+- prefix: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the prefix of the current event or null if the event does not have a prefix
+
+
+---
+
+### standalone
+- standalone: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Get the standalone declaration from the xml declaration.
+
+
+---
+
+### startElement
+- startElement: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the cursor points to a start tag.
+
+
+---
+
+### text
+- text: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the current value of the parse event as a string,
+ this returns the string value of a CHARACTERS event,
+ returns the value of a COMMENT, the replacement value
+ for an ENTITY\_REFERENCE, the string value of a CDATA section,
+ the string value for a SPACE event,
+ or the String value of the internal subset of the DTD.
+ If an ENTITY\_REFERENCE has been resolved, any character data
+ will be reported as CHARACTERS events.
+
+
+
+---
+
+### textLength
+- textLength: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the length of the sequence of characters for this
+ Text event within the text character array.
+
+
+
+---
+
+### textStart
+- textStart: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the offset into the text character array where the first
+ character (of this text event) is stored.
+
+
+
+---
+
+### version
+- version: [String](TopLevel.String.md) `(read-only)`
+ - : Get the xml version declared on the xml declaration.
+ Returns null if none was declared.
+
+
+
+---
+
+### whiteSpace
+- whiteSpace: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the cursor points to a character data event
+ that consists of all whitespace.
+
+
+
+---
+
+## Constructor Details
+
+### XMLStreamReader(Reader)
+- XMLStreamReader(reader: [Reader](dw.io.Reader.md))
+ - : Constructs the stream readon on behalf of the reader.
+
+ **Parameters:**
+ - reader - the reader to use.
+
+
+---
+
+## Method Details
+
+### close()
+- close(): void
+ - : Frees any resources associated with this Reader. This method does not close the
+ underlying reader.
+
+
+
+---
+
+### getAttributeCount()
+- getAttributeCount(): [Number](TopLevel.Number.md)
+ - : Returns the count of attributes on this START\_ELEMENT,
+ this method is only valid on a START\_ELEMENT or ATTRIBUTE. This
+ count excludes namespace definitions. Attribute indices are
+ zero-based.
+
+
+ **Returns:**
+ - returns the number of attributes.
+
+
+---
+
+### getAttributeLocalName(Number)
+- getAttributeLocalName(index: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the localName of the attribute at the provided
+ index.
+
+
+ **Parameters:**
+ - index - the position of the attribute.
+
+ **Returns:**
+ - the local name of the attribute.
+
+
+---
+
+### getAttributeNamespace(Number)
+- getAttributeNamespace(index: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the namespace of the attribute at the provided
+ index.
+
+
+ **Parameters:**
+ - index - the position of the attribute
+
+ **Returns:**
+ - the namespace URI (can be null)
+
+
+---
+
+### getAttributePrefix(Number)
+- getAttributePrefix(index: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the prefix of this attribute at the
+ provided index.
+
+
+ **Parameters:**
+ - index - the position of the attribute.
+
+ **Returns:**
+ - the prefix of the attribute.
+
+
+---
+
+### getAttributeType(Number)
+- getAttributeType(index: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the XML type of the attribute at the provided
+ index.
+
+
+ **Parameters:**
+ - index - the position of the attribute.
+
+ **Returns:**
+ - the XML type of the attribute.
+
+
+---
+
+### getAttributeValue(Number)
+- getAttributeValue(index: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the value of the attribute at the
+ index.
+
+
+ **Parameters:**
+ - index - the position of the attribute.
+
+ **Returns:**
+ - the attribute value.
+
+
+---
+
+### getAttributeValue(String, String)
+- getAttributeValue(namespaceURI: [String](TopLevel.String.md), localName: [String](TopLevel.String.md)): [String](TopLevel.String.md)
+ - : Returns the normalized attribute value of the
+ attribute with the namespace and localName
+ If the namespaceURI is null the namespace
+ is not checked for equality
+
+
+ **Parameters:**
+ - namespaceURI - the namespace of the attribute
+ - localName - the local name of the attribute, cannot be null
+
+ **Returns:**
+ - returns the value of the attribute or null if not found.
+
+
+---
+
+### getCharacterEncodingScheme()
+- getCharacterEncodingScheme(): [String](TopLevel.String.md)
+ - : Returns the character encoding declared on the XML declaration
+ Returns null if none was declared.
+
+
+ **Returns:**
+ - the encoding declared in the document or null.
+
+
+---
+
+### getColumnNumber()
+- getColumnNumber(): [Number](TopLevel.Number.md)
+ - : Returns the column number where the current event ends or -1 if none is
+ available.
+
+
+ **Returns:**
+ - the column number or -1.
+
+
+---
+
+### getElementText()
+- ~~getElementText(): [String](TopLevel.String.md)~~
+ - : Reads the content of a text-only element, an exception is thrown if this is not a text-only element. This method
+ always returns coalesced content.
+
+ Precondition: the current event is START\_ELEMENT.
+
+ Postcondition: the current event is the corresponding END\_ELEMENT.
+
+ The method does the following (implementations are free to be optimized but must do equivalent processing):
+
+
+ ```
+ if ( getEventType() != XMLStreamConstants.START_ELEMENT )
+ {
+ throw new XMLStreamException( "parser must be on START_ELEMENT to read next text", getLocation() );
+ }
+ int eventType = next();
+ StringBuffer content = new StringBuffer();
+ while ( eventType != XMLStreamConstants.END_ELEMENT )
+ {
+ if ( eventType == XMLStreamConstants.CHARACTERS || eventType == XMLStreamConstants.CDATA
+ || eventType == XMLStreamConstants.SPACE || eventType == XMLStreamConstants.ENTITY_REFERENCE )
+ {
+ buf.append( getText() );
+ }
+ else if ( eventType == XMLStreamConstants.PROCESSING_INSTRUCTION || eventType == XMLStreamConstants.COMMENT )
+ {
+ // skipping
+ }
+ else if ( eventType == XMLStreamConstants.END_DOCUMENT )
+ {
+ throw new XMLStreamException( "unexpected end of document when reading element text content", this );
+ }
+ else if ( eventType == XMLStreamConstants.START_ELEMENT )
+ {
+ throw new XMLStreamException( "element text content may not contain START_ELEMENT", getLocation() );
+ }
+ else
+ {
+ throw new XMLStreamException( "Unexpected event type " + eventType, getLocation() );
+ }
+ eventType = next();
+ }
+ return buf.toString();
+ ```
+
+
+ **Deprecated:**
+:::warning
+Use [readElementText()](dw.io.XMLStreamReader.md#readelementtext)
+:::
+
+---
+
+### getEncoding()
+- getEncoding(): [String](TopLevel.String.md)
+ - : Return input encoding if known or null if unknown.
+
+ **Returns:**
+ - the encoding of this instance or null
+
+
+---
+
+### getEventType()
+- getEventType(): [Number](TopLevel.Number.md)
+ - : Returns an integer code that indicates the type
+ of the event the cursor is pointing to.
+
+
+ **Returns:**
+ - an integer code that indicates the type
+ of the event the cursor is pointing to.
+
+
+
+---
+
+### getLineNumber()
+- getLineNumber(): [Number](TopLevel.Number.md)
+ - : Returns the line number where the current event ends or -1 if none is
+ available.
+
+
+ **Returns:**
+ - the line number or -1.
+
+
+---
+
+### getLocalName()
+- getLocalName(): [String](TopLevel.String.md)
+ - : Returns the (local) name of the current event.
+ For START\_ELEMENT or END\_ELEMENT returns the (local) name of the current element.
+ For ENTITY\_REFERENCE it returns entity name.
+ The current event must be START\_ELEMENT or END\_ELEMENT,
+ or ENTITY\_REFERENCE.
+
+
+ **Returns:**
+ - the local name.
+
+
+---
+
+### getNamespaceCount()
+- getNamespaceCount(): [Number](TopLevel.Number.md)
+ - : Returns the count of namespaces declared on this START\_ELEMENT or END\_ELEMENT,
+ this method is only valid on a START\_ELEMENT, END\_ELEMENT or NAMESPACE. On
+ an END\_ELEMENT the count is of the namespaces that are about to go
+ out of scope. This is the equivalent of the information reported
+ by SAX callback for an end element event.
+
+
+ **Returns:**
+ - returns the number of namespace declarations on this specific element.
+
+
+---
+
+### getNamespacePrefix(Number)
+- getNamespacePrefix(index: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the prefix for the namespace declared at the
+ index. Returns null if this is the default namespace
+ declaration.
+
+
+ **Parameters:**
+ - index - the position of the namespace declaration.
+
+ **Returns:**
+ - returns the namespace prefix.
+
+
+---
+
+### getNamespaceURI()
+- getNamespaceURI(): [String](TopLevel.String.md)
+ - : If the current event is a START\_ELEMENT or END\_ELEMENT this method
+ returns the URI of the prefix or the default namespace.
+ Returns null if the event does not have a prefix.
+
+
+ **Returns:**
+ - the URI bound to this elements prefix, the default namespace, or null.
+
+
+---
+
+### getNamespaceURI(Number)
+- getNamespaceURI(index: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the uri for the namespace declared at the
+ index.
+
+
+ **Parameters:**
+ - index - the position of the namespace declaration.
+
+ **Returns:**
+ - returns the namespace uri.
+
+
+---
+
+### getNamespaceURI(String)
+- getNamespaceURI(prefix: [String](TopLevel.String.md)): [String](TopLevel.String.md)
+ - : Return the uri for the given prefix.
+ The uri returned depends on the current state of the processor.
+
+
+ **NOTE:**The 'xml' prefix is bound as defined in
+ [Namespaces in XML](http://www.w3.org/TR/REC-xml-names/\#ns-using)
+ specification to "http://www.w3.org/XML/1998/namespace".
+
+
+ **NOTE:** The 'xmlns' prefix must be resolved to following namespace
+ [http://www.w3.org/2000/xmlns/](http://www.w3.org/2000/xmlns/)
+
+
+ **Parameters:**
+ - prefix - The prefix to lookup, may not be null
+
+ **Returns:**
+ - the uri bound to the given prefix or null if it is not bound
+
+
+---
+
+### getPIData()
+- getPIData(): [String](TopLevel.String.md)
+ - : Get the data section of a processing instruction.
+
+ **Returns:**
+ - the data or null.
+
+
+---
+
+### getPITarget()
+- getPITarget(): [String](TopLevel.String.md)
+ - : Get the target of a processing instruction.
+
+ **Returns:**
+ - the target or null.
+
+
+---
+
+### getPrefix()
+- getPrefix(): [String](TopLevel.String.md)
+ - : Returns the prefix of the current event or null if the event does not have a prefix
+
+ **Returns:**
+ - the prefix or null.
+
+
+---
+
+### getText()
+- getText(): [String](TopLevel.String.md)
+ - : Returns the current value of the parse event as a string,
+ this returns the string value of a CHARACTERS event,
+ returns the value of a COMMENT, the replacement value
+ for an ENTITY\_REFERENCE, the string value of a CDATA section,
+ the string value for a SPACE event,
+ or the String value of the internal subset of the DTD.
+ If an ENTITY\_REFERENCE has been resolved, any character data
+ will be reported as CHARACTERS events.
+
+
+ **Returns:**
+ - the current text or null.
+
+
+---
+
+### getTextLength()
+- getTextLength(): [Number](TopLevel.Number.md)
+ - : Returns the length of the sequence of characters for this
+ Text event within the text character array.
+
+
+ **Returns:**
+ - the length of the sequence of characters for this
+ Text event within the text character array.
+
+
+
+---
+
+### getTextStart()
+- getTextStart(): [Number](TopLevel.Number.md)
+ - : Returns the offset into the text character array where the first
+ character (of this text event) is stored.
+
+
+ **Returns:**
+ - the offset into the text character array where the first
+ character (of this text event) is stored.
+
+
+
+---
+
+### getVersion()
+- getVersion(): [String](TopLevel.String.md)
+ - : Get the xml version declared on the xml declaration.
+ Returns null if none was declared.
+
+
+ **Returns:**
+ - the XML version or null.
+
+
+---
+
+### getXMLObject()
+- ~~getXMLObject(): [Object](TopLevel.Object.md)~~
+ - : Reads a sub-tree of the XML document and parses it as XML object.
+
+
+ The stream must be positioned on a START\_ELEMENT. Do not call the method
+ when the stream is positioned at document's root element. This would
+ cause the whole document to be parsed into a single XML what may lead to
+ an out-of-memory condition. Instead use \#next() to navigate to
+ sub-elements and invoke getXMLObject() there. Do not keep references to
+ more than the currently processed XML to keep memory consumption low. The
+ method reads the stream up to the matching END\_ELEMENT. When the method
+ returns the current event is the END\_ELEMENT event.
+
+
+ **Deprecated:**
+:::warning
+Use [readXMLObject()](dw.io.XMLStreamReader.md#readxmlobject)
+:::
+
+---
+
+### hasName()
+- hasName(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the current event has a name (is a START\_ELEMENT or END\_ELEMENT)
+
+ **Returns:**
+ - true if the current event has a name, false otherwise.
+
+
+---
+
+### hasNext()
+- hasNext(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if there are more parsing events and false
+ if there are no more events. This method will return
+ false if the current state of the XMLStreamReader is
+ END\_DOCUMENT
+
+
+ **Returns:**
+ - true if there are more events, false otherwise
+
+
+---
+
+### hasText()
+- hasText(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if the current event has text.
+ The following events have text:
+ CHARACTERS,DTD ,ENTITY\_REFERENCE, COMMENT, SPACE.
+
+
+ **Returns:**
+ - true if the current event has text, false otherwise.
+
+
+---
+
+### isAttributeSpecified(Number)
+- isAttributeSpecified(index: [Number](TopLevel.Number.md)): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this
+ attribute was created by default.
+
+
+ **Parameters:**
+ - index - the position of the attribute.
+
+ **Returns:**
+ - true if this is a default attribute, false otherwise.
+
+
+---
+
+### isCharacters()
+- isCharacters(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the cursor points to a character data event.
+
+ **Returns:**
+ - true if the cursor points to character data, false otherwise.
+
+
+---
+
+### isEndElement()
+- isEndElement(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the cursor points to an end tag.
+
+ **Returns:**
+ - true if the cursor points to an end tag, false otherwise.
+
+
+---
+
+### isStandalone()
+- isStandalone(): [Boolean](TopLevel.Boolean.md)
+ - : Get the standalone declaration from the xml declaration.
+
+ **Returns:**
+ - true if this is standalone, or false otherwise.
+
+
+---
+
+### isStartElement()
+- isStartElement(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the cursor points to a start tag.
+
+ **Returns:**
+ - true if the cursor points to a start tag, false otherwise.
+
+
+---
+
+### isWhiteSpace()
+- isWhiteSpace(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the cursor points to a character data event
+ that consists of all whitespace.
+
+
+ **Returns:**
+ - true if the cursor points to all whitespace, false otherwise.
+
+
+---
+
+### next()
+- next(): [Number](TopLevel.Number.md)
+ - : Get next parsing event - a processor may return all contiguous
+ character data in a single chunk, or it may split it into several chunks.
+ If the property javax.xml.stream.isCoalescing is set to true
+ element content must be coalesced and only one CHARACTERS event
+ must be returned for contiguous element content or
+ CDATA Sections.
+
+ By default entity references must be
+ expanded and reported transparently to the application.
+ An exception will be thrown if an entity reference cannot be expanded.
+ If element content is empty (i.e. content is "") then no CHARACTERS event will be reported.
+
+
+ Given the following XML:
+
+ Returns `true` if the attribute can have multiple values. |
+| [objectTypeDefinition](#objecttypedefinition): [ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md) `(read-only)` | Returns the object type definition in which this attribute is defined. |
+| ~~[setValueType](#setvaluetype): [Boolean](TopLevel.Boolean.md)~~ `(read-only)` | Returns `true` if the attribute is of type 'Set of'. |
+| [system](#system): [Boolean](TopLevel.Boolean.md) `(read-only)` | Indicates if the attribute is a pre-defined system attribute or a custom attribute. |
+| [unit](#unit): [String](TopLevel.String.md) `(read-only)` | Returns the attribute's unit representation such as inches for length or pounds for weight. |
+| [valueTypeCode](#valuetypecode): [Number](TopLevel.Number.md) `(read-only)` | Returns a code for the data type stored in the attribute. |
+| [values](#values): [Collection](dw.util.Collection.md) `(read-only)` | Returns the list of attribute values. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAttributeGroups](dw.object.ObjectAttributeDefinition.md#getattributegroups)() | Returns all attribute groups the attribute is assigned to. |
+| [getDefaultValue](dw.object.ObjectAttributeDefinition.md#getdefaultvalue)() | Return the default value for the attribute or null if none is defined. |
+| [getDisplayName](dw.object.ObjectAttributeDefinition.md#getdisplayname)() | Returns the display name for the attribute, which can be used in the user interface. |
+| [getID](dw.object.ObjectAttributeDefinition.md#getid)() | Returns the ID of the attribute definition. |
+| [getObjectTypeDefinition](dw.object.ObjectAttributeDefinition.md#getobjecttypedefinition)() | Returns the object type definition in which this attribute is defined. |
+| [getUnit](dw.object.ObjectAttributeDefinition.md#getunit)() | Returns the attribute's unit representation such as inches for length or pounds for weight. |
+| [getValueTypeCode](dw.object.ObjectAttributeDefinition.md#getvaluetypecode)() | Returns a code for the data type stored in the attribute. |
+| [getValues](dw.object.ObjectAttributeDefinition.md#getvalues)() | Returns the list of attribute values. |
+| [isKey](dw.object.ObjectAttributeDefinition.md#iskey)() | Identifies if the attribute represents the primary key of the object. |
+| [isMandatory](dw.object.ObjectAttributeDefinition.md#ismandatory)() | Checks if this attribute is mandatory. |
+| [isMultiValueType](dw.object.ObjectAttributeDefinition.md#ismultivaluetype)() | Returns `true` if the attribute can have multiple values. |
+| ~~[isSetValueType](dw.object.ObjectAttributeDefinition.md#issetvaluetype)()~~ | Returns `true` if the attribute is of type 'Set of'. |
+| [isSystem](dw.object.ObjectAttributeDefinition.md#issystem)() | Indicates if the attribute is a pre-defined system attribute or a custom attribute. |
+| [requiresEncoding](dw.object.ObjectAttributeDefinition.md#requiresencoding)() | Returns a boolean flag indicating whether or not values of this attribute definition should be encoded using the encoding="off" flag in ISML templates. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### VALUE_TYPE_BOOLEAN
+
+- VALUE_TYPE_BOOLEAN: [Number](TopLevel.Number.md) = 8
+ - : Boolean value type.
+
+
+---
+
+### VALUE_TYPE_DATE
+
+- VALUE_TYPE_DATE: [Number](TopLevel.Number.md) = 6
+ - : Date value type.
+
+
+---
+
+### VALUE_TYPE_DATETIME
+
+- VALUE_TYPE_DATETIME: [Number](TopLevel.Number.md) = 11
+ - : Date and Time value type.
+
+
+---
+
+### VALUE_TYPE_EMAIL
+
+- VALUE_TYPE_EMAIL: [Number](TopLevel.Number.md) = 12
+ - : Email value type.
+
+
+---
+
+### VALUE_TYPE_ENUM_OF_INT
+
+- VALUE_TYPE_ENUM_OF_INT: [Number](TopLevel.Number.md) = 31
+ - : Enum of int value type.
+
+
+---
+
+### VALUE_TYPE_ENUM_OF_STRING
+
+- VALUE_TYPE_ENUM_OF_STRING: [Number](TopLevel.Number.md) = 33
+ - : Enum of String value type.
+
+
+---
+
+### VALUE_TYPE_HTML
+
+- VALUE_TYPE_HTML: [Number](TopLevel.Number.md) = 5
+ - : HTML value type.
+
+
+---
+
+### VALUE_TYPE_IMAGE
+
+- VALUE_TYPE_IMAGE: [Number](TopLevel.Number.md) = 7
+ - : Image value type.
+
+
+---
+
+### VALUE_TYPE_INT
+
+- VALUE_TYPE_INT: [Number](TopLevel.Number.md) = 1
+ - : int value type.
+
+
+---
+
+### VALUE_TYPE_MONEY
+
+- VALUE_TYPE_MONEY: [Number](TopLevel.Number.md) = 9
+ - : Money value type.
+
+
+---
+
+### VALUE_TYPE_NUMBER
+
+- VALUE_TYPE_NUMBER: [Number](TopLevel.Number.md) = 2
+ - : Number value type.
+
+
+---
+
+### VALUE_TYPE_PASSWORD
+
+- VALUE_TYPE_PASSWORD: [Number](TopLevel.Number.md) = 13
+ - : Password value type.
+
+
+---
+
+### VALUE_TYPE_QUANTITY
+
+- VALUE_TYPE_QUANTITY: [Number](TopLevel.Number.md) = 10
+ - : Quantity value type.
+
+
+---
+
+### VALUE_TYPE_SET_OF_INT
+
+- VALUE_TYPE_SET_OF_INT: [Number](TopLevel.Number.md) = 21
+ - : Set of int value type.
+
+
+---
+
+### VALUE_TYPE_SET_OF_NUMBER
+
+- VALUE_TYPE_SET_OF_NUMBER: [Number](TopLevel.Number.md) = 22
+ - : Set of Number value type.
+
+
+---
+
+### VALUE_TYPE_SET_OF_STRING
+
+- VALUE_TYPE_SET_OF_STRING: [Number](TopLevel.Number.md) = 23
+ - : Set of String value type.
+
+
+---
+
+### VALUE_TYPE_STRING
+
+- VALUE_TYPE_STRING: [Number](TopLevel.Number.md) = 3
+ - : String value type.
+
+
+---
+
+### VALUE_TYPE_TEXT
+
+- VALUE_TYPE_TEXT: [Number](TopLevel.Number.md) = 4
+ - : Text value type.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the attribute definition.
+
+
+---
+
+### attributeGroups
+- attributeGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all attribute groups the attribute is assigned to.
+
+
+---
+
+### defaultValue
+- defaultValue: [ObjectAttributeValueDefinition](dw.object.ObjectAttributeValueDefinition.md) `(read-only)`
+ - : Return the default value for the attribute or null if none is defined.
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name for the attribute, which can be used in the
+ user interface.
+
+
+
+---
+
+### key
+- key: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the attribute represents the primary key of the object.
+
+
+---
+
+### mandatory
+- mandatory: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Checks if this attribute is mandatory.
+
+
+---
+
+### multiValueType
+- multiValueType: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - :
+ Returns `true` if the attribute can have multiple values.
+
+
+ Attributes of the following types are multi-value capable:
+
+
+ - [VALUE_TYPE_SET_OF_INT](dw.object.ObjectAttributeDefinition.md#value_type_set_of_int)
+ - [VALUE_TYPE_SET_OF_NUMBER](dw.object.ObjectAttributeDefinition.md#value_type_set_of_number)
+ - [VALUE_TYPE_SET_OF_STRING](dw.object.ObjectAttributeDefinition.md#value_type_set_of_string)
+
+
+ Additionally, attributes of the following types can be multi-value
+ enabled:
+
+
+ - [VALUE_TYPE_ENUM_OF_INT](dw.object.ObjectAttributeDefinition.md#value_type_enum_of_int)
+ - [VALUE_TYPE_ENUM_OF_STRING](dw.object.ObjectAttributeDefinition.md#value_type_enum_of_string)
+
+
+
+---
+
+### objectTypeDefinition
+- objectTypeDefinition: [ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md) `(read-only)`
+ - : Returns the object type definition in which this attribute is defined.
+
+
+---
+
+### setValueType
+- ~~setValueType: [Boolean](TopLevel.Boolean.md)~~ `(read-only)`
+ - : Returns `true` if the attribute is of type 'Set of'.
+
+ **Deprecated:**
+:::warning
+Use [isMultiValueType()](dw.object.ObjectAttributeDefinition.md#ismultivaluetype) instead.
+:::
+
+---
+
+### system
+- system: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Indicates if the attribute is a pre-defined system attribute
+ or a custom attribute.
+
+
+
+---
+
+### unit
+- unit: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the attribute's unit representation such as
+ inches for length or pounds for weight. The value returned by
+ this method is based on the attribute itself.
+
+
+
+---
+
+### valueTypeCode
+- valueTypeCode: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns a code for the data type stored in the attribute. See constants
+ defined in this class.
+
+
+
+---
+
+### values
+- values: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the list of attribute values. In the user interface only the
+ values specified in this list should be offered as valid input values.
+
+ The collection contains instances of ObjectAttributeValueDefinition.
+
+
+
+---
+
+## Method Details
+
+### getAttributeGroups()
+- getAttributeGroups(): [Collection](dw.util.Collection.md)
+ - : Returns all attribute groups the attribute is assigned to.
+
+ **Returns:**
+ - all attribute groups the attribute is assigned to.
+
+
+---
+
+### getDefaultValue()
+- getDefaultValue(): [ObjectAttributeValueDefinition](dw.object.ObjectAttributeValueDefinition.md)
+ - : Return the default value for the attribute or null if none is defined.
+
+ **Returns:**
+ - the default value for the attribute or null if none is defined.
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name for the attribute, which can be used in the
+ user interface.
+
+
+ **Returns:**
+ - the display name for the attribute, which can be used in the
+ user interface.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the attribute definition.
+
+ **Returns:**
+ - the ID of the attribute definition.
+
+
+---
+
+### getObjectTypeDefinition()
+- getObjectTypeDefinition(): [ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md)
+ - : Returns the object type definition in which this attribute is defined.
+
+ **Returns:**
+ - the object type definition in which this attribute is defined.
+
+
+---
+
+### getUnit()
+- getUnit(): [String](TopLevel.String.md)
+ - : Returns the attribute's unit representation such as
+ inches for length or pounds for weight. The value returned by
+ this method is based on the attribute itself.
+
+
+ **Returns:**
+ - the attribute's unit representation such as
+ inches for length or pounds for weight.
+
+
+
+---
+
+### getValueTypeCode()
+- getValueTypeCode(): [Number](TopLevel.Number.md)
+ - : Returns a code for the data type stored in the attribute. See constants
+ defined in this class.
+
+
+ **Returns:**
+ - a code for the data type stored in the attribute. See constants
+ defined in this class.
+
+
+
+---
+
+### getValues()
+- getValues(): [Collection](dw.util.Collection.md)
+ - : Returns the list of attribute values. In the user interface only the
+ values specified in this list should be offered as valid input values.
+
+ The collection contains instances of ObjectAttributeValueDefinition.
+
+
+ **Returns:**
+ - a collection of ObjectAttributeValueDefinition instances representing
+ the list of attribute values, or null if no values are specified.
+
+
+
+---
+
+### isKey()
+- isKey(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the attribute represents the primary key of the object.
+
+ **Returns:**
+ - true if the attribute represents the primary key, false otherwise.
+
+
+---
+
+### isMandatory()
+- isMandatory(): [Boolean](TopLevel.Boolean.md)
+ - : Checks if this attribute is mandatory.
+
+ **Returns:**
+ - true, if this attribute is mandatory
+
+
+---
+
+### isMultiValueType()
+- isMultiValueType(): [Boolean](TopLevel.Boolean.md)
+ - :
+ Returns `true` if the attribute can have multiple values.
+
+
+ Attributes of the following types are multi-value capable:
+
+
+ - [VALUE_TYPE_SET_OF_INT](dw.object.ObjectAttributeDefinition.md#value_type_set_of_int)
+ - [VALUE_TYPE_SET_OF_NUMBER](dw.object.ObjectAttributeDefinition.md#value_type_set_of_number)
+ - [VALUE_TYPE_SET_OF_STRING](dw.object.ObjectAttributeDefinition.md#value_type_set_of_string)
+
+
+ Additionally, attributes of the following types can be multi-value
+ enabled:
+
+
+ - [VALUE_TYPE_ENUM_OF_INT](dw.object.ObjectAttributeDefinition.md#value_type_enum_of_int)
+ - [VALUE_TYPE_ENUM_OF_STRING](dw.object.ObjectAttributeDefinition.md#value_type_enum_of_string)
+
+
+ **Returns:**
+ - `true` if attributes can have multiple values,
+ otherwise `false`
+
+
+
+---
+
+### isSetValueType()
+- ~~isSetValueType(): [Boolean](TopLevel.Boolean.md)~~
+ - : Returns `true` if the attribute is of type 'Set of'.
+
+ **Deprecated:**
+:::warning
+Use [isMultiValueType()](dw.object.ObjectAttributeDefinition.md#ismultivaluetype) instead.
+:::
+
+---
+
+### isSystem()
+- isSystem(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if the attribute is a pre-defined system attribute
+ or a custom attribute.
+
+
+ **Returns:**
+ - true if the the attribute is a pre-defined system attribute,
+ false if it is a custom attribute.
+
+
+
+---
+
+### requiresEncoding()
+- requiresEncoding(): [Boolean](TopLevel.Boolean.md)
+ - : Returns a boolean flag indicating whether or not values of this attribute
+ definition should be encoded using the encoding="off" flag in ISML
+ templates.
+
+
+ **Returns:**
+ - a boolean flag indicating whether or not values of this attribute
+ definition should be encoded using the encoding="off" flag in ISML
+ templates.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.object.ObjectAttributeGroup.md b/packages/b2c-tooling-sdk/data/script-api/dw.object.ObjectAttributeGroup.md
new file mode 100644
index 00000000..77abae2b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.object.ObjectAttributeGroup.md
@@ -0,0 +1,160 @@
+
+# Class ObjectAttributeGroup
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.ObjectAttributeGroup](dw.object.ObjectAttributeGroup.md)
+
+Represents a group of object attributes.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of this group. |
+| [attributeDefinitions](#attributedefinitions): [Collection](dw.util.Collection.md) `(read-only)` | Returns all attribute definitions for this group. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the description of this group in the current locale. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the display name of this group. |
+| [objectTypeDefinition](#objecttypedefinition): [ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md) `(read-only)` | Returns the object type definition to which this attribute group belongs. |
+| [system](#system): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this is an sytem or a custom attribute group. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAttributeDefinitions](dw.object.ObjectAttributeGroup.md#getattributedefinitions)() | Returns all attribute definitions for this group. |
+| [getDescription](dw.object.ObjectAttributeGroup.md#getdescription)() | Returns the description of this group in the current locale. |
+| [getDisplayName](dw.object.ObjectAttributeGroup.md#getdisplayname)() | Returns the display name of this group. |
+| [getID](dw.object.ObjectAttributeGroup.md#getid)() | Returns the ID of this group. |
+| [getObjectTypeDefinition](dw.object.ObjectAttributeGroup.md#getobjecttypedefinition)() | Returns the object type definition to which this attribute group belongs. |
+| [isSystem](dw.object.ObjectAttributeGroup.md#issystem)() | Identifies if this is an sytem or a custom attribute group. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of this group.
+
+
+---
+
+### attributeDefinitions
+- attributeDefinitions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all attribute definitions for this group. The collection
+ may contain both system attribute definition as well as custom
+ attribute definitions.
+
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the description of this group in the current locale.
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name of this group.
+
+
+---
+
+### objectTypeDefinition
+- objectTypeDefinition: [ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md) `(read-only)`
+ - : Returns the object type definition to which this attribute group
+ belongs.
+
+
+
+---
+
+### system
+- system: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this is an sytem or a custom attribute group. A system
+ attribute group is pre-defined and can not be deleted.
+
+
+
+---
+
+## Method Details
+
+### getAttributeDefinitions()
+- getAttributeDefinitions(): [Collection](dw.util.Collection.md)
+ - : Returns all attribute definitions for this group. The collection
+ may contain both system attribute definition as well as custom
+ attribute definitions.
+
+
+ **Returns:**
+ - all attribute definitions for this group.
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the description of this group in the current locale.
+
+ **Returns:**
+ - the display name of this group.
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name of this group.
+
+ **Returns:**
+ - the display name of this group.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of this group.
+
+ **Returns:**
+ - the ID of this group.
+
+
+---
+
+### getObjectTypeDefinition()
+- getObjectTypeDefinition(): [ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md)
+ - : Returns the object type definition to which this attribute group
+ belongs.
+
+
+ **Returns:**
+ - the object type definition to which this attribute group
+ belongs.
+
+
+
+---
+
+### isSystem()
+- isSystem(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this is an sytem or a custom attribute group. A system
+ attribute group is pre-defined and can not be deleted.
+
+
+ **Returns:**
+ - true if this is a system attribute group, false otherwise.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.object.ObjectAttributeValueDefinition.md b/packages/b2c-tooling-sdk/data/script-api/dw.object.ObjectAttributeValueDefinition.md
new file mode 100644
index 00000000..b3b62a54
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.object.ObjectAttributeValueDefinition.md
@@ -0,0 +1,78 @@
+
+# Class ObjectAttributeValueDefinition
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.ObjectAttributeValueDefinition](dw.object.ObjectAttributeValueDefinition.md)
+
+Represents the value definition associated with an
+object attribute.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [displayValue](#displayvalue): [String](TopLevel.String.md) `(read-only)` | Returns a display name that can be used to present this value in the user interface. |
+| [value](#value): [Object](TopLevel.Object.md) `(read-only)` | Returns the actual value for the attribute. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getDisplayValue](dw.object.ObjectAttributeValueDefinition.md#getdisplayvalue)() | Returns a display name that can be used to present this value in the user interface. |
+| [getValue](dw.object.ObjectAttributeValueDefinition.md#getvalue)() | Returns the actual value for the attribute. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### displayValue
+- displayValue: [String](TopLevel.String.md) `(read-only)`
+ - : Returns a display name that can be used to present this value in
+ the user interface. For example, the value might be '1' but the display
+ name might be 'Order Exported'.
+
+
+
+---
+
+### value
+- value: [Object](TopLevel.Object.md) `(read-only)`
+ - : Returns the actual value for the attribute.
+
+
+---
+
+## Method Details
+
+### getDisplayValue()
+- getDisplayValue(): [String](TopLevel.String.md)
+ - : Returns a display name that can be used to present this value in
+ the user interface. For example, the value might be '1' but the display
+ name might be 'Order Exported'.
+
+
+ **Returns:**
+ - a display name that can be used to present this value in
+ the user interface.
+
+
+
+---
+
+### getValue()
+- getValue(): [Object](TopLevel.Object.md)
+ - : Returns the actual value for the attribute.
+
+ **Returns:**
+ - the actual value for the attribute.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.object.ObjectTypeDefinition.md b/packages/b2c-tooling-sdk/data/script-api/dw.object.ObjectTypeDefinition.md
new file mode 100644
index 00000000..8378dfb4
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.object.ObjectTypeDefinition.md
@@ -0,0 +1,239 @@
+
+# Class ObjectTypeDefinition
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md)
+
+The class provides access to the meta data of a system object or custom
+object. A short example should suffice to demonstrate how this metadata can
+be used in a script:
+
+
+```
+var co : CustomObject = CustomObjectMgr.getCustomObject("sample", "MyCustomObject");
+
+// get the object type definition
+var typeDef : ObjectTypeDefinition = co.describe();
+// get the custom object attribute definition for name "enumIntValue"
+var attrDef : ObjectAttributeDefinition = typeDef.getCustomAttributeDefinition( "enumIntValue" );
+// get the collection of object attribute value definitions
+var valueDefs : Collection = attrDef.getValues();
+
+// return function if there are no object attribute value definitions
+if(valueDefs.isEmpty())
+{
+ return;
+}
+
+var displayValue : String;
+// loop over object attribute value definitions collection
+for each ( var valueDef : ObjectAttributeValueDefinition in valueDefs )
+{
+ if( valueDef.getValue() == co.custom.intValue )
+ {
+ displayValue = valueDef.getDisplayValue();
+ break;
+ }
+}
+```
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the type id of the business objects. |
+| [attributeDefinitions](#attributedefinitions): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all declared attributes for the object. |
+| [attributeGroups](#attributegroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all declared attribute groups. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the display name of the definition, which can be used in the user interface. |
+| [system](#system): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this object definition is for a system type or a custom type. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAttributeDefinitions](dw.object.ObjectTypeDefinition.md#getattributedefinitions)() | Returns a collection of all declared attributes for the object. |
+| [getAttributeGroup](dw.object.ObjectTypeDefinition.md#getattributegroupstring)([String](TopLevel.String.md)) | Returns the attribute group with the given name within this object type definition. |
+| [getAttributeGroups](dw.object.ObjectTypeDefinition.md#getattributegroups)() | Returns a collection of all declared attribute groups. |
+| [getCustomAttributeDefinition](dw.object.ObjectTypeDefinition.md#getcustomattributedefinitionstring)([String](TopLevel.String.md)) | Returns the custom attribute definition with the given name. |
+| [getDisplayName](dw.object.ObjectTypeDefinition.md#getdisplayname)() | Returns the display name of the definition, which can be used in the user interface. |
+| [getID](dw.object.ObjectTypeDefinition.md#getid)() | Returns the type id of the business objects. |
+| [getSystemAttributeDefinition](dw.object.ObjectTypeDefinition.md#getsystemattributedefinitionstring)([String](TopLevel.String.md)) | Returns the system attribute definition with the given name. |
+| [isSystem](dw.object.ObjectTypeDefinition.md#issystem)() | Identifies if this object definition is for a system type or a custom type. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the type id of the business objects.
+
+
+---
+
+### attributeDefinitions
+- attributeDefinitions: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all declared attributes for the object.
+ The collection contains both system and custom attributes. There might
+ be system and custom attribute with identical names. So the name of the
+ attribute is not a uniqueness criteria. Additional the isCustom() flag
+ must be checked.
+
+
+
+---
+
+### attributeGroups
+- attributeGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all declared attribute groups. A attribute group
+ is a collection of attribute, which are typically displayed together as
+ a visual group.
+
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name of the definition, which can be used in the
+ user interface.
+
+
+
+---
+
+### system
+- system: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this object definition is for a system type or a custom
+ type.
+
+
+
+---
+
+## Method Details
+
+### getAttributeDefinitions()
+- getAttributeDefinitions(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all declared attributes for the object.
+ The collection contains both system and custom attributes. There might
+ be system and custom attribute with identical names. So the name of the
+ attribute is not a uniqueness criteria. Additional the isCustom() flag
+ must be checked.
+
+
+ **Returns:**
+ - a collection of all declared attributes for the object.
+
+
+---
+
+### getAttributeGroup(String)
+- getAttributeGroup(name: [String](TopLevel.String.md)): [ObjectAttributeGroup](dw.object.ObjectAttributeGroup.md)
+ - : Returns the attribute group with the given name within this object
+ type definition.
+
+
+ **Parameters:**
+ - name - The name of the attribute scope to return.
+
+ **Returns:**
+ - The matching attribute scope or `null` if no such
+ scope exists.
+
+
+
+---
+
+### getAttributeGroups()
+- getAttributeGroups(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all declared attribute groups. A attribute group
+ is a collection of attribute, which are typically displayed together as
+ a visual group.
+
+
+ **Returns:**
+ - a collection of all declared attribute groups.
+
+
+---
+
+### getCustomAttributeDefinition(String)
+- getCustomAttributeDefinition(name: [String](TopLevel.String.md)): [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)
+ - : Returns the custom attribute definition with the given name. The method
+ returns null if no custom attribute is defined with that name.
+
+
+ **Parameters:**
+ - name - The unique name of the custom attribute definition within the object type.
+
+ **Returns:**
+ - The matching attribute definition or `null` in
+ case no such definition exists.
+
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name of the definition, which can be used in the
+ user interface.
+
+
+ **Returns:**
+ - the display name of the definition, which can be used in the
+ user interface.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the type id of the business objects.
+
+ **Returns:**
+ - the type id of the business objects.
+
+
+---
+
+### getSystemAttributeDefinition(String)
+- getSystemAttributeDefinition(name: [String](TopLevel.String.md)): [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md)
+ - : Returns the system attribute definition with the given name. The method
+ returns null if no system attribute is defined with that name. Only
+ system objects have system attributes. A CustomObject has no system attributes
+ and so the method will always return null for a CustomObject.
+
+
+ **Parameters:**
+ - name - The unique name of the custom attribute definition within the object type.
+
+ **Returns:**
+ - The matching attribute definition or `null` in
+ case no such definition exists.
+
+
+
+---
+
+### isSystem()
+- isSystem(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this object definition is for a system type or a custom
+ type.
+
+
+ **Returns:**
+ - true if this object definition is for a system type, false otherwise.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.object.PersistentObject.md b/packages/b2c-tooling-sdk/data/script-api/dw.object.PersistentObject.md
new file mode 100644
index 00000000..8522765e
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.object.PersistentObject.md
@@ -0,0 +1,92 @@
+
+# Class PersistentObject
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+
+Common base class for all objects in Commerce Cloud Digital that have an
+identity and can be stored and retrieved. Each entity is identified by
+a unique universal identifier (a UUID).
+
+
+
+## All Known Subclasses
+[ABTest](dw.campaign.ABTest.md), [ABTestSegment](dw.campaign.ABTestSegment.md), [ActiveData](dw.object.ActiveData.md), [Basket](dw.order.Basket.md), [BonusDiscountLineItem](dw.order.BonusDiscountLineItem.md), [Campaign](dw.campaign.Campaign.md), [Catalog](dw.catalog.Catalog.md), [Category](dw.catalog.Category.md), [CategoryAssignment](dw.catalog.CategoryAssignment.md), [Content](dw.content.Content.md), [ContentSearchRefinementDefinition](dw.content.ContentSearchRefinementDefinition.md), [Coupon](dw.campaign.Coupon.md), [CouponLineItem](dw.order.CouponLineItem.md), [CustomObject](dw.object.CustomObject.md), [CustomerActiveData](dw.customer.CustomerActiveData.md), [CustomerAddress](dw.customer.CustomerAddress.md), [CustomerGroup](dw.customer.CustomerGroup.md), [CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md), [EncryptedObject](dw.customer.EncryptedObject.md), [ExtensibleObject](dw.object.ExtensibleObject.md), [Folder](dw.content.Folder.md), [GiftCertificate](dw.order.GiftCertificate.md), [GiftCertificateLineItem](dw.order.GiftCertificateLineItem.md), [Library](dw.content.Library.md), [LineItem](dw.order.LineItem.md), [LineItemCtnr](dw.order.LineItemCtnr.md), [Order](dw.order.Order.md), [OrderAddress](dw.order.OrderAddress.md), [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [OrganizationPreferences](dw.system.OrganizationPreferences.md), [PaymentCard](dw.order.PaymentCard.md), [PaymentInstrument](dw.order.PaymentInstrument.md), [PaymentMethod](dw.order.PaymentMethod.md), [PaymentProcessor](dw.order.PaymentProcessor.md), [PaymentTransaction](dw.order.PaymentTransaction.md), [PriceAdjustment](dw.order.PriceAdjustment.md), [PriceBook](dw.catalog.PriceBook.md), [Product](dw.catalog.Product.md), [ProductActiveData](dw.catalog.ProductActiveData.md), [ProductInventoryList](dw.catalog.ProductInventoryList.md), [ProductInventoryRecord](dw.catalog.ProductInventoryRecord.md), [ProductLineItem](dw.order.ProductLineItem.md), [ProductList](dw.customer.ProductList.md), [ProductListItem](dw.customer.ProductListItem.md), [ProductListItemPurchase](dw.customer.ProductListItemPurchase.md), [ProductListRegistrant](dw.customer.ProductListRegistrant.md), [ProductOption](dw.catalog.ProductOption.md), [ProductOptionValue](dw.catalog.ProductOptionValue.md), [ProductSearchRefinementDefinition](dw.catalog.ProductSearchRefinementDefinition.md), [ProductShippingLineItem](dw.order.ProductShippingLineItem.md), [Profile](dw.customer.Profile.md), [Promotion](dw.campaign.Promotion.md), [Recommendation](dw.catalog.Recommendation.md), [SearchRefinementDefinition](dw.catalog.SearchRefinementDefinition.md), [ServiceConfig](dw.svc.ServiceConfig.md), [ServiceCredential](dw.svc.ServiceCredential.md), [ServiceProfile](dw.svc.ServiceProfile.md), [Shipment](dw.order.Shipment.md), [ShippingLineItem](dw.order.ShippingLineItem.md), [ShippingMethod](dw.order.ShippingMethod.md), [SitePreferences](dw.system.SitePreferences.md), [SortingOption](dw.catalog.SortingOption.md), [SortingRule](dw.catalog.SortingRule.md), [SourceCodeGroup](dw.campaign.SourceCodeGroup.md), [Store](dw.catalog.Store.md), [StoreGroup](dw.catalog.StoreGroup.md), [Variant](dw.catalog.Variant.md), [VariationGroup](dw.catalog.VariationGroup.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [UUID](#uuid): [String](TopLevel.String.md) `(read-only)` | Returns the unique universal identifier for this object. |
+| [creationDate](#creationdate): [Date](TopLevel.Date.md) `(read-only)` | Returns the date that this object was created. |
+| [lastModified](#lastmodified): [Date](TopLevel.Date.md) `(read-only)` | Returns the date that this object was last modified. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCreationDate](dw.object.PersistentObject.md#getcreationdate)() | Returns the date that this object was created. |
+| [getLastModified](dw.object.PersistentObject.md#getlastmodified)() | Returns the date that this object was last modified. |
+| [getUUID](dw.object.PersistentObject.md#getuuid)() | Returns the unique universal identifier for this object. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### UUID
+- UUID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique universal identifier for this object.
+
+
+---
+
+### creationDate
+- creationDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date that this object was created.
+
+
+---
+
+### lastModified
+- lastModified: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date that this object was last modified.
+
+
+---
+
+## Method Details
+
+### getCreationDate()
+- getCreationDate(): [Date](TopLevel.Date.md)
+ - : Returns the date that this object was created.
+
+ **Returns:**
+ - the date that this object was created.
+
+
+---
+
+### getLastModified()
+- getLastModified(): [Date](TopLevel.Date.md)
+ - : Returns the date that this object was last modified.
+
+ **Returns:**
+ - the date that this object was last modified.
+
+
+---
+
+### getUUID()
+- getUUID(): [String](TopLevel.String.md)
+ - : Returns the unique universal identifier for this object.
+
+ **Returns:**
+ - the unique universal identifier for this object.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.object.SimpleExtensible.md b/packages/b2c-tooling-sdk/data/script-api/dw.object.SimpleExtensible.md
new file mode 100644
index 00000000..0250158c
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.object.SimpleExtensible.md
@@ -0,0 +1,53 @@
+
+# Class SimpleExtensible
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.SimpleExtensible](dw.object.SimpleExtensible.md)
+
+Base class alternative to ExtensibleObject for customizable objects which do not rely on the metadata system.
+Unlike Extensible any custom attributes can be set on the fly and are not checked against an available list.
+Similar to Extensible method [getCustom()](dw.object.SimpleExtensible.md#getcustom) is the central point to retrieve and store the objects attribute
+values.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [custom](#custom): [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)` | Returns the custom attributes for this object. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCustom](dw.object.SimpleExtensible.md#getcustom)() | Returns the custom attributes for this object. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### custom
+- custom: [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)`
+ - : Returns the custom attributes for this object.
+
+
+---
+
+## Method Details
+
+### getCustom()
+- getCustom(): [CustomAttributes](dw.object.CustomAttributes.md)
+ - : Returns the custom attributes for this object.
+
+ **Returns:**
+ - the custom attributes for this object.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.object.SystemObjectMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.object.SystemObjectMgr.md
new file mode 100644
index 00000000..4bb0f7d7
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.object.SystemObjectMgr.md
@@ -0,0 +1,520 @@
+
+# Class SystemObjectMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.SystemObjectMgr](dw.object.SystemObjectMgr.md)
+
+Manager class which provides methods for querying of system objects with
+meta data using the Commerce Cloud Digital query language. See individual API methods for
+details on the query language.
+
+
+Note: Other manager classes such as [CustomerMgr](dw.customer.CustomerMgr.md),
+[ProductMgr](dw.catalog.ProductMgr.md), etc provide more specific and fine-grained
+querying methods that can not be achieved using the general query language.
+
+
+
+The following system object types are supported:
+
+
+- GiftCertificate
+- SourceCodeGroup
+- Store
+- ProductList
+
+
+Support for the following system object types is deprecated:
+
+
+- Order
+- Profile
+
+
+Use the search methods from [CustomerMgr](dw.customer.CustomerMgr.md) and [OrderMgr](dw.order.OrderMgr.md),
+respectively for querying these types.
+
+
+To search for custom objects, use [CustomObjectMgr](dw.object.CustomObjectMgr.md).
+**Note:** this class allows access to sensitive information through
+operations that retrieve the Profile and Order objects.
+Pay attention to appropriate legal and regulatory requirements related to this data.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [describe](dw.object.SystemObjectMgr.md#describestring)([String](TopLevel.String.md)) | Returns the object type definition for the given system object type. |
+| static [getAllSystemObjects](dw.object.SystemObjectMgr.md#getallsystemobjectsstring)([String](TopLevel.String.md)) | Returns all system objects of a specific type. |
+| static [querySystemObject](dw.object.SystemObjectMgr.md#querysystemobjectstring-string-object)([String](TopLevel.String.md), [String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Searches for a single system object instance. |
+| static [querySystemObjects](dw.object.SystemObjectMgr.md#querysystemobjectsstring-map-string)([String](TopLevel.String.md), [Map](dw.util.Map.md), [String](TopLevel.String.md)) | Searches for system object instances. |
+| static [querySystemObjects](dw.object.SystemObjectMgr.md#querysystemobjectsstring-string-string-object)([String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Searches for system object instances. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### describe(String)
+- static describe(type: [String](TopLevel.String.md)): [ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md)
+ - : Returns the object type definition for the given system object type.
+
+ This method can be used for all system object types that are derived from ExtensibleObject.
+
+
+ **Parameters:**
+ - type - system object type whose type definition should be returned
+
+ **Returns:**
+ - the matching object type definition or `null` in case no
+ such type definition exists.
+
+
+
+---
+
+### getAllSystemObjects(String)
+- static getAllSystemObjects(type: [String](TopLevel.String.md)): [SeekableIterator](dw.util.SeekableIterator.md)
+ - : Returns all system objects of a specific type.
+ The following system object types are supported:
+
+ - GiftCertificate
+ - Order
+ - Profile
+ - SourceCodeGroup
+ - Store
+ - ProductList
+
+
+
+ The method throws an exception in case of another system type.
+
+
+
+ It is strongly recommended to call `close()` on the returned SeekableIterator
+ if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.
+
+
+ **Parameters:**
+ - type - The name of the system object type. If a matching type definition cannot be found for the given type a MetaDataException will be thrown.
+
+ **Returns:**
+ - SeekableIterator containing all system objects of a specific type.
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+
+---
+
+### querySystemObject(String, String, Object...)
+- static querySystemObject(type: [String](TopLevel.String.md), queryString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [PersistentObject](dw.object.PersistentObject.md)
+ - :
+
+ Searches for a single system object instance. The following system object types are supported:
+
+
+ - GiftCertificate
+ - Order
+ - Profile
+ - SourceCodeGroup
+ - Store
+ - ProductList
+
+
+
+
+
+ The method throws an exception in case of another system type.
+
+
+
+
+ The search can be configured using a simple query language, which provides most common filter and operator
+ functionality.
+
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the ID of the attribute as defined
+ in the type definition. For custom defined attributes the prefix custom is required in the search term (e.g.
+ `custom.color = {1}`), while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+
+ Supported attribute value **types** with sample expression values:
+
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+
+ The following types of attributes are not queryable:
+
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+
+ Note, that some system attributes are not queryable by default regardless of the actual value type code.
+
+
+
+
+ The following **operators** are supported in a condition:
+
+
+ - `=`Equals - All types; supports NULL value (`thumbnail = NULL`)
+ - `!=`Not equals - All types; supports NULL value (`thumbnail != NULL`)
+ - `<`Less than - Integer, Number and Date types only
+ - `>`Greater than - Integer, Number and Date types only
+ - `<=`Less or equals than - Integer, Number and Date types only
+ - `>=`Greater or equals than - Integer, Number and Date types only
+ - `LIKE`Like - String types and Email only; use if leading or trailing wildcards will be used to support substring search(`custom.country LIKE 'US*'`)
+ - `ILIKE`Caseindependent Like - String types and Email only, use to support case insensitive query (`custom.country ILIKE 'usa'`), does also support wildcards for substring matching
+
+
+
+
+
+ Conditions can be combined using logical expressions 'AND', 'OR' and 'NOT' and nested using parenthesis e.g.
+ `gender = {1} AND (age >= {2} OR (NOT profession LIKE {3}))`.
+
+
+
+
+ The query language provides a placeholder syntax to pass objects as additional search parameters. Each passed
+ object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by
+ braces. The first Integer value must be '0', the second '1' and so on, e.g.
+ `querySystemObjects("sample", "age = {0} or creationDate >= {1}", 18, date)`
+
+
+
+
+ If there is more than one object matching the specified query criteria, the result is not deterministic. In order
+ to retrieve a single object from a sorted result set it is recommended to use the following code:
+ `querySystemObjects("", "custom.myAttr asc", null).first()`. The method `first()` returns
+ only the next element and closes the iterator.
+
+
+
+
+ It is strongly recommended to call `close()` on the returned SeekableIterator if not all of its
+ elements are being processed. This will enable the cleanup of system resources.
+
+
+
+
+ This method does not consider locale specific attributes. It returns all objects by checking the default
+ non-localizable attributes. Any locale specific filtering after fetching the objects must be done by other custom
+ code.
+
+ Example: For store objects, such a locale specific filtering can be:
+
+ - Get the store objects using this method with non-localized attributes query.
+ - Access the `store.getCustom("myattr")`. It returns the localized value of the attribute.
+
+
+ **Parameters:**
+ - type - the system object type for the query.
+ - queryString - the actual query.
+ - args - optional parameters for the queryString.
+
+ **Returns:**
+ - the system object defined by `type` which was found when executing the
+ `queryString`.
+
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+
+---
+
+### querySystemObjects(String, Map, String)
+- static querySystemObjects(type: [String](TopLevel.String.md), queryAttributes: [Map](dw.util.Map.md), sortString: [String](TopLevel.String.md)): [SeekableIterator](dw.util.SeekableIterator.md)
+ - :
+
+ Searches for system object instances. The following system object types are supported:
+
+
+ - GiftCertificate
+ - Order
+ - Profile
+ - SourceCodeGroup
+ - Store
+ - ProductList
+
+
+
+
+
+ The method throws an exception in case of another system type.
+
+
+
+
+ The search can be configured with a map, which key-value pairs are converted into a query expression. The
+ key-value pairs are turned into a sequence of '=' or 'like' conditions, which are combined with AND statements.
+
+
+
+
+ Example:
+
+ A map with the key/value pairs: _'name'/'tom\*', 'age'/66_ will be converted as follows:
+ `"name like 'tom*' and age = 66"`
+
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the ID of the attribute as defined
+ in the type definition. For custom defined attributes the prefix custom is required in the search term (e.g.
+ `custom.color = {1}`), while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+
+ Supported attribute value **types** with sample expression values:
+
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+
+ The following types of attributes are not queryable:
+
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+
+ Note, that some system attributes are not queryable by default regardless of the actual value type code.
+
+
+
+
+ The **sorting** parameter is optional and may contain a comma separated list of attribute names to sort by.
+ Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). Default
+ sorting directions is ascending, if no direction was specified.
+
+ Example: `age desc, name`
+
+ Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.
+
+
+
+
+ It is strongly recommended to call `close()` on the returned SeekableIterator if not all of its
+ elements are being retrieved. This will ensure the proper cleanup of system resources.
+
+
+
+
+ This method does not consider locale specific attributes. It returns all objects by checking the default
+ non-localizable attributes. Any locale specific filtering after fetching the objects must be done by other custom
+ code.
+
+ Example: For store objects, such a locale specific filtering can be:
+
+ - Get the store objects using this method with non-localized attributes query.
+ - Access the `store.getCustom("myattr")`. It returns the localized value of the attribute.
+
+
+ **Parameters:**
+ - type - the system object type for the query.
+ - queryAttributes - key-value pairs, which define the query.
+ - sortString - an optional sorting or null if no sorting is necessary.
+
+ **Returns:**
+ - SeekableIterator containing the result set of the query.
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+
+---
+
+### querySystemObjects(String, String, String, Object...)
+- static querySystemObjects(type: [String](TopLevel.String.md), queryString: [String](TopLevel.String.md), sortString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [SeekableIterator](dw.util.SeekableIterator.md)
+ - :
+
+ Searches for system object instances. The following system object types are supported:
+
+
+ - GiftCertificate
+ - Order
+ - Profile
+ - SourceCodeGroup
+ - Store
+ - ProductList
+
+
+
+
+
+ The method throws an exception in case of another system type.
+
+
+
+
+ The search can be configured using a simple query language, which provides most common filter and operator
+ functionality.
+
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the ID of the attribute as defined
+ in the type definition. For custom defined attributes the prefix custom is required in the search term (e.g.
+ `custom.color = {1}`), while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+
+ Supported attribute value **types** with sample expression values:
+
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+
+ The following types of attributes are not queryable:
+
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+
+ Note, that some system attributes are not queryable by default regardless of the actual value type code.
+
+
+
+
+ The following **operators** are supported in a condition:
+
+
+ - `=`Equals - All types; supports NULL value (`thumbnail = NULL`)
+ - `!=`Not equals - All types; supports NULL value (`thumbnail != NULL`)
+ - `<`Less than - Integer, Number and Date types only
+ - `>`Greater than - Integer, Number and Date types only
+ - `<=`Less or equals than - Integer, Number and Date types only
+ - `>=`Greater or equals than - Integer, Number and Date types only
+ - `LIKE`Like - String types and Email only; use if leading or trailing wildcards will be used to support substring search(`custom.country LIKE 'US*'`)
+ - `ILIKE`Caseindependent Like - String types and Email only, use to support case insensitive query (`custom.country ILIKE 'usa'`), does also support wildcards for substring matching
+
+
+
+
+
+ Conditions can be combined using logical expressions 'AND', 'OR' and 'NOT' and nested using parenthesis e.g.
+ `gender = {1} AND (age >= {2} OR (NOT profession LIKE {3}))`.
+
+
+
+
+ The query language provides a placeholder syntax to pass objects as additional search parameters. Each passed
+ object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by
+ braces. The first Integer value must be '0', the second '1' and so on, e.g.
+ `querySystemObjects("sample", "age = {0} or creationDate >= {1}", 18, date)`
+
+
+
+
+ The **sorting** parameter is optional and may contain a comma separated list of attribute names to sort by.
+ Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). Default
+ sorting directions is ascending, if no direction was specified.
+
+ Example: `age desc, name`
+
+ Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.
+
+
+
+
+ Sometimes it is desired to get all instances of specified type with a special sorting condition. This can be
+ easily done by providing the 'type' of the system object and the 'sortString' in combination with an empty
+ 'queryString', e.g. `querySystemObjects("sample", "", "ID asc")`
+
+
+
+
+ It is strongly recommended to call `close()` on the returned SeekableIterator if not all of its
+ elements are being retrieved. This will ensure the proper cleanup of system resources.
+
+
+
+
+ This method does not consider locale specific attributes. It returns all objects by checking the default
+ non-localizable attributes. Any locale specific filtering after fetching the objects must be done by other custom
+ code.
+
+ Example: For store objects, such a locale specific filtering can be:
+
+ - Get the store objects using this method with non-localized attributes query.
+ - Access the `store.getCustom("myattr")`. It returns the localized value of the attribute.
+
+
+ **Parameters:**
+ - type - the system object type for the query.
+ - queryString - the actual query.
+ - sortString - an optional sorting or null if no sorting is necessary.
+ - args - optional parameters for the queryString.
+
+ **Returns:**
+ - SeekableIterator containing the result set of the query.
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.object.md b/packages/b2c-tooling-sdk/data/script-api/dw.object.md
new file mode 100644
index 00000000..601a428d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.object.md
@@ -0,0 +1,19 @@
+# Package dw.object
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [ActiveData](dw.object.ActiveData.md) | Represents the active data for an object in Commerce Cloud Digital. |
+| [CustomAttributes](dw.object.CustomAttributes.md) | This class is used together with other classes that contain custom attributes and is used to read and write these attributes. |
+| [CustomObject](dw.object.CustomObject.md) | Represents a custom object and its corresponding attributes. |
+| [CustomObjectMgr](dw.object.CustomObjectMgr.md) | Manager class which provides methods for creating, retrieving, deleting, and searching for custom objects. |
+| [Extensible](dw.object.Extensible.md) | Base class alternative to ExtensibleObject for objects customizable through the metadata system. |
+| [ExtensibleObject](dw.object.ExtensibleObject.md) | Base class for all persistent business objects in Commerce Cloud Digital that are customizable through the metadata system. |
+| [Note](dw.object.Note.md) | Represents a note that can be attached to any persistent object that supports this feature. |
+| [ObjectAttributeDefinition](dw.object.ObjectAttributeDefinition.md) | Represents the definition of an object's attribute. |
+| [ObjectAttributeGroup](dw.object.ObjectAttributeGroup.md) | Represents a group of object attributes. |
+| [ObjectAttributeValueDefinition](dw.object.ObjectAttributeValueDefinition.md) | Represents the value definition associated with an object attribute. |
+| [ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md) | The class provides access to the meta data of a system object or custom object. |
+| [PersistentObject](dw.object.PersistentObject.md) | Common base class for all objects in Commerce Cloud Digital that have an identity and can be stored and retrieved. |
+| [SimpleExtensible](dw.object.SimpleExtensible.md) | Base class alternative to ExtensibleObject for customizable objects which do not rely on the metadata system. |
+| [SystemObjectMgr](dw.object.SystemObjectMgr.md) | Manager class which provides methods for querying of system objects with meta data using the Commerce Cloud Digital query language. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.AbstractItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.AbstractItem.md
new file mode 100644
index 00000000..023d6563
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.AbstractItem.md
@@ -0,0 +1,220 @@
+
+# Class AbstractItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItem](dw.order.AbstractItem.md)
+
+An item which references, or in other words is based upon, an [OrderItem](dw.order.OrderItem.md). Provides methods to access the
+OrderItem, the order [LineItem](dw.order.LineItem.md) which has been extended, and the [Order](dw.order.Order.md). In addition it defines
+methods to access item level prices and the item id. Supports custom-properties.
+
+
+
+## All Known Subclasses
+[AppeasementItem](dw.order.AppeasementItem.md), [InvoiceItem](dw.order.InvoiceItem.md), [ReturnCaseItem](dw.order.ReturnCaseItem.md), [ReturnItem](dw.order.ReturnItem.md), [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [grossPrice](#grossprice): [Money](dw.value.Money.md) `(read-only)` | Gross price of item. |
+| [itemID](#itemid): [String](TopLevel.String.md) `(read-only)` | The item-id used for referencing between items |
+| [lineItem](#lineitem): [LineItem](dw.order.LineItem.md) `(read-only)` | Returns the Order Product- or Shipping- LineItem associated with this item. |
+| [netPrice](#netprice): [Money](dw.value.Money.md) `(read-only)` | Net price of item. |
+| [orderItem](#orderitem): [OrderItem](dw.order.OrderItem.md) `(read-only)` | Returns the order item extensions related to this item. |
+| [orderItemID](#orderitemid): [String](TopLevel.String.md) `(read-only)` | The order-item-id used for referencing the [OrderItem](dw.order.OrderItem.md) |
+| [tax](#tax): [Money](dw.value.Money.md) `(read-only)` | Total tax for item. |
+| [taxBasis](#taxbasis): [Money](dw.value.Money.md) `(read-only)` | Price of entire item on which tax calculation is based. |
+| [taxItems](#taxitems): [Collection](dw.util.Collection.md) `(read-only)` | Tax items representing a tax breakdown |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getGrossPrice](dw.order.AbstractItem.md#getgrossprice)() | Gross price of item. |
+| [getItemID](dw.order.AbstractItem.md#getitemid)() | The item-id used for referencing between items |
+| [getLineItem](dw.order.AbstractItem.md#getlineitem)() | Returns the Order Product- or Shipping- LineItem associated with this item. |
+| [getNetPrice](dw.order.AbstractItem.md#getnetprice)() | Net price of item. |
+| [getOrderItem](dw.order.AbstractItem.md#getorderitem)() | Returns the order item extensions related to this item. |
+| [getOrderItemID](dw.order.AbstractItem.md#getorderitemid)() | The order-item-id used for referencing the [OrderItem](dw.order.OrderItem.md) |
+| [getTax](dw.order.AbstractItem.md#gettax)() | Total tax for item. |
+| [getTaxBasis](dw.order.AbstractItem.md#gettaxbasis)() | Price of entire item on which tax calculation is based. |
+| [getTaxItems](dw.order.AbstractItem.md#gettaxitems)() | Tax items representing a tax breakdown |
+
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### grossPrice
+- grossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Gross price of item.
+
+
+---
+
+### itemID
+- itemID: [String](TopLevel.String.md) `(read-only)`
+ - : The item-id used for referencing between items
+
+
+---
+
+### lineItem
+- lineItem: [LineItem](dw.order.LineItem.md) `(read-only)`
+ - : Returns the Order Product- or Shipping- LineItem associated with this item. Should never return null.
+
+
+---
+
+### netPrice
+- netPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Net price of item.
+
+
+---
+
+### orderItem
+- orderItem: [OrderItem](dw.order.OrderItem.md) `(read-only)`
+ - : Returns the order item extensions related to this item. Should never return null.
+
+
+---
+
+### orderItemID
+- orderItemID: [String](TopLevel.String.md) `(read-only)`
+ - : The order-item-id used for referencing the [OrderItem](dw.order.OrderItem.md)
+
+
+---
+
+### tax
+- tax: [Money](dw.value.Money.md) `(read-only)`
+ - : Total tax for item.
+
+
+---
+
+### taxBasis
+- taxBasis: [Money](dw.value.Money.md) `(read-only)`
+ - : Price of entire item on which tax calculation is based. Same as [getNetPrice()](dw.order.AbstractItem.md#getnetprice)
+ or [getGrossPrice()](dw.order.AbstractItem.md#getgrossprice) depending on whether the order is based on net or gross prices.
+
+
+
+---
+
+### taxItems
+- taxItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Tax items representing a tax breakdown
+
+ **See Also:**
+ - [TaxItem](dw.order.TaxItem.md)
+
+
+---
+
+## Method Details
+
+### getGrossPrice()
+- getGrossPrice(): [Money](dw.value.Money.md)
+ - : Gross price of item.
+
+ **Returns:**
+ - Gross price of item.
+
+
+---
+
+### getItemID()
+- getItemID(): [String](TopLevel.String.md)
+ - : The item-id used for referencing between items
+
+ **Returns:**
+ - the item-id used for referencing between items
+
+
+---
+
+### getLineItem()
+- getLineItem(): [LineItem](dw.order.LineItem.md)
+ - : Returns the Order Product- or Shipping- LineItem associated with this item. Should never return null.
+
+ **Returns:**
+ - the Order Product- or Shipping- LineItem associated with this item
+
+
+---
+
+### getNetPrice()
+- getNetPrice(): [Money](dw.value.Money.md)
+ - : Net price of item.
+
+ **Returns:**
+ - Net price of item.
+
+
+---
+
+### getOrderItem()
+- getOrderItem(): [OrderItem](dw.order.OrderItem.md)
+ - : Returns the order item extensions related to this item. Should never return null.
+
+ **Returns:**
+ - the order item extensions related to this item
+
+
+---
+
+### getOrderItemID()
+- getOrderItemID(): [String](TopLevel.String.md)
+ - : The order-item-id used for referencing the [OrderItem](dw.order.OrderItem.md)
+
+ **Returns:**
+ - the order-item-id used for referencing the OrderItem
+
+
+---
+
+### getTax()
+- getTax(): [Money](dw.value.Money.md)
+ - : Total tax for item.
+
+ **Returns:**
+ - Total tax for item.
+
+
+---
+
+### getTaxBasis()
+- getTaxBasis(): [Money](dw.value.Money.md)
+ - : Price of entire item on which tax calculation is based. Same as [getNetPrice()](dw.order.AbstractItem.md#getnetprice)
+ or [getGrossPrice()](dw.order.AbstractItem.md#getgrossprice) depending on whether the order is based on net or gross prices.
+
+
+ **Returns:**
+ - Price of entire item on which tax calculation is based
+
+
+---
+
+### getTaxItems()
+- getTaxItems(): [Collection](dw.util.Collection.md)
+ - : Tax items representing a tax breakdown
+
+ **Returns:**
+ - tax items representing a tax breakdown
+
+ **See Also:**
+ - [TaxItem](dw.order.TaxItem.md)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.AbstractItemCtnr.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.AbstractItemCtnr.md
new file mode 100644
index 00000000..aa92e482
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.AbstractItemCtnr.md
@@ -0,0 +1,219 @@
+
+# Class AbstractItemCtnr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItemCtnr](dw.order.AbstractItemCtnr.md)
+
+Basis for item-based objects stemming from a single [Order](dw.order.Order.md), with these common
+properties (Invoice is used as an example):
+
+
+- The object has been created from an Order accessible using [getOrder()](dw.order.AbstractItemCtnr.md#getorder)
+- Contains a collection of [items](dw.order.AbstractItemCtnr.md#getitems), each item related to exactly one [OrderItem](dw.order.OrderItem.md)which in turn represents an extension to one of the order [ProductLineItem](dw.order.ProductLineItem.md)or one [ShippingLineItem](dw.order.ShippingLineItem.md). Example: an [Invoice](dw.order.Invoice.md)has [InvoiceItem](dw.order.InvoiceItem.md)s
+- The items hold various prices which are summed, resulting in a [product-subtotal](dw.order.AbstractItemCtnr.md#getproductsubtotal), a [service-subtotal](dw.order.AbstractItemCtnr.md#getservicesubtotal)and a [grand-total](dw.order.AbstractItemCtnr.md#getgrandtotal), each represented by a [SumItem](dw.order.SumItem.md).
+- The object is customizable using custom properties
+
+
+
+## All Known Subclasses
+[Appeasement](dw.order.Appeasement.md), [Invoice](dw.order.Invoice.md), [Return](dw.order.Return.md), [ReturnCase](dw.order.ReturnCase.md), [ShippingOrder](dw.order.ShippingOrder.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [createdBy](#createdby): [String](TopLevel.String.md) `(read-only)` | Created by this user. |
+| [creationDate](#creationdate): [Date](TopLevel.Date.md) `(read-only)` | The time of creation. |
+| [grandTotal](#grandtotal): [SumItem](dw.order.SumItem.md) `(read-only)` | Returns the sum-item representing the grandtotal for all items. |
+| [items](#items): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the unsorted collection of items |
+| [lastModified](#lastmodified): [Date](TopLevel.Date.md) `(read-only)` | The last modification time. |
+| [modifiedBy](#modifiedby): [String](TopLevel.String.md) `(read-only)` | Last modified by this user. |
+| [order](#order): [Order](dw.order.Order.md) `(read-only)` | Returns the [Order](dw.order.Order.md) this object was created for. |
+| [productSubtotal](#productsubtotal): [SumItem](dw.order.SumItem.md) `(read-only)` | Returns the sum-item representing the subtotal for product items. |
+| [serviceSubtotal](#servicesubtotal): [SumItem](dw.order.SumItem.md) `(read-only)` | Returns the sum-item representing the subtotal for service items such as shipping. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCreatedBy](dw.order.AbstractItemCtnr.md#getcreatedby)() | Created by this user. |
+| [getCreationDate](dw.order.AbstractItemCtnr.md#getcreationdate)() | The time of creation. |
+| [getGrandTotal](dw.order.AbstractItemCtnr.md#getgrandtotal)() | Returns the sum-item representing the grandtotal for all items. |
+| [getItems](dw.order.AbstractItemCtnr.md#getitems)() | Returns the unsorted collection of items |
+| [getLastModified](dw.order.AbstractItemCtnr.md#getlastmodified)() | The last modification time. |
+| [getModifiedBy](dw.order.AbstractItemCtnr.md#getmodifiedby)() | Last modified by this user. |
+| [getOrder](dw.order.AbstractItemCtnr.md#getorder)() | Returns the [Order](dw.order.Order.md) this object was created for. |
+| [getProductSubtotal](dw.order.AbstractItemCtnr.md#getproductsubtotal)() | Returns the sum-item representing the subtotal for product items. |
+| [getServiceSubtotal](dw.order.AbstractItemCtnr.md#getservicesubtotal)() | Returns the sum-item representing the subtotal for service items such as shipping. |
+
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### createdBy
+- createdBy: [String](TopLevel.String.md) `(read-only)`
+ - : Created by this user.
+
+
+---
+
+### creationDate
+- creationDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : The time of creation.
+
+
+---
+
+### grandTotal
+- grandTotal: [SumItem](dw.order.SumItem.md) `(read-only)`
+ - : Returns the sum-item representing the grandtotal for all items.
+
+
+---
+
+### items
+- items: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the unsorted collection of items
+
+
+---
+
+### lastModified
+- lastModified: [Date](TopLevel.Date.md) `(read-only)`
+ - : The last modification time.
+
+
+---
+
+### modifiedBy
+- modifiedBy: [String](TopLevel.String.md) `(read-only)`
+ - : Last modified by this user.
+
+
+---
+
+### order
+- order: [Order](dw.order.Order.md) `(read-only)`
+ - : Returns the [Order](dw.order.Order.md) this object was created for.
+
+
+---
+
+### productSubtotal
+- productSubtotal: [SumItem](dw.order.SumItem.md) `(read-only)`
+ - : Returns the sum-item representing the subtotal for product items.
+
+
+---
+
+### serviceSubtotal
+- serviceSubtotal: [SumItem](dw.order.SumItem.md) `(read-only)`
+ - : Returns the sum-item representing the subtotal for service items such as
+ shipping.
+
+
+
+---
+
+## Method Details
+
+### getCreatedBy()
+- getCreatedBy(): [String](TopLevel.String.md)
+ - : Created by this user.
+
+ **Returns:**
+ - Created by this user
+
+
+---
+
+### getCreationDate()
+- getCreationDate(): [Date](TopLevel.Date.md)
+ - : The time of creation.
+
+ **Returns:**
+ - time of creation.
+
+
+---
+
+### getGrandTotal()
+- getGrandTotal(): [SumItem](dw.order.SumItem.md)
+ - : Returns the sum-item representing the grandtotal for all items.
+
+ **Returns:**
+ - sum-item for all items
+
+
+---
+
+### getItems()
+- getItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the unsorted collection of items
+
+ **Returns:**
+ - the unsorted collection of items
+
+
+---
+
+### getLastModified()
+- getLastModified(): [Date](TopLevel.Date.md)
+ - : The last modification time.
+
+ **Returns:**
+ - last modification time..
+
+
+---
+
+### getModifiedBy()
+- getModifiedBy(): [String](TopLevel.String.md)
+ - : Last modified by this user.
+
+ **Returns:**
+ - Last modified by this user
+
+
+---
+
+### getOrder()
+- getOrder(): [Order](dw.order.Order.md)
+ - : Returns the [Order](dw.order.Order.md) this object was created for.
+
+ **Returns:**
+ - the Order this object was created for.
+
+
+---
+
+### getProductSubtotal()
+- getProductSubtotal(): [SumItem](dw.order.SumItem.md)
+ - : Returns the sum-item representing the subtotal for product items.
+
+ **Returns:**
+ - sum-item for product items
+
+
+---
+
+### getServiceSubtotal()
+- getServiceSubtotal(): [SumItem](dw.order.SumItem.md)
+ - : Returns the sum-item representing the subtotal for service items such as
+ shipping.
+
+
+ **Returns:**
+ - sum-item for service items such as shipping
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.Appeasement.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.Appeasement.md
new file mode 100644
index 00000000..f41f53a0
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.Appeasement.md
@@ -0,0 +1,398 @@
+
+# Class Appeasement
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItemCtnr](dw.order.AbstractItemCtnr.md)
+ - [dw.order.Appeasement](dw.order.Appeasement.md)
+
+The Appeasement represents a shopper request for an order credit.
+
+Example: The buyer finds any problem with the products but he agrees to preserve them, if he would be compensated,
+rather than return them.
+
+
+
+The Appeasement contains 1..n appeasement items.
+Each appeasement item is associated with one [OrderItem](dw.order.OrderItem.md) usually representing an [Order](dw.order.Order.md)
+[ProductLineItem](dw.order.ProductLineItem.md).
+
+
+
+An Appeasement can have one of these status values:
+
+- OPEN - the appeasement is open and appeasement items could be added to it
+- COMPLETED - the appeasement is complete and it is not allowed to add new items to it, this is a precondition for refunding the customer for an appeasement.
+
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [ORDERBY_ITEMID](#orderby_itemid): [Object](TopLevel.Object.md) | Sorting by item id. |
+| [ORDERBY_ITEMPOSITION](#orderby_itemposition): [Object](TopLevel.Object.md) | Sorting by the position of the related order item. |
+| [ORDERBY_UNSORTED](#orderby_unsorted): [Object](TopLevel.Object.md) | Unsorted, as it is. |
+| [QUALIFIER_PRODUCTITEMS](#qualifier_productitems): [Object](TopLevel.Object.md) | Selects the product items. |
+| [QUALIFIER_SERVICEITEMS](#qualifier_serviceitems): [Object](TopLevel.Object.md) | Selects the service items. |
+| [STATUS_COMPLETED](#status_completed): [String](TopLevel.String.md) = "COMPLETED" | Constant for Appeasement Status COMPLETED |
+| [STATUS_OPEN](#status_open): [String](TopLevel.String.md) = "OPEN" | Constant for Appeasement Status OPEN |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [appeasementNumber](#appeasementnumber): [String](TopLevel.String.md) `(read-only)` | Returns the appeasement number. |
+| [invoice](#invoice): [Invoice](dw.order.Invoice.md) `(read-only)` | Returns null or the previously created [Invoice](dw.order.Invoice.md). |
+| [invoiceNumber](#invoicenumber): [String](TopLevel.String.md) `(read-only)` | Returns `null` or the invoice-number. |
+| [items](#items): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns a filtering collection of the appeasement items belonging to the appeasement. |
+| [reasonCode](#reasoncode): [EnumValue](dw.value.EnumValue.md) | Returns the reason code for the appeasement. |
+| [reasonNote](#reasonnote): [String](TopLevel.String.md) | Returns the reason note for the appeasement. |
+| [status](#status): [EnumValue](dw.value.EnumValue.md) | Gets the status of this appeasement. The possible values are [STATUS_OPEN](dw.order.Appeasement.md#status_open), [STATUS_COMPLETED](dw.order.Appeasement.md#status_completed). |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addItems](dw.order.Appeasement.md#additemsmoney-list)([Money](dw.value.Money.md), [List](dw.util.List.md)) | Creates appeasement items corresponding to certain order items and adds them to the appeasement. |
+| [createInvoice](dw.order.Appeasement.md#createinvoice)() | Creates a new [Invoice](dw.order.Invoice.md) based on this Appeasement. |
+| [createInvoice](dw.order.Appeasement.md#createinvoicestring)([String](TopLevel.String.md)) | Creates a new [Invoice](dw.order.Invoice.md) based on this Appeasement. |
+| [getAppeasementNumber](dw.order.Appeasement.md#getappeasementnumber)() | Returns the appeasement number. |
+| [getInvoice](dw.order.Appeasement.md#getinvoice)() | Returns null or the previously created [Invoice](dw.order.Invoice.md). |
+| [getInvoiceNumber](dw.order.Appeasement.md#getinvoicenumber)() | Returns `null` or the invoice-number. |
+| [getItems](dw.order.Appeasement.md#getitems)() | Returns a filtering collection of the appeasement items belonging to the appeasement. |
+| [getReasonCode](dw.order.Appeasement.md#getreasoncode)() | Returns the reason code for the appeasement. |
+| [getReasonNote](dw.order.Appeasement.md#getreasonnote)() | Returns the reason note for the appeasement. |
+| [getStatus](dw.order.Appeasement.md#getstatus)() | Gets the status of this appeasement. The possible values are [STATUS_OPEN](dw.order.Appeasement.md#status_open), [STATUS_COMPLETED](dw.order.Appeasement.md#status_completed). |
+| [setReasonCode](dw.order.Appeasement.md#setreasoncodestring)([String](TopLevel.String.md)) | Set the reason code for the appeasement. |
+| [setReasonNote](dw.order.Appeasement.md#setreasonnotestring)([String](TopLevel.String.md)) | Sets the reason note for the appeasement. |
+| [setStatus](dw.order.Appeasement.md#setstatusstring)([String](TopLevel.String.md)) | Sets the appeasement status. |
+
+### Methods inherited from class AbstractItemCtnr
+
+[getCreatedBy](dw.order.AbstractItemCtnr.md#getcreatedby), [getCreationDate](dw.order.AbstractItemCtnr.md#getcreationdate), [getGrandTotal](dw.order.AbstractItemCtnr.md#getgrandtotal), [getItems](dw.order.AbstractItemCtnr.md#getitems), [getLastModified](dw.order.AbstractItemCtnr.md#getlastmodified), [getModifiedBy](dw.order.AbstractItemCtnr.md#getmodifiedby), [getOrder](dw.order.AbstractItemCtnr.md#getorder), [getProductSubtotal](dw.order.AbstractItemCtnr.md#getproductsubtotal), [getServiceSubtotal](dw.order.AbstractItemCtnr.md#getservicesubtotal)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ORDERBY_ITEMID
+
+- ORDERBY_ITEMID: [Object](TopLevel.Object.md)
+ - : Sorting by item id. Use with method [getItems()](dw.order.Appeasement.md#getitems) as an argument to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+---
+
+### ORDERBY_ITEMPOSITION
+
+- ORDERBY_ITEMPOSITION: [Object](TopLevel.Object.md)
+ - : Sorting by the position of the related order item. Use with method [getItems()](dw.order.Appeasement.md#getitems) as an argument to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+---
+
+### ORDERBY_UNSORTED
+
+- ORDERBY_UNSORTED: [Object](TopLevel.Object.md)
+ - : Unsorted, as it is. Use with method [getItems()](dw.order.Appeasement.md#getitems) as an argument to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+---
+
+### QUALIFIER_PRODUCTITEMS
+
+- QUALIFIER_PRODUCTITEMS: [Object](TopLevel.Object.md)
+ - : Selects the product items. Use with method [getItems()](dw.order.Appeasement.md#getitems) as an argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+---
+
+### QUALIFIER_SERVICEITEMS
+
+- QUALIFIER_SERVICEITEMS: [Object](TopLevel.Object.md)
+ - : Selects the service items. Use with method [getItems()](dw.order.Appeasement.md#getitems) as an argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+---
+
+### STATUS_COMPLETED
+
+- STATUS_COMPLETED: [String](TopLevel.String.md) = "COMPLETED"
+ - : Constant for Appeasement Status COMPLETED
+
+
+---
+
+### STATUS_OPEN
+
+- STATUS_OPEN: [String](TopLevel.String.md) = "OPEN"
+ - : Constant for Appeasement Status OPEN
+
+
+---
+
+## Property Details
+
+### appeasementNumber
+- appeasementNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the appeasement number.
+
+
+---
+
+### invoice
+- invoice: [Invoice](dw.order.Invoice.md) `(read-only)`
+ - : Returns null or the previously created [Invoice](dw.order.Invoice.md).
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.Appeasement.md#createinvoicestring)
+
+
+---
+
+### invoiceNumber
+- invoiceNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Returns `null` or the invoice-number.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.Appeasement.md#createinvoicestring)
+
+
+---
+
+### items
+- items: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns a filtering collection of the appeasement items belonging to the appeasement.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) could be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.Appeasement.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.Appeasement.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.Appeasement.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.Appeasement.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.Appeasement.md#qualifier_serviceitems)
+
+
+
+---
+
+### reasonCode
+- reasonCode: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the reason code for the appeasement. The list of reason codes can be updated
+ by updating meta-data for Appeasement.
+
+
+
+---
+
+### reasonNote
+- reasonNote: [String](TopLevel.String.md)
+ - : Returns the reason note for the appeasement.
+
+
+---
+
+### status
+- status: [EnumValue](dw.value.EnumValue.md)
+ - : Gets the status of this appeasement.
+
+ The possible values are [STATUS_OPEN](dw.order.Appeasement.md#status_open), [STATUS_COMPLETED](dw.order.Appeasement.md#status_completed).
+
+
+
+---
+
+## Method Details
+
+### addItems(Money, List)
+- addItems(totalAmount: [Money](dw.value.Money.md), orderItems: [List](dw.util.List.md)): void
+ - : Creates appeasement items corresponding to certain order items and adds them to the appeasement.
+
+ **Parameters:**
+ - totalAmount - the appeasement amount corresponding to the provided order items; this amount is the net price when the order is net based and respectively - gross price when the order is gross based
+ - orderItems - the order items for which appeasement items should be created
+
+
+---
+
+### createInvoice()
+- createInvoice(): [Invoice](dw.order.Invoice.md)
+ - : Creates a new [Invoice](dw.order.Invoice.md) based on this Appeasement. The appeasement-number
+ will be used as the invoice-number.
+
+
+ The method must not be called more than once for an Appeasement,
+ nor may 2 invoices exist with the same invoice-number.
+
+
+ The new Invoice is a credit-invoice with a [Invoice.STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid) status, and
+ should be passed to the refund payment-hook in a separate database transaction for processing.
+
+
+ **Returns:**
+ - the created invoice
+
+
+---
+
+### createInvoice(String)
+- createInvoice(invoiceNumber: [String](TopLevel.String.md)): [Invoice](dw.order.Invoice.md)
+ - : Creates a new [Invoice](dw.order.Invoice.md) based on this Appeasement. The
+ invoice-number must be specified as an argument.
+
+
+ The method must not be called more than once for an Appeasement,
+ nor may 2 invoices exist with the same invoice-number.
+
+
+ The new Invoice is a credit-invoice with a [Invoice.STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid) status, and
+ should be passed to the refund payment-hook in a separate database transaction for processing.
+
+
+ **Parameters:**
+ - invoiceNumber - the invoice-number to be used in the appeasement creation process
+
+ **Returns:**
+ - the created invoice
+
+
+---
+
+### getAppeasementNumber()
+- getAppeasementNumber(): [String](TopLevel.String.md)
+ - : Returns the appeasement number.
+
+ **Returns:**
+ - the appeasement number
+
+
+---
+
+### getInvoice()
+- getInvoice(): [Invoice](dw.order.Invoice.md)
+ - : Returns null or the previously created [Invoice](dw.order.Invoice.md).
+
+ **Returns:**
+ - null or the previously created invoice
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.Appeasement.md#createinvoicestring)
+
+
+---
+
+### getInvoiceNumber()
+- getInvoiceNumber(): [String](TopLevel.String.md)
+ - : Returns `null` or the invoice-number.
+
+ **Returns:**
+ - `null` or the number of the previously created invoice
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.Appeasement.md#createinvoicestring)
+
+
+---
+
+### getItems()
+- getItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns a filtering collection of the appeasement items belonging to the appeasement.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) could be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.Appeasement.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.Appeasement.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.Appeasement.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.Appeasement.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.Appeasement.md#qualifier_serviceitems)
+
+
+ **Returns:**
+ - the filtering collection of the appeasement items
+
+
+---
+
+### getReasonCode()
+- getReasonCode(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the reason code for the appeasement. The list of reason codes can be updated
+ by updating meta-data for Appeasement.
+
+
+ **Returns:**
+ - the appeasement reason code
+
+
+---
+
+### getReasonNote()
+- getReasonNote(): [String](TopLevel.String.md)
+ - : Returns the reason note for the appeasement.
+
+ **Returns:**
+ - the reason note or `null`
+
+
+---
+
+### getStatus()
+- getStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Gets the status of this appeasement.
+
+ The possible values are [STATUS_OPEN](dw.order.Appeasement.md#status_open), [STATUS_COMPLETED](dw.order.Appeasement.md#status_completed).
+
+
+ **Returns:**
+ - the status
+
+
+---
+
+### setReasonCode(String)
+- setReasonCode(reasonCode: [String](TopLevel.String.md)): void
+ - : Set the reason code for the appeasement. The list of reason codes can be updated
+ by updating meta-data for Appeasement.
+
+
+ **Parameters:**
+ - reasonCode - the reason code to set
+
+
+---
+
+### setReasonNote(String)
+- setReasonNote(reasonNote: [String](TopLevel.String.md)): void
+ - : Sets the reason note for the appeasement.
+
+ **Parameters:**
+ - reasonNote - the reason note for the appeasement to set
+
+
+---
+
+### setStatus(String)
+- setStatus(appeasementStatus: [String](TopLevel.String.md)): void
+ - : Sets the appeasement status.
+
+
+ The possible values are [STATUS_OPEN](dw.order.Appeasement.md#status_open), [STATUS_COMPLETED](dw.order.Appeasement.md#status_completed).
+
+
+ When set to status COMPLETED, only the the custom attributes of its appeasement items can be changed.
+
+
+ **Parameters:**
+ - appeasementStatus - the appeasement status to set.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.AppeasementItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.AppeasementItem.md
new file mode 100644
index 00000000..3572feb7
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.AppeasementItem.md
@@ -0,0 +1,104 @@
+
+# Class AppeasementItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItem](dw.order.AbstractItem.md)
+ - [dw.order.AppeasementItem](dw.order.AppeasementItem.md)
+
+Represents an item of an [Appeasement](dw.order.Appeasement.md) which is associated with one [OrderItem](dw.order.OrderItem.md) usually representing an [Order](dw.order.Order.md)
+[ProductLineItem](dw.order.ProductLineItem.md). Items are created using method [Appeasement.addItems(Money, List)](dw.order.Appeasement.md#additemsmoney-list)
+
+
+When the related Appeasement were set to status COMPLETED, only the the custom attributes of the appeasement item can be changed.
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [appeasementNumber](#appeasementnumber): [String](TopLevel.String.md) `(read-only)` | Returns the number of the [Appeasement](dw.order.Appeasement.md) to which this item belongs. |
+| [parentItem](#parentitem): [AppeasementItem](dw.order.AppeasementItem.md) | Returns null or the parent item. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAppeasementNumber](dw.order.AppeasementItem.md#getappeasementnumber)() | Returns the number of the [Appeasement](dw.order.Appeasement.md) to which this item belongs. |
+| [getParentItem](dw.order.AppeasementItem.md#getparentitem)() | Returns null or the parent item. |
+| [setParentItem](dw.order.AppeasementItem.md#setparentitemappeasementitem)([AppeasementItem](dw.order.AppeasementItem.md)) | Set a parent item. |
+
+### Methods inherited from class AbstractItem
+
+[getGrossPrice](dw.order.AbstractItem.md#getgrossprice), [getItemID](dw.order.AbstractItem.md#getitemid), [getLineItem](dw.order.AbstractItem.md#getlineitem), [getNetPrice](dw.order.AbstractItem.md#getnetprice), [getOrderItem](dw.order.AbstractItem.md#getorderitem), [getOrderItemID](dw.order.AbstractItem.md#getorderitemid), [getTax](dw.order.AbstractItem.md#gettax), [getTaxBasis](dw.order.AbstractItem.md#gettaxbasis), [getTaxItems](dw.order.AbstractItem.md#gettaxitems)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### appeasementNumber
+- appeasementNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the number of the [Appeasement](dw.order.Appeasement.md) to which this item belongs.
+
+
+---
+
+### parentItem
+- parentItem: [AppeasementItem](dw.order.AppeasementItem.md)
+ - : Returns null or the parent item.
+
+
+---
+
+## Method Details
+
+### getAppeasementNumber()
+- getAppeasementNumber(): [String](TopLevel.String.md)
+ - : Returns the number of the [Appeasement](dw.order.Appeasement.md) to which this item belongs.
+
+ **Returns:**
+ - the number of the Appeasement to which this item belongs
+
+
+---
+
+### getParentItem()
+- getParentItem(): [AppeasementItem](dw.order.AppeasementItem.md)
+ - : Returns null or the parent item.
+
+ **Returns:**
+ - null or the parent item.
+
+
+---
+
+### setParentItem(AppeasementItem)
+- setParentItem(parentItem: [AppeasementItem](dw.order.AppeasementItem.md)): void
+ - : Set a parent item. The parent item must belong to the same
+ [Appeasement](dw.order.Appeasement.md). An infinite parent-child loop is disallowed
+ as is a parent-child depth greater than 10. Setting a parent item
+ indicates a dependency of the child item on the parent item, and can be
+ used to form a parallel structure to that accessed using
+ [ProductLineItem.getParent()](dw.order.ProductLineItem.md#getparent).
+
+
+ **Parameters:**
+ - parentItem - The parent item, null is allowed
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.Basket.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.Basket.md
new file mode 100644
index 00000000..4484f2fa
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.Basket.md
@@ -0,0 +1,867 @@
+
+# Class Basket
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.LineItemCtnr](dw.order.LineItemCtnr.md)
+ - [dw.order.Basket](dw.order.Basket.md)
+
+The Basket class represents a shopping cart.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [agentBasket](#agentbasket): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns if the basket was created by an agent. |
+| [inventoryReservationExpiry](#inventoryreservationexpiry): [Date](TopLevel.Date.md) `(read-only)` | Returns the timestamp when the inventory for this basket expires. |
+| [orderBeingEdited](#orderbeingedited): [Order](dw.order.Order.md) `(read-only)` | Returns the order that this basket represents if the basket is being used to edit an order, otherwise this method returns null. |
+| [orderNoBeingEdited](#ordernobeingedited): [String](TopLevel.String.md) `(read-only)` | Returns the number of the order that this basket represents if the basket is being used to edit an order, otherwise this method returns null. |
+| [taxRoundedAtGroup](#taxroundedatgroup): [Boolean](TopLevel.Boolean.md) `(read-only)` | Use this method to check if the Basket was calculated with grouped taxation calculation. |
+| [temporary](#temporary): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns if the basket is temporary. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getInventoryReservationExpiry](dw.order.Basket.md#getinventoryreservationexpiry)() | Returns the timestamp when the inventory for this basket expires. |
+| [getOrderBeingEdited](dw.order.Basket.md#getorderbeingedited)() | Returns the order that this basket represents if the basket is being used to edit an order, otherwise this method returns null. |
+| [getOrderNoBeingEdited](dw.order.Basket.md#getordernobeingedited)() | Returns the number of the order that this basket represents if the basket is being used to edit an order, otherwise this method returns null. |
+| [isAgentBasket](dw.order.Basket.md#isagentbasket)() | Returns if the basket was created by an agent. |
+| [isTaxRoundedAtGroup](dw.order.Basket.md#istaxroundedatgroup)() | Use this method to check if the Basket was calculated with grouped taxation calculation. |
+| [isTemporary](dw.order.Basket.md#istemporary)() | Returns if the basket is temporary. |
+| [releaseInventory](dw.order.Basket.md#releaseinventory)() | Release all inventory previously reserved for this basket. |
+| [reserveInventory](dw.order.Basket.md#reserveinventory)() | Reserves inventory for all items in this basket for 10 minutes. |
+| [reserveInventory](dw.order.Basket.md#reserveinventorynumber)([Number](TopLevel.Number.md)) | Reserve inventory for all items in this basket for 10 minutes. |
+| [reserveInventory](dw.order.Basket.md#reserveinventorynumber-boolean)([Number](TopLevel.Number.md), [Boolean](TopLevel.Boolean.md)) | Reserve inventory for all items in this basket for 10 minutes. |
+| [setBusinessType](dw.order.Basket.md#setbusinesstypenumber)([Number](TopLevel.Number.md)) | Set the type of the business this order has been placed in. Retrieve all open baskets for the logged in customer including the temporary baskets. |
+| [currentBasket](#currentbasket): [Basket](dw.order.Basket.md) `(read-only)` | This method returns the current valid basket of the session customer or `null` if no current valid basket exists. |
+| [currentOrNewBasket](#currentornewbasket): [Basket](dw.order.Basket.md) `(read-only)` | This method returns the current valid basket of the session customer or creates a new one if no current valid basket exists. |
+| [storedBasket](#storedbasket): [Basket](dw.order.Basket.md) `(read-only)` | This method returns the stored basket of the session customer or `null` if none is found. |
+| [temporaryBaskets](#temporarybaskets): [List](dw.util.List.md) `(read-only)` | Retrieve all open temporary baskets for the logged in customer. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [createAgentBasket](dw.order.BasketMgr.md#createagentbasket)() | Creates a new agent basket for the current session customer. |
+| static [createBasketFromOrder](dw.order.BasketMgr.md#createbasketfromorderorder)([Order](dw.order.Order.md)) | Creates a Basket from an existing Order for the purposes of changing an Order. |
+| static [createTemporaryBasket](dw.order.BasketMgr.md#createtemporarybasket)() | Creates a new temporary basket for the current session customer. |
+| static [deleteBasket](dw.order.BasketMgr.md#deletebasketbasket)([Basket](dw.order.Basket.md)) | Remove a customer basket including a temporary basket. |
+| static [deleteTemporaryBasket](dw.order.BasketMgr.md#deletetemporarybasketbasket)([Basket](dw.order.Basket.md)) | Remove a customer temporary basket. |
+| static [getBasket](dw.order.BasketMgr.md#getbasketstring)([String](TopLevel.String.md)) | This method returns a valid basket of the session customer or `null` if none is found. |
+| static [getBaskets](dw.order.BasketMgr.md#getbaskets)() | Retrieve all open baskets for the logged in customer including the temporary baskets. |
+| static [getCurrentBasket](dw.order.BasketMgr.md#getcurrentbasket)() | This method returns the current valid basket of the session customer or `null` if no current valid basket exists. |
+| static [getCurrentOrNewBasket](dw.order.BasketMgr.md#getcurrentornewbasket)() | This method returns the current valid basket of the session customer or creates a new one if no current valid basket exists. |
+| static [getStoredBasket](dw.order.BasketMgr.md#getstoredbasket)() | This method returns the stored basket of the session customer or `null` if none is found. |
+| static [getTemporaryBasket](dw.order.BasketMgr.md#gettemporarybasketstring)([String](TopLevel.String.md)) | This method returns a valid temporary basket of the session customer or `null` if none is found. |
+| static [getTemporaryBaskets](dw.order.BasketMgr.md#gettemporarybaskets)() | Retrieve all open temporary baskets for the logged in customer. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### baskets
+- baskets: [List](dw.util.List.md) `(read-only)`
+ - :
+
+ Retrieve all open baskets for the logged in customer including the temporary baskets.
+
+
+
+
+ Restricted to agent scenario use cases: The returned list contains all agent baskets created with
+ [createAgentBasket()](dw.order.BasketMgr.md#createagentbasket) and the current storefront basket which can also be retrieved with
+ [getCurrentBasket()](dw.order.BasketMgr.md#getcurrentbasket). This method will result in an exception if called by a user without permission
+ Create\_Order\_On\_Behalf\_Of or if no customer is logged in the session.
+
+
+
+
+ Please notice that baskets are invalidated after a certain amount of time and may not be returned anymore.
+
+
+
+---
+
+### currentBasket
+- currentBasket: [Basket](dw.order.Basket.md) `(read-only)`
+ - : This method returns the current valid basket of the session customer or `null` if no current valid
+ basket exists.
+
+
+ The methods [getCurrentBasket()](dw.order.BasketMgr.md#getcurrentbasket) and [getCurrentOrNewBasket()](dw.order.BasketMgr.md#getcurrentornewbasket) work based on the selected basket
+ persistence, which can be configured in the Business Manager site preferences / baskets section. A basket is
+ valid for the configured basket lifetime.
+
+
+
+
+ In hybrid storefront scenarios _(Phased Launch sites that utilize SFRA/SiteGenesis for some part while also
+ utilizing PWA Kit or other custom headless solution for another part of the same site)_, this method must
+ **NOT** be used. Instead, retrieve baskets via `GET baskets/{basketId}` or
+ `GET customers/{customerId}/baskets`. Do not use [getCurrentOrNewBasket()](dw.order.BasketMgr.md#getcurrentornewbasket) for basket creation
+ in any scenario.
+
+
+
+
+ The current basket, if one exists, is usually updated by the method. In particular the last-modified date is
+ updated. **_No update is done when method [getCurrentBasket()](dw.order.BasketMgr.md#getcurrentbasket) is used within a read-only hook
+ implementation (such as a beforeGet or a modifyResponse hook)._** The lifetime of a basket can be extended
+ in 2 ways:
+
+ - The basket is modified in some way, e.g. a product is added resulting in the basket total being newly calculated. This results in the basket lifetime being reset.
+ - The basket has not been modified for 60 minutes, then using this method to access the basket will also reset the basket lifetime.
+
+
+
+
+
+ What happens when a customer logs in? Personal data held inside the basket such as addresses, email addresses and
+ payment settings is associated with the customer to whom the basket belongs. If the basket being updated belongs
+ to a different customer this data is removed. This happens when a guest customer that has a basket logs in and
+ hence identifies as a registered customer. In this case the basket which was previously created by the guest
+ customer gets transferred to the (now logged in) registered customer. Should the registered customer already have
+ a basket, this basket is effectively invalidated, but made available using [getStoredBasket()](dw.order.BasketMgr.md#getstoredbasket) allowing
+ the script to merge content from it if desired.
+
+
+
+
+ What happens when a customer logs out or when the customer session times out? After the customer logs out, a
+ basket belonging to the registered customer (now logged out) is stored (where applicable) and this method
+ returns `null`. Personal data is also cleared when the session times out for a guest customer.
+
+
+
+
+ The following personal data is cleared:
+
+ - product line items that were added from a wish list
+ - shipping method
+ - coupon line items
+ - gift certificate line items
+ - billing and shipping addresses
+ - payment instruments
+ - buyer email
+
+ If the session currency no longer matches the basket currency, the basket currency should be updated with
+ [Basket.updateCurrency()](dw.order.Basket.md#updatecurrency).
+
+
+
+
+ Typical usage:
+
+
+ ```
+ var basket : Basket = BasketMgr.getCurrentBasket();
+ if (basket) {
+ // do something with basket
+ }
+ ```
+
+
+
+
+
+ Constraints:
+
+ - The method only accesses the basket for the session customer, an exception is thrown when the session customer is `null`.
+ - Method [getCurrentOrNewBasket()](dw.order.BasketMgr.md#getcurrentornewbasket)only creates a basket when method [getCurrentBasket()](dw.order.BasketMgr.md#getcurrentbasket)returns `null`.
+
+
+
+---
+
+### currentOrNewBasket
+- currentOrNewBasket: [Basket](dw.order.Basket.md) `(read-only)`
+ - :
+
+ This method returns the current valid basket of the session customer or creates a new one if no current valid
+ basket exists. See [getCurrentBasket()](dw.order.BasketMgr.md#getcurrentbasket) for more details.
+
+
+
+
+ In hybrid storefront scenarios _(Phased Launch sites that utilize SFRA/SiteGenesis for some part while also
+ utilizing PWA Kit or other custom headless solution for another part of the same site)_, this method must
+ **NOT** be used. For these scenarios, create baskets via `POST baskets` REST calls.
+
+
+
+---
+
+### storedBasket
+- storedBasket: [Basket](dw.order.Basket.md) `(read-only)`
+ - :
+
+ This method returns the stored basket of the session customer or `null` if none is found. A stored
+ basket is returned in the following situation:
+
+ 1. During one visit, a customer-Q logs in and creates a basket-A by adding products to it.
+ 2. During a subsequent visit, a second basket-B is created for a guest customer who then logs in as customer-Q.
+
+ In this case, basket-B is reassigned to customer-Q and basket-A is accessible as the stored basket using this
+ method. It is now possible to merge the information from the stored basket (basket-A) to the active basket
+ (basket-B). If this method returns `null` in the previous scenario, verify that:
+
+ 1. The session handling between the two visits is correct - the first visit and second visit must be in different sessions. Furthermore, the second session must contain both basket creations: as guest and the customer login.
+ 2. The stored basket is not expired.
+ 3. Basket persistence settings are configured correctly in the Business Manager.
+
+
+
+
+
+ A stored basket exists only if the corresponding setting is selected in Business Manager. preferences' baskets
+ section. A basket is valid for the configured basket lifetime.
+
+
+
+
+ Typical usage:
+
+
+ ```
+ var currentBasket : Basket = BasketMgr.getCurrentOrNewBasket();
+ var storedBasket : Basket = BasketMgr.getStoredBasket();
+ if (storedBasket) {
+ // transfer all the data needed from the stored to the active basket
+ }
+ ```
+
+
+ A exhaustive example on how to use this method in the context of the Merge Basket functionality can be found
+ here: [Merge Basket utility
+ functions using Script API](https://gist.github.com/sf-thomas-loesche/3446c7d71a97e559bf1caee96ae56d9f)
+
+
+
+---
+
+### temporaryBaskets
+- temporaryBaskets: [List](dw.util.List.md) `(read-only)`
+ - : Retrieve all open temporary baskets for the logged in customer.
+
+
+ Please notice that baskets are invalidated after a certain amount of time and may not be returned anymore.
+
+
+
+---
+
+## Method Details
+
+### createAgentBasket()
+- static createAgentBasket(): [Basket](dw.order.Basket.md)
+ - : Creates a new agent basket for the current session customer.
+
+
+ By default only 4 open agent baskets are allowed per customer. If this is exceeded a
+ [CreateAgentBasketLimitExceededException](dw.order.CreateAgentBasketLimitExceededException.md) will be thrown.
+
+
+
+
+ This method will result in an exception if called by a user without permission Create\_Order\_On\_Behalf\_Of or if no
+ customer is logged in the session.
+
+
+ **Returns:**
+ - the newly created basket for the customer which is logged in
+
+ **Throws:**
+ - CreateAgentBasketLimitExceededException - indicates that no agent basket could be created because the agent basket limit is already exceeded
+
+
+---
+
+### createBasketFromOrder(Order)
+- static createBasketFromOrder(order: [Order](dw.order.Order.md)): [Basket](dw.order.Basket.md)
+ - :
+
+ Creates a Basket from an existing Order for the purposes of changing an Order. When an Order is later created
+ from the Basket, the original Order is changed to status [Order.ORDER_STATUS_REPLACED](dw.order.Order.md#order_status_replaced). Restricted
+ to agent scenario use cases.
+
+
+
+
+ In case a storefront customer is using it the created storefront basket cannot be retrieved via
+
+ - [getCurrentBasket()](dw.order.BasketMgr.md#getcurrentbasket)(ScriptAPI),
+ - GET /baskets/ The invoice will be accounted. |
+| [addCaptureTransaction](dw.order.Invoice.md#addcapturetransactionorderpaymentinstrument-money)([OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [Money](dw.value.Money.md)) | Calling this method registers an amount captured for a given order payment instrument. |
+| [addRefundTransaction](dw.order.Invoice.md#addrefundtransactionorderpaymentinstrument-money)([OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [Money](dw.value.Money.md)) | Calling this method registers an amount refunded for a given order payment instrument. |
+| [getCapturedAmount](dw.order.Invoice.md#getcapturedamount)() | Returns the sum of the captured amounts. |
+| [getInvoiceNumber](dw.order.Invoice.md#getinvoicenumber)() | Returns the invoice number. |
+| [getItems](dw.order.Invoice.md#getitems)() | Access the collection of [InvoiceItem](dw.order.InvoiceItem.md)s. |
+| [getPaymentTransactions](dw.order.Invoice.md#getpaymenttransactions)() | Returns the payment transactions belonging to this Invoice. |
+| [getRefundedAmount](dw.order.Invoice.md#getrefundedamount)() | Returns the sum of the refunded amounts. |
+| [getStatus](dw.order.Invoice.md#getstatus)() | Returns the invoice status. The possible values are [STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid), [STATUS_MANUAL](dw.order.Invoice.md#status_manual), [STATUS_PAID](dw.order.Invoice.md#status_paid), [STATUS_FAILED](dw.order.Invoice.md#status_failed). |
+| [getType](dw.order.Invoice.md#gettype)() | Returns the invoice type. The possible values are [TYPE_SHIPPING](dw.order.Invoice.md#type_shipping), [TYPE_RETURN](dw.order.Invoice.md#type_return), [TYPE_RETURN_CASE](dw.order.Invoice.md#type_return_case), [TYPE_APPEASEMENT](dw.order.Invoice.md#type_appeasement). |
+| [setStatus](dw.order.Invoice.md#setstatusstring)([String](TopLevel.String.md)) | Sets the invoice status. The possible values are [STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid), [STATUS_MANUAL](dw.order.Invoice.md#status_manual), [STATUS_PAID](dw.order.Invoice.md#status_paid), [STATUS_FAILED](dw.order.Invoice.md#status_failed). |
+
+### Methods inherited from class AbstractItemCtnr
+
+[getCreatedBy](dw.order.AbstractItemCtnr.md#getcreatedby), [getCreationDate](dw.order.AbstractItemCtnr.md#getcreationdate), [getGrandTotal](dw.order.AbstractItemCtnr.md#getgrandtotal), [getItems](dw.order.AbstractItemCtnr.md#getitems), [getLastModified](dw.order.AbstractItemCtnr.md#getlastmodified), [getModifiedBy](dw.order.AbstractItemCtnr.md#getmodifiedby), [getOrder](dw.order.AbstractItemCtnr.md#getorder), [getProductSubtotal](dw.order.AbstractItemCtnr.md#getproductsubtotal), [getServiceSubtotal](dw.order.AbstractItemCtnr.md#getservicesubtotal)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ORDERBY_CREATION_DATE
+
+- ORDERBY_CREATION_DATE: [Object](TopLevel.Object.md)
+ - : Sorting by creation date. Use with method [getPaymentTransactions()](dw.order.Invoice.md#getpaymenttransactions) as an argument to
+ method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+
+---
+
+### ORDERBY_ITEMID
+
+- ORDERBY_ITEMID: [Object](TopLevel.Object.md)
+ - : Sorting by item id. Use with method [getItems()](dw.order.Invoice.md#getitems) as an argument to
+ method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+
+---
+
+### ORDERBY_ITEMPOSITION
+
+- ORDERBY_ITEMPOSITION: [Object](TopLevel.Object.md)
+ - : Sorting by the position of the related oder item. Use with method
+ [getItems()](dw.order.Invoice.md#getitems) as an argument to method
+ [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+
+---
+
+### ORDERBY_REVERSE
+
+- ORDERBY_REVERSE: [Object](TopLevel.Object.md)
+ - : Reverse orders. Use as an argument
+ to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+
+---
+
+### ORDERBY_UNSORTED
+
+- ORDERBY_UNSORTED: [Object](TopLevel.Object.md)
+ - : Unsorted , as it is. Use with method [getItems()](dw.order.Invoice.md#getitems) as an argument
+ to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+
+---
+
+### QUALIFIER_CAPTURE
+
+- QUALIFIER_CAPTURE: [Object](TopLevel.Object.md)
+ - : Selects the capture transactions. Use with method [getPaymentTransactions()](dw.order.Invoice.md#getpaymenttransactions) as an
+ argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+
+---
+
+### QUALIFIER_PRODUCTITEMS
+
+- QUALIFIER_PRODUCTITEMS: [Object](TopLevel.Object.md)
+ - : Selects the product items. Use with method [getItems()](dw.order.Invoice.md#getitems) as an
+ argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+
+---
+
+### QUALIFIER_REFUND
+
+- QUALIFIER_REFUND: [Object](TopLevel.Object.md)
+ - : Selects the refund transactions. Use with method [getPaymentTransactions()](dw.order.Invoice.md#getpaymenttransactions) as an
+ argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+
+---
+
+### QUALIFIER_SERVICEITEMS
+
+- QUALIFIER_SERVICEITEMS: [Object](TopLevel.Object.md)
+ - : Selects for the service items. Use with method [getItems()](dw.order.Invoice.md#getitems) as an
+ argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+
+---
+
+### STATUS_FAILED
+
+- STATUS_FAILED: [String](TopLevel.String.md) = "FAILED"
+ - : Constant for Invoice Status Failed.
+
+ The invoice handling failed.
+
+
+
+---
+
+### STATUS_MANUAL
+
+- STATUS_MANUAL: [String](TopLevel.String.md) = "MANUAL"
+ - : Constant for Invoice Status Manual.
+
+ The invoice is not paid but will **not** be handled automatically.
+
+ A manual invoice handling (capture or refund) is necessary.
+
+
+
+---
+
+### STATUS_NOT_PAID
+
+- STATUS_NOT_PAID: [String](TopLevel.String.md) = "NOT_PAID"
+ - : Constant for Invoice Status Not Paid.
+
+ The invoice is not paid and will be handled automatically.
+
+
+
+---
+
+### STATUS_PAID
+
+- STATUS_PAID: [String](TopLevel.String.md) = "PAID"
+ - : Constant for Invoice Status Paid.
+
+ The invoice was successfully paid.
+
+
+
+---
+
+### TYPE_APPEASEMENT
+
+- TYPE_APPEASEMENT: [String](TopLevel.String.md) = "APPEASEMENT"
+ - : Constant for Invoice Type Appeasement.
+
+ The invoice was created for an appeasement.
+
+ The invoice amount needs to be refunded.
+
+
+
+---
+
+### TYPE_RETURN
+
+- TYPE_RETURN: [String](TopLevel.String.md) = "RETURN"
+ - : Constant for Invoice Type Return.
+
+ The invoice was created for a return.
+
+ The invoice amount needs to be refunded.
+
+
+
+---
+
+### TYPE_RETURN_CASE
+
+- TYPE_RETURN_CASE: [String](TopLevel.String.md) = "RETURN_CASE"
+ - : Constant for Invoice Type Return Case.
+
+ The invoice was created for a return case.
+
+ The invoice amount needs to be refunded.
+
+
+
+---
+
+### TYPE_SHIPPING
+
+- TYPE_SHIPPING: [String](TopLevel.String.md) = "SHIPPING"
+ - : Constant for Invoice Type Shipping.
+
+ The invoice was created for a shipping order.
+
+ The invoice amount needs to be captured.
+
+
+
+---
+
+## Property Details
+
+### capturedAmount
+- capturedAmount: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of the captured amounts. The captured amounts are
+ calculated on the fly.
+
+ Associate a payment capture for a [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ with an Invoice using
+ [addCaptureTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addcapturetransactionorderpaymentinstrument-money).
+
+
+
+---
+
+### invoiceNumber
+- invoiceNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the invoice number.
+
+
+---
+
+### items
+- items: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Access the collection of [InvoiceItem](dw.order.InvoiceItem.md)s.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) can be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.Invoice.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.Invoice.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.Invoice.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.Invoice.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.Invoice.md#qualifier_serviceitems)
+
+
+
+---
+
+### paymentTransactions
+- paymentTransactions: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the payment transactions belonging to this Invoice.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) can be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_CREATION_DATE](dw.order.Invoice.md#orderby_creation_date) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.Invoice.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_CAPTURE](dw.order.Invoice.md#qualifier_capture) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_REFUND](dw.order.Invoice.md#qualifier_refund)
+
+
+ **See Also:**
+ - [PaymentTransaction](dw.order.PaymentTransaction.md)
+
+
+---
+
+### refundedAmount
+- refundedAmount: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of the refunded amounts. The refunded amounts are
+ calculated on the fly.
+
+ Associate a payment capture for a [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ with an Invoice using
+ [addRefundTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addrefundtransactionorderpaymentinstrument-money).
+
+
+
+---
+
+### status
+- status: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the invoice status.
+
+ The possible values are [STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid), [STATUS_MANUAL](dw.order.Invoice.md#status_manual),
+ [STATUS_PAID](dw.order.Invoice.md#status_paid), [STATUS_FAILED](dw.order.Invoice.md#status_failed).
+
+
+
+---
+
+### type
+- type: [EnumValue](dw.value.EnumValue.md) `(read-only)`
+ - : Returns the invoice type.
+
+ The possible values are [TYPE_SHIPPING](dw.order.Invoice.md#type_shipping), [TYPE_RETURN](dw.order.Invoice.md#type_return),
+ [TYPE_RETURN_CASE](dw.order.Invoice.md#type_return_case), [TYPE_APPEASEMENT](dw.order.Invoice.md#type_appeasement).
+
+
+
+---
+
+## Method Details
+
+### account()
+- account(): [Boolean](TopLevel.Boolean.md)
+ - :
+
+ The invoice will be accounted.
+
+
+
+
+ It will be captured in case of a shipping invoice and it will be refunded in
+ case of an appeasement, return case or return invoice.
+
+
+
+
+
+ The accounting will be handled in the payment hooks
+ [PaymentHooks.capture(Invoice)](dw.order.hooks.PaymentHooks.md#captureinvoice) or
+ [PaymentHooks.refund(Invoice)](dw.order.hooks.PaymentHooks.md#refundinvoice). The implementing script could add
+ payment transactions to the invoice. The accompanying business logic will
+ set the status to `PAID` or `FAILED`.
+
+
+
+
+ The accounting will fail when the invoice state is different to
+ [STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid) or [STATUS_FAILED](dw.order.Invoice.md#status_failed).
+
+
+
+
+ The method implements its own transaction handling. The method must not
+ be called inside a transaction.
+
+
+ **Returns:**
+ - `true` when the accounting was successful, otherwise
+ `false`.
+
+
+
+---
+
+### addCaptureTransaction(OrderPaymentInstrument, Money)
+- addCaptureTransaction(instrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), capturedAmount: [Money](dw.value.Money.md)): [PaymentTransaction](dw.order.PaymentTransaction.md)
+ - : Calling this method registers an amount captured for a given
+ order payment instrument. The authorization for the
+ capture is associated with the payment transaction belonging to the
+ instrument. Calling this method allows the Invoice, the
+ [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md) and the [Order](dw.order.Order.md) to
+ return their captured amount as a sum calculated on the fly. The method
+ may be called multiple times for the same instrument (multiple capture
+ for one authorization) or for different instruments (invoice settlement
+ using multiple payments).
+
+
+ **Parameters:**
+ - instrument - the order payment instrument
+ - capturedAmount - amount to register as captured
+
+ **Returns:**
+ - the created capture transaction
+
+
+---
+
+### addRefundTransaction(OrderPaymentInstrument, Money)
+- addRefundTransaction(instrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), refundedAmount: [Money](dw.value.Money.md)): [PaymentTransaction](dw.order.PaymentTransaction.md)
+ - : Calling this method registers an amount refunded for a given
+ order payment instrument. Calling this method allows the
+ Invoice, the [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md) and
+ the [Order](dw.order.Order.md) to return their refunded amount as a sum
+ calculated on the fly. The method may be called multiple times for the
+ same instrument (multiple refunds of one payment) or for different
+ instruments (invoice settlement using multiple payments).
+
+
+ **Parameters:**
+ - instrument - the order payment instrument
+ - refundedAmount - amount to register as refunded
+
+ **Returns:**
+ - the created refund transaction
+
+
+---
+
+### getCapturedAmount()
+- getCapturedAmount(): [Money](dw.value.Money.md)
+ - : Returns the sum of the captured amounts. The captured amounts are
+ calculated on the fly.
+
+ Associate a payment capture for a [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ with an Invoice using
+ [addCaptureTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addcapturetransactionorderpaymentinstrument-money).
+
+
+ **Returns:**
+ - sum of captured amounts
+
+
+---
+
+### getInvoiceNumber()
+- getInvoiceNumber(): [String](TopLevel.String.md)
+ - : Returns the invoice number.
+
+ **Returns:**
+ - the invoice number
+
+
+---
+
+### getItems()
+- getItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Access the collection of [InvoiceItem](dw.order.InvoiceItem.md)s.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) can be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.Invoice.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.Invoice.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.Invoice.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.Invoice.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.Invoice.md#qualifier_serviceitems)
+
+
+ **Returns:**
+ - the invoice items
+
+
+---
+
+### getPaymentTransactions()
+- getPaymentTransactions(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the payment transactions belonging to this Invoice.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) can be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_CREATION_DATE](dw.order.Invoice.md#orderby_creation_date) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.Invoice.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_CAPTURE](dw.order.Invoice.md#qualifier_capture) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_REFUND](dw.order.Invoice.md#qualifier_refund)
+
+
+ **Returns:**
+ - the payment transactions.
+
+ **See Also:**
+ - [PaymentTransaction](dw.order.PaymentTransaction.md)
+
+
+---
+
+### getRefundedAmount()
+- getRefundedAmount(): [Money](dw.value.Money.md)
+ - : Returns the sum of the refunded amounts. The refunded amounts are
+ calculated on the fly.
+
+ Associate a payment capture for a [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ with an Invoice using
+ [addRefundTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addrefundtransactionorderpaymentinstrument-money).
+
+
+ **Returns:**
+ - sum of refunded amounts
+
+
+---
+
+### getStatus()
+- getStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the invoice status.
+
+ The possible values are [STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid), [STATUS_MANUAL](dw.order.Invoice.md#status_manual),
+ [STATUS_PAID](dw.order.Invoice.md#status_paid), [STATUS_FAILED](dw.order.Invoice.md#status_failed).
+
+
+ **Returns:**
+ - the invoice status
+
+
+---
+
+### getType()
+- getType(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the invoice type.
+
+ The possible values are [TYPE_SHIPPING](dw.order.Invoice.md#type_shipping), [TYPE_RETURN](dw.order.Invoice.md#type_return),
+ [TYPE_RETURN_CASE](dw.order.Invoice.md#type_return_case), [TYPE_APPEASEMENT](dw.order.Invoice.md#type_appeasement).
+
+
+ **Returns:**
+ - the invoice type
+
+
+---
+
+### setStatus(String)
+- setStatus(status: [String](TopLevel.String.md)): void
+ - : Sets the invoice status.
+
+ The possible values are [STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid), [STATUS_MANUAL](dw.order.Invoice.md#status_manual),
+ [STATUS_PAID](dw.order.Invoice.md#status_paid), [STATUS_FAILED](dw.order.Invoice.md#status_failed).
+
+
+ **Parameters:**
+ - status - the invoice status to set
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.InvoiceItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.InvoiceItem.md
new file mode 100644
index 00000000..d95cbb98
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.InvoiceItem.md
@@ -0,0 +1,199 @@
+
+# Class InvoiceItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItem](dw.order.AbstractItem.md)
+ - [dw.order.InvoiceItem](dw.order.InvoiceItem.md)
+
+Represents a specific item in an [Invoice](dw.order.Invoice.md). Invoice items are added to the invoice
+on its creation, each item references exactly one order-item.
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [basePrice](#baseprice): [Money](dw.value.Money.md) `(read-only)` | Price of a single unit before discount application. |
+| [capturedAmount](#capturedamount): [Money](dw.value.Money.md) | Returns the captured amount for this item. |
+| [invoiceNumber](#invoicenumber): [String](TopLevel.String.md) `(read-only)` | Returns the number of the invoice to which this item belongs. |
+| [parentItem](#parentitem): [InvoiceItem](dw.order.InvoiceItem.md) | Returns null or the parent item. |
+| [quantity](#quantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the quantity of this item. |
+| [refundedAmount](#refundedamount): [Money](dw.value.Money.md) | Returns the refunded amount for this item. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBasePrice](dw.order.InvoiceItem.md#getbaseprice)() | Price of a single unit before discount application. |
+| [getCapturedAmount](dw.order.InvoiceItem.md#getcapturedamount)() | Returns the captured amount for this item. |
+| [getInvoiceNumber](dw.order.InvoiceItem.md#getinvoicenumber)() | Returns the number of the invoice to which this item belongs. |
+| [getParentItem](dw.order.InvoiceItem.md#getparentitem)() | Returns null or the parent item. |
+| [getQuantity](dw.order.InvoiceItem.md#getquantity)() | Returns the quantity of this item. |
+| [getRefundedAmount](dw.order.InvoiceItem.md#getrefundedamount)() | Returns the refunded amount for this item. |
+| [setCapturedAmount](dw.order.InvoiceItem.md#setcapturedamountmoney)([Money](dw.value.Money.md)) | Updates the captured amount for this item. |
+| [setParentItem](dw.order.InvoiceItem.md#setparentiteminvoiceitem)([InvoiceItem](dw.order.InvoiceItem.md)) | Set a parent item. |
+| [setRefundedAmount](dw.order.InvoiceItem.md#setrefundedamountmoney)([Money](dw.value.Money.md)) | Updates the refunded amount for this item. |
+
+### Methods inherited from class AbstractItem
+
+[getGrossPrice](dw.order.AbstractItem.md#getgrossprice), [getItemID](dw.order.AbstractItem.md#getitemid), [getLineItem](dw.order.AbstractItem.md#getlineitem), [getNetPrice](dw.order.AbstractItem.md#getnetprice), [getOrderItem](dw.order.AbstractItem.md#getorderitem), [getOrderItemID](dw.order.AbstractItem.md#getorderitemid), [getTax](dw.order.AbstractItem.md#gettax), [getTaxBasis](dw.order.AbstractItem.md#gettaxbasis), [getTaxItems](dw.order.AbstractItem.md#gettaxitems)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### basePrice
+- basePrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Price of a single unit before discount application.
+
+
+---
+
+### capturedAmount
+- capturedAmount: [Money](dw.value.Money.md)
+ - : Returns the captured amount for this item.
+
+
+---
+
+### invoiceNumber
+- invoiceNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the number of the invoice to which this item belongs.
+
+
+---
+
+### parentItem
+- parentItem: [InvoiceItem](dw.order.InvoiceItem.md)
+ - : Returns null or the parent item.
+
+
+---
+
+### quantity
+- quantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the quantity of this item.
+
+
+---
+
+### refundedAmount
+- refundedAmount: [Money](dw.value.Money.md)
+ - : Returns the refunded amount for this item.
+
+
+---
+
+## Method Details
+
+### getBasePrice()
+- getBasePrice(): [Money](dw.value.Money.md)
+ - : Price of a single unit before discount application.
+
+ **Returns:**
+ - Price of a single unit before discount application.
+
+
+---
+
+### getCapturedAmount()
+- getCapturedAmount(): [Money](dw.value.Money.md)
+ - : Returns the captured amount for this item.
+
+ **Returns:**
+ - the captured amount for this item
+
+
+---
+
+### getInvoiceNumber()
+- getInvoiceNumber(): [String](TopLevel.String.md)
+ - : Returns the number of the invoice to which this item belongs.
+
+ **Returns:**
+ - the number of the invoice to which this item belongs
+
+
+---
+
+### getParentItem()
+- getParentItem(): [InvoiceItem](dw.order.InvoiceItem.md)
+ - : Returns null or the parent item.
+
+ **Returns:**
+ - null or the parent item.
+
+
+---
+
+### getQuantity()
+- getQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity of this item.
+
+ **Returns:**
+ - quantity of this item
+
+
+---
+
+### getRefundedAmount()
+- getRefundedAmount(): [Money](dw.value.Money.md)
+ - : Returns the refunded amount for this item.
+
+ **Returns:**
+ - the refunded amount for this item
+
+
+---
+
+### setCapturedAmount(Money)
+- setCapturedAmount(capturedAmount: [Money](dw.value.Money.md)): void
+ - : Updates the captured amount for this item.
+
+ **Parameters:**
+ - capturedAmount - the captured amount for this item
+
+
+---
+
+### setParentItem(InvoiceItem)
+- setParentItem(parentItem: [InvoiceItem](dw.order.InvoiceItem.md)): void
+ - : Set a parent item. The parent item must belong to the same
+ [Invoice](dw.order.Invoice.md). An infinite parent-child loop is disallowed
+ as is a parent-child depth greater than 10. Setting a parent item
+ indicates a dependency of the child item on the parent item, and can be
+ used to form a parallel structure to that accessed using
+ [ProductLineItem.getParent()](dw.order.ProductLineItem.md#getparent).
+
+
+ **Parameters:**
+ - parentItem - The parent item, null is allowed
+
+
+---
+
+### setRefundedAmount(Money)
+- setRefundedAmount(refundedAmount: [Money](dw.value.Money.md)): void
+ - : Updates the refunded amount for this item.
+
+ **Parameters:**
+ - refundedAmount - the refunded amount for this item
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.LineItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.LineItem.md
new file mode 100644
index 00000000..ba6847f0
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.LineItem.md
@@ -0,0 +1,489 @@
+
+# Class LineItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.LineItem](dw.order.LineItem.md)
+
+Common line item base class.
+
+
+## All Known Subclasses
+[GiftCertificateLineItem](dw.order.GiftCertificateLineItem.md), [PriceAdjustment](dw.order.PriceAdjustment.md), [ProductLineItem](dw.order.ProductLineItem.md), [ProductShippingLineItem](dw.order.ProductShippingLineItem.md), [ShippingLineItem](dw.order.ShippingLineItem.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [basePrice](#baseprice): [Money](dw.value.Money.md) | Returns the base price for the line item, which is the price of the unit before applying adjustments, in the purchase currency. |
+| [grossPrice](#grossprice): [Money](dw.value.Money.md) | Returns the gross price for the line item, which is the price of the unit before applying adjustments, in the purchase currency, including tax. |
+| [lineItemCtnr](#lineitemctnr): [LineItemCtnr](dw.order.LineItemCtnr.md) `(read-only)` | Returns the line item ctnr of the line item. |
+| [lineItemText](#lineitemtext): [String](TopLevel.String.md) | Returns the display text for the line item. |
+| [netPrice](#netprice): [Money](dw.value.Money.md) | Returns the net price for the line item, which is the price of the unit before applying adjustments, in the purchase currency, excluding tax. |
+| [price](#price): [Money](dw.value.Money.md) `(read-only)` | Get the price of the line item. |
+| [priceValue](#pricevalue): [Number](TopLevel.Number.md) | Return the price amount for the line item. |
+| [tax](#tax): [Money](dw.value.Money.md) | Returns the tax for the line item, which is the tax of the unit before applying adjustments, in the purchase currency. |
+| [taxBasis](#taxbasis): [Money](dw.value.Money.md) `(read-only)` | Get the price used to calculate the tax for this line item. |
+| [taxClassID](#taxclassid): [String](TopLevel.String.md) | Returns the tax class ID for the line item or null if no tax class ID is associated with the line item. |
+| [taxRate](#taxrate): [Number](TopLevel.Number.md) | Returns the tax rate, which is the decimal tax rate to be applied to the product represented by this line item. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBasePrice](dw.order.LineItem.md#getbaseprice)() | Returns the base price for the line item, which is the price of the unit before applying adjustments, in the purchase currency. |
+| [getGrossPrice](dw.order.LineItem.md#getgrossprice)() | Returns the gross price for the line item, which is the price of the unit before applying adjustments, in the purchase currency, including tax. |
+| [getLineItemCtnr](dw.order.LineItem.md#getlineitemctnr)() | Returns the line item ctnr of the line item. |
+| [getLineItemText](dw.order.LineItem.md#getlineitemtext)() | Returns the display text for the line item. |
+| [getNetPrice](dw.order.LineItem.md#getnetprice)() | Returns the net price for the line item, which is the price of the unit before applying adjustments, in the purchase currency, excluding tax. |
+| [getPrice](dw.order.LineItem.md#getprice)() | Get the price of the line item. |
+| [getPriceValue](dw.order.LineItem.md#getpricevalue)() | Return the price amount for the line item. |
+| [getTax](dw.order.LineItem.md#gettax)() | Returns the tax for the line item, which is the tax of the unit before applying adjustments, in the purchase currency. |
+| [getTaxBasis](dw.order.LineItem.md#gettaxbasis)() | Get the price used to calculate the tax for this line item. |
+| [getTaxClassID](dw.order.LineItem.md#gettaxclassid)() | Returns the tax class ID for the line item or null if no tax class ID is associated with the line item. |
+| [getTaxRate](dw.order.LineItem.md#gettaxrate)() | Returns the tax rate, which is the decimal tax rate to be applied to the product represented by this line item. |
+| ~~[setBasePrice](dw.order.LineItem.md#setbasepricemoney)([Money](dw.value.Money.md))~~ | Sets the base price for the line item, which is the price of the unit before applying adjustments, in the purchase currency. |
+| ~~[setGrossPrice](dw.order.LineItem.md#setgrosspricemoney)([Money](dw.value.Money.md))~~ | Sets the gross price for the line item, which is the Price of the unit before applying adjustments, in the purchase currency, including tax. |
+| [setLineItemText](dw.order.LineItem.md#setlineitemtextstring)([String](TopLevel.String.md)) | Sets the display text for the line item. |
+| ~~[setNetPrice](dw.order.LineItem.md#setnetpricemoney)([Money](dw.value.Money.md))~~ | Sets the value for the net price, which is the price of the unit before applying adjustments, in the purchase currency, excluding tax. |
+| [setPriceValue](dw.order.LineItem.md#setpricevaluenumber)([Number](TopLevel.Number.md)) | Sets price attributes of the line item based on the current purchase currency and taxation policy. |
+| [setTax](dw.order.LineItem.md#settaxmoney)([Money](dw.value.Money.md)) | Sets the value for the tax of the line item, which is the the tax of the unit before applying adjustments, in the purchase currency. |
+| [setTaxClassID](dw.order.LineItem.md#settaxclassidstring)([String](TopLevel.String.md)) | Sets the tax class ID for the line item. |
+| [setTaxRate](dw.order.LineItem.md#settaxratenumber)([Number](TopLevel.Number.md)) | Sets the tax rate, which is the decimal tax rate to be applied to the product represented by this line item. |
+| ~~[updatePrice](dw.order.LineItem.md#updatepricemoney)([Money](dw.value.Money.md))~~ | Updates the price attributes of the line item based on the specified price. |
+| [updateTax](dw.order.LineItem.md#updatetaxnumber)([Number](TopLevel.Number.md)) | Updates the tax-related attributes of the line item based on the specified tax rate, a tax basis determined by the system and the "Tax Rounding Mode" order preference. |
+| [updateTax](dw.order.LineItem.md#updatetaxnumber-money)([Number](TopLevel.Number.md), [Money](dw.value.Money.md)) | Updates the tax-related attributes of the line item based on the specified tax rate, the passed tax basis and the "Tax Rounding Mode" order preference. |
+| [updateTaxAmount](dw.order.LineItem.md#updatetaxamountmoney)([Money](dw.value.Money.md)) | Updates tax amount of the line item setting the provided value. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### basePrice
+- basePrice: [Money](dw.value.Money.md)
+ - : Returns the base price for the line item, which is the price of the unit before applying adjustments, in the
+ purchase currency. The base price may be net or gross of tax depending on the configured taxation policy.
+
+
+
+---
+
+### grossPrice
+- grossPrice: [Money](dw.value.Money.md)
+ - : Returns the gross price for the line item, which is the price of the unit before applying adjustments, in the
+ purchase currency, including tax.
+
+
+
+---
+
+### lineItemCtnr
+- lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md) `(read-only)`
+ - : Returns the line item ctnr of the line item.
+
+
+---
+
+### lineItemText
+- lineItemText: [String](TopLevel.String.md)
+ - : Returns the display text for the line item.
+
+
+---
+
+### netPrice
+- netPrice: [Money](dw.value.Money.md)
+ - : Returns the net price for the line item, which is the price of the unit before applying adjustments, in the
+ purchase currency, excluding tax.
+
+
+
+---
+
+### price
+- price: [Money](dw.value.Money.md) `(read-only)`
+ - : Get the price of the line item. If the line item is based on net pricing then the net price is returned. If the
+ line item is based on gross pricing then the gross price is returned.
+
+
+
+---
+
+### priceValue
+- priceValue: [Number](TopLevel.Number.md)
+ - : Return the price amount for the line item. Same as getPrice().getValue().
+
+
+---
+
+### tax
+- tax: [Money](dw.value.Money.md)
+ - : Returns the tax for the line item, which is the tax of the unit before applying adjustments, in the purchase
+ currency.
+
+
+
+---
+
+### taxBasis
+- taxBasis: [Money](dw.value.Money.md) `(read-only)`
+ - : Get the price used to calculate the tax for this line item.
+
+
+---
+
+### taxClassID
+- taxClassID: [String](TopLevel.String.md)
+ - : Returns the tax class ID for the line item or null if no tax class ID is associated with the line item. In the
+ case where the tax class ID is null, you should use the default tax class ID.
+
+
+ **See Also:**
+ - [TaxMgr.getDefaultTaxClassID()](dw.order.TaxMgr.md#getdefaulttaxclassid)
+
+
+---
+
+### taxRate
+- taxRate: [Number](TopLevel.Number.md)
+ - : Returns the tax rate, which is the decimal tax rate to be applied to the product represented by this line item. A
+ value of 0.175 represents a percentage of 17.5%.
+
+
+
+---
+
+## Method Details
+
+### getBasePrice()
+- getBasePrice(): [Money](dw.value.Money.md)
+ - : Returns the base price for the line item, which is the price of the unit before applying adjustments, in the
+ purchase currency. The base price may be net or gross of tax depending on the configured taxation policy.
+
+
+ **Returns:**
+ - the base price for the line item.
+
+
+---
+
+### getGrossPrice()
+- getGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the gross price for the line item, which is the price of the unit before applying adjustments, in the
+ purchase currency, including tax.
+
+
+ **Returns:**
+ - the value of the gross price.
+
+
+---
+
+### getLineItemCtnr()
+- getLineItemCtnr(): [LineItemCtnr](dw.order.LineItemCtnr.md)
+ - : Returns the line item ctnr of the line item.
+
+ **Returns:**
+ - Line item ctnr of the line item
+
+
+---
+
+### getLineItemText()
+- getLineItemText(): [String](TopLevel.String.md)
+ - : Returns the display text for the line item.
+
+ **Returns:**
+ - the display text.
+
+
+---
+
+### getNetPrice()
+- getNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the net price for the line item, which is the price of the unit before applying adjustments, in the
+ purchase currency, excluding tax.
+
+
+ **Returns:**
+ - the value for the net price.
+
+
+---
+
+### getPrice()
+- getPrice(): [Money](dw.value.Money.md)
+ - : Get the price of the line item. If the line item is based on net pricing then the net price is returned. If the
+ line item is based on gross pricing then the gross price is returned.
+
+
+ **Returns:**
+ - either the net or the gross price
+
+
+---
+
+### getPriceValue()
+- getPriceValue(): [Number](TopLevel.Number.md)
+ - : Return the price amount for the line item. Same as getPrice().getValue().
+
+ **Returns:**
+ - the price for the line item
+
+
+---
+
+### getTax()
+- getTax(): [Money](dw.value.Money.md)
+ - : Returns the tax for the line item, which is the tax of the unit before applying adjustments, in the purchase
+ currency.
+
+
+ **Returns:**
+ - the tax for the line item.
+
+
+---
+
+### getTaxBasis()
+- getTaxBasis(): [Money](dw.value.Money.md)
+ - : Get the price used to calculate the tax for this line item.
+
+ **Returns:**
+ - The tax basis used to calculate tax for this line item, or Money.NOT\_AVAILABLE if tax has not been set
+ for this line item yet.
+
+
+
+---
+
+### getTaxClassID()
+- getTaxClassID(): [String](TopLevel.String.md)
+ - : Returns the tax class ID for the line item or null if no tax class ID is associated with the line item. In the
+ case where the tax class ID is null, you should use the default tax class ID.
+
+
+ **Returns:**
+ - the tax class ID for the line item or null if no tax class ID is associated with the line item.
+
+ **See Also:**
+ - [TaxMgr.getDefaultTaxClassID()](dw.order.TaxMgr.md#getdefaulttaxclassid)
+
+
+---
+
+### getTaxRate()
+- getTaxRate(): [Number](TopLevel.Number.md)
+ - : Returns the tax rate, which is the decimal tax rate to be applied to the product represented by this line item. A
+ value of 0.175 represents a percentage of 17.5%.
+
+
+ **Returns:**
+ - the value of the tax rate.
+
+
+---
+
+### setBasePrice(Money)
+- ~~setBasePrice(aValue: [Money](dw.value.Money.md)): void~~
+ - : Sets the base price for the line item, which is the price of the unit before applying adjustments, in the
+ purchase currency. The base price may be net or gross of tax depending on the configured taxation policy.
+
+
+ **Parameters:**
+ - aValue - the new value of the base price.
+
+ **Deprecated:**
+:::warning
+Use [updatePrice(Money)](dw.order.LineItem.md#updatepricemoney) instead.
+:::
+
+---
+
+### setGrossPrice(Money)
+- ~~setGrossPrice(aValue: [Money](dw.value.Money.md)): void~~
+ - : Sets the gross price for the line item, which is the Price of the unit before applying adjustments, in the
+ purchase currency, including tax.
+
+
+ **Parameters:**
+ - aValue - the new value of the attribute
+
+ **Deprecated:**
+:::warning
+Use [updatePrice(Money)](dw.order.LineItem.md#updatepricemoney) which sets the base price and also the gross price if the line item
+ is based on gross pricing.
+
+:::
+
+---
+
+### setLineItemText(String)
+- setLineItemText(aText: [String](TopLevel.String.md)): void
+ - : Sets the display text for the line item.
+
+ **Parameters:**
+ - aText - line item text.
+
+
+---
+
+### setNetPrice(Money)
+- ~~setNetPrice(aValue: [Money](dw.value.Money.md)): void~~
+ - : Sets the value for the net price, which is the price of the unit before applying adjustments, in the purchase
+ currency, excluding tax.
+
+
+ **Parameters:**
+ - aValue - the new value for the net price
+
+ **Deprecated:**
+:::warning
+Use [updatePrice(Money)](dw.order.LineItem.md#updatepricemoney) which sets the base price and also the net price if the line item is
+ based on net pricing.
+
+:::
+
+---
+
+### setPriceValue(Number)
+- setPriceValue(value: [Number](TopLevel.Number.md)): void
+ - : Sets price attributes of the line item based on the current purchase currency and taxation policy.
+
+ The methods sets the 'basePrice' attribute of the line item. Additionally, it sets the 'netPrice' attribute of
+ the line item if the current taxation policy is 'net', and the 'grossPrice' attribute, if the current taxation
+ policy is 'gross'.
+
+ If null is specified as value, the price attributes are reset to Money.NOT\_AVAILABLE.
+
+
+ **Parameters:**
+ - value - Price value or null
+
+
+---
+
+### setTax(Money)
+- setTax(aValue: [Money](dw.value.Money.md)): void
+ - : Sets the value for the tax of the line item, which is the the tax of the unit before applying adjustments, in the
+ purchase currency.
+
+
+ **Parameters:**
+ - aValue - the new value for the tax.
+
+
+---
+
+### setTaxClassID(String)
+- setTaxClassID(aValue: [String](TopLevel.String.md)): void
+ - : Sets the tax class ID for the line item.
+
+ **Parameters:**
+ - aValue - the tax class ID for the line item.
+
+
+---
+
+### setTaxRate(Number)
+- setTaxRate(taxRate: [Number](TopLevel.Number.md)): void
+ - : Sets the tax rate, which is the decimal tax rate to be applied to the product represented by this line item. A
+ value of 0.175 represents a percentage of 17.5%.
+
+
+ **Parameters:**
+ - taxRate - the new value for the tax rate.
+
+
+---
+
+### updatePrice(Money)
+- ~~updatePrice(price: [Money](dw.value.Money.md)): void~~
+ - : Updates the price attributes of the line item based on the specified price. The base price is set to the
+ specified value. If the line item is based on net pricing then the net price attribute is set. If the line item
+ is based on gross pricing then the gross price attribute is set. Whether or not a line item is based on net or
+ gross pricing is a site-wide configuration parameter.
+
+
+ **Parameters:**
+ - price - The price to use when performing the update. This price must not be null and must either be equal to NOT\_AVAIALBLE or must have a currency code equal to that of the parent container.
+
+ **Deprecated:**
+:::warning
+Use [setPriceValue(Number)](dw.order.LineItem.md#setpricevaluenumber) instead.
+:::
+
+---
+
+### updateTax(Number)
+- updateTax(taxRate: [Number](TopLevel.Number.md)): void
+ - : Updates the tax-related attributes of the line item based on the specified tax rate, a tax basis determined by
+ the system and the "Tax Rounding Mode" order preference. This method sets the tax basis as an attribute, and is
+ not affected by the previous value of this attribute.
+
+
+ The value used as a basis depends on the type of line item this is and on the promotion preferences for the
+ current site. If you tax products, shipping, and discounts based on price (default), then the tax basis will
+ simply be equal to [getPrice()](dw.order.LineItem.md#getprice). If you tax products and shipping only based on adjusted price, then the
+ tax basis depends upon line item type as follows:
+
+ - **ProductLineItem:**basis equals [ProductLineItem.getProratedPrice()](dw.order.ProductLineItem.md#getproratedprice).
+ - **ShippingLineItem:**basis equals [ShippingLineItem.getAdjustedPrice()](dw.order.ShippingLineItem.md#getadjustedprice).
+ - **ProductShippingLineItem:**basis equals [ProductShippingLineItem.getAdjustedPrice()](dw.order.ProductShippingLineItem.md#getadjustedprice).
+ - **PriceAdjustment:**basis equals 0.00.
+ - All other line item types: basis equals [getPrice()](dw.order.LineItem.md#getprice).
+
+ If null is passed as tax rate, tax-related attribute fields are set to N/A.
+
+
+ **Parameters:**
+ - taxRate - taxRate the tax rate to use or null.
+
+
+---
+
+### updateTax(Number, Money)
+- updateTax(taxRate: [Number](TopLevel.Number.md), taxBasis: [Money](dw.value.Money.md)): void
+ - : Updates the tax-related attributes of the line item based on the specified tax rate, the passed tax basis and the
+ "Tax Rounding Mode" order preference. If null is passed as tax rate or tax basis, tax-related attribute fields
+ are set to N/A.
+
+
+ **Parameters:**
+ - taxRate - the tax rate to use or null.
+ - taxBasis - the tax basis to use or null.
+
+
+---
+
+### updateTaxAmount(Money)
+- updateTaxAmount(tax: [Money](dw.value.Money.md)): void
+ - : Updates tax amount of the line item setting the provided value. Depending on the way how the tax is calculated
+ (based on net or gross price), the corresponding gross or net price is updated accordingly. For tax calculation
+ based on net price, the gross price is calculated by adding the tax to the net price. For tax calculation based
+ on gross price, the net price is calculated by subtracting the tax from the gross price.
+
+
+ If null is passed as tax amount, the item tax and resulting net or gross price are set to N/A.
+
+
+ Note that tax rate is not calculated and it is not updated.
+
+
+ **Parameters:**
+ - tax - the tax amount of the line item to set
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.LineItemCtnr.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.LineItemCtnr.md
new file mode 100644
index 00000000..68be4370
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.LineItemCtnr.md
@@ -0,0 +1,2399 @@
+
+# Class LineItemCtnr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.LineItemCtnr](dw.order.LineItemCtnr.md)
+
+A container for line items, such as ProductLineItems, CouponLineItems, GiftCertificateLineItems. This container also
+provides access to shipments, shipping adjustments (promotions), and payment instruments (credit cards).
+
+
+LineItemCtnr also contains a set of methods for creating line items and adjustments, and for accessing various price
+values. There are three types of price-related methods:
+
+
+
+- _Net-based_methods represent the amount of a category **before tax has been calculated**. For example, the getMerchandizeTotalNetPrice() returns the price of all merchandise in the container whereas getShippingTotalNetPrice() returns the price of all shipments in the container.
+- _Tax-based_methods return the amount of tax on a category. For example, the getMerchandizeTotalTax() returns the total tax for all merchandise and the getShippingTotalTax() returns the tax applied to all shipments.
+- _Gross-based_methods represent the amount of a category **after tax has been calculated**. For example, the getMerchandizeTotalGrossPrice() returns the price of all merchandise in the container, including tax on the merchandise, whereas getShippingTotalGrossPrice() returns the price of all shipments in the container, including tax on the shipments in the container.
+
+There are also a set of methods that provide access to 'adjusted' values. The adjusted-based methods return values
+where promotions have been applied. For example, the getAdjustedMerchandizeTotalNetPrice() method returns the net
+price of all merchandise after product-level and order-level promotions have been applied. Whereas the
+getAdjustedMerchandizeTotalGrossPrice() method returns the price of all merchandise after product-level and
+order-level promotions have been applied and includes the amount of merchandise-related tax.
+
+
+Finally, there are a set of methods that return the aggregate values representing the line items in the container.
+These are the total-based methods getTotalNetPrice(), getTotalTax() and getTotalGrossPrice(). These methods return
+the totals of all items in the container and include any order-level promotions.
+
+
+Note that all merchandise-related methods do not include 'gift certificates' values in the values they return. Gift
+certificates are not considered merchandise as they do not represent a product.
+
+
+
+## All Known Subclasses
+[Basket](dw.order.Basket.md), [Order](dw.order.Order.md)
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [BUSINESS_TYPE_B2B](#business_type_b2b): [Number](TopLevel.Number.md) = 2 | constant for Business Type B2B |
+| [BUSINESS_TYPE_B2C](#business_type_b2c): [Number](TopLevel.Number.md) = 1 | constant for Business Type B2C |
+| [CHANNEL_TYPE_CALLCENTER](#channel_type_callcenter): [Number](TopLevel.Number.md) = 2 | constant for Channel Type CallCenter |
+| [CHANNEL_TYPE_CUSTOMERSERVICECENTER](#channel_type_customerservicecenter): [Number](TopLevel.Number.md) = 11 | constant for Channel Type Customer Service Center |
+| [CHANNEL_TYPE_DSS](#channel_type_dss): [Number](TopLevel.Number.md) = 4 | constant for Channel Type DSS |
+| [CHANNEL_TYPE_FACEBOOKADS](#channel_type_facebookads): [Number](TopLevel.Number.md) = 8 | constant for Channel Type Facebook Ads |
+| [CHANNEL_TYPE_GOOGLE](#channel_type_google): [Number](TopLevel.Number.md) = 13 | constant for Channel Type Google |
+| [CHANNEL_TYPE_INSTAGRAMCOMMERCE](#channel_type_instagramcommerce): [Number](TopLevel.Number.md) = 12 | constant for Channel Type Instagram Commerce |
+| [CHANNEL_TYPE_MARKETPLACE](#channel_type_marketplace): [Number](TopLevel.Number.md) = 3 | constant for Channel Type Marketplace |
+| [CHANNEL_TYPE_ONLINERESERVATION](#channel_type_onlinereservation): [Number](TopLevel.Number.md) = 10 | constant for Channel Type Online Reservation |
+| [CHANNEL_TYPE_PINTEREST](#channel_type_pinterest): [Number](TopLevel.Number.md) = 6 | constant for Channel Type Pinterest |
+| [CHANNEL_TYPE_SNAPCHAT](#channel_type_snapchat): [Number](TopLevel.Number.md) = 15 | constant for Channel Type Snapchat |
+| [CHANNEL_TYPE_STORE](#channel_type_store): [Number](TopLevel.Number.md) = 5 | constant for Channel Type Store |
+| [CHANNEL_TYPE_STOREFRONT](#channel_type_storefront): [Number](TopLevel.Number.md) = 1 | constant for Channel Type Storefront |
+| [CHANNEL_TYPE_SUBSCRIPTIONS](#channel_type_subscriptions): [Number](TopLevel.Number.md) = 9 | constant for Channel Type Subscriptions |
+| [CHANNEL_TYPE_TIKTOK](#channel_type_tiktok): [Number](TopLevel.Number.md) = 14 | constant for Channel Type TikTok |
+| [CHANNEL_TYPE_TWITTER](#channel_type_twitter): [Number](TopLevel.Number.md) = 7 | constant for Channel Type Twitter |
+| [CHANNEL_TYPE_WHATSAPP](#channel_type_whatsapp): [Number](TopLevel.Number.md) = 16 | constant for Channel Type WhatsApp |
+| [CHANNEL_TYPE_YOUTUBE](#channel_type_youtube): [Number](TopLevel.Number.md) = 17 | constant for Channel Type YouTube |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [adjustedMerchandizeTotalGrossPrice](#adjustedmerchandizetotalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the adjusted total gross price (including tax) in purchase currency. |
+| [adjustedMerchandizeTotalNetPrice](#adjustedmerchandizetotalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the total net price (excluding tax) in purchase currency. |
+| [adjustedMerchandizeTotalPrice](#adjustedmerchandizetotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the adjusted merchandize total price including product-level and order-level adjustments. |
+| [adjustedMerchandizeTotalTax](#adjustedmerchandizetotaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the subtotal tax in purchase currency. |
+| [adjustedShippingTotalGrossPrice](#adjustedshippingtotalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the adjusted sum of all shipping line items of the line item container, including tax after shipping adjustments have been applied. |
+| [adjustedShippingTotalNetPrice](#adjustedshippingtotalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the sum of all shipping line items of the line item container, excluding tax after shipping adjustments have been applied. |
+| [adjustedShippingTotalPrice](#adjustedshippingtotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the adjusted shipping total price. |
+| [adjustedShippingTotalTax](#adjustedshippingtotaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the tax of all shipping line items of the line item container after shipping adjustments have been applied. |
+| ~~[allGiftCertificateLineItems](#allgiftcertificatelineitems): [Collection](dw.util.Collection.md)~~ `(read-only)` | Returns all gift certificate line items of the container. |
+| [allLineItems](#alllineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns all product, shipping, price adjustment, and gift certificate line items of the line item container. |
+| [allProductLineItems](#allproductlineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns all product line items of the container, no matter if they are dependent or independent. |
+| [allProductQuantities](#allproductquantities): [HashMap](dw.util.HashMap.md) `(read-only)` | Returns a hash mapping all products in the line item container to their total quantities. |
+| [allShippingPriceAdjustments](#allshippingpriceadjustments): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of all shipping price adjustments applied somewhere in the container. |
+| [billingAddress](#billingaddress): [OrderAddress](dw.order.OrderAddress.md) `(read-only)` | Returns the billing address defined for the container. |
+| [bonusDiscountLineItems](#bonusdiscountlineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns an unsorted collection of the the bonus discount line items associated with this container. |
+| [bonusLineItems](#bonuslineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of product line items that are bonus items (where [ProductLineItem.isBonusProductLineItem()](dw.order.ProductLineItem.md#isbonusproductlineitem) is true). |
+| [businessType](#businesstype): [EnumValue](dw.value.EnumValue.md) `(read-only)` | Returns the type of the business this order has been placed in. This method cancels an order. |
+| static [createOrder](dw.order.OrderMgr.md#createorderbasket)([Basket](dw.order.Basket.md)) | This method creates an order based on a basket. |
+| static [createOrder](dw.order.OrderMgr.md#createorderbasket-string)([Basket](dw.order.Basket.md), [String](TopLevel.String.md)) | This method functions the same as [createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket), but allows the optional specification of an `orderNo`. |
+| static [createOrderNo](dw.order.OrderMgr.md#createorderno)() | Creates an order number. |
+| static [createOrderSequenceNo](dw.order.OrderMgr.md#createordersequenceno)() | Creates an order number. |
+| static [createShippingOrders](dw.order.OrderMgr.md#createshippingordersorder)([Order](dw.order.Order.md)) | Triggers the shipping order creation for an order. |
+| static [describeOrder](dw.order.OrderMgr.md#describeorder)() | Returns the meta data for Orders. |
+| ~~static [failOrder](dw.order.OrderMgr.md#failorderorder)([Order](dw.order.Order.md))~~ | This method fails an unplaced order and is usually called if payment could not be authorized. |
+| static [failOrder](dw.order.OrderMgr.md#failorderorder-boolean)([Order](dw.order.Order.md), [Boolean](TopLevel.Boolean.md)) | This method fails an unplaced order and is usually called if payment could not be authorized. |
+| static [getOrder](dw.order.OrderMgr.md#getorderstring)([String](TopLevel.String.md)) | Returns the order with the specified order number. |
+| static [getOrder](dw.order.OrderMgr.md#getorderstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Resolves an order using the orderNumber and orderToken. |
+| static [placeOrder](dw.order.OrderMgr.md#placeorderorder)([Order](dw.order.Order.md)) | This method places an order and is usually called after payment has been authorized. |
+| static [processOrders](dw.order.OrderMgr.md#processordersfunction-string-object)([Function](TopLevel.Function.md), [String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Executes a user-definable function on a set of orders. |
+| ~~static [queryOrder](dw.order.OrderMgr.md#queryorderstring-object)([String](TopLevel.String.md), [Object...](TopLevel.Object.md))~~ | Searches for a single order instance. |
+| ~~static [queryOrders](dw.order.OrderMgr.md#queryordersmap-string)([Map](dw.util.Map.md), [String](TopLevel.String.md))~~ | Searches for order instances. |
+| ~~static [queryOrders](dw.order.OrderMgr.md#queryordersstring-string-object)([String](TopLevel.String.md), [String](TopLevel.String.md), [Object...](TopLevel.Object.md))~~ | Searches for order instances. |
+| static [searchOrder](dw.order.OrderMgr.md#searchorderstring-object)([String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Searches for a single order instance. |
+| static [searchOrders](dw.order.OrderMgr.md#searchordersmap-string)([Map](dw.util.Map.md), [String](TopLevel.String.md)) | Searches for order instances. |
+| static [searchOrders](dw.order.OrderMgr.md#searchordersstring-string-object)([String](TopLevel.String.md), [String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Searches for order instances. |
+| static [undoCancelOrder](dw.order.OrderMgr.md#undocancelorderorder)([Order](dw.order.Order.md)) | This method is used to turn a CANCELLED order into an OPEN order. |
+| static [undoFailOrder](dw.order.OrderMgr.md#undofailorderorder)([Order](dw.order.Order.md)) | This method is used to turn a FAILED order into a CREATED order. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### cancelOrder(Order)
+- static cancelOrder(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - :
+
+ This method cancels an order. Only orders in status OPEN, NEW, or COMPLETED can be cancelled.
+
+
+
+
+ Setting of cancel code and cancel description can be done by calling
+ `[Order.setCancelCode(String)](dw.order.Order.md#setcancelcodestring)` and `[Order.setCancelDescription(String)](dw.order.Order.md#setcanceldescriptionstring)`. \*
+ If the order contains product or gift certificate line items associated with product list items, records of the
+ purchase of the product list items will be removed.
+
+
+
+
+ Inventory transactions and coupon redemptions associated with the order will be rolled back.
+
+
+
+
+ It is important to consider that this method will cancel orders with gift certificate line items.
+
+
+
+
+ If an order has any active post-processing objects (e.g. shipping orders, returns, appeasements), then it cannot
+ be cancelled directly. Its status is set automatically, based on the statuses of its post-processing objects. To
+ cancel such an order, you must cancel all related post-processing objects.
+
+
+
+
+ If your B2C Commerce instance is integrated with Order Management, then you manage order statuses in Order
+ Management. Use Order Management API endpoints.
+
+
+ **Parameters:**
+ - order - the order to be cancelled
+
+ **Returns:**
+ - Status 'OK' or 'ERROR'
+
+
+---
+
+### createOrder(Basket)
+- static createOrder(basket: [Basket](dw.order.Basket.md)): [Order](dw.order.Order.md)
+ - :
+
+ This method creates an order based on a basket. If successful, the new order will be in status
+ [Order.ORDER_STATUS_CREATED](dw.order.Order.md#order_status_created). The basket will be removed from the session and marked for removal.
+
+
+
+
+ This method throws an APIException with type 'CreateOrderException' if any of the following conditions are
+ encountered:
+
+ - any of the totals (net, gross, tax) of the basket is N/A
+ - any of the product items is not available (this takes previously reserved items into account)
+ - any campaign-based coupon in the basket is invalid (see [CouponLineItem.isValid()](dw.order.CouponLineItem.md#isvalid)
+ - the basket represents an order being edited, but the order has already been replaced by another order
+ - the basket represents an order being edited, but the customer associated with the original order is not the same as the current customer
+
+
+
+
+
+ The method removes all empty shipments from the basket before creating the order. A shipment is said to be empty
+ if all of the following are true:
+
+ - it contains no product or gift certificate line items
+ - all total prices (net, gross, tax) are 0.0
+
+
+
+
+
+ This method decrements inventory for all products contained in the order. A previous call to
+ [Basket.reserveInventory()](dw.order.Basket.md#reserveinventory) is unnecessary and discouraged within the same request. The method
+ takes any items with reserved inventory into account, allowing an early reservation of items, e.g. at the
+ beginning of the checkout process. As described above, an APIException is thrown if any item is not available.
+
+
+
+
+ If the basket contains product or gift certificate line items associated with product list items, the method
+ updates the purchased quantity of the product list items; see
+ [ProductListItem.getPurchasedQuantity()](dw.customer.ProductListItem.md#getpurchasedquantity).
+
+
+
+
+ The system generates an order number via hook [OrderHooks.createOrderNo()](dw.order.hooks.OrderHooks.md#createorderno). If no hook is
+ registered for the endpoint, the number is generated by calling [createOrderSequenceNo()](dw.order.OrderMgr.md#createordersequenceno). The format of
+ the number is based on the Order Number scheme defined in the Sequence Numbers preference configured for the site
+ or organization. The number is guaranteed to be unique, but is not guaranteed to be sequential. It can be higher
+ or lower than a previously created number. As a result, sorting orders by order number is not guaranteed to sort
+ them in their order of creation.
+
+
+
+
+ This method must not be used with the **ReserveInventoryForOrder** pipelet or
+ [Basket.reserveInventory()](dw.order.Basket.md#reserveinventory) in the same request.
+
+
+
+
+ When an order is created, search results don't include it until the next asynchronous update of the order search
+ index. See [OrderMgr](dw.order.OrderMgr.md).
+
+
+
+
+ Please note that this method might result in an order with a different customer ID than the originating
+ registered customer attached to the session. This happens if a registered customer logs in with the "RememberMe"
+ flag set to `true`, but is later logged out (either explicitly, or automatically via session
+ expiration) before calling this method. This is due to the internal order creation logic, which creates a new
+ guest customer and attaches it to the order in such cases. To avoid this situation, have your custom code verify
+ that the customer is authenticated before it calls this method.
+
+
+
+
+ Usage:
+
+
+
+
+
+
+ ```
+ var basket : Basket; // known
+ try
+ {
+ var order : Order = OrderMgr.createOrder(basket);
+ }
+ catch (e if e instanceof APIException && e.type === 'CreateOrderException')
+ {
+ // handle e
+ }
+ ```
+
+
+ **Parameters:**
+ - basket - basket to create an order for
+
+ **Returns:**
+ - a new order
+
+ **Throws:**
+ - dw.order.CreateOrderException - indicates the order could not be created
+
+
+---
+
+### createOrder(Basket, String)
+- static createOrder(basket: [Basket](dw.order.Basket.md), orderNo: [String](TopLevel.String.md)): [Order](dw.order.Order.md)
+ - :
+
+ This method functions the same as [createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket), but allows the optional specification of
+ an `orderNo`. The `orderNo` must be unique within the context of a site.
+
+
+
+
+ If the `orderNo` is not specified, the behavior is the same as that of
+ [createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket). In that case, the system generates an order number via hook
+ [OrderHooks.createOrderNo()](dw.order.hooks.OrderHooks.md#createorderno). If no hook is registered for the endpoint, the number is
+ generated by calling [createOrderSequenceNo()](dw.order.OrderMgr.md#createordersequenceno). The format of the number is based on the Order Number
+ scheme defined in the Sequence Numbers preference configured for the site or organization. The number is
+ guaranteed to be unique, but is not guaranteed to be sequential. It can be higher or lower than a previously
+ created number. As a result, sorting orders by order number is not guaranteed to sort them in their order of
+ creation.
+
+
+
+
+ This method must not be used with the **ReserveInventoryForOrder** pipelet or
+ [Basket.reserveInventory()](dw.order.Basket.md#reserveinventory) in the same request.
+
+
+
+
+ When an order is created, search results don't include it until the next asynchronous update of the order search
+ index. See [OrderMgr](dw.order.OrderMgr.md).
+
+
+
+
+ Please note that this method might result in an order with a different customer ID than the originating
+ registered customer attached to the session. This happens if a registered customer logs in with the "RememberMe"
+ flag set to `true`, but is later logged out (either explicitly, or automatically via session
+ expiration) before calling this method. This is due to the internal order creation logic, which creates a new
+ guest customer and attaches it to the order in such cases. To avoid this situation, have your custom code verify
+ that the customer is authenticated before it calls this method.
+
+
+
+
+ Usage:
+
+
+
+
+
+
+ ```
+ var basket : Basket; // known
+ var orderNo : String; // known
+ try
+ {
+ var order : Order = OrderMgr.createOrder(basket, orderNo);
+ }
+ catch (e if e instanceof APIException && e.type === 'CreateOrderException')
+ {
+ // handle e
+ }
+ ```
+
+
+ **Parameters:**
+ - basket - basket to create an order for
+ - orderNo - optional order number; if `null` is specified, an order number is generated
+
+ **Returns:**
+ - a new order
+
+ **Throws:**
+ - dw.order.CreateOrderException - indicates the order could not be created
+
+
+---
+
+### createOrderNo()
+- static createOrderNo(): [String](TopLevel.String.md)
+ - :
+
+ Creates an order number.
+
+
+
+
+ The order number is created via hook [OrderHooks.createOrderNo()](dw.order.hooks.OrderHooks.md#createorderno). If no hook is registered
+ for the endpoint, the number is generated by calling [createOrderSequenceNo()](dw.order.OrderMgr.md#createordersequenceno). The format of the number
+ is based on the Order Number scheme defined in the Sequence Numbers preference configured for the site or
+ organization.
+
+
+
+
+ The number is guaranteed to be unique, but is not guaranteed to be sequential. It can be higher or lower than a
+ previously created number. As a result, sorting orders by order number is not guaranteed to sort them in their
+ order of creation.
+
+
+ **Returns:**
+ - an available order number
+
+ **Throws:**
+ - CreateException - if order number creation failed
+
+
+---
+
+### createOrderSequenceNo()
+- static createOrderSequenceNo(): [String](TopLevel.String.md)
+ - :
+
+ Creates an order number.
+
+
+
+
+ The format of the number is based on the Order Number scheme defined in the Sequence Numbers preference
+ configured for the site or organization.
+
+
+
+
+ The number is guaranteed to be unique, but is not guaranteed to be sequential. It can be higher or lower than a
+ previously created number. As a result, sorting orders by order number is not guaranteed to sort them in their
+ order of creation.
+
+
+ **Returns:**
+ - an available order number
+
+ **Throws:**
+ - CreateException - if order number creation failed
+
+
+---
+
+### createShippingOrders(Order)
+- static createShippingOrders(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - :
+
+ Triggers the shipping order creation for an order.
+
+
+
+
+ Must be run outside of a transaction. Will call hooks of the shipping order creation process, which are:
+
+ - [ShippingOrderHooks.extensionPointPrepareCreateShippingOrders](dw.order.hooks.ShippingOrderHooks.md#extensionpointpreparecreateshippingorders)
+ - [ShippingOrderHooks.extensionPointCreateShippingOrders](dw.order.hooks.ShippingOrderHooks.md#extensionpointcreateshippingorders)
+ - [ShippingOrderHooks.extensionPointAfterStatusChange](dw.order.hooks.ShippingOrderHooks.md#extensionpointafterstatuschange)
+ - [ShippingOrderHooks.extensionPointNotifyStatusChange](dw.order.hooks.ShippingOrderHooks.md#extensionpointnotifystatuschange)
+
+
+
+
+
+ As a result, zero, one, or multiple [ShippingOrder](dw.order.ShippingOrder.md)s are created.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw an exception if accessed.
+ Activation needs preliminary approval by Product Management. Please contact support in this case. Existing
+ customers using these APIs are not affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - order - the order to run the shipping order creation for
+
+ **Returns:**
+ - Status 'OK' or 'ERROR' with an error message
+
+
+---
+
+### describeOrder()
+- static describeOrder(): [ObjectTypeDefinition](dw.object.ObjectTypeDefinition.md)
+ - :
+
+ Returns the meta data for Orders.
+
+
+ **Returns:**
+ - the meta data for Orders.
+
+
+---
+
+### failOrder(Order)
+- ~~static failOrder(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)~~
+ - :
+
+ This method fails an unplaced order and is usually called if payment could not be authorized. The specified Order
+ must be in status CREATED, and will be set to status FAILED.
+
+
+
+
+ Inventory transactions and coupon redemptions associated with the Order will be rolled back.
+
+
+
+
+ If the order is failed in the same session in which it was created, the basket will be reopened such that it can
+ be used for a subsequent order.
+
+
+ **Parameters:**
+ - order - the order to be placed
+
+ **Returns:**
+ - Status 'OK' or 'ERROR' with an error message
+
+ **Deprecated:**
+:::warning
+Please use [failOrder(Order, Boolean)](dw.order.OrderMgr.md#failorderorder-boolean) instead.
+:::
+
+---
+
+### failOrder(Order, Boolean)
+- static failOrder(order: [Order](dw.order.Order.md), reopenBasketIfPossible: [Boolean](TopLevel.Boolean.md)): [Status](dw.system.Status.md)
+ - :
+
+ This method fails an unplaced order and is usually called if payment could not be authorized. The specified Order
+ must be in status CREATED, and will be set to status FAILED.
+
+
+
+
+ Inventory transactions and coupon redemptions associated with the Order will be rolled back.
+
+
+
+
+ A basket can only be reopened if no other basket for the customer exists at the moment of the call to
+ `failOrder`, since a customer is limited to 1 storefront basket at a time. If, after order creation, a
+ call was made to [BasketMgr.getCurrentOrNewBasket()](dw.order.BasketMgr.md#getcurrentornewbasket) or pipelet GetBasket with parameter Create=true, then
+ a new basket has been created, and `failOrder` cannot reopen the basket the order was created with. If
+ a basket is reopened, it always masks sensitive information (e.g., credit card number), because during order
+ creation, basket payment information is permanently masked.
+
+
+ **Parameters:**
+ - order - the order to be placed
+ - reopenBasketIfPossible - reopen the basket if it still exists and limit for number of baskets is not reached
+
+ **Returns:**
+ - Status 'OK' or 'ERROR' with an error message. Status detail basket contains the reopened basket, if it
+ has been reopened successfully.
+
+
+
+---
+
+### getOrder(String)
+- static getOrder(orderNumber: [String](TopLevel.String.md)): [Order](dw.order.Order.md)
+ - :
+
+ Returns the order with the specified order number. Order access in the storefront can be limited; see
+ the class description. Use [getOrder(String, String)](dw.order.OrderMgr.md#getorderstring-string) instead for secure access in a storefront session.
+
+
+
+
+ If Limit Storefront Order Access site preference is enabled, this method throws an exception when an
+ insecure access is attempted (refer to the conditions of insecure access in the description of OrderMgr
+ class). Use [getOrder(String, String)](dw.order.OrderMgr.md#getorderstring-string) instead.
+
+
+ **Parameters:**
+ - orderNumber - the order number of the order to retrieve
+
+ **Returns:**
+ - Order for the specified order number
+
+ **Throws:**
+ - SecurityException - thrown when the Limit Storefront Order Access preference is enabled and the order is insecurely accessed
+
+ **See Also:**
+ - [getOrder(String, String)](dw.order.OrderMgr.md#getorderstring-string)
+
+
+---
+
+### getOrder(String, String)
+- static getOrder(orderNumber: [String](TopLevel.String.md), orderToken: [String](TopLevel.String.md)): [Order](dw.order.Order.md)
+ - :
+
+ Resolves an order using the orderNumber and orderToken.
+
+
+
+
+ The order token is generated during order creation in a secure way that is designed to reduce the
+ possibility of unauthorized access. You can retrieve the token via ([Order.getOrderToken()](dw.order.Order.md#getordertoken).
+
+
+
+
+ This version of the getOrder method doesn’t return an exception when the Limit Storefront Order
+ Access site preference is enabled. Best security practice is to always enable this preference, and to use
+ this method when appropriate.
+
+
+
+
+ You should always use this method in the following cases.
+
+ - Integration use cases (such as asynchronous payment processing)
+ - When resolving orders from links (for example, order confirmation)
+ - Storefront use cases
+
+
+ **Parameters:**
+ - orderNumber - the order number of the order to retrieve
+ - orderToken - the order token of the order to retrieve
+
+ **Returns:**
+ - Order for the specified order number. null is returned if order is not found by number or token
+ doesn’t correspond to the order found
+
+
+
+---
+
+### placeOrder(Order)
+- static placeOrder(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - :
+
+ This method places an order and is usually called after payment has been authorized. The specified order must be
+ in status CREATED, and will be set to status NEW.
+
+
+
+
+ If the order contains product or gift certificate line items associated with product list items, records of the
+ purchase of the product list items will be made. For example, if the basket contains an item added from a gift
+ registry, the purchase history of the respective gift registry item is updated.
+
+
+
+
+ The order will count toward product and customer active data.
+
+
+
+
+ Placing an order leads to the generation of shipment numbers for all shipments and the invoice number of the
+ order. See [Shipment.getShipmentNo()](dw.order.Shipment.md#getshipmentno) and [Order.getInvoiceNo()](dw.order.Order.md#getinvoiceno). This is done
+ using sequences.
+
+
+ **Parameters:**
+ - order - the order to be placed
+
+ **Returns:**
+ - Status 'OK' or 'ERROR' with an error message
+
+
+---
+
+### processOrders(Function, String, Object...)
+- static processOrders(processFunction: [Function](TopLevel.Function.md), queryString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): void
+ - :
+
+ Executes a user-definable function on a set of orders. This method is intended to be used in batch processes and
+ jobs, since it allows efficient processing of large result sets (which might take a while to process). First, a
+ search with the given parameters is executed. Then the given function is executed once for each order of the
+ search result. The order is handed over as the only parameter to this function.
+
+
+
+
+ The search can be configured using a simple query language, which provides most common filter and operator
+ functionality. The callback function will be supplied with a single argument of type 'Order'. When the function
+ defines additional arguments, they will be undefined when called. When the method doesn't define any argument, it
+ will be called anyway. Error during execution of the callback will be logged, and execution will continue with
+ the next element from the result set. This method can be used as in this example (which counts the number of
+ orders):
+
+
+
+
+
+
+ ```
+ var count=0;
+ function callback(order: Order)
+ {
+ count++;
+ dw.system.Logger.debug("order found: "+order.documentNo)
+ }
+ OrderMgr.processOrders(callback, "buyerno=1");
+ dw.system.Logger.debug("found "+count+" orders for buyerno 1");
+ ```
+
+
+ **Parameters:**
+ - processFunction - the function to execute for each order
+ - queryString - the query string to use when searching for an order.
+ - args - the query string arguments.
+
+
+---
+
+### queryOrder(String, Object...)
+- ~~static queryOrder(queryString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [Order](dw.order.Order.md)~~
+ - :
+
+ Searches for a single order instance. Order access in the storefront can be limited; see the class description.
+
+
+
+
+ The search can be configured using a simple query language, which provides most common filter and operator
+ functionality.
+
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the ID of the attribute as defined
+ in the type definition. For custom-defined attributes, the prefix 'custom' is required in the search term (e.g.
+ `custom.color = {1}`), while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+
+ Supported attribute value **types** with sample expression values:
+
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+
+
+
+ The following types of attributes are not queryable:
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+
+
+
+ Note that some system attributes are not queryable by default, regardless of the actual value type code.
+
+
+
+
+ The following **operators** are supported in a condition:
+
+ - `=`Equals - All types; supports NULL value (`thumbnail = NULL`)
+ - `!=`Not equals - All types; supports NULL value (`thumbnail != NULL`)
+ - `<`Less than - Integer, Number, and Date types only
+ - `>`Greater than - Integer, Number, and Date types only
+ - `<=`Less or equals than - Integer, Number, and Date types only
+ - `>=`Greater or equals than - Integer, Number, and Date types only
+ - `LIKE`Like - String types and Email only; use if leading or trailing wildcards will be used to support substring search (e.g. `custom.country LIKE 'US*'`)
+ - `ILIKE`Caseindependent Like - String types and Email only; use to support case-insensitive queries (e.g. `custom.country ILIKE 'usa'`); also supports wildcards for substring matching
+
+
+
+
+
+ Conditions can be combined using logical expressions 'AND', 'OR', and 'NOT', and nested using parentheses, e.g.
+ `gender = {1} AND (age >= {2} OR (NOT profession LIKE {3}))`.
+
+
+
+
+ The query language provides a placeholder syntax to pass objects as additional search parameters. Each passed
+ object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by
+ braces. The first Integer value must be '0', the second '1', and so on, e.g.
+ `querySystemObjects("sample", "age = {0} or creationDate >= {1}", 18, date)`
+
+
+
+
+ If there is more than one object matching the specified query criteria, the result is not deterministic. In order
+ to retrieve a single object from a sorted result set, it is recommended to use the following code:
+ `queryOrders("", "custom.myAttr asc", null).first()`. The method `first()` returns only the
+ next element and closes the iterator. **
+
+
+
+
+ **This method is deprecated and will be removed in a future release.**
+ One of the following methods should be used instead:
+ [searchOrder(String, Object...)](dw.order.OrderMgr.md#searchorderstring-object), [searchOrders(Map, String)](dw.order.OrderMgr.md#searchordersmap-string), and
+ [searchOrders(String, String, Object...)](dw.order.OrderMgr.md#searchordersstring-string-object) to search for orders and
+ [processOrders(Function, String, Object...)](dw.order.OrderMgr.md#processordersfunction-string-object) to search for and process orders in jobs.
+
+
+ **Parameters:**
+ - queryString - the query string that is used to locate the order.
+ - args - one or more arguments to apply.
+
+ **Returns:**
+ - the order that was found when executing the `queryString`.
+
+ **Deprecated:**
+:::warning
+Please use [searchOrder(String, Object...)](dw.order.OrderMgr.md#searchorderstring-object) instead.
+:::
+
+---
+
+### queryOrders(Map, String)
+- ~~static queryOrders(queryAttributes: [Map](dw.util.Map.md), sortString: [String](TopLevel.String.md)): [SeekableIterator](dw.util.SeekableIterator.md)~~
+ - :
+
+ Searches for order instances. Order access in the storefront can be limited; see the class description.
+
+
+
+
+ The search can be configured with a map, which converts key-value pairs into a query expression. The key-value
+ pairs are turned into a sequence of '=' or 'like' conditions, which are combined with AND statements. When
+ implementing order history functionality, don't use the search or query methods in this class. Instead, use
+ [OrderHistory.getOrders(String, String, Object...)](dw.customer.OrderHistory.md#getordersstring-string-object).
+
+
+
+
+ Example:
+
+
+
+
+ A map with the key/value pairs: _'name'/'tom\*', 'age'/66_ will be converted as follows:
+ `"name like 'tom*' and age = 66"`
+
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the ID of the attribute as defined
+ in the type definition. For custom-defined attributes, the prefix 'custom' is required in the search term (e.g.
+ `custom.color = {1}`), while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+
+ Supported attribute value **types** with sample expression values:
+
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+
+
+
+ The following types of attributes are not queryable:
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+
+
+
+ Note that some system attributes are not queryable by default, regardless of the actual value type code.
+
+
+
+
+ The **sorting** parameter is optional and may contain a comma-separated list of attribute names to sort by.
+ Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). The default
+ sorting direction is ascending, if no direction was specified.
+
+
+
+
+ Example: `age desc, name`
+
+
+
+
+ Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.
+
+
+
+
+ It is strongly recommended to call the `[SeekableIterator.close()](dw.util.SeekableIterator.md#close)` on the returned
+ SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system
+ resources.
+
+
+
+
+ **This method is deprecated and will be removed in a future release.**
+ One of the following methods should be used instead:
+ [searchOrder(String, Object...)](dw.order.OrderMgr.md#searchorderstring-object), [searchOrders(Map, String)](dw.order.OrderMgr.md#searchordersmap-string), and
+ [searchOrders(String, String, Object...)](dw.order.OrderMgr.md#searchordersstring-string-object) to search for orders and
+ [processOrders(Function, String, Object...)](dw.order.OrderMgr.md#processordersfunction-string-object) to search for and process orders in jobs.
+
+
+ **Parameters:**
+ - queryAttributes - a set of key-value pairs that define the query.
+ - sortString - an optional sorting, or null if no sorting is necessary.
+
+ **Returns:**
+ - SeekableIterator containing the result set of the query.
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+ **Deprecated:**
+:::warning
+Please use [searchOrders(Map, String)](dw.order.OrderMgr.md#searchordersmap-string) instead.
+:::
+
+---
+
+### queryOrders(String, String, Object...)
+- ~~static queryOrders(queryString: [String](TopLevel.String.md), sortString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [SeekableIterator](dw.util.SeekableIterator.md)~~
+ - :
+
+ Searches for order instances. Order access in the storefront can be limited; see the class description.
+
+
+
+
+ The search can be configured using a simple query language, which provides most common filter and operator
+ functionality. When implementing order history functionality, don't use the search or query methods in this
+ class. Instead, use [OrderHistory.getOrders(String, String, Object...)](dw.customer.OrderHistory.md#getordersstring-string-object).
+
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the ID of the attribute as defined
+ in the type definition. For custom-defined attributes, the prefix 'custom' is required in the search term (e.g.
+ `custom.color = {1}`), while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+
+ Supported attribute value **types** with sample expression values:
+
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+
+
+
+ The following types of attributes are not queryable:
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+
+
+
+ Note that some system attributes are not queryable by default, regardless of the actual value type code.
+
+
+
+
+ The following **operators** are supported in a condition:
+
+ - `=`Equals - All types; supports NULL value (`thumbnail = NULL`)
+ - `!=`Not equals - All types; supports NULL value (`thumbnail != NULL`)
+ - `<`Less than - Integer, Number, and Date types only
+ - `>`Greater than - Integer, Number, and Date types only
+ - `<=`Less or equals than - Integer, Number, and Date types only
+ - `>=`Greater or equals than - Integer, Number, and Date types only
+ - `LIKE`Like - String types and Email only; use if leading or trailing wildcards will be used to support substring search (e.g. `custom.country LIKE 'US*'`)
+ - `ILIKE`Caseindependent Like - String types and Email only; use to support case-insensitive queries (e.g. `custom.country ILIKE 'usa'`); also supports wildcards for substring matching
+
+
+
+
+
+ Conditions can be combined using logical expressions 'AND', 'OR', and 'NOT', and nested using parentheses, e.g.
+ `gender = {1} AND (age >= {2} OR (NOT profession LIKE {3}))`.
+
+
+
+
+ The query language provides a placeholder syntax to pass objects as additional search parameters. Each passed
+ object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by
+ braces. The first Integer value must be '0', the second '1', and so on, e.g.
+ `querySystemObjects("sample", "age = {0} or creationDate >= {1}", 18, date)`
+
+
+
+
+ The **sorting** parameter is optional and may contain a comma-separated list of attribute names to sort by.
+ Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). The default
+ sorting direction is ascending, if no direction was specified.
+
+
+
+
+ Example: `age desc, name`
+
+
+
+
+ Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.
+
+
+
+
+ Sometimes it is desired to get all instances of a specified type with a special sorting condition. This can be
+ easily done by providing the 'type' of the custom object and the 'sortString' in combination with an empty
+ 'queryString', e.g. `queryOrders("sample", "", "custom.myAttr asc")`.
+
+
+
+
+ It is strongly recommended to call `[SeekableIterator.close()](dw.util.SeekableIterator.md#close)` on the returned
+ SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system
+ resources.
+
+
+
+
+ **This method is deprecated and will be removed in a future release.**
+ One of the following methods should be used instead:
+ [searchOrder(String, Object...)](dw.order.OrderMgr.md#searchorderstring-object), [searchOrders(Map, String)](dw.order.OrderMgr.md#searchordersmap-string), and
+ [searchOrders(String, String, Object...)](dw.order.OrderMgr.md#searchordersstring-string-object) to search for orders, and
+ [processOrders(Function, String, Object...)](dw.order.OrderMgr.md#processordersfunction-string-object) to search for and process orders in jobs.
+
+
+ **Parameters:**
+ - queryString - the actual query.
+ - sortString - an optional sorting, or null if no sorting is necessary.
+ - args - one or more arguments for the query string.
+
+ **Returns:**
+ - SeekableIterator containing the result set of the query.
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+ **Deprecated:**
+:::warning
+Please use [searchOrders(String, String, Object...)](dw.order.OrderMgr.md#searchordersstring-string-object) instead.
+:::
+
+---
+
+### searchOrder(String, Object...)
+- static searchOrder(queryString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [Order](dw.order.Order.md)
+ - :
+
+ Searches for a single order instance. Order access in the storefront can be limited; see the class description.
+
+
+
+
+ The search can be configured using a simple query language, which provides most common filter and operator
+ functionality.
+
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the ID of the attribute as defined
+ in the type definition. For custom-defined attributes the prefix 'custom' is required in the search term (e.g.
+ `custom.color = {1}`), while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+
+ Supported attribute value **types** with sample expression values:
+
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+
+
+
+ The following types of attributes are not queryable:
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+
+
+
+ Note that some system attributes are not queryable by default, regardless of the actual value type code.
+
+
+
+
+ The following **operators** are supported in a condition:
+
+ - `=`Equals - All types; supports NULL value (`thumbnail = NULL`)
+ - `!=`Not equals - All types; supports NULL value (`thumbnail != NULL`)
+ - `<`Less than - Integer, Number, and Date types only
+ - `>`Greater than - Integer, Number, and Date types only
+ - `<=`Less or equals than - Integer, Number, and Date types only
+ - `>=`Greater or equals than - Integer, Number, and Date types only
+ - `LIKE`Like - String types and Email only; use if leading or trailing wildcards will be used to support substring search (e.g. `custom.country LIKE 'US*'`)
+ - `ILIKE`Caseindependent Like - String types and Email only; use to support case-insensitive queries (e.g. `custom.country ILIKE 'usa'`), also supports wildcards for substring matching
+
+
+
+
+
+ Conditions can be combined using logical expressions 'AND', 'OR', and 'NOT', and nested using parentheses, e.g.
+ `gender = {1} AND (age >= {2} OR (NOT profession LIKE {3}))`.
+
+
+
+
+ The query language provides a placeholder syntax to pass objects as additional search parameters. Each passed
+ object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by
+ braces. The first Integer value must be '0', the second '1', and so on, e.g.
+ `querySystemObjects("sample", "age = {0} or creationDate >= {1}", 18, date)`.
+
+
+
+
+ If there is more than one object matching the specified query criteria, the result is not deterministic. In order
+ to retrieve a single object from a sorted result set, it is recommended to use the following code:
+ `queryOrders("", "custom.myAttr asc", null).first()`. The method `first()` returns only the
+ next element and closes the iterator.
+
+
+
+
+ If the order search API is configured to use the new Search Service, these differences apply:
+
+ - Search may match and return documents with missing (NULL) values in search fields, depending on how the query is structured, potentially leading to broader result sets. For example, a query like `custom.searchField != "some value"`also returns documents where `custom.searchField`is NULL — whereas in relational databases, such documents are excluded.
+ - Wildcards are filtered from the query (\*, %, +) and replaced by spaces
+ - LIKE and ILIKE queries are executed as fulltext queries (working on whole words), not as substring searches
+ - LIKE queries are always case-insensitive
+ - Using logical operators may change the execution of LIKE/ILIKE clauses to exact string comparison, depending on how they are combined
+ - Using logical operators may result in degraded performance, depending on how they are combined
+
+
+
+
+
+ Order search index updates are asynchronous, triggered only by committing changes to the underlying system.
+
+
+ **Parameters:**
+ - queryString - the query string that is used to locate the order.
+ - args - one or more arguments to apply.
+
+ **Returns:**
+ - the order that was found when executing the `queryString`.
+
+
+---
+
+### searchOrders(Map, String)
+- static searchOrders(queryAttributes: [Map](dw.util.Map.md), sortString: [String](TopLevel.String.md)): [SeekableIterator](dw.util.SeekableIterator.md)
+ - :
+
+ Searches for order instances. Order access in the storefront can be limited; see the class description.
+
+
+
+
+ The search can be configured with a map, which converts key-value pairs into a query expression. The key-value
+ pairs are turned into a sequence of '=' or 'like' conditions, which are combined with AND statements.
+
+
+
+
+ Example:
+
+
+
+
+ A map with the key/value pairs: _'name'/'tom\*', 'age'/66_ will be converted as follows:
+ `"name like 'tom*' and age = 66"` Note that wildcards are not supported by Search Service.
+
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the ID of the attribute as defined
+ in the type definition. For custom-defined attributes, the prefix 'custom' is required in the search term (e.g.
+ `custom.color = {1}`), while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+
+ Supported attribute value **types** with sample expression values:
+
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+
+
+
+ The following types of attributes are not queryable:
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+
+
+
+ Note that some system attributes are not queryable by default, regardless of the actual value type code.
+
+
+
+
+ The **sorting** parameter is optional and may contain a comma-separated list of attribute names to sort by.
+ Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). The default
+ sorting direction is ascending, if no direction was specified.
+
+
+
+
+ Example: `age desc, name`
+
+
+
+
+ Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.
+
+
+
+
+ It is strongly recommended to call `[SeekableIterator.close()](dw.util.SeekableIterator.md#close)` on the returned
+ SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system
+ resources.
+
+
+
+
+ If the order search API is configured to use the new Search Service, these differences apply:
+
+ - Search may match and return documents with missing (NULL) values in search fields, depending on how the query is structured, potentially leading to broader result sets. For example, a query like `custom.searchField != "some value"`also returns documents where `custom.searchField`is NULL — whereas in relational databases, such documents are excluded.
+ - Wildcards are filtered from the query (\*, %, +) and replaced by spaces
+ - LIKE and ILIKE queries are executed as fulltext queries (working on whole words), not as substring searches
+ - LIKE queries are always case-insensitive
+ - Using logical operators may change the execution of LIKE/ILIKE clauses to exact string comparison, depending on how they are combined
+ - Using logical operators may result in degraded performance, depending on how they are combined
+ - The result is limited to a maximum of 1000 orders
+
+
+
+
+
+ Order search index updates are asynchronous, triggered only by committing changes to the underlying system.
+
+
+ **Parameters:**
+ - queryAttributes - a set of key-value pairs that define the query.
+ - sortString - an optional sorting or null if no sorting is necessary.
+
+ **Returns:**
+ - SeekableIterator containing the result set of the query.
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+
+---
+
+### searchOrders(String, String, Object...)
+- static searchOrders(queryString: [String](TopLevel.String.md), sortString: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [SeekableIterator](dw.util.SeekableIterator.md)
+ - :
+
+ Searches for order instances. Order access in the storefront can be limited; see the class description.
+
+
+
+
+ The search can be configured using a simple query language, which provides most common filter and operator
+ functionality. When implementing order history functionality, don't use the search or query methods in this
+ class. Instead, use [OrderHistory.getOrders(String, String, Object...)](dw.customer.OrderHistory.md#getordersstring-string-object).
+
+
+
+
+ The identifier for an **attribute** to use in a query condition is always the ID of the attribute as defined
+ in the type definition. For custom-defined attributes the prefix 'custom' is required in the search term (e.g.
+ `custom.color = {1}`), while for system attributes no prefix is used (e.g. `name = {4}`).
+
+
+
+
+ Supported attribute value **types** with sample expression values:
+
+ - _String_`'String', 'Str*', 'Strin?'`
+ - _Integer_`1, 3E4`
+ - _Number_`1.0, 3.99E5`
+ - _Date_`yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)`
+ - _DateTime_`yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00`
+ - _Boolean_`true, false`
+ - _Email_`'search@demandware.com', '*@demandware.com'`
+ - _Set of String_`'String', 'Str*', 'Strin?'`
+ - _Set of Integer_`1, 3E4`
+ - _Set of Number_`1.0, 3.99E5`
+ - _Enum of String_`'String', 'Str*', 'Strin?'`
+ - _Enum of Integer_`1, 3E4`
+
+
+
+
+
+ The following types of attributes are not queryable:
+
+ - _Image_
+ - _HTML_
+ - _Text_
+ - _Quantity_
+ - _Password_
+
+
+
+
+
+ Note that some system attributes are not queryable by default, regardless of the actual value type code.
+
+
+
+
+ The following **operators** are supported in a condition:
+
+ - `=`Equals - All types; supports NULL value (`thumbnail = NULL`)
+ - `!=`Not equals - All types; supports NULL value (`thumbnail != NULL`)
+ - `<`Less than - Integer, Number, and Date types only
+ - `>`Greater than - Integer, Number, and Date types only
+ - `<=`Less or equals than - Integer, Number, and Date types only
+ - `>=`Greater or equals than - Integer, Number, and Date types only
+ - `LIKE`Like - String types and Email only; use if leading or trailing wildcards will be used to support substring search (e.g. `custom.country LIKE 'US*'`)
+ - `ILIKE`Caseindependent Like - String types and Email only; use to support case-insensitive queries (e.g. `custom.country ILIKE 'usa'`); also supports wildcards for substring matching
+
+ Note that wildcards are not supported by Search Service.
+
+
+
+
+ Conditions can be combined using logical expressions 'AND', 'OR', and 'NOT', and nested using parentheses, e.g.
+ `gender = {1} AND (age >= {2} OR (NOT profession LIKE {3}))`.
+
+
+
+
+ The query language provides a placeholder syntax to pass objects as additional search parameters. Each passed
+ object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by
+ braces. The first Integer value must be '0', the second '1', and so on, e.g.
+ `querySystemObjects("sample", "age = {0} or creationDate >= {1}", 18, date)`.
+
+
+
+
+ The **sorting** parameter is optional and may contain a comma-separated list of attribute names to sort by.
+ Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). The default
+ sorting direction is ascending, if no direction was specified.
+
+
+
+
+ Example: `age desc, name`
+
+
+
+
+ Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.
+
+
+
+
+ Sometimes it is desired to get all instances of a specified type with a special sorting condition. This can be
+ easily done by providing the 'type' of the custom object and the 'sortString' in combination with an empty
+ 'queryString', e.g. `queryOrders("sample", "", "custom.myAttr asc")`.
+
+
+
+
+ It is strongly recommended to call `[SeekableIterator.close()](dw.util.SeekableIterator.md#close)` on the returned
+ SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system
+ resources.
+
+
+
+
+ If the order search API is configured to use the new Search Service, these differences apply:
+
+ - Search may match and return documents with missing (NULL) values in search fields, depending on how the query is structured, potentially leading to broader result sets. For example, a query like `custom.searchField != "some value"`also returns documents where `custom.searchField`is NULL — whereas in relational databases, such documents are excluded.
+ - Wildcards are filtered from the query (\*, %, +) and replaced by spaces
+ - LIKE and ILIKE queries are executed as fulltext queries (working on whole words), not as substring searches
+ - LIKE queries are always case-insensitive
+ - Using logical operators may change the execution of LIKE/ILIKE clauses to exact string comparison, depending on how they are combined
+ - Using logical operators may result in degraded performance, depending on how they are combined
+ - The result is limited to a maximum of 1000 orders
+
+
+
+
+
+ Order search index updates are asynchronous, triggered only by committing changes to the underlying system.
+
+
+ **Parameters:**
+ - queryString - the actual query.
+ - sortString - an optional sorting or null if no sorting is necessary.
+ - args - one or more arguments for the query string.
+
+ **Returns:**
+ - SeekableIterator containing the result set of the query.
+
+ **See Also:**
+ - [SeekableIterator.close()](dw.util.SeekableIterator.md#close)
+
+
+---
+
+### undoCancelOrder(Order)
+- static undoCancelOrder(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - :
+
+ This method is used to turn a CANCELLED order into an OPEN order.
+
+
+
+
+ The specified order must be a cancelled order ([Order.ORDER_STATUS_CANCELLED](dw.order.Order.md#order_status_cancelled)). The method will
+ reserve inventory for all product line items, and create redemptions for all coupons. If successful, the status
+ of the order will be changed to [Order.ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open). If the order contains product or gift
+ certificate line items associated with product list items, records of the purchase of the product list items will
+ be recreated.
+
+
+
+
+ If the undoCancelOrder call fails, the transaction is marked as ‘rollback only’ – all changes in the associated
+ transaction will no longer be committed.
+
+
+
+
+ Possible error status codes are:
+
+ - [OrderProcessStatusCodes.COUPON_INVALID](dw.order.OrderProcessStatusCodes.md#coupon_invalid)- coupon is not active anymore or maximum amount of redemptions is reached
+ - [OrderProcessStatusCodes.ORDER_NOT_CANCELLED](dw.order.OrderProcessStatusCodes.md#order_not_cancelled)- order is not in status [Order.ORDER_STATUS_CANCELLED](dw.order.Order.md#order_status_cancelled)
+ - [OrderProcessStatusCodes.INVENTORY_RESERVATION_FAILED](dw.order.OrderProcessStatusCodes.md#inventory_reservation_failed)- Inventory reservation for the order failed. In cases when availability is too low then undoCancel or undoFail results in a reservation failure. This can be avoided using the order site preferences to specifically allow overselling. See order site preferences under "Constraints for Undoing Failed/Cancelled Orders".
+
+
+ **Parameters:**
+ - order - the order on which to undo the cancel [cancelOrder(Order)](dw.order.OrderMgr.md#cancelorderorder)
+
+ **Returns:**
+ - Status 'OK' or 'ERROR' with one of the error codes described above
+
+
+---
+
+### undoFailOrder(Order)
+- static undoFailOrder(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - :
+
+ This method is used to turn a FAILED order into a CREATED order.
+
+
+
+
+ The specified order must be a failed order ([Order.ORDER_STATUS_FAILED](dw.order.Order.md#order_status_failed)). The method will reserve
+ inventory for all product line items, and create redemptions for all coupons. If successful, the status of the
+ order will be changed to [Order.ORDER_STATUS_CREATED](dw.order.Order.md#order_status_created).
+
+
+
+
+ If the undoFailOrder call fails, the transaction is marked as ‘rollback only’ – all changes in the associated
+ transaction will no longer be committed.
+
+
+
+
+ Possible error status codes are:
+
+ - [OrderProcessStatusCodes.COUPON_INVALID](dw.order.OrderProcessStatusCodes.md#coupon_invalid)- coupon is not active anymore or maximum amount of redemptions is reached
+ - [OrderProcessStatusCodes.ORDER_NOT_FAILED](dw.order.OrderProcessStatusCodes.md#order_not_failed)- order is not in status [Order.ORDER_STATUS_FAILED](dw.order.Order.md#order_status_failed)
+ - [OrderProcessStatusCodes.INVENTORY_RESERVATION_FAILED](dw.order.OrderProcessStatusCodes.md#inventory_reservation_failed)- Inventory reservation for the order failed. In cases when availability is too low then undoCancel or undoFail results in a reservation failure. This can be avoided using the order site preferences to specifically allow overselling. See order site preferences under "Constraints for Undoing Failed/Cancelled Orders".
+
+
+ **Parameters:**
+ - order - the order on which to undo the fail [failOrder(Order)](dw.order.OrderMgr.md#failorderorder)
+
+ **Returns:**
+ - Status 'OK' or 'ERROR' with one of the error codes described above
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderPaymentInstrument.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderPaymentInstrument.md
new file mode 100644
index 00000000..e12bcfeb
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderPaymentInstrument.md
@@ -0,0 +1,231 @@
+
+# Class OrderPaymentInstrument
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.customer.EncryptedObject](dw.customer.EncryptedObject.md)
+ - [dw.order.PaymentInstrument](dw.order.PaymentInstrument.md)
+ - [dw.order.OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+
+Represents any payment instrument used to pay orders, such as credit card
+or bank transfer. The object defines standard methods for credit card
+payment, and can be extended by attributes appropriate for other
+payment methods.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [bankAccountDriversLicense](#bankaccountdriverslicense): [String](TopLevel.String.md) `(read-only)` | Returns the driver's license associated with a bank account if the calling context meets the following criteria: Attempt to confirm the ReturnCase. |
+| [createInvoice](dw.order.ReturnCase.md#createinvoice)() | Creates a new [Invoice](dw.order.Invoice.md) based on this ReturnCase. |
+| [createInvoice](dw.order.ReturnCase.md#createinvoicestring)([String](TopLevel.String.md)) | Creates a new [Invoice](dw.order.Invoice.md) based on this ReturnCase. |
+| [createItem](dw.order.ReturnCase.md#createitemstring)([String](TopLevel.String.md)) | Creates a new item for a given order item. |
+| [createReturn](dw.order.ReturnCase.md#createreturn)() | Creates a new [Return](dw.order.Return.md) with a generated number and associates it with this ReturnCase. |
+| [createReturn](dw.order.ReturnCase.md#createreturnstring)([String](TopLevel.String.md)) | Creates a new [Return](dw.order.Return.md) with the given number and associates it with this ReturnCase. |
+| [getInvoice](dw.order.ReturnCase.md#getinvoice)() | Returns null or the previously created [Invoice](dw.order.Invoice.md). |
+| [getInvoiceNumber](dw.order.ReturnCase.md#getinvoicenumber)() | Returns null or the invoice-number. |
+| [getItems](dw.order.ReturnCase.md#getitems)() | Access the collection of [ReturnCaseItem](dw.order.ReturnCaseItem.md)s. |
+| [getReturnCaseNumber](dw.order.ReturnCase.md#getreturncasenumber)() | Returns the mandatory return case number identifying this document. |
+| [getReturns](dw.order.ReturnCase.md#getreturns)() | Return the collection of [Return](dw.order.Return.md)s associated with this ReturnCase. |
+| [getStatus](dw.order.ReturnCase.md#getstatus)() | Gets the return case item status. |
+| [isRMA](dw.order.ReturnCase.md#isrma)() | Return whether this is an RMA. |
+
+### Methods inherited from class AbstractItemCtnr
+
+[getCreatedBy](dw.order.AbstractItemCtnr.md#getcreatedby), [getCreationDate](dw.order.AbstractItemCtnr.md#getcreationdate), [getGrandTotal](dw.order.AbstractItemCtnr.md#getgrandtotal), [getItems](dw.order.AbstractItemCtnr.md#getitems), [getLastModified](dw.order.AbstractItemCtnr.md#getlastmodified), [getModifiedBy](dw.order.AbstractItemCtnr.md#getmodifiedby), [getOrder](dw.order.AbstractItemCtnr.md#getorder), [getProductSubtotal](dw.order.AbstractItemCtnr.md#getproductsubtotal), [getServiceSubtotal](dw.order.AbstractItemCtnr.md#getservicesubtotal)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ORDERBY_ITEMID
+
+- ORDERBY_ITEMID: [Object](TopLevel.Object.md)
+ - : Sorting by item id. Use with method [getItems()](dw.order.ReturnCase.md#getitems) as an argument to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+---
+
+### ORDERBY_ITEMPOSITION
+
+- ORDERBY_ITEMPOSITION: [Object](TopLevel.Object.md)
+ - : Sorting by the position of the related oder item. Use with method [getItems()](dw.order.ReturnCase.md#getitems) as an argument to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+---
+
+### ORDERBY_UNSORTED
+
+- ORDERBY_UNSORTED: [Object](TopLevel.Object.md)
+ - : Unsorted , as it is. Use with method [getItems()](dw.order.ReturnCase.md#getitems) as an argument to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+---
+
+### QUALIFIER_PRODUCTITEMS
+
+- QUALIFIER_PRODUCTITEMS: [Object](TopLevel.Object.md)
+ - : Selects the product items. Use with method [getItems()](dw.order.ReturnCase.md#getitems) as an argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+---
+
+### QUALIFIER_SERVICEITEMS
+
+- QUALIFIER_SERVICEITEMS: [Object](TopLevel.Object.md)
+ - : Selects for the service items. Use with method [getItems()](dw.order.ReturnCase.md#getitems) as an argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+---
+
+### STATUS_CANCELLED
+
+- STATUS_CANCELLED: [String](TopLevel.String.md) = "CANCELLED"
+ - : constant for ReturnCase Status CANCELLED
+
+
+---
+
+### STATUS_CONFIRMED
+
+- STATUS_CONFIRMED: [String](TopLevel.String.md) = "CONFIRMED"
+ - : constant for ReturnCase Status CONFIRMED
+
+
+---
+
+### STATUS_NEW
+
+- STATUS_NEW: [String](TopLevel.String.md) = "NEW"
+ - : constant for ReturnCase Status NEW
+
+
+---
+
+### STATUS_PARTIAL_RETURNED
+
+- STATUS_PARTIAL_RETURNED: [String](TopLevel.String.md) = "PARTIAL_RETURNED"
+ - : constant for ReturnCase Status PARTIAL RETURNED
+
+
+---
+
+### STATUS_RETURNED
+
+- STATUS_RETURNED: [String](TopLevel.String.md) = "RETURNED"
+ - : constant for ReturnCase Status RETURNED
+
+
+---
+
+## Property Details
+
+### RMA
+- RMA: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Return whether this is an RMA. This is specified when calling [Order.createReturnCase(String, Boolean)](dw.order.Order.md#createreturncasestring-boolean).
+
+
+---
+
+### invoice
+- invoice: [Invoice](dw.order.Invoice.md) `(read-only)`
+ - : Returns null or the previously created [Invoice](dw.order.Invoice.md).
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.ReturnCase.md#createinvoicestring)
+
+
+---
+
+### invoiceNumber
+- invoiceNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Returns null or the invoice-number.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.ReturnCase.md#createinvoicestring)
+
+
+---
+
+### items
+- items: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Access the collection of [ReturnCaseItem](dw.order.ReturnCaseItem.md)s.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) can be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.ReturnCase.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.ReturnCase.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.ReturnCase.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.ReturnCase.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.ReturnCase.md#qualifier_serviceitems)
+
+
+
+---
+
+### returnCaseNumber
+- returnCaseNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the mandatory return case number identifying this document.
+
+
+---
+
+### returns
+- returns: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Return the collection of [Return](dw.order.Return.md)s associated with this ReturnCase.
+
+
+---
+
+### status
+- status: [EnumValue](dw.value.EnumValue.md) `(read-only)`
+ - : Gets the return case item status. The status of a ReturnCase is read-only and calculated from the status of
+ the associated [ReturnCaseItem](dw.order.ReturnCaseItem.md)s.
+
+
+ The possible values are [STATUS_NEW](dw.order.ReturnCase.md#status_new),[STATUS_CONFIRMED](dw.order.ReturnCase.md#status_confirmed),
+ [STATUS_PARTIAL_RETURNED](dw.order.ReturnCase.md#status_partial_returned), [STATUS_RETURNED](dw.order.ReturnCase.md#status_returned),
+ [STATUS_CANCELLED](dw.order.ReturnCase.md#status_cancelled).
+
+
+
+---
+
+## Method Details
+
+### confirm()
+- confirm(): void
+ - :
+ Attempt to confirm the ReturnCase.
+
+
+ Without items the return case will be canceled
+
+
+ When confirmed, only the the custom attributes of its return case items can be changed.
+
+
+ **Throws:**
+ - IllegalStateException - thrown if Status is not [STATUS_NEW](dw.order.ReturnCase.md#status_new)
+
+
+---
+
+### createInvoice()
+- createInvoice(): [Invoice](dw.order.Invoice.md)
+ - : Creates a new [Invoice](dw.order.Invoice.md) based on this
+ ReturnCase. The return-case-number will
+ be used as the invoice-number. The Invoice can then be
+ accessed using [getInvoice()](dw.order.ReturnCase.md#getinvoice) or its number using
+ [getInvoiceNumber()](dw.order.ReturnCase.md#getinvoicenumber). The method must not be called more than once
+ for a ReturnCase, nor may 2 Invoices
+ exist with the same invoice-number.
+
+
+ The new Invoice is a credit-invoice with a
+ [Invoice.STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid) status, and will be passed to
+ the refund payment-hook in a separate database transaction for
+ processing.
+
+
+ **Returns:**
+ - new invoice
+
+
+---
+
+### createInvoice(String)
+- createInvoice(invoiceNumber: [String](TopLevel.String.md)): [Invoice](dw.order.Invoice.md)
+ - : Creates a new [Invoice](dw.order.Invoice.md) based on this
+ ReturnCase. The invoice-number must be specified as an
+ argument. The Invoice can then be
+ accessed using [getInvoice()](dw.order.ReturnCase.md#getinvoice) or its number using
+ [getInvoiceNumber()](dw.order.ReturnCase.md#getinvoicenumber). The method must not be called more than once
+ for a ReturnCase, nor may 2 Invoices
+ exist with the same invoice-number.
+
+
+ The new Invoice is a credit-invoice with a
+ [Invoice.STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid) status, and will be passed to
+ the refund payment-hook in a separate database transaction for
+ processing.
+
+
+ **Parameters:**
+ - invoiceNumber - the invoice-number to be used for the invoice creation
+
+ **Returns:**
+ - new invoice
+
+
+---
+
+### createItem(String)
+- createItem(orderItemID: [String](TopLevel.String.md)): [ReturnCaseItem](dw.order.ReturnCaseItem.md)
+ - : Creates a new item for a given order item. Note: a ReturnCase may have
+ only one item per order item.
+
+
+ **Parameters:**
+ - orderItemID - order item id
+
+ **Returns:**
+ - null or item for given order item
+
+ **Throws:**
+ - IllegalArgumentException - thrown if getItem(orderItem) returns non null
+
+
+---
+
+### createReturn()
+- createReturn(): [Return](dw.order.Return.md)
+ - : Creates a new [Return](dw.order.Return.md) with a generated number and associates it with this ReturnCase.
+
+ **Returns:**
+ - new Return instance
+
+
+---
+
+### createReturn(String)
+- createReturn(returnNumber: [String](TopLevel.String.md)): [Return](dw.order.Return.md)
+ - : Creates a new [Return](dw.order.Return.md) with the given number and associates it with this ReturnCase.
+
+ **Parameters:**
+ - returnNumber - return number to assign
+
+ **Returns:**
+ - new Return instance
+
+
+---
+
+### getInvoice()
+- getInvoice(): [Invoice](dw.order.Invoice.md)
+ - : Returns null or the previously created [Invoice](dw.order.Invoice.md).
+
+ **Returns:**
+ - null or the previously created invoice.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.ReturnCase.md#createinvoicestring)
+
+
+---
+
+### getInvoiceNumber()
+- getInvoiceNumber(): [String](TopLevel.String.md)
+ - : Returns null or the invoice-number.
+
+ **Returns:**
+ - null or the previously created invoice.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.ReturnCase.md#createinvoicestring)
+
+
+---
+
+### getItems()
+- getItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Access the collection of [ReturnCaseItem](dw.order.ReturnCaseItem.md)s.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) can be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.ReturnCase.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.ReturnCase.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.ReturnCase.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.ReturnCase.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.ReturnCase.md#qualifier_serviceitems)
+
+
+ **Returns:**
+ - the items
+
+
+---
+
+### getReturnCaseNumber()
+- getReturnCaseNumber(): [String](TopLevel.String.md)
+ - : Returns the mandatory return case number identifying this document.
+
+ **Returns:**
+ - the return case number
+
+
+---
+
+### getReturns()
+- getReturns(): [Collection](dw.util.Collection.md)
+ - : Return the collection of [Return](dw.order.Return.md)s associated with this ReturnCase.
+
+ **Returns:**
+ - the collection of Returns.
+
+
+---
+
+### getStatus()
+- getStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Gets the return case item status. The status of a ReturnCase is read-only and calculated from the status of
+ the associated [ReturnCaseItem](dw.order.ReturnCaseItem.md)s.
+
+
+ The possible values are [STATUS_NEW](dw.order.ReturnCase.md#status_new),[STATUS_CONFIRMED](dw.order.ReturnCase.md#status_confirmed),
+ [STATUS_PARTIAL_RETURNED](dw.order.ReturnCase.md#status_partial_returned), [STATUS_RETURNED](dw.order.ReturnCase.md#status_returned),
+ [STATUS_CANCELLED](dw.order.ReturnCase.md#status_cancelled).
+
+
+ **Returns:**
+ - the status
+
+
+---
+
+### isRMA()
+- isRMA(): [Boolean](TopLevel.Boolean.md)
+ - : Return whether this is an RMA. This is specified when calling [Order.createReturnCase(String, Boolean)](dw.order.Order.md#createreturncasestring-boolean).
+
+ **Returns:**
+ - whether this is an RMA.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ReturnCaseItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ReturnCaseItem.md
new file mode 100644
index 00000000..72ba2c4b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ReturnCaseItem.md
@@ -0,0 +1,372 @@
+
+# Class ReturnCaseItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItem](dw.order.AbstractItem.md)
+ - [dw.order.ReturnCaseItem](dw.order.ReturnCaseItem.md)
+
+An item of a [ReturnCase](dw.order.ReturnCase.md), created using method
+[ReturnCase.createItem(String)](dw.order.ReturnCase.md#createitemstring). Initially the
+ReturnCaseItem is NEW. No [Return](dw.order.Return.md) can be
+created at this point. From NEW the item transitions in CONFIRMED state.
+Now Return can be created. Next transition is either to
+PARTIAL\_RETURNED or to CANCELLED. At the end the item can be RETURNED (no other
+Returns can be created.
+
+The custom code implementing the ReturnHooks is
+responsible to provide the logic for the transitions. Please refer to the
+documentation of [ReturnHooks](dw.order.hooks.ReturnHooks.md) for further
+information.
+
+
+When the related ReturnCase were confirmed, only the the custom attributes of the return case item can be changed.
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [STATUS_CANCELLED](#status_cancelled): [String](TopLevel.String.md) = "CANCELLED" | constant for ReturnCase Status CANCELLED |
+| [STATUS_CONFIRMED](#status_confirmed): [String](TopLevel.String.md) = "CONFIRMED" | constant for ReturnCase Status CONFIRMED |
+| [STATUS_NEW](#status_new): [String](TopLevel.String.md) = "NEW" | constant for ReturnCase Status NEW |
+| [STATUS_PARTIAL_RETURNED](#status_partial_returned): [String](TopLevel.String.md) = "PARTIAL_RETURNED" | constant for ReturnCase Status PARTIAL RETURNED |
+| [STATUS_RETURNED](#status_returned): [String](TopLevel.String.md) = "RETURNED" | constant for ReturnCase Status RETURNED |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [authorizedQuantity](#authorizedquantity): [Quantity](dw.value.Quantity.md) | Return the [Quantity](dw.value.Quantity.md) authorized for this ReturnCaseItem, may be N/A. |
+| [basePrice](#baseprice): [Money](dw.value.Money.md) `(read-only)` | Price of a single unit before discount application. |
+| [note](#note): [String](TopLevel.String.md) | Return the note for this return case item. |
+| [parentItem](#parentitem): [ReturnCaseItem](dw.order.ReturnCaseItem.md) | Returns null or the parent item. |
+| [reasonCode](#reasoncode): [EnumValue](dw.value.EnumValue.md) | Returns the reason code for return case item. |
+| [returnCaseNumber](#returncasenumber): [String](TopLevel.String.md) `(read-only)` | Mandatory number of [ReturnCase](dw.order.ReturnCase.md) to which this item belongs |
+| [returnItems](#returnitems): [Collection](dw.util.Collection.md) `(read-only)` | Unsorted collection of [ReturnItem](dw.order.ReturnItem.md)s associated with this ReturnCaseItem. |
+| [status](#status): [EnumValue](dw.value.EnumValue.md) | Gets the return case item status. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createReturnItem](dw.order.ReturnCaseItem.md#createreturnitemstring)([String](TopLevel.String.md)) | Create a new [ReturnItem](dw.order.ReturnItem.md) for this ReturnCaseItem and assign it to the given [Return](dw.order.Return.md). |
+| [getAuthorizedQuantity](dw.order.ReturnCaseItem.md#getauthorizedquantity)() | Return the [Quantity](dw.value.Quantity.md) authorized for this ReturnCaseItem, may be N/A. |
+| [getBasePrice](dw.order.ReturnCaseItem.md#getbaseprice)() | Price of a single unit before discount application. |
+| [getNote](dw.order.ReturnCaseItem.md#getnote)() | Return the note for this return case item. |
+| [getParentItem](dw.order.ReturnCaseItem.md#getparentitem)() | Returns null or the parent item. |
+| [getReasonCode](dw.order.ReturnCaseItem.md#getreasoncode)() | Returns the reason code for return case item. |
+| [getReturnCaseNumber](dw.order.ReturnCaseItem.md#getreturncasenumber)() | Mandatory number of [ReturnCase](dw.order.ReturnCase.md) to which this item belongs |
+| [getReturnItems](dw.order.ReturnCaseItem.md#getreturnitems)() | Unsorted collection of [ReturnItem](dw.order.ReturnItem.md)s associated with this ReturnCaseItem. |
+| [getStatus](dw.order.ReturnCaseItem.md#getstatus)() | Gets the return case item status. |
+| [setAuthorizedQuantity](dw.order.ReturnCaseItem.md#setauthorizedquantityquantity)([Quantity](dw.value.Quantity.md)) | Set the optional authorized [Quantity](dw.value.Quantity.md) for this item. |
+| [setNote](dw.order.ReturnCaseItem.md#setnotestring)([String](TopLevel.String.md)) | Sets a note for this return case item. |
+| [setParentItem](dw.order.ReturnCaseItem.md#setparentitemreturncaseitem)([ReturnCaseItem](dw.order.ReturnCaseItem.md)) | Set a parent item. |
+| [setReasonCode](dw.order.ReturnCaseItem.md#setreasoncodestring)([String](TopLevel.String.md)) | Changes the reason code. |
+| [setStatus](dw.order.ReturnCaseItem.md#setstatusstring)([String](TopLevel.String.md)) | Sets the status. |
+
+### Methods inherited from class AbstractItem
+
+[getGrossPrice](dw.order.AbstractItem.md#getgrossprice), [getItemID](dw.order.AbstractItem.md#getitemid), [getLineItem](dw.order.AbstractItem.md#getlineitem), [getNetPrice](dw.order.AbstractItem.md#getnetprice), [getOrderItem](dw.order.AbstractItem.md#getorderitem), [getOrderItemID](dw.order.AbstractItem.md#getorderitemid), [getTax](dw.order.AbstractItem.md#gettax), [getTaxBasis](dw.order.AbstractItem.md#gettaxbasis), [getTaxItems](dw.order.AbstractItem.md#gettaxitems)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### STATUS_CANCELLED
+
+- STATUS_CANCELLED: [String](TopLevel.String.md) = "CANCELLED"
+ - : constant for ReturnCase Status CANCELLED
+
+
+---
+
+### STATUS_CONFIRMED
+
+- STATUS_CONFIRMED: [String](TopLevel.String.md) = "CONFIRMED"
+ - : constant for ReturnCase Status CONFIRMED
+
+
+---
+
+### STATUS_NEW
+
+- STATUS_NEW: [String](TopLevel.String.md) = "NEW"
+ - : constant for ReturnCase Status NEW
+
+
+---
+
+### STATUS_PARTIAL_RETURNED
+
+- STATUS_PARTIAL_RETURNED: [String](TopLevel.String.md) = "PARTIAL_RETURNED"
+ - : constant for ReturnCase Status PARTIAL RETURNED
+
+
+---
+
+### STATUS_RETURNED
+
+- STATUS_RETURNED: [String](TopLevel.String.md) = "RETURNED"
+ - : constant for ReturnCase Status RETURNED
+
+
+---
+
+## Property Details
+
+### authorizedQuantity
+- authorizedQuantity: [Quantity](dw.value.Quantity.md)
+ - : Return the [Quantity](dw.value.Quantity.md) authorized for this ReturnCaseItem, may be N/A.
+
+
+---
+
+### basePrice
+- basePrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Price of a single unit before discount application.
+
+
+---
+
+### note
+- note: [String](TopLevel.String.md)
+ - : Return the note for this return case item.
+
+
+---
+
+### parentItem
+- parentItem: [ReturnCaseItem](dw.order.ReturnCaseItem.md)
+ - : Returns null or the parent item.
+
+
+---
+
+### reasonCode
+- reasonCode: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the reason code for return case item.
+
+
+---
+
+### returnCaseNumber
+- returnCaseNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Mandatory number of [ReturnCase](dw.order.ReturnCase.md) to which this item belongs
+
+
+---
+
+### returnItems
+- returnItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Unsorted collection of [ReturnItem](dw.order.ReturnItem.md)s associated with this ReturnCaseItem.
+
+ **See Also:**
+ - [createReturnItem(String)](dw.order.ReturnCaseItem.md#createreturnitemstring)
+
+
+---
+
+### status
+- status: [EnumValue](dw.value.EnumValue.md)
+ - : Gets the return case item status.
+
+
+ The possible values are [STATUS_NEW](dw.order.ReturnCaseItem.md#status_new),[STATUS_CONFIRMED](dw.order.ReturnCaseItem.md#status_confirmed),
+ [STATUS_PARTIAL_RETURNED](dw.order.ReturnCaseItem.md#status_partial_returned), [STATUS_RETURNED](dw.order.ReturnCaseItem.md#status_returned),
+ [STATUS_CANCELLED](dw.order.ReturnCaseItem.md#status_cancelled).
+
+
+
+---
+
+## Method Details
+
+### createReturnItem(String)
+- createReturnItem(returnNumber: [String](TopLevel.String.md)): [ReturnItem](dw.order.ReturnItem.md)
+ - : Create a new [ReturnItem](dw.order.ReturnItem.md) for this ReturnCaseItem and assign it to the
+ given [Return](dw.order.Return.md).
+
+
+ **Parameters:**
+ - returnNumber - number of Return to which new item is assigned.
+
+ **Returns:**
+ - new ReturnItem
+
+
+---
+
+### getAuthorizedQuantity()
+- getAuthorizedQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Return the [Quantity](dw.value.Quantity.md) authorized for this ReturnCaseItem, may be N/A.
+
+ **Returns:**
+ - the authorized quantity or N/A
+
+
+---
+
+### getBasePrice()
+- getBasePrice(): [Money](dw.value.Money.md)
+ - : Price of a single unit before discount application.
+
+ **Returns:**
+ - Price of a single unit before discount application.
+
+
+---
+
+### getNote()
+- getNote(): [String](TopLevel.String.md)
+ - : Return the note for this return case item.
+
+ **Returns:**
+ - the note or `null`
+
+
+---
+
+### getParentItem()
+- getParentItem(): [ReturnCaseItem](dw.order.ReturnCaseItem.md)
+ - : Returns null or the parent item.
+
+ **Returns:**
+ - null or the parent item.
+
+
+---
+
+### getReasonCode()
+- getReasonCode(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the reason code for return case item.
+
+ **Returns:**
+ - the return reason code
+
+
+---
+
+### getReturnCaseNumber()
+- getReturnCaseNumber(): [String](TopLevel.String.md)
+ - : Mandatory number of [ReturnCase](dw.order.ReturnCase.md) to which this item belongs
+
+ **Returns:**
+ - number of ReturnCase to which this item belongs
+
+
+---
+
+### getReturnItems()
+- getReturnItems(): [Collection](dw.util.Collection.md)
+ - : Unsorted collection of [ReturnItem](dw.order.ReturnItem.md)s associated with this ReturnCaseItem.
+
+ **Returns:**
+ - unsorted collection of ReturnItems associated with this ReturnCaseItem
+
+ **See Also:**
+ - [createReturnItem(String)](dw.order.ReturnCaseItem.md#createreturnitemstring)
+
+
+---
+
+### getStatus()
+- getStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Gets the return case item status.
+
+
+ The possible values are [STATUS_NEW](dw.order.ReturnCaseItem.md#status_new),[STATUS_CONFIRMED](dw.order.ReturnCaseItem.md#status_confirmed),
+ [STATUS_PARTIAL_RETURNED](dw.order.ReturnCaseItem.md#status_partial_returned), [STATUS_RETURNED](dw.order.ReturnCaseItem.md#status_returned),
+ [STATUS_CANCELLED](dw.order.ReturnCaseItem.md#status_cancelled).
+
+
+ **Returns:**
+ - the status
+
+
+---
+
+### setAuthorizedQuantity(Quantity)
+- setAuthorizedQuantity(authorizedQuantity: [Quantity](dw.value.Quantity.md)): void
+ - : Set the optional authorized [Quantity](dw.value.Quantity.md) for this item. Passing null will result in an N/A Quantity
+ being set.
+
+
+ **Parameters:**
+ - authorizedQuantity - null or the quantity
+
+
+---
+
+### setNote(String)
+- setNote(note: [String](TopLevel.String.md)): void
+ - : Sets a note for this return case item.
+
+ **Parameters:**
+ - note - the note for this return case item to set
+
+
+---
+
+### setParentItem(ReturnCaseItem)
+- setParentItem(parentItem: [ReturnCaseItem](dw.order.ReturnCaseItem.md)): void
+ - : Set a parent item. The parent item must belong to the same
+ [ReturnCase](dw.order.ReturnCase.md). An infinite parent-child loop is disallowed
+ as is a parent-child depth greater than 10. Setting a parent item
+ indicates a dependency of the child item on the parent item, and can be
+ used to form a parallel structure to that accessed using
+ [ProductLineItem.getParent()](dw.order.ProductLineItem.md#getparent).
+
+
+ **Parameters:**
+ - parentItem - The parent item, null is allowed
+
+
+---
+
+### setReasonCode(String)
+- setReasonCode(reasonCode: [String](TopLevel.String.md)): void
+ - : Changes the reason code. Initially the reason code is set on return case
+ item creation.
+
+
+ **Parameters:**
+ - reasonCode - the reason code to set
+
+
+---
+
+### setStatus(String)
+- setStatus(statusString: [String](TopLevel.String.md)): void
+ - : Sets the status.
+
+
+ The possible values are [STATUS_NEW](dw.order.ReturnCaseItem.md#status_new),[STATUS_CONFIRMED](dw.order.ReturnCaseItem.md#status_confirmed),
+ [STATUS_PARTIAL_RETURNED](dw.order.ReturnCaseItem.md#status_partial_returned), [STATUS_RETURNED](dw.order.ReturnCaseItem.md#status_returned),
+ [STATUS_CANCELLED](dw.order.ReturnCaseItem.md#status_cancelled).
+
+
+ **Parameters:**
+ - statusString - the status
+
+ **Throws:**
+ - NullPointerException - if status is `null`
+ - IllegalArgumentException - if the status transition to the status is not allowed
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ReturnItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ReturnItem.md
new file mode 100644
index 00000000..e2a1a6f5
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ReturnItem.md
@@ -0,0 +1,335 @@
+
+# Class ReturnItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItem](dw.order.AbstractItem.md)
+ - [dw.order.ReturnItem](dw.order.ReturnItem.md)
+
+An item of a [Return](dw.order.Return.md), created using [Return.createItem(String)](dw.order.Return.md#createitemstring).
+Represents a physically returned order line item. Please refer to the documentation of [ReturnHooks](dw.order.hooks.ReturnHooks.md)
+for further information.
+
+
+When the related Return were set to status COMPLETED, only the the custom attributes of the return item can be changed.
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [basePrice](#baseprice): [Money](dw.value.Money.md) `(read-only)` | Price of a single unit before discount application. |
+| [note](#note): [String](TopLevel.String.md) | Return the note for this return item. |
+| [parentItem](#parentitem): [ReturnItem](dw.order.ReturnItem.md) | Returns null or the parent item. |
+| [reasonCode](#reasoncode): [EnumValue](dw.value.EnumValue.md) | Returns the reason code for return item. |
+| [returnCaseItem](#returncaseitem): [ReturnCaseItem](dw.order.ReturnCaseItem.md) `(read-only)` | Returns the return case item related to this item. |
+| [returnNumber](#returnnumber): [String](TopLevel.String.md) `(read-only)` | The mandatory returnNumber of the [Return](dw.order.Return.md) to which this item belongs. |
+| [returnedQuantity](#returnedquantity): [Quantity](dw.value.Quantity.md) | The [Quantity](dw.value.Quantity.md) returned. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addTaxItem](dw.order.ReturnItem.md#addtaxitemdecimal-taxgroup)([Decimal](dw.util.Decimal.md), [TaxGroup](dw.order.TaxGroup.md)) | Create a new [tax-item](dw.order.TaxItem.md) and add to this item. |
+| [applyPriceRate](dw.order.ReturnItem.md#applypriceratedecimal-decimal-boolean)([Decimal](dw.util.Decimal.md), [Decimal](dw.util.Decimal.md), [Boolean](TopLevel.Boolean.md)) | Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the nearest cent if necessary. |
+| [getBasePrice](dw.order.ReturnItem.md#getbaseprice)() | Price of a single unit before discount application. |
+| [getNote](dw.order.ReturnItem.md#getnote)() | Return the note for this return item. |
+| [getParentItem](dw.order.ReturnItem.md#getparentitem)() | Returns null or the parent item. |
+| [getReasonCode](dw.order.ReturnItem.md#getreasoncode)() | Returns the reason code for return item. |
+| [getReturnCaseItem](dw.order.ReturnItem.md#getreturncaseitem)() | Returns the return case item related to this item. |
+| [getReturnNumber](dw.order.ReturnItem.md#getreturnnumber)() | The mandatory returnNumber of the [Return](dw.order.Return.md) to which this item belongs. |
+| [getReturnedQuantity](dw.order.ReturnItem.md#getreturnedquantity)() | The [Quantity](dw.value.Quantity.md) returned. |
+| [setNote](dw.order.ReturnItem.md#setnotestring)([String](TopLevel.String.md)) | Sets a note for this return item. |
+| [setParentItem](dw.order.ReturnItem.md#setparentitemreturnitem)([ReturnItem](dw.order.ReturnItem.md)) | Set a parent item. |
+| [setReasonCode](dw.order.ReturnItem.md#setreasoncodestring)([String](TopLevel.String.md)) | Set the reason code. |
+| [setReturnedQuantity](dw.order.ReturnItem.md#setreturnedquantityquantity)([Quantity](dw.value.Quantity.md)) | Set the [Quantity](dw.value.Quantity.md) returned. |
+| [setTaxBasis](dw.order.ReturnItem.md#settaxbasismoney)([Money](dw.value.Money.md)) | Set the tax-basis price for this item. |
+| [setTaxItems](dw.order.ReturnItem.md#settaxitemscollection)([Collection](dw.util.Collection.md)) | Set the tax-items for this item. |
+
+### Methods inherited from class AbstractItem
+
+[getGrossPrice](dw.order.AbstractItem.md#getgrossprice), [getItemID](dw.order.AbstractItem.md#getitemid), [getLineItem](dw.order.AbstractItem.md#getlineitem), [getNetPrice](dw.order.AbstractItem.md#getnetprice), [getOrderItem](dw.order.AbstractItem.md#getorderitem), [getOrderItemID](dw.order.AbstractItem.md#getorderitemid), [getTax](dw.order.AbstractItem.md#gettax), [getTaxBasis](dw.order.AbstractItem.md#gettaxbasis), [getTaxItems](dw.order.AbstractItem.md#gettaxitems)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### basePrice
+- basePrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Price of a single unit before discount application.
+
+
+---
+
+### note
+- note: [String](TopLevel.String.md)
+ - : Return the note for this return item.
+
+
+---
+
+### parentItem
+- parentItem: [ReturnItem](dw.order.ReturnItem.md)
+ - : Returns null or the parent item.
+
+
+---
+
+### reasonCode
+- reasonCode: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the reason code for return item. The list of reason codes can be updated
+ by updating meta-data for ReturnItem.
+
+
+
+---
+
+### returnCaseItem
+- returnCaseItem: [ReturnCaseItem](dw.order.ReturnCaseItem.md) `(read-only)`
+ - : Returns the return case item related to this item. Should never return null.
+
+
+---
+
+### returnNumber
+- returnNumber: [String](TopLevel.String.md) `(read-only)`
+ - : The mandatory returnNumber of the [Return](dw.order.Return.md) to which this item belongs.
+
+
+---
+
+### returnedQuantity
+- returnedQuantity: [Quantity](dw.value.Quantity.md)
+ - : The [Quantity](dw.value.Quantity.md) returned. This may return an N/A quantity.
+
+
+---
+
+## Method Details
+
+### addTaxItem(Decimal, TaxGroup)
+- addTaxItem(amount: [Decimal](dw.util.Decimal.md), taxGroup: [TaxGroup](dw.order.TaxGroup.md)): [TaxItem](dw.order.TaxItem.md)
+ - : Create a new [tax-item](dw.order.TaxItem.md) and add to this item.
+
+ **Parameters:**
+ - amount - amount to assign to the tax-item
+ - taxGroup - the [TaxGroup](dw.order.TaxGroup.md) to which the item belongs
+
+ **Returns:**
+ - the new tax-item
+
+
+---
+
+### applyPriceRate(Decimal, Decimal, Boolean)
+- applyPriceRate(factor: [Decimal](dw.util.Decimal.md), divisor: [Decimal](dw.util.Decimal.md), roundUp: [Boolean](TopLevel.Boolean.md)): void
+ - : Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the
+ nearest cent if necessary.
+
+ _Examples_:
+
+ | TaxBasis before | factor | divisor | roundup | Calculation | TaxBasis after |
+ | --- |--- |--- |--- |--- |--- |
+ | $10.00 | 1 | 2 | true | 10\*1/2= | $5.00 |
+ | $10.00 | 9 | 10 | true | 10\*9/10= | $9.00 |
+ | $10.00 | 1 | 3 | true | 10\*1/3=3.3333= | $3.33 |
+ | $2.47 | 1 | 2 | true | 2.47\*1/2=1.235= | $1.24 |
+ | $2.47 | 1 | 2 | false | 2.47\*1/2=1.235= | $1.23 |
+
+
+ _Which prices are updated?_:
+
+ The rate described above is applied to tax-basis and tax then the net-price and gross-price are recalculated by adding / subtracting
+ depending on whether the order is based on net price.
+
+ _Example (order based on net price)_
+
+ New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis=$10.00, GrossPrice=TaxBasis+Tax=$11.00
+
+ _Example (order based on gross price)_
+
+ New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis-tax=$9.00, GrossPrice=TaxBasis=$10.00
+
+
+ **Parameters:**
+ - factor - factor used to calculate rate
+ - divisor - divisor used to calculate rate
+ - roundUp - whether to round up or down on 0.5
+
+ **See Also:**
+ - [AbstractItem.getTaxBasis()](dw.order.AbstractItem.md#gettaxbasis)
+ - [AbstractItem.getTax()](dw.order.AbstractItem.md#gettax)
+ - [AbstractItem.getNetPrice()](dw.order.AbstractItem.md#getnetprice)
+ - [AbstractItem.getGrossPrice()](dw.order.AbstractItem.md#getgrossprice)
+ - [TaxMgr.getTaxationPolicy()](dw.order.TaxMgr.md#gettaxationpolicy)
+
+
+---
+
+### getBasePrice()
+- getBasePrice(): [Money](dw.value.Money.md)
+ - : Price of a single unit before discount application.
+
+ **Returns:**
+ - Price of a single unit before discount application.
+
+
+---
+
+### getNote()
+- getNote(): [String](TopLevel.String.md)
+ - : Return the note for this return item.
+
+ **Returns:**
+ - the note or `null`
+
+
+---
+
+### getParentItem()
+- getParentItem(): [ReturnItem](dw.order.ReturnItem.md)
+ - : Returns null or the parent item.
+
+ **Returns:**
+ - null or the parent item.
+
+
+---
+
+### getReasonCode()
+- getReasonCode(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the reason code for return item. The list of reason codes can be updated
+ by updating meta-data for ReturnItem.
+
+
+ **Returns:**
+ - the return reason code
+
+
+---
+
+### getReturnCaseItem()
+- getReturnCaseItem(): [ReturnCaseItem](dw.order.ReturnCaseItem.md)
+ - : Returns the return case item related to this item. Should never return null.
+
+ **Returns:**
+ - the return case item related to this item
+
+
+---
+
+### getReturnNumber()
+- getReturnNumber(): [String](TopLevel.String.md)
+ - : The mandatory returnNumber of the [Return](dw.order.Return.md) to which this item belongs.
+
+ **Returns:**
+ - the returnNumber of the Return to which this item belongs
+
+
+---
+
+### getReturnedQuantity()
+- getReturnedQuantity(): [Quantity](dw.value.Quantity.md)
+ - : The [Quantity](dw.value.Quantity.md) returned. This may return an N/A quantity.
+
+ **Returns:**
+ - the quantity returned, may be N/A
+
+
+---
+
+### setNote(String)
+- setNote(note: [String](TopLevel.String.md)): void
+ - : Sets a note for this return item.
+
+ **Parameters:**
+ - note - the note for this return item to set
+
+
+---
+
+### setParentItem(ReturnItem)
+- setParentItem(parentItem: [ReturnItem](dw.order.ReturnItem.md)): void
+ - : Set a parent item. The parent item must belong to the same
+ [Return](dw.order.Return.md). An infinite parent-child loop is disallowed
+ as is a parent-child depth greater than 10. Setting a parent item
+ indicates a dependency of the child item on the parent item, and can be
+ used to form a parallel structure to that accessed using
+ [ProductLineItem.getParent()](dw.order.ProductLineItem.md#getparent).
+
+
+ **Parameters:**
+ - parentItem - The parent item, null is allowed
+
+
+---
+
+### setReasonCode(String)
+- setReasonCode(reasonCode: [String](TopLevel.String.md)): void
+ - : Set the reason code. The list of reason codes can be updated by updating meta-data for ReturnItem.
+
+ **Parameters:**
+ - reasonCode - the reason code to set
+
+
+---
+
+### setReturnedQuantity(Quantity)
+- setReturnedQuantity(quantity: [Quantity](dw.value.Quantity.md)): void
+ - : Set the [Quantity](dw.value.Quantity.md) returned. Passing null results in an exception being thrown.
+ The quantity must be higher than zero and not be higher than the remaining quantity to return.
+
+
+ The item prices are recalculated in this method as described in [applyPriceRate(Decimal, Decimal, Boolean)](dw.order.ReturnItem.md#applypriceratedecimal-decimal-boolean)
+ with the `quantity` argument as the factor, and ordered quantity as divisor
+ and `true` as the roundup parameter.
+
+
+ **Parameters:**
+ - quantity - the quantity returned, null not allowed
+
+ **See Also:**
+ - [OrderItem.getReturnedQuantity()](dw.order.OrderItem.md#getreturnedquantity)
+ - [ProductLineItem.getQuantity()](dw.order.ProductLineItem.md#getquantity)
+
+
+---
+
+### setTaxBasis(Money)
+- setTaxBasis(taxBasis: [Money](dw.value.Money.md)): void
+ - : Set the tax-basis price for this item.
+
+ **Parameters:**
+ - taxBasis - the tax basis value.
+
+
+---
+
+### setTaxItems(Collection)
+- setTaxItems(taxItems: [Collection](dw.util.Collection.md)): void
+ - : Set the tax-items for this item.
+
+ **Parameters:**
+ - taxItems - items
+
+ **See Also:**
+ - [addTaxItem(Decimal, TaxGroup)](dw.order.ReturnItem.md#addtaxitemdecimal-taxgroup)
+ - [TaxGroup.create(String, String, String, Decimal)](dw.order.TaxGroup.md#createstring-string-string-decimal)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.Shipment.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.Shipment.md
new file mode 100644
index 00000000..c0beb285
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.Shipment.md
@@ -0,0 +1,1124 @@
+
+# Class Shipment
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.Shipment](dw.order.Shipment.md)
+
+Represents an order shipment.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| ~~[SHIPMENT_NOTSHIPPED](#shipment_notshipped): [Number](TopLevel.Number.md) = 0~~ | Shipment shipping status representing 'Not shipped'. |
+| ~~[SHIPMENT_SHIPPED](#shipment_shipped): [Number](TopLevel.Number.md) = 2~~ | Shipment shipping status representing 'Shipped'. |
+| [SHIPPING_STATUS_NOTSHIPPED](#shipping_status_notshipped): [Number](TopLevel.Number.md) = 0 | Shipment shipping status representing 'Not shipped'. |
+| [SHIPPING_STATUS_SHIPPED](#shipping_status_shipped): [Number](TopLevel.Number.md) = 2 | Shipment shipping status representing 'Shipped'. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of this shipment ("me" for the default shipment). |
+| [adjustedMerchandizeTotalGrossPrice](#adjustedmerchandizetotalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the adjusted total gross price, including tax, in the purchase currency. |
+| [adjustedMerchandizeTotalNetPrice](#adjustedmerchandizetotalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the adjusted net price, excluding tax, in the purchase currency. |
+| [adjustedMerchandizeTotalPrice](#adjustedmerchandizetotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the product total price after all product discounts. |
+| [adjustedMerchandizeTotalTax](#adjustedmerchandizetotaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the total adjusted product tax in the purchase currency. |
+| [adjustedShippingTotalGrossPrice](#adjustedshippingtotalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the adjusted sum of all shipping line items of the shipment, including shipping adjustuments and tax |
+| [adjustedShippingTotalNetPrice](#adjustedshippingtotalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the sum of all shipping line items of the shipment, including shipping adjustments, excluding tax. |
+| [adjustedShippingTotalPrice](#adjustedshippingtotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the adjusted shipping total price. |
+| [adjustedShippingTotalTax](#adjustedshippingtotaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the tax of all shipping line items of the shipment , including shipping adjustments. |
+| [allLineItems](#alllineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns all line items related to the shipment. |
+| [default](#default): [Boolean](TopLevel.Boolean.md) `(read-only)` | Return `true` if this shipment is the default shipment (shipment ID "me"). |
+| [gift](#gift): [Boolean](TopLevel.Boolean.md) | Returns true if this line item represents a gift, false otherwise. |
+| [giftCertificateLineItems](#giftcertificatelineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns all gift certificate line items of the shipment. |
+| [giftMessage](#giftmessage): [String](TopLevel.String.md) | Returns the value set for gift message or null if no value set. |
+| [merchandizeTotalGrossPrice](#merchandizetotalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the gross product subtotal in the purchase currency. |
+| [merchandizeTotalNetPrice](#merchandizetotalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the net product subtotal, excluding tax, in the purchase currency. |
+| [merchandizeTotalPrice](#merchandizetotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the product total price. |
+| ~~[merchandizeTotalPriceAdjustments](#merchandizetotalpriceadjustments): [Collection](dw.util.Collection.md)~~ `(read-only)` | Returns a collection of price adjustments that have been applied to the totals, such as a promotion on the purchase value (i.e. |
+| [merchandizeTotalTax](#merchandizetotaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the total product tax in the purchase currency. |
+| [productLineItems](#productlineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all product line items related to this shipment. |
+| [proratedMerchandizeTotalPrice](#proratedmerchandizetotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the total product price of the shipment, including product-level adjustments and prorating all Buy-X-Get-Y and order-level adjustments, according to the scheme described in [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices). |
+| [shipmentNo](#shipmentno): [String](TopLevel.String.md) `(read-only)` | Returns the shipment number for this shipment. |
+| [shippingAddress](#shippingaddress): [OrderAddress](dw.order.OrderAddress.md) `(read-only)` | Returns the shipping address or null if none is set. |
+| [shippingLineItems](#shippinglineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all shipping line items of the shipment, excluding any product-level shipping costs that are associated with [ProductLineItem](dw.order.ProductLineItem.md)s of the shipment. |
+| [shippingMethod](#shippingmethod): [ShippingMethod](dw.order.ShippingMethod.md) | Returns the shipping method or null if none is set. |
+| [shippingMethodID](#shippingmethodid): [String](TopLevel.String.md) `(read-only)` | Returns the shipping method ID or null if none is set. |
+| [shippingPriceAdjustments](#shippingpriceadjustments): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of price adjustments that have been applied to the shipping costs of the shipment, for example by the promotions engine. Provides static helper methods for managing orders. |
+| [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md) | Represents any payment instrument used to pay orders, such as credit card or bank transfer. |
+| [OrderProcessStatusCodes](dw.order.OrderProcessStatusCodes.md) | Contains constants representing different status codes for interacting with an order, such as cancelling or editing an order. |
+| [PaymentCard](dw.order.PaymentCard.md) | Represents payment cards and provides methods to access the payment card attributes and status. |
+| [PaymentInstrument](dw.order.PaymentInstrument.md) | Base class for payment instrument either stored in the customers profile or related to an order. |
+| [PaymentMethod](dw.order.PaymentMethod.md) | The PaymentMethod class represents a logical type of payment a customer can make in the storefront. |
+| [PaymentMgr](dw.order.PaymentMgr.md) | [PaymentMgr](dw.order.PaymentMgr.md) is used to access payment methods and payment cards of the current site. |
+| [PaymentProcessor](dw.order.PaymentProcessor.md) | A PaymentProcessor represents an entity that processes payments of one or more types. |
+| [PaymentStatusCodes](dw.order.PaymentStatusCodes.md) | Helper class containing status codes for the various errors that can occur when validating a payment card. |
+| [PaymentTransaction](dw.order.PaymentTransaction.md) | The PaymentTransaction class represents a payment transaction. |
+| [PriceAdjustment](dw.order.PriceAdjustment.md) | The PriceAdjustment class represents an adjustment to the price of an order. |
+| [PriceAdjustmentLimitTypes](dw.order.PriceAdjustmentLimitTypes.md) | Helper class containing price adjustment limit types. |
+| [ProductLineItem](dw.order.ProductLineItem.md) | Represents a specific product line item. |
+| [ProductShippingCost](dw.order.ProductShippingCost.md) | Instances of ProductShippingCost represent product specific shipping costs. |
+| [ProductShippingLineItem](dw.order.ProductShippingLineItem.md) | Represents a specific line item in a shipment. |
+| [ProductShippingModel](dw.order.ProductShippingModel.md) | Instances of ProductShippingModel provide access to product-level shipping information, such as applicable or inapplicable shipping methods and shipping cost defined for the product for a specified shipping method. |
+| [Return](dw.order.Return.md) | The Return represents a physical customer return, and contains 1..n [ReturnItem](dw.order.ReturnItem.md)s. |
+| [ReturnCase](dw.order.ReturnCase.md) | All returns exist in the context of a ReturnCase, each [Order](dw.order.Order.md) can have any number of ReturnCases. |
+| [ReturnCaseItem](dw.order.ReturnCaseItem.md) | An item of a [ReturnCase](dw.order.ReturnCase.md), created using method [ReturnCase.createItem(String)](dw.order.ReturnCase.md#createitemstring). |
+| [ReturnItem](dw.order.ReturnItem.md) | An item of a [Return](dw.order.Return.md), created using [Return.createItem(String)](dw.order.Return.md#createitemstring). |
+| [Shipment](dw.order.Shipment.md) | Represents an order shipment. |
+| [ShipmentShippingCost](dw.order.ShipmentShippingCost.md) | Represents shipping cost applied to shipments. |
+| [ShipmentShippingModel](dw.order.ShipmentShippingModel.md) | Instances of ShipmentShippingModel provide access to shipment-level shipping information, such as applicable and inapplicable shipping methods and shipping cost. |
+| [ShippingLineItem](dw.order.ShippingLineItem.md) | Represents a specific line item in a shipment. |
+| [ShippingLocation](dw.order.ShippingLocation.md) | Represents a specific location for a shipment. |
+| [ShippingMethod](dw.order.ShippingMethod.md) | ShippingMethod represents how the shipment will be shipped. |
+| [ShippingMgr](dw.order.ShippingMgr.md) | Provides methods to access the shipping information. |
+| [ShippingOrder](dw.order.ShippingOrder.md) | A shipping order is used to specify items that should be shipped, and is typically exported to, and updated by a back-office warehouse management system. |
+| [ShippingOrderItem](dw.order.ShippingOrderItem.md) | One or more ShippingOrderItems are contained in a [ShippingOrder](dw.order.ShippingOrder.md), created using [ShippingOrder.createShippingOrderItem(OrderItem, Quantity)](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity) and can be retrieved by [ShippingOrder.getItems()](dw.order.ShippingOrder.md#getitems). |
+| [SumItem](dw.order.SumItem.md) | Container used to represent an subtotal or grandtotal item which contains various prices and a tax breakdown held in a collection of tax-items. |
+| [TaxGroup](dw.order.TaxGroup.md) | Contains the formal definition of a tax including a type (it's just the key), a [percentage value](dw.order.TaxGroup.md#getrate) if provided, a [caption](dw.order.TaxGroup.md#getcaption) and a [description](dw.order.TaxGroup.md#getdescription). |
+| [TaxItem](dw.order.TaxItem.md) | An item containing tax information allowing a tax breakdown between a number of [TaxGroup](dw.order.TaxGroup.md)s. |
+| [TaxMgr](dw.order.TaxMgr.md) | Provides methods to access the tax table. |
+| [TrackingInfo](dw.order.TrackingInfo.md) | Provides basic information about a tracking info. |
+| [TrackingRef](dw.order.TrackingRef.md) | Provides basic information about the [TrackingInfo](dw.order.TrackingInfo.md) a [ShippingOrderItem](dw.order.ShippingOrderItem.md) is contained. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.rpc.SOAPUtil.md b/packages/b2c-tooling-sdk/data/script-api/dw.rpc.SOAPUtil.md
new file mode 100644
index 00000000..e68e6de7
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.rpc.SOAPUtil.md
@@ -0,0 +1,736 @@
+
+# Class SOAPUtil
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.rpc.SOAPUtil](dw.rpc.SOAPUtil.md)
+
+Utility class for working with SOAP web services. This class provides
+methods for setting SOAP headers and a set of constants representing the
+supported header names.
+
+If you want to use ws-security features, such as signing and encryption,
+with your RPC-style SOAP web service, use this class to construct a HashMap with
+security constants and values.
+
+**Note:** this method handles sensitive security-related data.
+Pay special attention to PCI DSS v3. requirements 2, 4, and 12.
+The following example configures the ws-security actions taken for the request and response to a web service.
+
+
+```
+importPackage( dw.system );
+importPackage( dw.util );
+importPackage( dw.rpc );
+
+
+function execute( args : PipelineDictionary ) : Number
+{
+ var WSU_NS : String = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
+
+ try
+ {
+
+ // define a map with all the secrets
+ var secretsMap : Map = new HashMap();
+ secretsMap.put("myclientkey", "ckpass");
+ secretsMap.put("myservicekey", "ckpass");
+ secretsMap.put("username", "password");
+
+ var requestCfg : Map = new HashMap();
+
+ // define the ws actions to be performed
+ requestCfg.put(SOAPUtil.WS_ACTION, SOAPUtil.WS_USERNAME_TOKEN + " " +
+ SOAPUtil.WS_TIMESTAMP + " " +
+ SOAPUtil.WS_SIGNATURE + " " +
+ SOAPUtil.WS_ENCRYPT);
+ requestCfg.put(SOAPUtil.WS_USER, "username");
+ requestCfg.put(SOAPUtil.WS_PASSWORD_TYPE, SOAPUtil.WS_PW_DIGEST );
+ requestCfg.put(SOAPUtil.WS_SIG_DIGEST_ALGO, "http://www.w3.org/2001/04/xmlenc#sha256" );
+
+ // define signature properties
+ // the keystore file has the basename of the WSDL file and the
+ // file extension based on the keystore type (e.g. HelloWorld.jks).
+ // The keystore file has to be placed beside the WSDL file.
+ requestCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_TYPE, "jks");
+ requestCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_PW, "cspass");
+ requestCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_ALIAS, "myclientkey");
+
+ requestCfg.put(SOAPUtil.WS_SIGNATURE_USER, "myclientkey");
+
+ // define enrcryption properties
+ requestCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_TYPE, "jks");
+ requestCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_PW, "cspass");
+ requestCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_ALIAS, "myservicekey");
+
+ requestCfg.put(SOAPUtil.WS_ENCRYPTION_USER, "myservicekey");
+ requestCfg.put(SOAPUtil.WS_SIGNATURE_PARTS, "{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body");
+ requestCfg.put(SOAPUtil.WS_ENCRYPTION_PARTS,"{Element}{" + WSU_NS + "}
+ Timestamp;"+"{Content}{http://schemas.xmlsoap.org/soap/envelope/}Body");
+
+ // set the secrets for the callback
+ requestCfg.put(SOAPUtil.WS_SECRETS_MAP, secretsMap);
+
+ var responseCfg : Map = new HashMap();
+
+ // define the ws actions to be performed for the response
+ responseCfg.put(SOAPUtil.WS_ACTION, SOAPUtil.WS_TIMESTAMP + " " +
+ SOAPUtil.WS_SIGNATURE + " " +
+ SOAPUtil.WS_ENCRYPT);
+
+ // define signature properties
+ responseCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_TYPE, "jks");
+ responseCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_PW, "cspass");
+ responseCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_ALIAS, "myservicekey");
+
+ responseCfg.put(SOAPUtil.WS_SIGNATURE_USER, "myservicekey");
+
+ // define decryption properties
+ responseCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_TYPE, "jks");
+ responseCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_PW, "cspass");
+ responseCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_ALIAS, "myclientkey");
+
+ responseCfg.put(SOAPUtil.WS_ENCRYPTION_USER, "myclientkey");
+
+ // set the secrets for the callback
+ responseCfg.put(SOAPUtil.WS_SECRETS_MAP, secretsMap);
+
+ // get the service and stub
+ var helloWorldService : WebReference = webreferences.HelloWorld;
+ var stub : Stub = helloWorldService.defaultService;
+ // set the security
+ SOAPUtil.setWSSecurityConfig(stub, requestCfg, responseCfg);
+ //var h : Hello = new helloWorldService.Hello();
+ var h = new helloWorldService.com.support.ws.security.test.Hello2();
+
+ h.setName('Send Text from client Axis ...');
+
+ // call the web service
+ var response = stub.hello2(h);
+ //var response = stub.hello(h);
+ var result = response.getHello2Return();
+
+
+ args.OutStr = result;
+ Logger.error("Hello World We Are SIGNED old version Send Text from client ...", result);
+
+ return PIPELET_NEXT;
+
+ }
+ catch (e)
+ {
+ Logger.error("Error in helloWorldRpc.ds is: " + e);
+ return PIPELET_ERROR;
+ }
+
+}
+```
+
+
+**See Also:**
+- [Stub](dw.rpc.Stub.md)
+- [WebReference](dw.rpc.WebReference.md)
+
+**Deprecated:**
+:::warning
+This class is deprecated, please use webreferences2 instead (see also [WSUtil](dw.ws.WSUtil.md)).
+:::
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| ~~[WS_ACTION](#ws_action): [String](TopLevel.String.md) = "action"~~ | WS-Security action property name. |
+| ~~[WS_ENCRYPT](#ws_encrypt): [String](TopLevel.String.md) = "Encrypt"~~ | WS-Security action: encrypt the message. |
+| ~~[WS_ENCRYPTION_PARTS](#ws_encryption_parts): [String](TopLevel.String.md) = "encryptionParts"~~ | WS-Security encryption: defines which parts of the request are encrypted. |
+| ~~[WS_ENCRYPTION_USER](#ws_encryption_user): [String](TopLevel.String.md) = "encryptionUser"~~ | WS-Security encryption: the user's name for encryption. |
+| ~~[WS_ENC_PROP_KEYSTORE_ALIAS](#ws_enc_prop_keystore_alias): [String](TopLevel.String.md) = "__EncryptionPropKeystoreAlias"~~ | WS-Security encryption: the encryption/decryption keystore alias name |
+| ~~[WS_ENC_PROP_KEYSTORE_PW](#ws_enc_prop_keystore_pw): [String](TopLevel.String.md) = "__EncryptionPropKeystorePassword"~~ | WS-Security encryption: the encryption/decryption keystore password |
+| ~~[WS_ENC_PROP_KEYSTORE_TYPE](#ws_enc_prop_keystore_type): [String](TopLevel.String.md) = "__EncryptionPropKeystoreType"~~ | WS-Security encryption: the encryption/decryption keystore type ( jks or pkcs12 ), default is jks. |
+| ~~[WS_NO_SECURITY](#ws_no_security): [String](TopLevel.String.md) = "NoSecurity"~~ | WS-Security action: no security |
+| ~~[WS_PASSWORD_TYPE](#ws_password_type): [String](TopLevel.String.md) = "passwordType"~~ | WS-Security password type: parameter for UsernameToken action to define the encoding of the password. |
+| ~~[WS_PW_DIGEST](#ws_pw_digest): [String](TopLevel.String.md) = "PasswordDigest"~~ | WS-Security password of type digest: use a password digest to send the password information. |
+| ~~[WS_PW_TEXT](#ws_pw_text): [String](TopLevel.String.md) = "PasswordText"~~ | WS-Security password of type text: send the password information in clear text. |
+| ~~[WS_SECRETS_MAP](#ws_secrets_map): [String](TopLevel.String.md) = "__SecretsMap"~~ | A secrets map with the username/password entries is needed to create the password callback object. |
+| ~~[WS_SIGNATURE](#ws_signature): [String](TopLevel.String.md) = "Signature"~~ | WS-Security action: sign the message. |
+| ~~[WS_SIGNATURE_PARTS](#ws_signature_parts): [String](TopLevel.String.md) = "signatureParts"~~ | WS-Security signature: defines which parts of the request are signed. |
+| ~~[WS_SIGNATURE_USER](#ws_signature_user): [String](TopLevel.String.md) = "signatureUser"~~ | WS-Security signature: the user's name for signature. |
+| ~~[WS_SIG_DIGEST_ALGO](#ws_sig_digest_algo): [String](TopLevel.String.md) = "signatureDigestAlgorithm"~~ | WS-Security signature: sets the signature digest algorithm to use. |
+| ~~[WS_SIG_PROP_KEYSTORE_ALIAS](#ws_sig_prop_keystore_alias): [String](TopLevel.String.md) = "__SignaturePropKeystoreAlias"~~ | WS-Security signature: the signature keystore alias name |
+| ~~[WS_SIG_PROP_KEYSTORE_PW](#ws_sig_prop_keystore_pw): [String](TopLevel.String.md) = "__SignaturePropKeystorePassword"~~ | WS-Security signature: the signature keystore password. |
+| ~~[WS_SIG_PROP_KEYSTORE_TYPE](#ws_sig_prop_keystore_type): [String](TopLevel.String.md) = "__SignaturePropKeystoreType"~~ | WS-Security: the signature keystore type ( jks or pkcs12 ). |
+| ~~[WS_TIMESTAMP](#ws_timestamp): [String](TopLevel.String.md) = "Timestamp"~~ | WS-Security action: add a timestamp to the security header. |
+| ~~[WS_USER](#ws_user): [String](TopLevel.String.md) = "user"~~ | WS-Security user name. |
+| ~~[WS_USERNAME_TOKEN](#ws_username_token): [String](TopLevel.String.md) = "UsernameToken"~~ | WS-Security action: add a UsernameToken identification. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [SOAPUtil](#soaputil)() | |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| ~~static [getHTTPRequestHeader](dw.rpc.SOAPUtil.md#gethttprequestheaderobject-string)([Object](TopLevel.Object.md), [String](TopLevel.String.md))~~ | Returns an HTTP request header property value using the specified key. |
+| ~~static [getHTTPResponseHeader](dw.rpc.SOAPUtil.md#gethttpresponseheaderobject-string)([Object](TopLevel.Object.md), [String](TopLevel.String.md))~~ | Returns an HTTP response header property value using the specified key. |
+| ~~static [setHTTPRequestHeader](dw.rpc.SOAPUtil.md#sethttprequestheaderobject-string-string)([Object](TopLevel.Object.md), [String](TopLevel.String.md), [String](TopLevel.String.md))~~ | Sets an HTTP request header property using the specified key and value. |
+| ~~static [setHeader](dw.rpc.SOAPUtil.md#setheaderobject-string)([Object](TopLevel.Object.md), [String](TopLevel.String.md))~~ | Sets a new SOAPHeaderElement in the SOAP request with the namespace of the XML content. |
+| ~~static [setHeader](dw.rpc.SOAPUtil.md#setheaderobject-string-boolean)([Object](TopLevel.Object.md), [String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md))~~ | Sets a new SOAPHeaderElement in the SOAP request with the namespace of the XML content. |
+| ~~static [setHeader](dw.rpc.SOAPUtil.md#setheaderobject-string-string-object)([Object](TopLevel.Object.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Object](TopLevel.Object.md))~~ | Creates a new SOAPHeaderElement with the name and namespace and places the given XML into it. |
+| ~~static [setHeader](dw.rpc.SOAPUtil.md#setheaderobject-string-string-object-boolean)([Object](TopLevel.Object.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Object](TopLevel.Object.md), [Boolean](TopLevel.Boolean.md))~~ | Creates a new SOAPHeaderElement with the name and namespace and places the given XML into it. |
+| ~~static [setHeader](dw.rpc.SOAPUtil.md#setheaderobject-string-string-object-boolean-string)([Object](TopLevel.Object.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Object](TopLevel.Object.md), [Boolean](TopLevel.Boolean.md), [String](TopLevel.String.md))~~ | Creates a new SOAPHeaderElement with the name and namespace and places the given XML into it. |
+| ~~static [setHeader](dw.rpc.SOAPUtil.md#setheaderobject-string-string-string)([Object](TopLevel.Object.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md))~~ | Creates a new SOAPHeaderElement with the name and namespace and places the given XML into it. |
+| ~~static [setHeader](dw.rpc.SOAPUtil.md#setheaderobject-string-string-string-boolean)([Object](TopLevel.Object.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md))~~ | Creates a new SOAPHeaderElement with the name and namespace and places the given XML into it. |
+| ~~static [setHeader](dw.rpc.SOAPUtil.md#setheaderobject-string-string-string-boolean-string)([Object](TopLevel.Object.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md), [String](TopLevel.String.md))~~ | Creates a new SOAPHeaderElement with the name and namespace and places the given XML into it. |
+| ~~static [setWSSecurityConfig](dw.rpc.SOAPUtil.md#setwssecurityconfigobject-object-object)([Object](TopLevel.Object.md), [Object](TopLevel.Object.md), [Object](TopLevel.Object.md))~~ | Sets the WS-Security configuration for the request and response based on the constants defined. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### WS_ACTION
+
+- ~~WS_ACTION: [String](TopLevel.String.md) = "action"~~
+ - : WS-Security action property name.
+ Allowed property values are WS\_NO\_SECURITY, WS\_TIMESTAMP, WS\_ENCRYPT, WS\_SIGNATURE, WS\_USERNAME\_TOKEN or
+ a space separated String with multiple values.
+
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_ENCRYPT
+
+- ~~WS_ENCRYPT: [String](TopLevel.String.md) = "Encrypt"~~
+ - : WS-Security action: encrypt the message.
+ The encryption-specific parameters define how to encrypt, which keys
+ to use, and other parameters.
+
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_ENCRYPTION_PARTS
+
+- ~~WS_ENCRYPTION_PARTS: [String](TopLevel.String.md) = "encryptionParts"~~
+ - : WS-Security encryption: defines which parts of the request are encrypted.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_ENCRYPTION_USER
+
+- ~~WS_ENCRYPTION_USER: [String](TopLevel.String.md) = "encryptionUser"~~
+ - : WS-Security encryption: the user's name for encryption.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_ENC_PROP_KEYSTORE_ALIAS
+
+- ~~WS_ENC_PROP_KEYSTORE_ALIAS: [String](TopLevel.String.md) = "__EncryptionPropKeystoreAlias"~~
+ - : WS-Security encryption: the encryption/decryption keystore alias name
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_ENC_PROP_KEYSTORE_PW
+
+- ~~WS_ENC_PROP_KEYSTORE_PW: [String](TopLevel.String.md) = "__EncryptionPropKeystorePassword"~~
+ - : WS-Security encryption: the encryption/decryption keystore password
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_ENC_PROP_KEYSTORE_TYPE
+
+- ~~WS_ENC_PROP_KEYSTORE_TYPE: [String](TopLevel.String.md) = "__EncryptionPropKeystoreType"~~
+ - : WS-Security encryption: the encryption/decryption keystore type ( jks or pkcs12 ),
+ default is jks.
+
+ **Note:** the keystore file must have the basename of the WSDL file and the
+ file extension based on the keystore type. For example: MyService.jks.
+ The keystore file must be placed in the same cartridge directory
+ as the WSDL file.
+
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_NO_SECURITY
+
+- ~~WS_NO_SECURITY: [String](TopLevel.String.md) = "NoSecurity"~~
+ - : WS-Security action: no security
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_PASSWORD_TYPE
+
+- ~~WS_PASSWORD_TYPE: [String](TopLevel.String.md) = "passwordType"~~
+ - : WS-Security password type: parameter for UsernameToken action to define the encoding
+ of the password. Allowed values are PW\_DIGEST or PW\_TEXT.
+
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_PW_DIGEST
+
+- ~~WS_PW_DIGEST: [String](TopLevel.String.md) = "PasswordDigest"~~
+ - : WS-Security password of type digest: use a password digest to send the password information.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_PW_TEXT
+
+- ~~WS_PW_TEXT: [String](TopLevel.String.md) = "PasswordText"~~
+ - : WS-Security password of type text: send the password information in clear text.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_SECRETS_MAP
+
+- ~~WS_SECRETS_MAP: [String](TopLevel.String.md) = "__SecretsMap"~~
+ - : A secrets map with the username/password entries is needed to create the password
+ callback object.
+
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_SIGNATURE
+
+- ~~WS_SIGNATURE: [String](TopLevel.String.md) = "Signature"~~
+ - : WS-Security action: sign the message.
+ The signature-specific parameters define how to sign, which keys
+ to use, and other parameters.
+
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_SIGNATURE_PARTS
+
+- ~~WS_SIGNATURE_PARTS: [String](TopLevel.String.md) = "signatureParts"~~
+ - : WS-Security signature: defines which parts of the request are signed.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_SIGNATURE_USER
+
+- ~~WS_SIGNATURE_USER: [String](TopLevel.String.md) = "signatureUser"~~
+ - : WS-Security signature: the user's name for signature.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_SIG_DIGEST_ALGO
+
+- ~~WS_SIG_DIGEST_ALGO: [String](TopLevel.String.md) = "signatureDigestAlgorithm"~~
+ - : WS-Security signature: sets the signature digest algorithm to use.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_SIG_PROP_KEYSTORE_ALIAS
+
+- ~~WS_SIG_PROP_KEYSTORE_ALIAS: [String](TopLevel.String.md) = "__SignaturePropKeystoreAlias"~~
+ - : WS-Security signature: the signature keystore alias name
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_SIG_PROP_KEYSTORE_PW
+
+- ~~WS_SIG_PROP_KEYSTORE_PW: [String](TopLevel.String.md) = "__SignaturePropKeystorePassword"~~
+ - : WS-Security signature: the signature keystore password.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_SIG_PROP_KEYSTORE_TYPE
+
+- ~~WS_SIG_PROP_KEYSTORE_TYPE: [String](TopLevel.String.md) = "__SignaturePropKeystoreType"~~
+ - : WS-Security: the signature keystore type ( jks or pkcs12 ). The default is jks.
+
+ **Note:** The keystore file must have the basename of the WSDL file and the
+ file extension of the keystore type. For example: MyService.jks.
+ The keystore file must be placed in the same cartridge directory
+ as the WSDL file.
+
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_TIMESTAMP
+
+- ~~WS_TIMESTAMP: [String](TopLevel.String.md) = "Timestamp"~~
+ - : WS-Security action: add a timestamp to the security header.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_USER
+
+- ~~WS_USER: [String](TopLevel.String.md) = "user"~~
+ - : WS-Security user name.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### WS_USERNAME_TOKEN
+
+- ~~WS_USERNAME_TOKEN: [String](TopLevel.String.md) = "UsernameToken"~~
+ - : WS-Security action: add a UsernameToken identification.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+## Constructor Details
+
+### SOAPUtil()
+- SOAPUtil()
+ - :
+
+
+---
+
+## Method Details
+
+### getHTTPRequestHeader(Object, String)
+- ~~static getHTTPRequestHeader(svc: [Object](TopLevel.Object.md), key: [String](TopLevel.String.md)): [String](TopLevel.String.md)~~
+ - : Returns an HTTP request header property value using the specified key. Null is returned
+ if the key does not represent an HTTP header property.
+
+
+ **Parameters:**
+ - svc - a service stub returned from getService().
+ - key - the header property key.
+
+ **Returns:**
+ - an HTTP request header property value using the specified key or null.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### getHTTPResponseHeader(Object, String)
+- ~~static getHTTPResponseHeader(svc: [Object](TopLevel.Object.md), key: [String](TopLevel.String.md)): [String](TopLevel.String.md)~~
+ - : Returns an HTTP response header property value using the specified key. Null is returned
+ if the key does not represent an HTTP response header property.
+
+
+ **Parameters:**
+ - svc - a service stub returned from getService().
+ - key - the header property key.
+
+ **Returns:**
+ - an HTTP response header property value using the specified key or null.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### setHTTPRequestHeader(Object, String, String)
+- ~~static setHTTPRequestHeader(svc: [Object](TopLevel.Object.md), key: [String](TopLevel.String.md), value: [String](TopLevel.String.md)): void~~
+ - : Sets an HTTP request header property using the specified key and value.
+
+ **Parameters:**
+ - svc - a service stub returned from getService().
+ - key - the header property key.
+ - value - the header property value. If the value is null, the property identified by the key is removed from the HTTP request header.
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### setHeader(Object, String)
+- ~~static setHeader(svc: [Object](TopLevel.Object.md), xml: [String](TopLevel.String.md)): void~~
+ - : Sets a new SOAPHeaderElement in the SOAP request with the namespace of
+ the XML content.
+
+
+ **Parameters:**
+ - svc - a service stub returned from getService()
+ - xml - a string with arbitrary XML content
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### setHeader(Object, String, Boolean)
+- ~~static setHeader(svc: [Object](TopLevel.Object.md), xml: [String](TopLevel.String.md), mustUnderstand: [Boolean](TopLevel.Boolean.md)): void~~
+ - : Sets a new SOAPHeaderElement in the SOAP request with the namespace of
+ the XML content.
+
+
+ **Parameters:**
+ - svc - a service stub returned from getService()
+ - xml - a string with arbitrary XML content
+ - mustUnderstand - sets the SOAP header attribute 'mustUnderstand'
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### setHeader(Object, String, String, Object)
+- ~~static setHeader(svc: [Object](TopLevel.Object.md), namespace: [String](TopLevel.String.md), name: [String](TopLevel.String.md), xml: [Object](TopLevel.Object.md)): void~~
+ - : Creates a new SOAPHeaderElement with the name and namespace and places
+ the given XML into it.
+
+
+ **Parameters:**
+ - svc - a service stub returned from getService()
+ - namespace - the namespace of the header element
+ - name - the element name for the header element
+ - xml - a E4X XML object
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### setHeader(Object, String, String, Object, Boolean)
+- ~~static setHeader(svc: [Object](TopLevel.Object.md), namespace: [String](TopLevel.String.md), name: [String](TopLevel.String.md), xml: [Object](TopLevel.Object.md), mustUnderstand: [Boolean](TopLevel.Boolean.md)): void~~
+ - : Creates a new SOAPHeaderElement with the name and namespace and places
+ the given XML into it.
+
+
+ **Parameters:**
+ - svc - a service stub returned from getService()
+ - namespace - the namespace of the header element
+ - name - the element name for the header element
+ - xml - a E4X XML object
+ - mustUnderstand - sets the SOAP header attribute mustUnderstand
+
+ **Deprecated:**
+:::warning
+use webreferences2 instead
+:::
+
+---
+
+### setHeader(Object, String, String, Object, Boolean, String)
+- ~~static setHeader(svc: [Object](TopLevel.Object.md), namespace: [String](TopLevel.String.md), name: [String](TopLevel.String.md), xml: [Object](TopLevel.Object.md), mustUnderstand: [Boolean](TopLevel.Boolean.md), actor: [String](TopLevel.String.md)): void~~
+ - : Creates a new SOAPHeaderElement with the name and namespace and places
+ the given XML into it.
+
+
+ ```
+ var usernameToken : XML =
+ Encodes a given input for use in a general HTML context. |
+| static [forHtmlInDoubleQuoteAttribute](dw.util.SecureEncoder.md#forhtmlindoublequoteattributestring)([String](TopLevel.String.md)) | Encodes a given input for use in an HTML Attribute guarded by a double quote. |
+| static [forHtmlInSingleQuoteAttribute](dw.util.SecureEncoder.md#forhtmlinsinglequoteattributestring)([String](TopLevel.String.md)) | Encodes a given input for use in an HTML Attribute guarded by a single quote. |
+| static [forHtmlUnquotedAttribute](dw.util.SecureEncoder.md#forhtmlunquotedattributestring)([String](TopLevel.String.md)) | Encodes a given input for use in an HTML Attribute left unguarded. |
+| static [forJSONValue](dw.util.SecureEncoder.md#forjsonvaluestring)([String](TopLevel.String.md)) | Encodes a given input for use in a JSON Object Value to prevent escaping into a trusted context. |
+| static [forJavaScriptInAttribute](dw.util.SecureEncoder.md#forjavascriptinattributestring)([String](TopLevel.String.md)) | Encodes a given input for use in JavaScript inside an HTML attribute. |
+| static [forJavaScriptInBlock](dw.util.SecureEncoder.md#forjavascriptinblockstring)([String](TopLevel.String.md)) | Encodes a given input for use in JavaScript inside an HTML block. |
+| static [forJavaScriptInHTML](dw.util.SecureEncoder.md#forjavascriptinhtmlstring)([String](TopLevel.String.md)) | Encodes a given input for use in JavaScript inside an HTML context. |
+| static [forJavaScriptInSource](dw.util.SecureEncoder.md#forjavascriptinsourcestring)([String](TopLevel.String.md)) | Encodes a given input for use in JavaScript inside a JavaScript source file. |
+| static [forUriComponent](dw.util.SecureEncoder.md#foruricomponentstring)([String](TopLevel.String.md)) | Encodes a given input for use as a component of a URI. |
+| static [forUriComponentStrict](dw.util.SecureEncoder.md#foruricomponentstrictstring)([String](TopLevel.String.md)) | Encodes a given input for use as a component of a URI. |
+| static [forXmlCommentContent](dw.util.SecureEncoder.md#forxmlcommentcontentstring)([String](TopLevel.String.md)) | Encodes a given input for use in an XML comments. |
+| static [forXmlContent](dw.util.SecureEncoder.md#forxmlcontentstring)([String](TopLevel.String.md)) | Encodes a given input for use in a general XML context. |
+| static [forXmlInDoubleQuoteAttribute](dw.util.SecureEncoder.md#forxmlindoublequoteattributestring)([String](TopLevel.String.md)) | Encodes a given input for use in an XML attribute guarded by a double quote. |
+| static [forXmlInSingleQuoteAttribute](dw.util.SecureEncoder.md#forxmlinsinglequoteattributestring)([String](TopLevel.String.md)) | Encodes a given input for use in an XML attribute guarded by a single quote. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### forHtmlContent(String)
+- static forHtmlContent(input: [String](TopLevel.String.md)): [String](TopLevel.String.md)
+ - :
+
+ Encodes a given input for use in a general HTML context. E.g.
+ text content and text attributes. This method takes the UNION of allowed
+ characters between the two context, so may be more imprecise that the
+ more specific contexts. Generally, this method is preferred unless you
+ specifically understand the context in which untrusted data will be
+ output.
+
+
+
+ **Example Usage:**
+
+ ```
+
`
+is rewritten to:
+ `
`
+
+
+
+Note: The comma symbol `,` is not supported in parameter values for the link functions.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [markup](#markup): [String](TopLevel.String.md) `(read-only)` | Returns the content with all links rewritten for storefront use. |
+| [source](#source): [String](TopLevel.String.md) `(read-only)` | Returns the original content source, without any links re-written. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getMarkup](dw.content.MarkupText.md#getmarkup)() | Returns the content with all links rewritten for storefront use. |
+| [getSource](dw.content.MarkupText.md#getsource)() | Returns the original content source, without any links re-written. |
+| [toString](dw.content.MarkupText.md#tostring)() | Returns a string representation of this class, the same as getMarkup(). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### markup
+- markup: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the content with all links rewritten for storefront use.
+
+
+---
+
+### source
+- source: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the original content source, without any links re-written.
+
+
+---
+
+## Method Details
+
+### getMarkup()
+- getMarkup(): [String](TopLevel.String.md)
+ - : Returns the content with all links rewritten for storefront use.
+
+ **Returns:**
+ - the content with all links rewritten for storefront use.
+
+
+---
+
+### getSource()
+- getSource(): [String](TopLevel.String.md)
+ - : Returns the original content source, without any links re-written.
+
+ **Returns:**
+ - the original content source, without any links re-written.
+
+
+---
+
+### toString()
+- toString(): [String](TopLevel.String.md)
+ - : Returns a string representation of this class, the same as getMarkup().
+
+ **Returns:**
+ - a string representation of this class, the same as getMarkup().
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.content.MediaFile.md b/packages/b2c-tooling-sdk/data/script-api/dw.content.MediaFile.md
new file mode 100644
index 00000000..04775dbf
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.content.MediaFile.md
@@ -0,0 +1,367 @@
+
+# Class MediaFile
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.content.MediaFile](dw.content.MediaFile.md)
+
+This class represents references to media content (such as images)
+located within Commerce Cloud Digital or on external systems.
+
+
+Parameter `transform`:
+
+
+Some methods allow the specification of image transformation parameters. Image
+transformation is only performed if the Dynamic Imaging Service (DIS) is available
+for the Commerce Cloud Digital instance, otherwise a standard static content URL
+is returned. The to-be-transformed image needs to be hosted on Commerce Cloud
+Digital.
+
+
+Image transformation parameters are specified as JavaScript object literal. They
+are translated into URL parameters. See [Create Image Transformation URLs.](https://help.salesforce.com/s/articleView?id=cc.b2c\_creating\_image\_transformation\_urls.htm)
+
+
+| Type of transformation | Parameters | Description |
+| --- |--- |--- |
+| Scale an image | `scaleWidth`
`scaleHeight`
`scaleMode` | The `scaleWidth` and `scaleHeight` parameters are both integers; setting one of these parameters triggers a scaling operation. If both are provided, the one that scales the image less is used to calculate the scale factor. The image is then automatically cropped accord to the second dimension, with a centered position of the cropped area. If the parameter would scale the image larger, only this operation is applied, if the image remains within acceptable pixel dimensions. Note: `scaleMode` can only be used in combination with `scaleHeight` and `scaleWidth`. The `scaleMode` parameter can be set to `cut` or `fit`. The default `scaleMode` is `cut`, the behavior of which is explained above. If you specify `fit` as the `scaleMode`, the system scales the image into the given box of dimensions while keeping the aspect ratio (possibly resulting in a smaller image in one dimension). |
+| Overlay an image | `imageX`
`imageY`
`imageURI` | The `imageX` and `imageY` parameters are both integers. Valid values for these parameters are 0 or greater. Supported formats are `png`, `jpg`, `jp2`, and `gif`. The `imageURI` parameter can be set to the absolute path of the overlaid image. The value of the `imageURI` parameter must be given in proper URL encoding, and it cannot exceed 400 characters in length. The path may include query string parameters, which supports dynamically generating the overlaid image itself through this service; that is, the overlaid image can itself be a transformed image. If the overlaid image extends over the primary image's boundaries, the overlaid image is cropped so that it fits directly over the primary image. |
+| Crop an image | `cropX`
`cropY`
`cropWidth`
`cropHeight` | The `cropX`, `cropY`, `cropWidth`, `cropHeight` parameters are integers. All four parameters must be specified to trigger a cropping operation. Valid values for the `cropX` and `cropY` parameters are 0 or greater. If the crop location defined by `cropX` and `cropY` is outside the image area, nothing is cropped. Valid values for the `cropWidth` and `cropHeight` parameters are 10 or greater. If the `cropWidth` and `cropHeight` parameters specify a size that is greater than the original image, the crop area is reduced to the actual image area. If `cropWidth` and `cropHeight` are 0 or less, no transformation is applied. |
+| Format an image | `format` | The `format` parameter specifies the target format of image. Supported formats are `png`, `jpg`, `jp2`, and `gif`. If no target format is specified, no format conversion is performed. The attribute value must reference the source image. Source image's format is recognized by the file extension which must be `tif`, `tiff`, `jpg`, `jpeg`, `png`, or `gif`. In the generated URL the file extension of the target format is used in the URL path. This is to make sure the image is loaded from an URL with a matching file extension. The source format is provided as URL parameter. |
+| Adjust image compression quality | `quality` | The `quality` parameter specifies a quality setting for `jpg` and `jp2` images, and specifies the compression level for `png` images. For `jpg` and `jp2` images, you can set values from 1–100 for the highest quality. The default quality is 80. If you're not changing the default quality, you don't need to pass in a value. For `png` images, the quality setting has no effect on the appearance of the `png`, since the compression is always lossless. Instead you can use the quality setting to set the zlib compression level and filter-type for PNG images. The tens digit sets the zlib compression level(1-9). The ones digit sets the filter type. If the `png` setting is not present or set to 0, it uses a default value of 75. If this setting is set to 100, it actually equals the quality setting 90. |
+| Adjust Metadata stripping | `strip` | The `strip` parameter specifies if metadata like EXIF and color profiles is stripped from the image during transformation. Valid values for the `strip` parameter are between `true` and `false`. The default is `true` |
+| Change background color | `bgcolor(color) or bgcolor(color+alpha)` | The `bgcolor` parameter specifies the background color for images that support transparency as well as JPEG images when being converted from a format that supports transparency. Optionally, alpha setting for PNG images are also supported. `bgcolor` expects a 6 digit hexadecimal value of RGB with an optional two hexadecimal characters representing alpha value that determines transparency. FF0000 = Red FF000077 = Red with 50% transparency Alpha values are optional. When the alpha value is omitted, the resulting color is opaque. Alpha values are only valid when the image output format is PNG. |
+
+
+Example:
+
+ The following code
+
+ `var url = product.getImage('thumbnail', 0).getImageURL({scaleWidth: 100, format: 'jpg'});`
+
+ will produce an image transformation URL like
+
+ `http://
The method can be called for externally authenticated customers as well but these customers will still be externally authenticated so calling the method for such customers does not have an immediate practical benefit. |
+| [setPasswordAnswer](dw.customer.Credentials.md#setpasswordanswerstring)([String](TopLevel.String.md)) | Sets the answer to the password question for the customer. |
+| [setPasswordQuestion](dw.customer.Credentials.md#setpasswordquestionstring)([String](TopLevel.String.md)) | Sets the password question for the customer. |
+| [setPasswordWithToken](dw.customer.Credentials.md#setpasswordwithtokenstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Set the password of the specified customer to the specified value. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### authenticationProviderID
+- ~~authenticationProviderID: [String](TopLevel.String.md)~~
+ - : Returns the authentication provider ID.
+
+ **Deprecated:**
+:::warning
+As of release 17.2, replaced by methods on the new class [ExternalProfile](dw.customer.ExternalProfile.md)
+which can be obtained from [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles)
+
+Until the method is fully removed from the API it will get the Authentication Provider from
+the first element of the [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles) collection
+
+:::
+
+---
+
+### enabled
+- enabled: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this customer is enabled and can log in.
+
+
+---
+
+### enabledFlag
+- enabledFlag: [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this customer is enabled and can log in - same as isEnabled().
+
+
+---
+
+### externalID
+- ~~externalID: [String](TopLevel.String.md)~~
+ - : Returns the external ID of the customer.
+
+ **Deprecated:**
+:::warning
+As of release 17.2, replaced by methods on the new class [ExternalProfile](dw.customer.ExternalProfile.md)
+which can be obtained from [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles)
+
+Until the method is fully removed from the API it will get the External ID from
+the first element of the [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles) collection
+
+:::
+
+---
+
+### locked
+- locked: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this customer is temporarily locked out because of invalid
+ login attempts. If customer locking is not enabled, this method always
+ returns false.
+
+
+
+---
+
+### login
+- login: [String](TopLevel.String.md)
+ - : Returns the login of the user. It must be unique.
+
+
+---
+
+### passwordAnswer
+- passwordAnswer: [String](TopLevel.String.md)
+ - : Returns the answer to the password question for the customer. The answer is used
+ with the password question to confirm the identity of a customer when
+ they are trying to fetch their password.
+
+
+
+---
+
+### passwordQuestion
+- passwordQuestion: [String](TopLevel.String.md)
+ - : Returns the password question for the customer. The password question is
+ used with the password answer to confirm the identity of a customer when
+ they are trying to fetch their password.
+
+
+
+---
+
+### passwordSet
+- passwordSet: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns whether the password is set. Creating externally authenticated customers
+ results in customers with credentials for which the password is not set.
+
+
+
+---
+
+### remainingLoginAttempts
+- remainingLoginAttempts: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of consecutive failed logins after which this customer
+ will be temporarily locked out and prevented from logging in to the
+ current site. This value is based on the number of previous invalid
+ logins for this customer and customer site preferences defining the
+ limits.
+
+ If this customer is already locked out, this method will always return 0.
+ If customer locking is disabled altogether, or if the system cannot
+ determine the number of failed login attempts for this customer, then
+ this method will return a negative number.
+
+
+
+---
+
+## Method Details
+
+### createResetPasswordToken()
+- createResetPasswordToken(): [String](TopLevel.String.md)
+ - : Generate a random token which can be used for resetting the password of the underlying Customer. The token is
+ guaranteed to be unique and will be valid for 30 minutes. Any token previously generated for this customer will
+ be invalidated.
+
+
+ **Returns:**
+ - The generated token.
+
+
+---
+
+### getAuthenticationProviderID()
+- ~~getAuthenticationProviderID(): [String](TopLevel.String.md)~~
+ - : Returns the authentication provider ID.
+
+ **Returns:**
+ - the authentication provider ID.
+
+ **Deprecated:**
+:::warning
+As of release 17.2, replaced by methods on the new class [ExternalProfile](dw.customer.ExternalProfile.md)
+which can be obtained from [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles)
+
+Until the method is fully removed from the API it will get the Authentication Provider from
+the first element of the [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles) collection
+
+:::
+
+---
+
+### getEnabledFlag()
+- getEnabledFlag(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this customer is enabled and can log in - same as isEnabled().
+
+ **Returns:**
+ - true if the customer is enabled and can log in, false otherwise.
+
+
+---
+
+### getExternalID()
+- ~~getExternalID(): [String](TopLevel.String.md)~~
+ - : Returns the external ID of the customer.
+
+ **Returns:**
+ - the external ID of the customer.
+
+ **Deprecated:**
+:::warning
+As of release 17.2, replaced by methods on the new class [ExternalProfile](dw.customer.ExternalProfile.md)
+which can be obtained from [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles)
+
+Until the method is fully removed from the API it will get the External ID from
+the first element of the [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles) collection
+
+:::
+
+---
+
+### getLogin()
+- getLogin(): [String](TopLevel.String.md)
+ - : Returns the login of the user. It must be unique.
+
+ **Returns:**
+ - the login of the user.
+
+
+---
+
+### getPasswordAnswer()
+- getPasswordAnswer(): [String](TopLevel.String.md)
+ - : Returns the answer to the password question for the customer. The answer is used
+ with the password question to confirm the identity of a customer when
+ they are trying to fetch their password.
+
+
+ **Returns:**
+ - the answer to the password question for the customer.
+
+
+---
+
+### getPasswordQuestion()
+- getPasswordQuestion(): [String](TopLevel.String.md)
+ - : Returns the password question for the customer. The password question is
+ used with the password answer to confirm the identity of a customer when
+ they are trying to fetch their password.
+
+
+ **Returns:**
+ - the password question for the customer.
+
+
+---
+
+### getRemainingLoginAttempts()
+- getRemainingLoginAttempts(): [Number](TopLevel.Number.md)
+ - : Returns the number of consecutive failed logins after which this customer
+ will be temporarily locked out and prevented from logging in to the
+ current site. This value is based on the number of previous invalid
+ logins for this customer and customer site preferences defining the
+ limits.
+
+ If this customer is already locked out, this method will always return 0.
+ If customer locking is disabled altogether, or if the system cannot
+ determine the number of failed login attempts for this customer, then
+ this method will return a negative number.
+
+
+ **Returns:**
+ - The number of consecutive failed logins after which this customer
+ will be locked out.
+
+
+
+---
+
+### isEnabled()
+- isEnabled(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this customer is enabled and can log in.
+
+ **Returns:**
+ - true if the customer is enabled and can log in, false otherwise.
+
+
+---
+
+### isLocked()
+- isLocked(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this customer is temporarily locked out because of invalid
+ login attempts. If customer locking is not enabled, this method always
+ returns false.
+
+
+ **Returns:**
+ - true if the customer is locked, false otherwise.
+
+
+---
+
+### isPasswordSet()
+- isPasswordSet(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether the password is set. Creating externally authenticated customers
+ results in customers with credentials for which the password is not set.
+
+
+ **Returns:**
+ - true if the password is set.
+
+
+---
+
+### setAuthenticationProviderID(String)
+- ~~setAuthenticationProviderID(authenticationProviderID: [String](TopLevel.String.md)): void~~
+ - : Sets the authentication provider ID corresponding to an OAuth provider configured in the system.
+
+ **Parameters:**
+ - authenticationProviderID - the authentication Provider ID to set.
+
+ **Deprecated:**
+:::warning
+As of release 17.2, replaced by methods on the new class [ExternalProfile](dw.customer.ExternalProfile.md)
+which can be obtained from [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles)
+
+Until the method is fully removed from the API it will set the Authentication Provider on
+the first element of the [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles) collection if there is only one.
+It will create the collection and add an element if no elements are present.
+It will not change anything and will log an error if there are more than one elements in the collection.
+
+:::
+
+---
+
+### setEnabledFlag(Boolean)
+- setEnabledFlag(enabledFlag: [Boolean](TopLevel.Boolean.md)): void
+ - : Sets the enabled status of the customer.
+
+ **Parameters:**
+ - enabledFlag - controls if a customer is enabled or not.
+
+
+---
+
+### setExternalID(String)
+- ~~setExternalID(externalID: [String](TopLevel.String.md)): void~~
+ - : Sets the external ID of the customer at the authentication provider.
+ The value is provided by the authentication provider during the
+ OAuth authentication and is unique within that provider.
+
+
+ **Parameters:**
+ - externalID - the external ID to set.
+
+ **Deprecated:**
+:::warning
+As of release 17.2, replaced by methods on the new class [ExternalProfile](dw.customer.ExternalProfile.md)
+which can be obtained from [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles)
+
+Until the method is fully removed from the API it will set the ExternalID on
+the first element of the [Customer.getExternalProfiles()](dw.customer.Customer.md#getexternalprofiles) collection if there is only one.
+It will create the collection and add an element if no elements are present.
+It will not change anything and will log an error if there are more than one elements in the collection.
+
+:::
+
+---
+
+### setLogin(String)
+- ~~setLogin(login: [String](TopLevel.String.md)): void~~
+ - : Sets the login value for the customer.
+
+ IMPORTANT: This method should no longer be used for the following
+ reasons:
+
+
+ - It changes the login without re-encrypting the password. (The customer password is stored internally using a one-way encryption scheme which uses the login as one of its inputs. Therefore changing the login requires re-encrypting the password.)
+ - It does not validate the structure of the login to ensure that it only uses acceptable characters.
+ - It does not correctly prevent duplicate logins. If the passed login matches a different customer's login exactly, then this method will throw an exception. However, it does not prevent the creation of inexact matches, where two customers have a login differing only by alphabetic case (e.g. "JaneDoe" and "janedoe")
+
+
+ **Parameters:**
+ - login - The login value for the customer.
+
+ **Deprecated:**
+:::warning
+Use [setLogin(String, String)](dw.customer.Credentials.md#setloginstring-string)
+:::
+
+---
+
+### setLogin(String, String)
+- setLogin(newLogin: [String](TopLevel.String.md), currentPassword: [String](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Sets the login value for the customer, and also re-encrypt the customer
+ password based on the new login. Customer login must be a sequence of
+ letters, numbers, and the following characters: space, period, ampersand,
+ underscore and dash.
+
+ This method fails to set the login and returns false in the following
+ cases:
+
+
+ - newLogin is of an invalid form (e.g. contains invalid characters).
+ - currentPassword is not the customer's correct password.
+ - newLogin is already in use by another customer (i.e. there is another customer in the system with the exact same login name or a name differing only by alphabetic case.)
+
+
+ If newLogin is the same as the existing login, the method does nothing and
+ returns true, regardless of whether currentPassword is the correct
+ password.
+
+
+ **Parameters:**
+ - newLogin - The login value for the customer.
+ - currentPassword - The customer's current password in plain-text.
+
+ **Returns:**
+ - true if setting the login succeeded, false otherwise.
+
+
+---
+
+### setPassword(String, String, Boolean)
+- setPassword(newPassword: [String](TopLevel.String.md), oldPassword: [String](TopLevel.String.md), verifyOldPassword: [Boolean](TopLevel.Boolean.md)): [Status](dw.system.Status.md)
+ - : Sets the password of an authenticated customer.
+
+
+ The method can be called for externally authenticated customers as well but
+ these customers will still be externally authenticated so calling the method
+ for such customers does not have an immediate practical benefit. If such customers
+ are converted back to regularly authenticated (via login and password) the new password
+ will be used.
+
+
+
+ Method call will fail under any of these conditions:
+
+ - customer is not registered
+ - customer is not authenticated
+ - verifyOldPassword=true &&oldPassword is empty
+ - verifyOldPassword=true and oldPassword does not match the existing password
+ - newPassword is empty
+ - newPassword does not meet acceptance criteria
+
+
+ **Parameters:**
+ - newPassword - the new password
+ - oldPassword - the old password (optional, only needed if 'verifyOldPassword' is set to 'true'
+ - verifyOldPassword - whether the oldPassword should be verified
+
+ **Returns:**
+ - Status the status of the operation (OK or ERROR). If status is Error, there will be additional information in the Status message
+
+
+---
+
+### setPasswordAnswer(String)
+- setPasswordAnswer(answer: [String](TopLevel.String.md)): void
+ - : Sets the answer to the password question for the customer.
+
+ **Parameters:**
+ - answer - the answer to the password question.
+
+
+---
+
+### setPasswordQuestion(String)
+- setPasswordQuestion(question: [String](TopLevel.String.md)): void
+ - : Sets the password question for the customer.
+
+ **Parameters:**
+ - question - the password question.
+
+
+---
+
+### setPasswordWithToken(String, String)
+- setPasswordWithToken(token: [String](TopLevel.String.md), newPassword: [String](TopLevel.String.md)): [Status](dw.system.Status.md)
+ - : Set the password of the specified customer to the specified value. This operation will fail if the specified
+ token is invalid (i.e. not associated with the specified Customer), the token is expired, or the password does
+ not satisfy system password requirements.
+
+
+ **Parameters:**
+ - token - The token required for performing the password reset.
+ - newPassword - The new password. Must meet all requirements for passwords
+
+ **Returns:**
+ - Status the status of the operation (OK or ERROR). If status is Error, there will be additional
+ information in the Status message
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.Customer.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.Customer.md
new file mode 100644
index 00000000..3c54aead
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.Customer.md
@@ -0,0 +1,488 @@
+
+# Class Customer
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.Customer](dw.customer.Customer.md)
+
+Represents a customer.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [CDPData](#cdpdata): [CustomerCDPData](dw.customer.CustomerCDPData.md) `(read-only)` | Returns the Salesforce CDP (Customer Data Platform) data for this customer. |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the unique, system generated ID of the customer. |
+| [activeData](#activedata): [CustomerActiveData](dw.customer.CustomerActiveData.md) `(read-only)` | Returns the active data for this customer. |
+| [addressBook](#addressbook): [AddressBook](dw.customer.AddressBook.md) `(read-only)` | Returns the address book for the profile of this customer, or `null` if this customer has no profile, such as for an anonymous customer. |
+| [anonymous](#anonymous): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the customer is anonymous. |
+| [authenticated](#authenticated): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the customer is authenticated. |
+| [customerGroups](#customergroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns the customer groups this customer is member of. |
+| [externalProfiles](#externalprofiles): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of any external profiles the customer may have |
+| [externallyAuthenticated](#externallyauthenticated): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the customer is externally authenticated. |
+| [globalPartyID](#globalpartyid): [String](TopLevel.String.md) `(read-only)` | Returns the Global Party ID for the customer, if there is one. |
+| [note](#note): [String](TopLevel.String.md) | Returns the note for this customer, or `null` if this customer has no note, such as for an anonymous customer or when note has 0 length. |
+| [orderHistory](#orderhistory): [OrderHistory](dw.customer.OrderHistory.md) `(read-only)` | Returns the customer order history. |
+| [profile](#profile): [Profile](dw.customer.Profile.md) `(read-only)` | Returns the customer profile. |
+| [registered](#registered): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the customer is registered. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createExternalProfile](dw.customer.Customer.md#createexternalprofilestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Creates an externalProfile and attaches it to the list of external profiles for the customer |
+| [getActiveData](dw.customer.Customer.md#getactivedata)() | Returns the active data for this customer. |
+| [getAddressBook](dw.customer.Customer.md#getaddressbook)() | Returns the address book for the profile of this customer, or `null` if this customer has no profile, such as for an anonymous customer. |
+| [getCDPData](dw.customer.Customer.md#getcdpdata)() | Returns the Salesforce CDP (Customer Data Platform) data for this customer. |
+| [getCustomerGroups](dw.customer.Customer.md#getcustomergroups)() | Returns the customer groups this customer is member of. |
+| [getExternalProfile](dw.customer.Customer.md#getexternalprofilestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | A convenience method for finding an external profile among the customer's external profiles collection |
+| [getExternalProfiles](dw.customer.Customer.md#getexternalprofiles)() | Returns a collection of any external profiles the customer may have |
+| [getGlobalPartyID](dw.customer.Customer.md#getglobalpartyid)() | Returns the Global Party ID for the customer, if there is one. |
+| [getID](dw.customer.Customer.md#getid)() | Returns the unique, system generated ID of the customer. |
+| [getNote](dw.customer.Customer.md#getnote)() | Returns the note for this customer, or `null` if this customer has no note, such as for an anonymous customer or when note has 0 length. |
+| [getOrderHistory](dw.customer.Customer.md#getorderhistory)() | Returns the customer order history. |
+| [getProductLists](dw.customer.Customer.md#getproductlistsnumber)([Number](TopLevel.Number.md)) | Returns the product lists of the specified type. |
+| [getProfile](dw.customer.Customer.md#getprofile)() | Returns the customer profile. |
+| [isAnonymous](dw.customer.Customer.md#isanonymous)() | Identifies if the customer is anonymous. |
+| [isAuthenticated](dw.customer.Customer.md#isauthenticated)() | Identifies if the customer is authenticated. |
+| [isExternallyAuthenticated](dw.customer.Customer.md#isexternallyauthenticated)() | Identifies if the customer is externally authenticated. |
+| [isMemberOfAnyCustomerGroup](dw.customer.Customer.md#ismemberofanycustomergroupstring)([String...](TopLevel.String.md)) | Returns true if there exist [CustomerGroup](dw.customer.CustomerGroup.md) for all of the given IDs and the customer is member of at least one of that groups. |
+| [isMemberOfCustomerGroup](dw.customer.Customer.md#ismemberofcustomergroupcustomergroup)([CustomerGroup](dw.customer.CustomerGroup.md)) | Returns true if the customer is member of the specified [CustomerGroup](dw.customer.CustomerGroup.md). |
+| [isMemberOfCustomerGroup](dw.customer.Customer.md#ismemberofcustomergroupstring)([String](TopLevel.String.md)) | Returns true if there is a [CustomerGroup](dw.customer.CustomerGroup.md) with such an ID and the customer is member of that group. |
+| [isMemberOfCustomerGroups](dw.customer.Customer.md#ismemberofcustomergroupsstring)([String...](TopLevel.String.md)) | Returns true if there exist [CustomerGroup](dw.customer.CustomerGroup.md) for all of the given IDs and the customer is member of all that groups. |
+| [isRegistered](dw.customer.Customer.md#isregistered)() | Identifies if the customer is registered. |
+| [removeExternalProfile](dw.customer.Customer.md#removeexternalprofileexternalprofile)([ExternalProfile](dw.customer.ExternalProfile.md)) | Removes an external profile from the customer |
+| [setNote](dw.customer.Customer.md#setnotestring)([String](TopLevel.String.md)) | Sets the note for this customer. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### CDPData
+- CDPData: [CustomerCDPData](dw.customer.CustomerCDPData.md) `(read-only)`
+ - : Returns the Salesforce CDP (Customer Data Platform) data for this customer.
+
+
+---
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique, system generated ID of the customer.
+
+
+---
+
+### activeData
+- activeData: [CustomerActiveData](dw.customer.CustomerActiveData.md) `(read-only)`
+ - : Returns the active data for this customer.
+
+
+---
+
+### addressBook
+- addressBook: [AddressBook](dw.customer.AddressBook.md) `(read-only)`
+ - : Returns the address book for the profile of this customer,
+ or `null` if this customer has no profile, such as for an
+ anonymous customer.
+
+
+
+---
+
+### anonymous
+- anonymous: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the customer is anonymous. An anonymous
+ customer is the opposite of a registered customer.
+
+
+
+---
+
+### authenticated
+- authenticated: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the customer is authenticated. This method checks whether
+ this customer is the customer associated with the session and than checks
+ whether the session in an authenticated state.
+
+ Note: The pipeline debugger will always show 'false' for this value
+ regardless of whether the customer is authenticated or not.
+
+
+
+---
+
+### customerGroups
+- customerGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the customer groups this customer is member of.
+
+ - Result contains static customer groups in storefront and job session
+ - Result contains dynamic customer groups in storefront and job session. Dynamic customer groups referring session or request data are not available when processing the customer in a job session, or when this customer is not the customer assigned to the current session.
+ - Result contains system groups 'Everyone', 'Unregistered', 'Registered' for all customers in storefront and job sessions
+
+
+
+---
+
+### externalProfiles
+- externalProfiles: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of any external profiles the customer may have
+
+
+---
+
+### externallyAuthenticated
+- externallyAuthenticated: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the customer is externally authenticated. An externally
+ authenticated customer does not have the password stored in our system
+ but logs in through an external OAuth provider (Google, Facebook, LinkedIn, etc.)
+
+
+
+---
+
+### globalPartyID
+- globalPartyID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the Global Party ID for the customer, if there is one.
+ Global Party ID is created by Customer 360 and identifies a person across multiple systems.
+
+
+
+---
+
+### note
+- note: [String](TopLevel.String.md)
+ - : Returns the note for this customer, or `null` if this customer has no note, such as for an anonymous
+ customer or when note has 0 length.
+
+
+
+---
+
+### orderHistory
+- orderHistory: [OrderHistory](dw.customer.OrderHistory.md) `(read-only)`
+ - : Returns the customer order history.
+
+
+---
+
+### profile
+- profile: [Profile](dw.customer.Profile.md) `(read-only)`
+ - : Returns the customer profile.
+
+
+---
+
+### registered
+- registered: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the customer is registered. A registered customer
+ may or may not be authenticated. This method checks whether
+ the user has a profile.
+
+
+
+---
+
+## Method Details
+
+### createExternalProfile(String, String)
+- createExternalProfile(authenticationProviderId: [String](TopLevel.String.md), externalId: [String](TopLevel.String.md)): [ExternalProfile](dw.customer.ExternalProfile.md)
+ - : Creates an externalProfile and attaches it to the list of external profiles for the customer
+
+ **Parameters:**
+ - authenticationProviderId - the authenticationProviderId for the externalProfile
+ - externalId - the externalId for the external Profile
+
+ **Returns:**
+ - the new externalProfile
+
+
+---
+
+### getActiveData()
+- getActiveData(): [CustomerActiveData](dw.customer.CustomerActiveData.md)
+ - : Returns the active data for this customer.
+
+ **Returns:**
+ - the active data for this customer.
+
+
+---
+
+### getAddressBook()
+- getAddressBook(): [AddressBook](dw.customer.AddressBook.md)
+ - : Returns the address book for the profile of this customer,
+ or `null` if this customer has no profile, such as for an
+ anonymous customer.
+
+
+
+---
+
+### getCDPData()
+- getCDPData(): [CustomerCDPData](dw.customer.CustomerCDPData.md)
+ - : Returns the Salesforce CDP (Customer Data Platform) data for this customer.
+
+ **Returns:**
+ - the Salesforce CDP data for this customer.
+
+
+---
+
+### getCustomerGroups()
+- getCustomerGroups(): [Collection](dw.util.Collection.md)
+ - : Returns the customer groups this customer is member of.
+
+ - Result contains static customer groups in storefront and job session
+ - Result contains dynamic customer groups in storefront and job session. Dynamic customer groups referring session or request data are not available when processing the customer in a job session, or when this customer is not the customer assigned to the current session.
+ - Result contains system groups 'Everyone', 'Unregistered', 'Registered' for all customers in storefront and job sessions
+
+
+ **Returns:**
+ - Collection of customer groups of this customer
+
+
+---
+
+### getExternalProfile(String, String)
+- getExternalProfile(authenticationProviderId: [String](TopLevel.String.md), externalId: [String](TopLevel.String.md)): [ExternalProfile](dw.customer.ExternalProfile.md)
+ - : A convenience method for finding an external profile among the customer's external profiles collection
+
+ **Parameters:**
+ - authenticationProviderId - the authenticationProviderId to look for
+ - externalId - the externalId to look for
+
+ **Returns:**
+ - the externalProfile found among the customer's external profile or null if not found
+
+
+---
+
+### getExternalProfiles()
+- getExternalProfiles(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of any external profiles the customer may have
+
+ **Returns:**
+ - a collection of any external profiles the customer may have
+
+
+---
+
+### getGlobalPartyID()
+- getGlobalPartyID(): [String](TopLevel.String.md)
+ - : Returns the Global Party ID for the customer, if there is one.
+ Global Party ID is created by Customer 360 and identifies a person across multiple systems.
+
+
+ **Returns:**
+ - The global party ID
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the unique, system generated ID of the customer.
+
+ **Returns:**
+ - the ID of the customer.
+
+
+---
+
+### getNote()
+- getNote(): [String](TopLevel.String.md)
+ - : Returns the note for this customer, or `null` if this customer has no note, such as for an anonymous
+ customer or when note has 0 length.
+
+
+ **Returns:**
+ - the note for this customer.
+
+
+---
+
+### getOrderHistory()
+- getOrderHistory(): [OrderHistory](dw.customer.OrderHistory.md)
+ - : Returns the customer order history.
+
+ **Returns:**
+ - the customer order history.
+
+
+---
+
+### getProductLists(Number)
+- getProductLists(type: [Number](TopLevel.Number.md)): [Collection](dw.util.Collection.md)
+ - : Returns the product lists of the specified type.
+
+ **Parameters:**
+ - type - the type of product lists to return.
+
+ **Returns:**
+ - the product lists of the specified type.
+
+ **See Also:**
+ - [ProductList](dw.customer.ProductList.md)
+
+
+---
+
+### getProfile()
+- getProfile(): [Profile](dw.customer.Profile.md)
+ - : Returns the customer profile.
+
+ **Returns:**
+ - the customer profile.
+
+
+---
+
+### isAnonymous()
+- isAnonymous(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the customer is anonymous. An anonymous
+ customer is the opposite of a registered customer.
+
+
+ **Returns:**
+ - true if the customer is anonymous, false otherwise.
+
+
+ **Note:** this method handles sensitive security-related data.
+ Pay special attention to PCI DSS v3. requirements 2, 4, and 12.
+
+
+
+---
+
+### isAuthenticated()
+- isAuthenticated(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the customer is authenticated. This method checks whether
+ this customer is the customer associated with the session and than checks
+ whether the session in an authenticated state.
+
+ Note: The pipeline debugger will always show 'false' for this value
+ regardless of whether the customer is authenticated or not.
+
+
+ **Returns:**
+ - true if the customer is authenticated, false otherwise.
+
+
+---
+
+### isExternallyAuthenticated()
+- isExternallyAuthenticated(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the customer is externally authenticated. An externally
+ authenticated customer does not have the password stored in our system
+ but logs in through an external OAuth provider (Google, Facebook, LinkedIn, etc.)
+
+
+ **Returns:**
+ - true if the customer is externally authenticated, false otherwise.
+
+
+ **Note:** this method handles sensitive security-related data.
+ Pay special attention to PCI DSS v3. requirements 2, 4, and 12.
+
+
+
+---
+
+### isMemberOfAnyCustomerGroup(String...)
+- isMemberOfAnyCustomerGroup(groupIDs: [String...](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if there exist [CustomerGroup](dw.customer.CustomerGroup.md) for all of the given IDs and the customer is member of at least one of that groups.
+
+ **Parameters:**
+ - groupIDs - A list of unique semantic customer group IDs.
+
+ **Returns:**
+ - True if customer groups exist for the given IDs and the customer is member of at least one of that existing groups.
+ False if none of customer groups exist or if the customer is not a member of any of that existing groups.
+
+
+
+---
+
+### isMemberOfCustomerGroup(CustomerGroup)
+- isMemberOfCustomerGroup(group: [CustomerGroup](dw.customer.CustomerGroup.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the customer is member of the specified
+ [CustomerGroup](dw.customer.CustomerGroup.md).
+
+
+ **Parameters:**
+ - group - Customer group
+
+ **Returns:**
+ - True if customer is member of the group, otherwise false.
+
+
+---
+
+### isMemberOfCustomerGroup(String)
+- isMemberOfCustomerGroup(groupID: [String](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if there is a [CustomerGroup](dw.customer.CustomerGroup.md) with such an ID and the customer is member of that group.
+
+ **Parameters:**
+ - groupID - The unique semantic customer group ID.
+
+ **Returns:**
+ - True if a customer group with such an ID exist and the customer is member of that group.
+ False if no such customer group exist or, if the group exist, the customer is not member of that group.
+
+
+
+---
+
+### isMemberOfCustomerGroups(String...)
+- isMemberOfCustomerGroups(groupIDs: [String...](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if there exist [CustomerGroup](dw.customer.CustomerGroup.md) for all of the given IDs and the customer is member of all that groups.
+
+ **Parameters:**
+ - groupIDs - A list of unique semantic customer group IDs.
+
+ **Returns:**
+ - True if customer groups exist for all of the given IDs and the customer is member of all that groups.
+ False if there is at least one ID for which no customer group exist or, if all groups exist, the customer is not member of all that groups.
+
+
+
+---
+
+### isRegistered()
+- isRegistered(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the customer is registered. A registered customer
+ may or may not be authenticated. This method checks whether
+ the user has a profile.
+
+
+ **Returns:**
+ - true if the customer is registered, false otherwise.
+
+
+---
+
+### removeExternalProfile(ExternalProfile)
+- removeExternalProfile(externalProfile: [ExternalProfile](dw.customer.ExternalProfile.md)): void
+ - : Removes an external profile from the customer
+
+ **Parameters:**
+ - externalProfile - the externalProfile to be removed
+
+
+---
+
+### setNote(String)
+- setNote(aValue: [String](TopLevel.String.md)): void
+ - : Sets the note for this customer. This is a no-op for an anonymous customer.
+
+ **Parameters:**
+ - aValue - the value of the note
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerActiveData.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerActiveData.md
new file mode 100644
index 00000000..1026d3ee
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerActiveData.md
@@ -0,0 +1,563 @@
+
+# Class CustomerActiveData
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.object.ActiveData](dw.object.ActiveData.md)
+ - [dw.customer.CustomerActiveData](dw.customer.CustomerActiveData.md)
+
+Represents the active data for a [Customer](dw.customer.Customer.md) in Commerce Cloud Digital.
+
+
+**Note:** this class allows access to sensitive personal and private information.
+Pay attention to appropriate legal and regulatory requirements when developing.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [avgOrderValue](#avgordervalue): [Number](TopLevel.Number.md) `(read-only)` | Returns the average order value of the customer, or `null` if none has been set or the value is no longer valid. |
+| [discountValueWithCoupon](#discountvaluewithcoupon): [Number](TopLevel.Number.md) `(read-only)` | Returns the discount value resulting from coupons, that has been applied to orders of the customer, or `null` if none has been set or the value is no longer valid. |
+| [discountValueWithoutCoupon](#discountvaluewithoutcoupon): [Number](TopLevel.Number.md) `(read-only)` | Returns the discount value resulting from promotions other than coupons, that has been applied to orders of the customer, or `null` if none has been set or the value is no longer valid. |
+| [giftOrders](#giftorders): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of orders for the Customer that contained at least one product unit marked as a gift, or `null` if none has been set or the value is no longer valid. |
+| [giftUnits](#giftunits): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of product units in orders for the customer that were marked as a gift, or `null` if none has been set or the value is no longer valid. |
+| [lastOrderDate](#lastorderdate): [Date](TopLevel.Date.md) `(read-only)` | Returns the date of the last order for the customer, or `null` if there are no orders for the customer. |
+| [orderValue](#ordervalue): [Number](TopLevel.Number.md) `(read-only)` | Returns the lifetime order value of the customer, or `null` if none has been set or the value is no longer valid. |
+| [orderValueMonth](#ordervaluemonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the order value of the customer, over the most recent 30 days, or `null` if none has been set or the value is no longer valid. |
+| [orders](#orders): [Number](TopLevel.Number.md) `(read-only)` | Returns the orders of the customer, or `null` if none has been set or the value is no longer valid. |
+| [productMastersOrdered](#productmastersordered): [String\[\]](TopLevel.String.md) `(read-only)` | Returns an array containing the master product SKUs of variation products in orders for the customer, or an empty collection if no SKUs have been set or the collection of SKUs is no longer valid. |
+| [productsAbandonedMonth](#productsabandonedmonth): [String\[\]](TopLevel.String.md) `(read-only)` | Returns an array containing the SKUs of products in baskets abandoned by the customer in the last 30 days, or an empty collection if no SKUs have been set or the collection is no longer valid. |
+| [productsOrdered](#productsordered): [String\[\]](TopLevel.String.md) `(read-only)` | Returns an array containing the SKUs of products in orders for the customer, or an empty collection if no SKUs have been set or the collection of SKUs is no longer valid. |
+| [productsViewedMonth](#productsviewedmonth): [String\[\]](TopLevel.String.md) `(read-only)` | Returns an array containing the SKUs of products viewed by the customer in the last 30 days, or an empty collection if no SKUs have been set or the collection is no longer valid. |
+| [returnValue](#returnvalue): [Number](TopLevel.Number.md) `(read-only)` | Returns the returned revenue of the customer, or `null` if none has been set or the value is no longer valid. |
+| [returns](#returns): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of returns of the customer, or `null` if none has been set or the value is no longer valid. |
+| [sourceCodeOrders](#sourcecodeorders): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of orders for the customer where a source code was in effect, or `null` if none has been set or the value is no longer valid. |
+| [topCategoriesOrdered](#topcategoriesordered): [String\[\]](TopLevel.String.md) `(read-only)` | Returns an array containing the IDs of up to the top 20 categories for customer orders, or an empty list if no categories have been set or the list of categories is no longer valid. |
+| [visitsMonth](#visitsmonth): [Number](TopLevel.Number.md) `(read-only)` | Returns the visits of the customer, over the most recent 30 days, or `null` if none has been set or the value is no longer valid. |
+| [visitsWeek](#visitsweek): [Number](TopLevel.Number.md) `(read-only)` | Returns the visits of the customer, over the most recent 7 days, or `null` if none has been set or the value is no longer valid. |
+| [visitsYear](#visitsyear): [Number](TopLevel.Number.md) `(read-only)` | Returns the visits of the customer, over the most recent 365 days, or `null` if none has been set or the value is no longer valid. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAvgOrderValue](dw.customer.CustomerActiveData.md#getavgordervalue)() | Returns the average order value of the customer, or `null` if none has been set or the value is no longer valid. |
+| [getDiscountValueWithCoupon](dw.customer.CustomerActiveData.md#getdiscountvaluewithcoupon)() | Returns the discount value resulting from coupons, that has been applied to orders of the customer, or `null` if none has been set or the value is no longer valid. |
+| [getDiscountValueWithoutCoupon](dw.customer.CustomerActiveData.md#getdiscountvaluewithoutcoupon)() | Returns the discount value resulting from promotions other than coupons, that has been applied to orders of the customer, or `null` if none has been set or the value is no longer valid. |
+| [getGiftOrders](dw.customer.CustomerActiveData.md#getgiftorders)() | Returns the number of orders for the Customer that contained at least one product unit marked as a gift, or `null` if none has been set or the value is no longer valid. |
+| [getGiftUnits](dw.customer.CustomerActiveData.md#getgiftunits)() | Returns the number of product units in orders for the customer that were marked as a gift, or `null` if none has been set or the value is no longer valid. |
+| [getLastOrderDate](dw.customer.CustomerActiveData.md#getlastorderdate)() | Returns the date of the last order for the customer, or `null` if there are no orders for the customer. |
+| [getOrderValue](dw.customer.CustomerActiveData.md#getordervalue)() | Returns the lifetime order value of the customer, or `null` if none has been set or the value is no longer valid. |
+| [getOrderValueMonth](dw.customer.CustomerActiveData.md#getordervaluemonth)() | Returns the order value of the customer, over the most recent 30 days, or `null` if none has been set or the value is no longer valid. |
+| [getOrders](dw.customer.CustomerActiveData.md#getorders)() | Returns the orders of the customer, or `null` if none has been set or the value is no longer valid. |
+| [getProductMastersOrdered](dw.customer.CustomerActiveData.md#getproductmastersordered)() | Returns an array containing the master product SKUs of variation products in orders for the customer, or an empty collection if no SKUs have been set or the collection of SKUs is no longer valid. |
+| [getProductsAbandonedMonth](dw.customer.CustomerActiveData.md#getproductsabandonedmonth)() | Returns an array containing the SKUs of products in baskets abandoned by the customer in the last 30 days, or an empty collection if no SKUs have been set or the collection is no longer valid. |
+| [getProductsOrdered](dw.customer.CustomerActiveData.md#getproductsordered)() | Returns an array containing the SKUs of products in orders for the customer, or an empty collection if no SKUs have been set or the collection of SKUs is no longer valid. |
+| [getProductsViewedMonth](dw.customer.CustomerActiveData.md#getproductsviewedmonth)() | Returns an array containing the SKUs of products viewed by the customer in the last 30 days, or an empty collection if no SKUs have been set or the collection is no longer valid. |
+| [getReturnValue](dw.customer.CustomerActiveData.md#getreturnvalue)() | Returns the returned revenue of the customer, or `null` if none has been set or the value is no longer valid. |
+| [getReturns](dw.customer.CustomerActiveData.md#getreturns)() | Returns the number of returns of the customer, or `null` if none has been set or the value is no longer valid. |
+| [getSourceCodeOrders](dw.customer.CustomerActiveData.md#getsourcecodeorders)() | Returns the number of orders for the customer where a source code was in effect, or `null` if none has been set or the value is no longer valid. |
+| [getTopCategoriesOrdered](dw.customer.CustomerActiveData.md#gettopcategoriesordered)() | Returns an array containing the IDs of up to the top 20 categories for customer orders, or an empty list if no categories have been set or the list of categories is no longer valid. |
+| [getVisitsMonth](dw.customer.CustomerActiveData.md#getvisitsmonth)() | Returns the visits of the customer, over the most recent 30 days, or `null` if none has been set or the value is no longer valid. |
+| [getVisitsWeek](dw.customer.CustomerActiveData.md#getvisitsweek)() | Returns the visits of the customer, over the most recent 7 days, or `null` if none has been set or the value is no longer valid. |
+| [getVisitsYear](dw.customer.CustomerActiveData.md#getvisitsyear)() | Returns the visits of the customer, over the most recent 365 days, or `null` if none has been set or the value is no longer valid. |
+
+### Methods inherited from class ActiveData
+
+[getCustom](dw.object.ActiveData.md#getcustom), [isEmpty](dw.object.ActiveData.md#isempty)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### avgOrderValue
+- avgOrderValue: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the average order value of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### discountValueWithCoupon
+- discountValueWithCoupon: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the discount value resulting from coupons, that has been applied
+ to orders of the customer, or `null` if none has been set or
+ the value is no longer valid.
+
+
+
+---
+
+### discountValueWithoutCoupon
+- discountValueWithoutCoupon: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the discount value resulting from promotions other than coupons,
+ that has been applied to orders of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### giftOrders
+- giftOrders: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of orders for the Customer that contained at least
+ one product unit marked as a gift, or `null` if none has been
+ set or the value is no longer valid.
+
+
+
+---
+
+### giftUnits
+- giftUnits: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of product units in orders for the customer
+ that were marked as a gift, or `null` if none has been set
+ or the value is no longer valid.
+
+
+
+---
+
+### lastOrderDate
+- lastOrderDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date of the last order for the customer, or `null`
+ if there are no orders for the customer.
+
+
+
+---
+
+### orderValue
+- orderValue: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the lifetime order value of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### orderValueMonth
+- orderValueMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the order value of the customer, over the most recent 30 days,
+ or `null` if none has been set or the value is no longer valid.
+
+
+
+---
+
+### orders
+- orders: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the orders of the customer, or `null` if none
+ has been set or the value is no longer valid.
+
+
+
+---
+
+### productMastersOrdered
+- productMastersOrdered: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Returns an array containing the master product SKUs of variation products
+ in orders for the customer, or an empty collection if no SKUs have been
+ set or the collection of SKUs is no longer valid. There is no specific
+ limit on the number of SKUs that will be returned in the collection, but
+ there is also no guarantee that it will contain the SKUs for all products
+ ordered by the customer.
+
+
+
+---
+
+### productsAbandonedMonth
+- productsAbandonedMonth: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Returns an array containing the SKUs of products in baskets abandoned
+ by the customer in the last 30 days, or an empty collection if no SKUs
+ have been set or the collection is no longer valid. There is no specific
+ limit on the number of SKUs that will be returned in the collection, but
+ there is also no guarantee that it will contain the SKUs for all products
+ in baskets abandoned by the customer.
+
+
+
+---
+
+### productsOrdered
+- productsOrdered: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Returns an array containing the SKUs of products in orders
+ for the customer, or an empty collection if no SKUs have been set or the
+ collection of SKUs is no longer valid. There is no specific limit on the
+ number of SKUs that will be returned in the collection, but there is also
+ no guarantee that it will contain the SKUs for all products ordered by
+ the customer.
+
+
+
+---
+
+### productsViewedMonth
+- productsViewedMonth: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Returns an array containing the SKUs of products viewed by the
+ customer in the last 30 days, or an empty collection if no SKUs have been
+ set or the collection is no longer valid. There is no specific limit on
+ the number of SKUs that will be returned in the collection, but there is
+ also no guarantee that it will contain the SKUs for all products viewed
+ by the customer.
+
+
+
+---
+
+### returnValue
+- returnValue: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the returned revenue of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### returns
+- returns: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of returns of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+
+---
+
+### sourceCodeOrders
+- sourceCodeOrders: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of orders for the customer where a source code was
+ in effect, or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### topCategoriesOrdered
+- topCategoriesOrdered: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Returns an array containing the IDs of up to the top 20 categories for
+ customer orders, or an empty list if no categories have been set or the
+ list of categories is no longer valid. The top category is the one for
+ which the most orders for the customer contained at least one product
+ found in that category.
+
+
+
+---
+
+### visitsMonth
+- visitsMonth: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the visits of the customer, over the most recent 30 days,
+ or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### visitsWeek
+- visitsWeek: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the visits of the customer, over the most recent 7 days,
+ or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+### visitsYear
+- visitsYear: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the visits of the customer, over the most recent 365 days,
+ or `null` if none has been set or the value
+ is no longer valid.
+
+
+
+---
+
+## Method Details
+
+### getAvgOrderValue()
+- getAvgOrderValue(): [Number](TopLevel.Number.md)
+ - : Returns the average order value of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the average order size.
+
+
+---
+
+### getDiscountValueWithCoupon()
+- getDiscountValueWithCoupon(): [Number](TopLevel.Number.md)
+ - : Returns the discount value resulting from coupons, that has been applied
+ to orders of the customer, or `null` if none has been set or
+ the value is no longer valid.
+
+
+ **Returns:**
+ - the discount value resulting from coupons.
+
+
+---
+
+### getDiscountValueWithoutCoupon()
+- getDiscountValueWithoutCoupon(): [Number](TopLevel.Number.md)
+ - : Returns the discount value resulting from promotions other than coupons,
+ that has been applied to orders of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the discount value resulting from promotions other than coupons.
+
+
+---
+
+### getGiftOrders()
+- getGiftOrders(): [Number](TopLevel.Number.md)
+ - : Returns the number of orders for the Customer that contained at least
+ one product unit marked as a gift, or `null` if none has been
+ set or the value is no longer valid.
+
+
+ **Returns:**
+ - the number of gift orders.
+
+
+---
+
+### getGiftUnits()
+- getGiftUnits(): [Number](TopLevel.Number.md)
+ - : Returns the number of product units in orders for the customer
+ that were marked as a gift, or `null` if none has been set
+ or the value is no longer valid.
+
+
+ **Returns:**
+ - the number of gift product units.
+
+
+---
+
+### getLastOrderDate()
+- getLastOrderDate(): [Date](TopLevel.Date.md)
+ - : Returns the date of the last order for the customer, or `null`
+ if there are no orders for the customer.
+
+
+ **Returns:**
+ - the date of the last order for the customer.
+
+
+---
+
+### getOrderValue()
+- getOrderValue(): [Number](TopLevel.Number.md)
+ - : Returns the lifetime order value of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the lifetime value.
+
+
+---
+
+### getOrderValueMonth()
+- getOrderValueMonth(): [Number](TopLevel.Number.md)
+ - : Returns the order value of the customer, over the most recent 30 days,
+ or `null` if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the value over the last 30 days.
+
+
+---
+
+### getOrders()
+- getOrders(): [Number](TopLevel.Number.md)
+ - : Returns the orders of the customer, or `null` if none
+ has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the orders.
+
+
+---
+
+### getProductMastersOrdered()
+- getProductMastersOrdered(): [String\[\]](TopLevel.String.md)
+ - : Returns an array containing the master product SKUs of variation products
+ in orders for the customer, or an empty collection if no SKUs have been
+ set or the collection of SKUs is no longer valid. There is no specific
+ limit on the number of SKUs that will be returned in the collection, but
+ there is also no guarantee that it will contain the SKUs for all products
+ ordered by the customer.
+
+
+ **Returns:**
+ - a collection containing the master product SKUs of variation
+ products that were ordered.
+
+
+
+---
+
+### getProductsAbandonedMonth()
+- getProductsAbandonedMonth(): [String\[\]](TopLevel.String.md)
+ - : Returns an array containing the SKUs of products in baskets abandoned
+ by the customer in the last 30 days, or an empty collection if no SKUs
+ have been set or the collection is no longer valid. There is no specific
+ limit on the number of SKUs that will be returned in the collection, but
+ there is also no guarantee that it will contain the SKUs for all products
+ in baskets abandoned by the customer.
+
+
+ **Returns:**
+ - a collection containing the SKUs of products that were abandoned.
+
+
+---
+
+### getProductsOrdered()
+- getProductsOrdered(): [String\[\]](TopLevel.String.md)
+ - : Returns an array containing the SKUs of products in orders
+ for the customer, or an empty collection if no SKUs have been set or the
+ collection of SKUs is no longer valid. There is no specific limit on the
+ number of SKUs that will be returned in the collection, but there is also
+ no guarantee that it will contain the SKUs for all products ordered by
+ the customer.
+
+
+ **Returns:**
+ - a collection containing the SKUs of products that were ordered.
+
+
+---
+
+### getProductsViewedMonth()
+- getProductsViewedMonth(): [String\[\]](TopLevel.String.md)
+ - : Returns an array containing the SKUs of products viewed by the
+ customer in the last 30 days, or an empty collection if no SKUs have been
+ set or the collection is no longer valid. There is no specific limit on
+ the number of SKUs that will be returned in the collection, but there is
+ also no guarantee that it will contain the SKUs for all products viewed
+ by the customer.
+
+
+ **Returns:**
+ - a collection containing the SKUs of products that were ordered.
+
+
+---
+
+### getReturnValue()
+- getReturnValue(): [Number](TopLevel.Number.md)
+ - : Returns the returned revenue of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the returned revenue.
+
+
+---
+
+### getReturns()
+- getReturns(): [Number](TopLevel.Number.md)
+ - : Returns the number of returns of the customer, or `null`
+ if none has been set or the value is no longer valid.
+
+
+ **Returns:**
+ - the returns.
+
+
+---
+
+### getSourceCodeOrders()
+- getSourceCodeOrders(): [Number](TopLevel.Number.md)
+ - : Returns the number of orders for the customer where a source code was
+ in effect, or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the number of orders with source codes in effect.
+
+
+---
+
+### getTopCategoriesOrdered()
+- getTopCategoriesOrdered(): [String\[\]](TopLevel.String.md)
+ - : Returns an array containing the IDs of up to the top 20 categories for
+ customer orders, or an empty list if no categories have been set or the
+ list of categories is no longer valid. The top category is the one for
+ which the most orders for the customer contained at least one product
+ found in that category.
+
+
+ **Returns:**
+ - a list containing the top 20 categories.
+
+
+---
+
+### getVisitsMonth()
+- getVisitsMonth(): [Number](TopLevel.Number.md)
+ - : Returns the visits of the customer, over the most recent 30 days,
+ or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the visits over the last 30 days.
+
+
+---
+
+### getVisitsWeek()
+- getVisitsWeek(): [Number](TopLevel.Number.md)
+ - : Returns the visits of the customer, over the most recent 7 days,
+ or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the visits over the last 7 days.
+
+
+---
+
+### getVisitsYear()
+- getVisitsYear(): [Number](TopLevel.Number.md)
+ - : Returns the visits of the customer, over the most recent 365 days,
+ or `null` if none has been set or the value
+ is no longer valid.
+
+
+ **Returns:**
+ - the visits over the last 365 days.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerAddress.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerAddress.md
new file mode 100644
index 00000000..58d841ef
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerAddress.md
@@ -0,0 +1,666 @@
+
+# Class CustomerAddress
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.customer.CustomerAddress](dw.customer.CustomerAddress.md)
+
+The Address class represents a customer's address.
+
+
+**Note:** this class allows access to sensitive personal and private information.
+Pay attention to appropriate legal and regulatory requirements.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) | Returns the name of the address. |
+| [address1](#address1): [String](TopLevel.String.md) | Returns the customer's first address. |
+| [address2](#address2): [String](TopLevel.String.md) | Returns the customer's second address value. |
+| [city](#city): [String](TopLevel.String.md) | Returns the customer's city. |
+| [companyName](#companyname): [String](TopLevel.String.md) | Returns the customer's company name. |
+| [countryCode](#countrycode): [EnumValue](dw.value.EnumValue.md) | Returns the customer's country code. |
+| [firstName](#firstname): [String](TopLevel.String.md) | Returns the customer's first name. |
+| [fullName](#fullname): [String](TopLevel.String.md) `(read-only)` | Returns a concatenation of the customer's first, middle, and last names and its suffix. |
+| [jobTitle](#jobtitle): [String](TopLevel.String.md) | Returns the customer's job title. |
+| [lastName](#lastname): [String](TopLevel.String.md) | Returns the customer's last name. |
+| [phone](#phone): [String](TopLevel.String.md) | Returns the customer's phone number. |
+| [postBox](#postbox): [String](TopLevel.String.md) | Returns the customer's post box. |
+| [postalCode](#postalcode): [String](TopLevel.String.md) | Returns the customer's postal code. |
+| [salutation](#salutation): [String](TopLevel.String.md) | Returns the customer's salutation. |
+| [secondName](#secondname): [String](TopLevel.String.md) | Returns the customer's second name. |
+| [stateCode](#statecode): [String](TopLevel.String.md) | Returns the customer's state. |
+| [suffix](#suffix): [String](TopLevel.String.md) | Returns the customer's suffix. |
+| [suite](#suite): [String](TopLevel.String.md) | Returns the customer's suite. |
+| [title](#title): [String](TopLevel.String.md) | Returns the customer's title. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAddress1](dw.customer.CustomerAddress.md#getaddress1)() | Returns the customer's first address. |
+| [getAddress2](dw.customer.CustomerAddress.md#getaddress2)() | Returns the customer's second address value. |
+| [getCity](dw.customer.CustomerAddress.md#getcity)() | Returns the customer's city. |
+| [getCompanyName](dw.customer.CustomerAddress.md#getcompanyname)() | Returns the customer's company name. |
+| [getCountryCode](dw.customer.CustomerAddress.md#getcountrycode)() | Returns the customer's country code. |
+| [getFirstName](dw.customer.CustomerAddress.md#getfirstname)() | Returns the customer's first name. |
+| [getFullName](dw.customer.CustomerAddress.md#getfullname)() | Returns a concatenation of the customer's first, middle, and last names and its suffix. |
+| [getID](dw.customer.CustomerAddress.md#getid)() | Returns the name of the address. |
+| [getJobTitle](dw.customer.CustomerAddress.md#getjobtitle)() | Returns the customer's job title. |
+| [getLastName](dw.customer.CustomerAddress.md#getlastname)() | Returns the customer's last name. |
+| [getPhone](dw.customer.CustomerAddress.md#getphone)() | Returns the customer's phone number. |
+| [getPostBox](dw.customer.CustomerAddress.md#getpostbox)() | Returns the customer's post box. |
+| [getPostalCode](dw.customer.CustomerAddress.md#getpostalcode)() | Returns the customer's postal code. |
+| [getSalutation](dw.customer.CustomerAddress.md#getsalutation)() | Returns the customer's salutation. |
+| [getSecondName](dw.customer.CustomerAddress.md#getsecondname)() | Returns the customer's second name. |
+| [getStateCode](dw.customer.CustomerAddress.md#getstatecode)() | Returns the customer's state. |
+| [getSuffix](dw.customer.CustomerAddress.md#getsuffix)() | Returns the customer's suffix. |
+| [getSuite](dw.customer.CustomerAddress.md#getsuite)() | Returns the customer's suite. |
+| [getTitle](dw.customer.CustomerAddress.md#gettitle)() | Returns the customer's title. |
+| [isEquivalentAddress](dw.customer.CustomerAddress.md#isequivalentaddressobject)([Object](TopLevel.Object.md)) | Returns true if the specified address is equivalent to this address. |
+| [setAddress1](dw.customer.CustomerAddress.md#setaddress1string)([String](TopLevel.String.md)) | Sets the value of the customer's first address. |
+| [setAddress2](dw.customer.CustomerAddress.md#setaddress2string)([String](TopLevel.String.md)) | Sets the customer's second address value. |
+| [setCity](dw.customer.CustomerAddress.md#setcitystring)([String](TopLevel.String.md)) | Sets the customer's city. |
+| [setCompanyName](dw.customer.CustomerAddress.md#setcompanynamestring)([String](TopLevel.String.md)) | Sets the customer's company name. |
+| [setCountryCode](dw.customer.CustomerAddress.md#setcountrycodestring)([String](TopLevel.String.md)) | Sets the customer's country code. |
+| [setFirstName](dw.customer.CustomerAddress.md#setfirstnamestring)([String](TopLevel.String.md)) | Sets the customer's first name. |
+| [setID](dw.customer.CustomerAddress.md#setidstring)([String](TopLevel.String.md)) | Sets the address name. |
+| [setJobTitle](dw.customer.CustomerAddress.md#setjobtitlestring)([String](TopLevel.String.md)) | Sets the customer's job title. |
+| [setLastName](dw.customer.CustomerAddress.md#setlastnamestring)([String](TopLevel.String.md)) | Sets the customer's last name. |
+| [setPhone](dw.customer.CustomerAddress.md#setphonestring)([String](TopLevel.String.md)) | Sets the customer's phone number. |
+| [setPostBox](dw.customer.CustomerAddress.md#setpostboxstring)([String](TopLevel.String.md)) | Sets the customer's post box. |
+| [setPostalCode](dw.customer.CustomerAddress.md#setpostalcodestring)([String](TopLevel.String.md)) | Sets the customer's postal code. |
+| ~~[setSaluation](dw.customer.CustomerAddress.md#setsaluationstring)([String](TopLevel.String.md))~~ | Sets the customer's salutation. |
+| [setSalutation](dw.customer.CustomerAddress.md#setsalutationstring)([String](TopLevel.String.md)) | Sets the customer's salutation. |
+| [setSecondName](dw.customer.CustomerAddress.md#setsecondnamestring)([String](TopLevel.String.md)) | Sets the customer's second name. |
+| [setStateCode](dw.customer.CustomerAddress.md#setstatecodestring)([String](TopLevel.String.md)) | Sets the customer's state. |
+| [setSuffix](dw.customer.CustomerAddress.md#setsuffixstring)([String](TopLevel.String.md)) | Sets the customer's suffix. |
+| [setSuite](dw.customer.CustomerAddress.md#setsuitestring)([String](TopLevel.String.md)) | Sets the customer's suite. |
+| [setTitle](dw.customer.CustomerAddress.md#settitlestring)([String](TopLevel.String.md)) | Sets the customer's title. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md)
+ - : Returns the name of the address.
+
+
+---
+
+### address1
+- address1: [String](TopLevel.String.md)
+ - : Returns the customer's first address.
+
+
+---
+
+### address2
+- address2: [String](TopLevel.String.md)
+ - : Returns the customer's second address value.
+
+
+---
+
+### city
+- city: [String](TopLevel.String.md)
+ - : Returns the customer's city.
+
+
+---
+
+### companyName
+- companyName: [String](TopLevel.String.md)
+ - : Returns the customer's company name.
+
+
+---
+
+### countryCode
+- countryCode: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the customer's country code. Commerce Cloud Digital supports two-character
+ country codes per ISO 3166-1 alpha-2. See
+ [http://www.iso.org/iso/country\_codes/iso\_3166-faqs/iso\_3166\_faqs\_general.htm](http://www.iso.org/iso/country\_codes/iso\_3166-faqs/iso\_3166\_faqs\_general.htm)
+ for additional information.
+
+
+
+---
+
+### firstName
+- firstName: [String](TopLevel.String.md)
+ - : Returns the customer's first name.
+
+
+---
+
+### fullName
+- fullName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns a concatenation of the customer's first, middle,
+ and last names and its suffix.
+
+
+
+---
+
+### jobTitle
+- jobTitle: [String](TopLevel.String.md)
+ - : Returns the customer's job title.
+
+
+---
+
+### lastName
+- lastName: [String](TopLevel.String.md)
+ - : Returns the customer's last name.
+
+
+---
+
+### phone
+- phone: [String](TopLevel.String.md)
+ - : Returns the customer's phone number.
+
+
+---
+
+### postBox
+- postBox: [String](TopLevel.String.md)
+ - : Returns the customer's post box.
+
+
+---
+
+### postalCode
+- postalCode: [String](TopLevel.String.md)
+ - : Returns the customer's postal code.
+
+
+---
+
+### salutation
+- salutation: [String](TopLevel.String.md)
+ - : Returns the customer's salutation.
+
+
+---
+
+### secondName
+- secondName: [String](TopLevel.String.md)
+ - : Returns the customer's second name.
+
+
+---
+
+### stateCode
+- stateCode: [String](TopLevel.String.md)
+ - : Returns the customer's state.
+
+
+---
+
+### suffix
+- suffix: [String](TopLevel.String.md)
+ - : Returns the customer's suffix.
+
+
+---
+
+### suite
+- suite: [String](TopLevel.String.md)
+ - : Returns the customer's suite.
+
+
+---
+
+### title
+- title: [String](TopLevel.String.md)
+ - : Returns the customer's title.
+
+
+---
+
+## Method Details
+
+### getAddress1()
+- getAddress1(): [String](TopLevel.String.md)
+ - : Returns the customer's first address.
+
+ **Returns:**
+ - the first address value.
+
+
+---
+
+### getAddress2()
+- getAddress2(): [String](TopLevel.String.md)
+ - : Returns the customer's second address value.
+
+ **Returns:**
+ - the value of the second address.
+
+
+---
+
+### getCity()
+- getCity(): [String](TopLevel.String.md)
+ - : Returns the customer's city.
+
+ **Returns:**
+ - the customer's city.
+
+
+---
+
+### getCompanyName()
+- getCompanyName(): [String](TopLevel.String.md)
+ - : Returns the customer's company name.
+
+ **Returns:**
+ - the company name.
+
+
+---
+
+### getCountryCode()
+- getCountryCode(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the customer's country code. Commerce Cloud Digital supports two-character
+ country codes per ISO 3166-1 alpha-2. See
+ [http://www.iso.org/iso/country\_codes/iso\_3166-faqs/iso\_3166\_faqs\_general.htm](http://www.iso.org/iso/country\_codes/iso\_3166-faqs/iso\_3166\_faqs\_general.htm)
+ for additional information.
+
+
+ **Returns:**
+ - the two-digit country code.
+
+
+---
+
+### getFirstName()
+- getFirstName(): [String](TopLevel.String.md)
+ - : Returns the customer's first name.
+
+ **Returns:**
+ - the customer first name.
+
+
+---
+
+### getFullName()
+- getFullName(): [String](TopLevel.String.md)
+ - : Returns a concatenation of the customer's first, middle,
+ and last names and its suffix.
+
+
+ **Returns:**
+ - a concatenation of the customer's first, middle,
+ and last names and its suffix.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the name of the address.
+
+ **Returns:**
+ - the address name.
+
+
+---
+
+### getJobTitle()
+- getJobTitle(): [String](TopLevel.String.md)
+ - : Returns the customer's job title.
+
+ **Returns:**
+ - the job title.
+
+
+---
+
+### getLastName()
+- getLastName(): [String](TopLevel.String.md)
+ - : Returns the customer's last name.
+
+ **Returns:**
+ - the last name.
+
+
+---
+
+### getPhone()
+- getPhone(): [String](TopLevel.String.md)
+ - : Returns the customer's phone number.
+
+ **Returns:**
+ - the phone number.
+
+
+---
+
+### getPostBox()
+- getPostBox(): [String](TopLevel.String.md)
+ - : Returns the customer's post box.
+
+ **Returns:**
+ - the post box.
+
+
+---
+
+### getPostalCode()
+- getPostalCode(): [String](TopLevel.String.md)
+ - : Returns the customer's postal code.
+
+ **Returns:**
+ - the postal code.
+
+
+---
+
+### getSalutation()
+- getSalutation(): [String](TopLevel.String.md)
+ - : Returns the customer's salutation.
+
+ **Returns:**
+ - the salutation.
+
+
+---
+
+### getSecondName()
+- getSecondName(): [String](TopLevel.String.md)
+ - : Returns the customer's second name.
+
+ **Returns:**
+ - the second name.
+
+
+---
+
+### getStateCode()
+- getStateCode(): [String](TopLevel.String.md)
+ - : Returns the customer's state.
+
+ **Returns:**
+ - the state.
+
+
+---
+
+### getSuffix()
+- getSuffix(): [String](TopLevel.String.md)
+ - : Returns the customer's suffix.
+
+ **Returns:**
+ - the suffix.
+
+
+---
+
+### getSuite()
+- getSuite(): [String](TopLevel.String.md)
+ - : Returns the customer's suite.
+
+ **Returns:**
+ - the suite.
+
+
+---
+
+### getTitle()
+- getTitle(): [String](TopLevel.String.md)
+ - : Returns the customer's title.
+
+ **Returns:**
+ - the title.
+
+
+---
+
+### isEquivalentAddress(Object)
+- isEquivalentAddress(address: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the specified address is equivalent to
+ this address. An equivalent address is an address whose
+ core attributes contain the same values. The core attributes
+ are:
+
+ - address1
+ - address2
+ - city
+ - companyName
+ - countryCode
+ - firstName
+ - lastName
+ - postalCode
+ - postBox
+ - stateCode
+
+
+ **Parameters:**
+ - address - the address to test.
+
+ **Returns:**
+ - true if the specified address is equivalent to
+ this address, false otherwise.
+
+
+
+---
+
+### setAddress1(String)
+- setAddress1(value: [String](TopLevel.String.md)): void
+ - : Sets the value of the customer's first address.
+
+ **Parameters:**
+ - value - The value to set.
+
+
+---
+
+### setAddress2(String)
+- setAddress2(value: [String](TopLevel.String.md)): void
+ - : Sets the customer's second address value.
+
+ **Parameters:**
+ - value - The value to set.
+
+
+---
+
+### setCity(String)
+- setCity(city: [String](TopLevel.String.md)): void
+ - : Sets the customer's city.
+
+ **Parameters:**
+ - city - the customer's city to set.
+
+
+---
+
+### setCompanyName(String)
+- setCompanyName(companyName: [String](TopLevel.String.md)): void
+ - : Sets the customer's company name.
+
+ **Parameters:**
+ - companyName - the name of the company.
+
+
+---
+
+### setCountryCode(String)
+- setCountryCode(countryCode: [String](TopLevel.String.md)): void
+ - : Sets the customer's country code. Commerce Cloud Digital supports two-character
+ country codes per ISO 3166-1 alpha-2. See
+ [http://www.iso.org/iso/country\_codes/iso\_3166-faqs/iso\_3166\_faqs\_general.htm](http://www.iso.org/iso/country\_codes/iso\_3166-faqs/iso\_3166\_faqs\_general.htm)
+ for additional information.
+
+
+ **Parameters:**
+ - countryCode - the country code, must be no more than 2 characters or will be truncated.
+
+
+---
+
+### setFirstName(String)
+- setFirstName(firstName: [String](TopLevel.String.md)): void
+ - : Sets the customer's first name.
+
+ **Parameters:**
+ - firstName - the customer's first name to set.
+
+
+---
+
+### setID(String)
+- setID(value: [String](TopLevel.String.md)): void
+ - : Sets the address name.
+
+ **Parameters:**
+ - value - the name to use.
+
+
+---
+
+### setJobTitle(String)
+- setJobTitle(jobTitle: [String](TopLevel.String.md)): void
+ - : Sets the customer's job title.
+
+ **Parameters:**
+ - jobTitle - The jobTitle to set.
+
+
+---
+
+### setLastName(String)
+- setLastName(lastName: [String](TopLevel.String.md)): void
+ - : Sets the customer's last name.
+
+ **Parameters:**
+ - lastName - The last name to set.
+
+
+---
+
+### setPhone(String)
+- setPhone(phoneNumber: [String](TopLevel.String.md)): void
+ - : Sets the customer's phone number. The length is restricted to 32 characters.
+
+ **Parameters:**
+ - phoneNumber - The phone number to set.
+
+
+---
+
+### setPostBox(String)
+- setPostBox(postBox: [String](TopLevel.String.md)): void
+ - : Sets the customer's post box.
+
+ **Parameters:**
+ - postBox - The post box to set.
+
+
+---
+
+### setPostalCode(String)
+- setPostalCode(postalCode: [String](TopLevel.String.md)): void
+ - : Sets the customer's postal code.
+
+ **Parameters:**
+ - postalCode - The postal code to set.
+
+
+---
+
+### setSaluation(String)
+- ~~setSaluation(value: [String](TopLevel.String.md)): void~~
+ - : Sets the customer's salutation.
+
+ **Parameters:**
+ - value - the salutation.
+
+ **Deprecated:**
+:::warning
+Use [setSalutation(String)](dw.customer.CustomerAddress.md#setsalutationstring)
+:::
+
+---
+
+### setSalutation(String)
+- setSalutation(value: [String](TopLevel.String.md)): void
+ - : Sets the customer's salutation.
+
+ **Parameters:**
+ - value - the salutation.
+
+
+---
+
+### setSecondName(String)
+- setSecondName(secondName: [String](TopLevel.String.md)): void
+ - : Sets the customer's second name.
+
+ **Parameters:**
+ - secondName - The second name to set.
+
+
+---
+
+### setStateCode(String)
+- setStateCode(state: [String](TopLevel.String.md)): void
+ - : Sets the customer's state.
+
+ **Parameters:**
+ - state - The state to set.
+
+
+---
+
+### setSuffix(String)
+- setSuffix(suffix: [String](TopLevel.String.md)): void
+ - : Sets the customer's suffix.
+
+ **Parameters:**
+ - suffix - The suffix to set.
+
+
+---
+
+### setSuite(String)
+- setSuite(value: [String](TopLevel.String.md)): void
+ - : Sets the customer's suite. The length is restricted to 32 characters.
+
+ **Parameters:**
+ - value - the suite to set.
+
+
+---
+
+### setTitle(String)
+- setTitle(title: [String](TopLevel.String.md)): void
+ - : Sets the customer's title.
+
+ **Parameters:**
+ - title - The title to set.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerCDPData.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerCDPData.md
new file mode 100644
index 00000000..6f663411
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerCDPData.md
@@ -0,0 +1,70 @@
+
+# Class CustomerCDPData
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.CustomerCDPData](dw.customer.CustomerCDPData.md)
+
+Represents the read-only Customer's Salesforce CDP (Customer Data Platform) data for a [Customer](dw.customer.Customer.md) in Commerce
+Cloud. Please see Salesforce CDP enablement documentation
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [empty](#empty): [Boolean](TopLevel.Boolean.md) `(read-only)` | Return true if the CDPData is empty (has no meaningful data) |
+| [segments](#segments): [String\[\]](TopLevel.String.md) `(read-only)` | Returns an array containing the CDP segments for the customer, or an empty array if no segments found |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getSegments](dw.customer.CustomerCDPData.md#getsegments)() | Returns an array containing the CDP segments for the customer, or an empty array if no segments found |
+| [isEmpty](dw.customer.CustomerCDPData.md#isempty)() | Return true if the CDPData is empty (has no meaningful data) |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### empty
+- empty: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Return true if the CDPData is empty (has no meaningful data)
+
+
+---
+
+### segments
+- segments: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Returns an array containing the CDP segments for the customer, or an empty array if no segments found
+
+
+---
+
+## Method Details
+
+### getSegments()
+- getSegments(): [String\[\]](TopLevel.String.md)
+ - : Returns an array containing the CDP segments for the customer, or an empty array if no segments found
+
+ **Returns:**
+ - a collection containing the CDP segments for the customer
+
+
+---
+
+### isEmpty()
+- isEmpty(): [Boolean](TopLevel.Boolean.md)
+ - : Return true if the CDPData is empty (has no meaningful data)
+
+ **Returns:**
+ - true if CDPData is empty, false otherwise
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerContextMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerContextMgr.md
new file mode 100644
index 00000000..b6276c62
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerContextMgr.md
@@ -0,0 +1,62 @@
+
+# Class CustomerContextMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.CustomerContextMgr](dw.customer.CustomerContextMgr.md)
+
+Provides helper methods for managing customer context, such as the Effective Time for which the customer is shopping
+at
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [effectiveTime](#effectivetime): [Date](TopLevel.Date.md) | Get the effective time associated with the customer. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getEffectiveTime](dw.customer.CustomerContextMgr.md#geteffectivetime)() | Get the effective time associated with the customer. |
+| static [setEffectiveTime](dw.customer.CustomerContextMgr.md#seteffectivetimedate)([Date](TopLevel.Date.md)) | Set the effective time for the customer. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### effectiveTime
+- effectiveTime: [Date](TopLevel.Date.md)
+ - : Get the effective time associated with the customer. By default, the effective time is null.
+
+
+---
+
+## Method Details
+
+### getEffectiveTime()
+- static getEffectiveTime(): [Date](TopLevel.Date.md)
+ - : Get the effective time associated with the customer. By default, the effective time is null.
+
+ **Returns:**
+ - effective time. When null is returned it means no effective time is associated with the customer
+
+
+---
+
+### setEffectiveTime(Date)
+- static setEffectiveTime(effectiveTime: [Date](TopLevel.Date.md)): void
+ - : Set the effective time for the customer. Null is allowed to remove effective time from the customer.
+
+ **Parameters:**
+ - effectiveTime - the effective time.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerGroup.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerGroup.md
new file mode 100644
index 00000000..17abca4b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerGroup.md
@@ -0,0 +1,146 @@
+
+# Class CustomerGroup
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.customer.CustomerGroup](dw.customer.CustomerGroup.md)
+
+CustomerGroups provide a means to segment customers by various criteria. A
+merchant can then provide different site experiences (e.g. promotions,
+prices, sorting rules) to each customer segment. Customer groups can consist
+of either an explicit list of customers or a business rule that dynamically
+determines whether a customer is a member. The former type is called
+"explicit" and the latter type is called "dynamic".
+
+
+- **Explicit customer group:**Consists of an explicit list of customers. Only registered customers can be member of such a group. isRuleBased==false.
+- **Dynamic customer group:**Memberships are evaluated by a business rule that is attached to the customer group. Registered as well as anonymous customers can be member of such a group. isRuleBased==true.
+
+
+
+**Note:** this class might allow access to sensitive personal and private
+information, depending on how you segment your customers and the names given to
+your custoemer groups. Pay attention to appropriate legal and regulatory requirements
+when developing with this data.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the unique ID of the customer group. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Gets the value of the description of the customer group. |
+| [ruleBased](#rulebased): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if the group determines the membership of customers based on rules. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [assignCustomer](dw.customer.CustomerGroup.md#assigncustomercustomer)([Customer](dw.customer.Customer.md)) | Assigns the specified customer to this group. |
+| [getDescription](dw.customer.CustomerGroup.md#getdescription)() | Gets the value of the description of the customer group. |
+| [getID](dw.customer.CustomerGroup.md#getid)() | Returns the unique ID of the customer group. |
+| [isRuleBased](dw.customer.CustomerGroup.md#isrulebased)() | Returns true if the group determines the membership of customers based on rules. |
+| [unassignCustomer](dw.customer.CustomerGroup.md#unassigncustomercustomer)([Customer](dw.customer.Customer.md)) | Unassigns the specified customer from this group. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique ID of the customer group.
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Gets the value of the description of the customer group.
+
+
+---
+
+### ruleBased
+- ruleBased: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if the group determines the membership of customers
+ based on rules. Returns false if the group provides explicit assignement
+ of customers.
+
+
+
+---
+
+## Method Details
+
+### assignCustomer(Customer)
+- assignCustomer(customer: [Customer](dw.customer.Customer.md)): void
+ - : Assigns the specified customer to this group.
+
+ The customer must be registered and the group must not be rule-based.
+
+
+ **Parameters:**
+ - customer - Registered customer, must not be null.
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Gets the value of the description of the customer group.
+
+ **Returns:**
+ - the description of the customer group
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the unique ID of the customer group.
+
+ **Returns:**
+ - The unique semantic ID of the customer group.
+
+
+---
+
+### isRuleBased()
+- isRuleBased(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the group determines the membership of customers
+ based on rules. Returns false if the group provides explicit assignement
+ of customers.
+
+
+ **Returns:**
+ - `True`, if the customer group is rule based.
+
+
+---
+
+### unassignCustomer(Customer)
+- unassignCustomer(customer: [Customer](dw.customer.Customer.md)): void
+ - : Unassigns the specified customer from this group.
+
+ The customer must be registered and the group must not be rule-based.
+
+
+ **Parameters:**
+ - customer - Registered customer, must not be null.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerList.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerList.md
new file mode 100644
index 00000000..1a6bcd7b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerList.md
@@ -0,0 +1,76 @@
+
+# Class CustomerList
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.CustomerList](dw.customer.CustomerList.md)
+
+Object representing the collection of customers who are registered
+for a given site. In Commerce Cloud Digital, every site has exactly
+one assigned customer list but multiple sites may share a customer
+list.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Get the ID of the customer list. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Get the optional description of the customer list. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getDescription](dw.customer.CustomerList.md#getdescription)() | Get the optional description of the customer list. |
+| [getID](dw.customer.CustomerList.md#getid)() | Get the ID of the customer list. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Get the ID of the customer list. For customer lists that were created automatically
+ for a given site, this is equal to the ID of the site itself.
+
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Get the optional description of the customer list.
+
+
+---
+
+## Method Details
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Get the optional description of the customer list.
+
+ **Returns:**
+ - The optional description of the list.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Get the ID of the customer list. For customer lists that were created automatically
+ for a given site, this is equal to the ID of the site itself.
+
+
+ **Returns:**
+ - The ID of the customer list.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerMgr.md
new file mode 100644
index 00000000..dc94be77
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.CustomerMgr.md
@@ -0,0 +1,1046 @@
+
+# Class CustomerMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.CustomerMgr](dw.customer.CustomerMgr.md)
+
+Provides helper methods for managing customers and customer
+profiles.
+**Note:** this class allows access to sensitive information through
+operations that retrieve the Profile object.
+Pay attention to appropriate legal and regulatory requirements related to this data.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [customerGroups](#customergroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns the customer groups of the current site. |
+| [passwordConstraints](#passwordconstraints): [CustomerPasswordConstraints](dw.customer.CustomerPasswordConstraints.md) `(read-only)` | Returns an instance of [CustomerPasswordConstraints](dw.customer.CustomerPasswordConstraints.md) for the customer list assigned to the current site. |
+| [registeredCustomerCount](#registeredcustomercount): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of registered customers in the system. |
+| [siteCustomerList](#sitecustomerlist): [CustomerList](dw.customer.CustomerList.md) `(read-only)` | Returns the customer list of the current site. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [authenticateCustomer](dw.customer.CustomerMgr.md#authenticatecustomerstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | This method authenticates a customer using the supplied login and password. |
+| static [createCustomer](dw.customer.CustomerMgr.md#createcustomerstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Creates a new Customer using the supplied login, password. |
+| static [createCustomer](dw.customer.CustomerMgr.md#createcustomerstring-string-string)([String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md)) | Creates a new Customer using the supplied login, password, and a customerNo. |
+| static [createExternallyAuthenticatedCustomer](dw.customer.CustomerMgr.md#createexternallyauthenticatedcustomerstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Given an authentication provider Id and an external Id: creates a Customer record in the system if one does not exist already for the same 'authenticationProviderId' and 'externalId' pair. |
+| static [describeProfileType](dw.customer.CustomerMgr.md#describeprofiletype)() | Returns the meta data for profiles. |
+| static [getCustomerByCustomerNumber](dw.customer.CustomerMgr.md#getcustomerbycustomernumberstring)([String](TopLevel.String.md)) | Returns the customer with the specified customer number. |
+| static [getCustomerByLogin](dw.customer.CustomerMgr.md#getcustomerbyloginstring)([String](TopLevel.String.md)) | Returns the customer for the specified login name. |
+| static [getCustomerByToken](dw.customer.CustomerMgr.md#getcustomerbytokenstring)([String](TopLevel.String.md)) | Returns the customer associated with the specified password reset token. |
+| static [getCustomerGroup](dw.customer.CustomerMgr.md#getcustomergroupstring)([String](TopLevel.String.md)) | Returns the customer group with the specified ID or null if group does not exists. |
+| static [getCustomerGroups](dw.customer.CustomerMgr.md#getcustomergroups)() | Returns the customer groups of the current site. |
+| static [getCustomerList](dw.customer.CustomerMgr.md#getcustomerliststring)([String](TopLevel.String.md)) | Returns the customer list identified by the specified ID. |
+| static [getExternallyAuthenticatedCustomerProfile](dw.customer.CustomerMgr.md#getexternallyauthenticatedcustomerprofilestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Given an authentication provider Id and external Id returns the Customer Profile in our system. |
+| static [getPasswordConstraints](dw.customer.CustomerMgr.md#getpasswordconstraints)() | Returns an instance of [CustomerPasswordConstraints](dw.customer.CustomerPasswordConstraints.md) for the customer list assigned to the current site. |
+| static [getProfile](dw.customer.CustomerMgr.md#getprofilestring)([String](TopLevel.String.md)) | Returns the profile with the specified customer number. |
+| static [getRegisteredCustomerCount](dw.customer.CustomerMgr.md#getregisteredcustomercount)() | Returns the number of registered customers in the system. |
+| static [getSiteCustomerList](dw.customer.CustomerMgr.md#getsitecustomerlist)() | Returns the customer list of the current site. |
+| static [isAcceptablePassword](dw.customer.CustomerMgr.md#isacceptablepasswordstring)([String](TopLevel.String.md)) | Checks if the given password matches the password constraints (for example password length) of the current site's assigned customerlist. |
+| static [isPasswordExpired](dw.customer.CustomerMgr.md#ispasswordexpiredstring)([String](TopLevel.String.md)) | Checks if the password for the given customer is expired |
+| static [loginCustomer](dw.customer.CustomerMgr.md#logincustomerauthenticationstatus-boolean)([AuthenticationStatus](dw.customer.AuthenticationStatus.md), [Boolean](TopLevel.Boolean.md)) | This method logs in the authenticated customer (from a previous authenticateCustomer() call). |
+| ~~static [loginCustomer](dw.customer.CustomerMgr.md#logincustomerstring-string-boolean)([String](TopLevel.String.md), [String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md))~~ | This method authenticates the current session using the supplied login and password. |
+| static [loginExternallyAuthenticatedCustomer](dw.customer.CustomerMgr.md#loginexternallyauthenticatedcustomerstring-string-boolean)([String](TopLevel.String.md), [String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md)) | Logs in externally authenticated customer if it has already been created in the system and the profile is not disabled or locked |
+| static [logoutCustomer](dw.customer.CustomerMgr.md#logoutcustomerboolean)([Boolean](TopLevel.Boolean.md)) | Logs out the customer currently logged into the storefront. |
+| static [processProfiles](dw.customer.CustomerMgr.md#processprofilesfunction-string-object)([Function](TopLevel.Function.md), [String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Executes a user-definable function on a set of customer profiles. |
+| ~~static [queryProfile](dw.customer.CustomerMgr.md#queryprofilestring-object)([String](TopLevel.String.md), [Object...](TopLevel.Object.md))~~ |
Otherwise, the method returns the masked driver's license number of the bank account. |
+| [bankAccountNumber](#bankaccountnumber): [String](TopLevel.String.md) `(read-only)` | Returns the bank account number if the calling context meets the following criteria:
Otherwise, the method returns the masked bank account number. |
+| [creditCardNumber](#creditcardnumber): [String](TopLevel.String.md) `(read-only)` | Returns the decrypted credit card number if the calling context meets the following criteria:
+
+ **Throws:**
+ - IllegalArgumentException - on attempt to set an unsupported status value
+
+ **Deprecated:**
+:::warning
+use [setStatus(Number)](dw.order.Order.md#setstatusnumber) instead
+:::
+
+---
+
+### setPaymentStatus(Number)
+- setPaymentStatus(status: [Number](TopLevel.Number.md)): void
+ - : Sets the order payment status.
+
+ Possible values are [PAYMENT_STATUS_NOTPAID](dw.order.Order.md#payment_status_notpaid), [PAYMENT_STATUS_PARTPAID](dw.order.Order.md#payment_status_partpaid)
+ or [PAYMENT_STATUS_PAID](dw.order.Order.md#payment_status_paid).
+
+
+ **Parameters:**
+ - status - Order payment status
+
+
+---
+
+### setReplaceCode(String)
+- setReplaceCode(replaceCode: [String](TopLevel.String.md)): void
+ - : Sets the value of the replace code.
+
+ **Parameters:**
+ - replaceCode - the value of the replace code.
+
+
+---
+
+### setReplaceDescription(String)
+- setReplaceDescription(replaceDescription: [String](TopLevel.String.md)): void
+ - : Sets the value of the replace description.
+
+ **Parameters:**
+ - replaceDescription - the value of the replace description.
+
+
+---
+
+### setShippingStatus(Number)
+- setShippingStatus(status: [Number](TopLevel.Number.md)): void
+ - : Sets the order shipping status value.
+
+ Possible values are [SHIPPING_STATUS_NOTSHIPPED](dw.order.Order.md#shipping_status_notshipped),
+ [SHIPPING_STATUS_PARTSHIPPED](dw.order.Order.md#shipping_status_partshipped) or [SHIPPING_STATUS_SHIPPED](dw.order.Order.md#shipping_status_shipped).
+
+
+ **Parameters:**
+ - status - Order shipping status
+
+
+---
+
+### setStatus(Number)
+- setStatus(status: [Number](TopLevel.Number.md)): void
+ - : Sets the status of the order.
+
+
+ Possible values are:
+
+ - [ORDER_STATUS_NEW](dw.order.Order.md#order_status_new)
+ - [ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open)
+ - [ORDER_STATUS_COMPLETED](dw.order.Order.md#order_status_completed)
+ - [ORDER_STATUS_CANCELLED](dw.order.Order.md#order_status_cancelled)
+ - [ORDER_STATUS_REPLACED](dw.order.Order.md#order_status_replaced)
+
+ This method does not support order statuses [ORDER_STATUS_CREATED](dw.order.Order.md#order_status_created) or [ORDER_STATUS_FAILED](dw.order.Order.md#order_status_failed). Please
+ use [OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder) or [OrderMgr.failOrder(Order)](dw.order.OrderMgr.md#failorderorder).
+
+
+ Setting the order status to [ORDER_STATUS_CANCELLED](dw.order.Order.md#order_status_cancelled) will have the same effect as calling
+ [OrderMgr.cancelOrder(Order)](dw.order.OrderMgr.md#cancelorderorder). Setting a canceled order to [ORDER_STATUS_NEW](dw.order.Order.md#order_status_new),
+ [ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open) or [ORDER_STATUS_COMPLETED](dw.order.Order.md#order_status_completed) will have the same effect as calling
+ [OrderMgr.undoCancelOrder(Order)](dw.order.OrderMgr.md#undocancelorderorder). It is recommended to use the methods in
+ [OrderMgr](dw.order.OrderMgr.md) directly to be able to do error processing with the return code.
+
+
+ **Parameters:**
+ - status - Order status
+
+ **Throws:**
+ - IllegalArgumentException - on attempt to set status CREATED or FAILED, or status transition while cancel order or undo cancel order returns with an error code.
+
+
+---
+
+### trackOrderChange(String)
+- trackOrderChange(text: [String](TopLevel.String.md)): [Note](dw.object.Note.md)
+ - : Tracks an order change.
+
+
+ This adds a history entry to the order. Focus of history entries are changes through business logic, both custom
+ and internal logic. Tracked order changes are read-only and can be accessed in the Business Manager order
+ history. The following attributes of the created [history entry](dw.object.Note.md) are initialized:
+
+ - [Note.getCreatedBy()](dw.object.Note.md#getcreatedby)gets the current user assigned
+ - [Note.getCreationDate()](dw.object.Note.md#getcreationdate)gets the current date assigned
+
+
+
+
+
+ This feature is intended to track important changes in custom order flow which should become visible in Business
+ Manager's history tab. It is NOT intended as auditing feature for every change to an order. A warning will be
+ produced after 600 notes are added to an order. The warning can be reviewed in Business Manager's Quota Status
+ screen. Attempting to add a note to an order which already has 1000 notes results in an exception. Please bear in
+ mind that internal changes, such as order status changes, also track changes. Avoid using this feature in
+ recurring jobs which may re-process orders multiple times as the limit needs to be considered each time a change
+ is tracked. The same limit on the number of notes added also applies when using method
+ [LineItemCtnr.addNote(String, String)](dw.order.LineItemCtnr.md#addnotestring-string) to add notes.
+
+
+ **Parameters:**
+ - text - the text of the history entry
+
+ **Returns:**
+ - the created history entry
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderAddress.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderAddress.md
new file mode 100644
index 00000000..04c8d622
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderAddress.md
@@ -0,0 +1,624 @@
+
+# Class OrderAddress
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.OrderAddress](dw.order.OrderAddress.md)
+
+The Address class represents a customer's address.
+
+
+**Note:** this class allows access to sensitive personal and private information.
+Pay attention to appropriate legal and regulatory requirements.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [address1](#address1): [String](TopLevel.String.md) | Returns the customer's first address. |
+| [address2](#address2): [String](TopLevel.String.md) | Returns the customer's second address. |
+| [city](#city): [String](TopLevel.String.md) | Returns the Customer's City. |
+| [companyName](#companyname): [String](TopLevel.String.md) | Returns the Customer's company name. |
+| [countryCode](#countrycode): [EnumValue](dw.value.EnumValue.md) | Returns the customer's country code. |
+| [firstName](#firstname): [String](TopLevel.String.md) | Returns the Customer's first name. |
+| [fullName](#fullname): [String](TopLevel.String.md) `(read-only)` | Returns a concatenation of the Customer's first, middle, and last names and it' suffix. |
+| [jobTitle](#jobtitle): [String](TopLevel.String.md) | Returns the customer's job title. |
+| [lastName](#lastname): [String](TopLevel.String.md) | Returns the customer's last name. |
+| [phone](#phone): [String](TopLevel.String.md) | Returns the customer's phone number. |
+| [postBox](#postbox): [String](TopLevel.String.md) | Returns the customer's post box. |
+| [postalCode](#postalcode): [String](TopLevel.String.md) | Returns the customer's postal code. |
+| [salutation](#salutation): [String](TopLevel.String.md) | Returns the customer's salutation. |
+| [secondName](#secondname): [String](TopLevel.String.md) | Returns the customer's second name. |
+| [stateCode](#statecode): [String](TopLevel.String.md) | Returns the customer's state. |
+| [suffix](#suffix): [String](TopLevel.String.md) | Returns the customer's suffix. |
+| [suite](#suite): [String](TopLevel.String.md) | Returns the customer's suite. |
+| [title](#title): [String](TopLevel.String.md) | Returns the customer's title. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAddress1](dw.order.OrderAddress.md#getaddress1)() | Returns the customer's first address. |
+| [getAddress2](dw.order.OrderAddress.md#getaddress2)() | Returns the customer's second address. |
+| [getCity](dw.order.OrderAddress.md#getcity)() | Returns the Customer's City. |
+| [getCompanyName](dw.order.OrderAddress.md#getcompanyname)() | Returns the Customer's company name. |
+| [getCountryCode](dw.order.OrderAddress.md#getcountrycode)() | Returns the customer's country code. |
+| [getFirstName](dw.order.OrderAddress.md#getfirstname)() | Returns the Customer's first name. |
+| [getFullName](dw.order.OrderAddress.md#getfullname)() | Returns a concatenation of the Customer's first, middle, and last names and it' suffix. |
+| [getJobTitle](dw.order.OrderAddress.md#getjobtitle)() | Returns the customer's job title. |
+| [getLastName](dw.order.OrderAddress.md#getlastname)() | Returns the customer's last name. |
+| [getPhone](dw.order.OrderAddress.md#getphone)() | Returns the customer's phone number. |
+| [getPostBox](dw.order.OrderAddress.md#getpostbox)() | Returns the customer's post box. |
+| [getPostalCode](dw.order.OrderAddress.md#getpostalcode)() | Returns the customer's postal code. |
+| [getSalutation](dw.order.OrderAddress.md#getsalutation)() | Returns the customer's salutation. |
+| [getSecondName](dw.order.OrderAddress.md#getsecondname)() | Returns the customer's second name. |
+| [getStateCode](dw.order.OrderAddress.md#getstatecode)() | Returns the customer's state. |
+| [getSuffix](dw.order.OrderAddress.md#getsuffix)() | Returns the customer's suffix. |
+| [getSuite](dw.order.OrderAddress.md#getsuite)() | Returns the customer's suite. |
+| [getTitle](dw.order.OrderAddress.md#gettitle)() | Returns the customer's title. |
+| [isEquivalentAddress](dw.order.OrderAddress.md#isequivalentaddressobject)([Object](TopLevel.Object.md)) | Returns true if the specified address is equivalent to this address. |
+| [setAddress1](dw.order.OrderAddress.md#setaddress1string)([String](TopLevel.String.md)) | Sets the customer's first address. |
+| [setAddress2](dw.order.OrderAddress.md#setaddress2string)([String](TopLevel.String.md)) | Sets the customer's second address. |
+| [setCity](dw.order.OrderAddress.md#setcitystring)([String](TopLevel.String.md)) | Sets the Customer's City. |
+| [setCompanyName](dw.order.OrderAddress.md#setcompanynamestring)([String](TopLevel.String.md)) | Sets the Customer's company name. |
+| [setCountryCode](dw.order.OrderAddress.md#setcountrycodestring)([String](TopLevel.String.md)) | Sets the Customer's country code. |
+| [setFirstName](dw.order.OrderAddress.md#setfirstnamestring)([String](TopLevel.String.md)) | Sets the Customer's first name. |
+| [setJobTitle](dw.order.OrderAddress.md#setjobtitlestring)([String](TopLevel.String.md)) | Sets the customer's job title. |
+| [setLastName](dw.order.OrderAddress.md#setlastnamestring)([String](TopLevel.String.md)) | Sets the customer's last name. |
+| [setPhone](dw.order.OrderAddress.md#setphonestring)([String](TopLevel.String.md)) | Sets the customer's phone number. |
+| [setPostBox](dw.order.OrderAddress.md#setpostboxstring)([String](TopLevel.String.md)) | Sets the customer's post box. |
+| [setPostalCode](dw.order.OrderAddress.md#setpostalcodestring)([String](TopLevel.String.md)) | Sets the customer's postal code. |
+| ~~[setSaluation](dw.order.OrderAddress.md#setsaluationstring)([String](TopLevel.String.md))~~ | Sets the customer's salutation. |
+| [setSalutation](dw.order.OrderAddress.md#setsalutationstring)([String](TopLevel.String.md)) | Sets the customer's salutation. |
+| [setSecondName](dw.order.OrderAddress.md#setsecondnamestring)([String](TopLevel.String.md)) | Sets the customer's second name. |
+| [setStateCode](dw.order.OrderAddress.md#setstatecodestring)([String](TopLevel.String.md)) | Sets the customer's state. |
+| [setSuffix](dw.order.OrderAddress.md#setsuffixstring)([String](TopLevel.String.md)) | Sets the customer's suffix. |
+| [setSuite](dw.order.OrderAddress.md#setsuitestring)([String](TopLevel.String.md)) | Sets the customer's suite. |
+| [setTitle](dw.order.OrderAddress.md#settitlestring)([String](TopLevel.String.md)) | Sets the customer's title. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### address1
+- address1: [String](TopLevel.String.md)
+ - : Returns the customer's first address.
+
+
+---
+
+### address2
+- address2: [String](TopLevel.String.md)
+ - : Returns the customer's second address.
+
+
+---
+
+### city
+- city: [String](TopLevel.String.md)
+ - : Returns the Customer's City.
+
+
+---
+
+### companyName
+- companyName: [String](TopLevel.String.md)
+ - : Returns the Customer's company name.
+
+
+---
+
+### countryCode
+- countryCode: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the customer's country code.
+
+
+---
+
+### firstName
+- firstName: [String](TopLevel.String.md)
+ - : Returns the Customer's first name.
+
+
+---
+
+### fullName
+- fullName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns a concatenation of the Customer's first, middle,
+ and last names and it' suffix.
+
+
+
+---
+
+### jobTitle
+- jobTitle: [String](TopLevel.String.md)
+ - : Returns the customer's job title.
+
+
+---
+
+### lastName
+- lastName: [String](TopLevel.String.md)
+ - : Returns the customer's last name.
+
+
+---
+
+### phone
+- phone: [String](TopLevel.String.md)
+ - : Returns the customer's phone number.
+
+
+---
+
+### postBox
+- postBox: [String](TopLevel.String.md)
+ - : Returns the customer's post box.
+
+
+---
+
+### postalCode
+- postalCode: [String](TopLevel.String.md)
+ - : Returns the customer's postal code.
+
+
+---
+
+### salutation
+- salutation: [String](TopLevel.String.md)
+ - : Returns the customer's salutation.
+
+
+---
+
+### secondName
+- secondName: [String](TopLevel.String.md)
+ - : Returns the customer's second name.
+
+
+---
+
+### stateCode
+- stateCode: [String](TopLevel.String.md)
+ - : Returns the customer's state.
+
+
+---
+
+### suffix
+- suffix: [String](TopLevel.String.md)
+ - : Returns the customer's suffix.
+
+
+---
+
+### suite
+- suite: [String](TopLevel.String.md)
+ - : Returns the customer's suite.
+
+
+---
+
+### title
+- title: [String](TopLevel.String.md)
+ - : Returns the customer's title.
+
+
+---
+
+## Method Details
+
+### getAddress1()
+- getAddress1(): [String](TopLevel.String.md)
+ - : Returns the customer's first address.
+
+ **Returns:**
+ - the first address value.
+
+
+---
+
+### getAddress2()
+- getAddress2(): [String](TopLevel.String.md)
+ - : Returns the customer's second address.
+
+ **Returns:**
+ - the second address value.
+
+
+---
+
+### getCity()
+- getCity(): [String](TopLevel.String.md)
+ - : Returns the Customer's City.
+
+ **Returns:**
+ - the Customer's city.
+
+
+---
+
+### getCompanyName()
+- getCompanyName(): [String](TopLevel.String.md)
+ - : Returns the Customer's company name.
+
+ **Returns:**
+ - the company name.
+
+
+---
+
+### getCountryCode()
+- getCountryCode(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the customer's country code.
+
+ **Returns:**
+ - the country code.
+
+
+---
+
+### getFirstName()
+- getFirstName(): [String](TopLevel.String.md)
+ - : Returns the Customer's first name.
+
+ **Returns:**
+ - the Customer first name.
+
+
+---
+
+### getFullName()
+- getFullName(): [String](TopLevel.String.md)
+ - : Returns a concatenation of the Customer's first, middle,
+ and last names and it' suffix.
+
+
+ **Returns:**
+ - a concatenation of the Customer's first, middle,
+ and last names and it' suffix.
+
+
+
+---
+
+### getJobTitle()
+- getJobTitle(): [String](TopLevel.String.md)
+ - : Returns the customer's job title.
+
+ **Returns:**
+ - the job title.
+
+
+---
+
+### getLastName()
+- getLastName(): [String](TopLevel.String.md)
+ - : Returns the customer's last name.
+
+ **Returns:**
+ - the last name.
+
+
+---
+
+### getPhone()
+- getPhone(): [String](TopLevel.String.md)
+ - : Returns the customer's phone number.
+
+ **Returns:**
+ - the phone number.
+
+
+---
+
+### getPostBox()
+- getPostBox(): [String](TopLevel.String.md)
+ - : Returns the customer's post box.
+
+ **Returns:**
+ - the postBox.
+
+
+---
+
+### getPostalCode()
+- getPostalCode(): [String](TopLevel.String.md)
+ - : Returns the customer's postal code.
+
+ **Returns:**
+ - the postal code.
+
+
+---
+
+### getSalutation()
+- getSalutation(): [String](TopLevel.String.md)
+ - : Returns the customer's salutation.
+
+ **Returns:**
+ - the customer's salutation.
+
+
+---
+
+### getSecondName()
+- getSecondName(): [String](TopLevel.String.md)
+ - : Returns the customer's second name.
+
+ **Returns:**
+ - the second name.
+
+
+---
+
+### getStateCode()
+- getStateCode(): [String](TopLevel.String.md)
+ - : Returns the customer's state.
+
+ **Returns:**
+ - the state.
+
+
+---
+
+### getSuffix()
+- getSuffix(): [String](TopLevel.String.md)
+ - : Returns the customer's suffix.
+
+ **Returns:**
+ - the suffix.
+
+
+---
+
+### getSuite()
+- getSuite(): [String](TopLevel.String.md)
+ - : Returns the customer's suite.
+
+ **Returns:**
+ - the customer's suite.
+
+
+---
+
+### getTitle()
+- getTitle(): [String](TopLevel.String.md)
+ - : Returns the customer's title.
+
+ **Returns:**
+ - the title.
+
+
+---
+
+### isEquivalentAddress(Object)
+- isEquivalentAddress(address: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the specified address is equivalent to
+ this address. An equivalent address is an address whose
+ core attributes contain the same values. The core attributes
+ are:
+
+ - address1
+ - address2
+ - city
+ - companyName
+ - countryCode
+ - firstName
+ - lastName
+ - postalCode
+ - postBox
+ - stateCode
+
+
+ **Parameters:**
+ - address - the address to test.
+
+ **Returns:**
+ - true if the specified address is equivalent to
+ this address, false otherwise.
+
+
+
+---
+
+### setAddress1(String)
+- setAddress1(value: [String](TopLevel.String.md)): void
+ - : Sets the customer's first address.
+
+ **Parameters:**
+ - value - The value to set.
+
+
+---
+
+### setAddress2(String)
+- setAddress2(value: [String](TopLevel.String.md)): void
+ - : Sets the customer's second address.
+
+ **Parameters:**
+ - value - The value to set.
+
+
+---
+
+### setCity(String)
+- setCity(city: [String](TopLevel.String.md)): void
+ - : Sets the Customer's City.
+
+ **Parameters:**
+ - city - the Customer's city to set.
+
+
+---
+
+### setCompanyName(String)
+- setCompanyName(companyName: [String](TopLevel.String.md)): void
+ - : Sets the Customer's company name.
+
+ **Parameters:**
+ - companyName - the name of the company.
+
+
+---
+
+### setCountryCode(String)
+- setCountryCode(countryCode: [String](TopLevel.String.md)): void
+ - : Sets the Customer's country code.
+
+ **Parameters:**
+ - countryCode - the country code.
+
+
+---
+
+### setFirstName(String)
+- setFirstName(firstName: [String](TopLevel.String.md)): void
+ - : Sets the Customer's first name.
+
+ **Parameters:**
+ - firstName - the customer's first name to set.
+
+
+---
+
+### setJobTitle(String)
+- setJobTitle(jobTitle: [String](TopLevel.String.md)): void
+ - : Sets the customer's job title.
+
+ **Parameters:**
+ - jobTitle - The job title to set.
+
+
+---
+
+### setLastName(String)
+- setLastName(lastName: [String](TopLevel.String.md)): void
+ - : Sets the customer's last name.
+
+ **Parameters:**
+ - lastName - The last name to set.
+
+
+---
+
+### setPhone(String)
+- setPhone(phoneNumber: [String](TopLevel.String.md)): void
+ - : Sets the customer's phone number. The length is restricted to 256 characters.
+
+ **Parameters:**
+ - phoneNumber - The phone number to set.
+
+
+---
+
+### setPostBox(String)
+- setPostBox(postBox: [String](TopLevel.String.md)): void
+ - : Sets the customer's post box.
+
+ **Parameters:**
+ - postBox - The post box to set.
+
+
+---
+
+### setPostalCode(String)
+- setPostalCode(postalCode: [String](TopLevel.String.md)): void
+ - : Sets the customer's postal code.
+
+ **Parameters:**
+ - postalCode - The postal code to set.
+
+
+---
+
+### setSaluation(String)
+- ~~setSaluation(value: [String](TopLevel.String.md)): void~~
+ - : Sets the customer's salutation.
+
+ **Parameters:**
+ - value - the customer's salutation.
+
+ **Deprecated:**
+:::warning
+Use [setSalutation(String)](dw.order.OrderAddress.md#setsalutationstring)
+:::
+
+---
+
+### setSalutation(String)
+- setSalutation(value: [String](TopLevel.String.md)): void
+ - : Sets the customer's salutation.
+
+ **Parameters:**
+ - value - the customer's salutation.
+
+
+---
+
+### setSecondName(String)
+- setSecondName(secondName: [String](TopLevel.String.md)): void
+ - : Sets the customer's second name.
+
+ **Parameters:**
+ - secondName - The second name to set.
+
+
+---
+
+### setStateCode(String)
+- setStateCode(state: [String](TopLevel.String.md)): void
+ - : Sets the customer's state.
+
+ **Parameters:**
+ - state - The state to set.
+
+
+---
+
+### setSuffix(String)
+- setSuffix(suffix: [String](TopLevel.String.md)): void
+ - : Sets the customer's suffix.
+
+ **Parameters:**
+ - suffix - The suffix to set.
+
+
+---
+
+### setSuite(String)
+- setSuite(value: [String](TopLevel.String.md)): void
+ - : Sets the customer's suite. The length is restricted to 256 characters.
+
+ **Parameters:**
+ - value - the customer's suite.
+
+
+---
+
+### setTitle(String)
+- setTitle(title: [String](TopLevel.String.md)): void
+ - : Sets the customer's title.
+
+ **Parameters:**
+ - title - The title to set.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderItem.md
new file mode 100644
index 00000000..50ea9749
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderItem.md
@@ -0,0 +1,613 @@
+
+# Class OrderItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.OrderItem](dw.order.OrderItem.md)
+
+Defines _extensions_ to [ProductLineItem](dw.order.ProductLineItem.md)s and
+[ShippingLineItem](dw.order.ShippingLineItem.md)s belonging to an [order](dw.order.Order.md).
+
+
+
+The order-item can be accessed using
+[ProductLineItem.getOrderItem()](dw.order.ProductLineItem.md#getorderitem) or
+[ShippingLineItem.getOrderItem()](dw.order.ShippingLineItem.md#getorderitem) - these methods return null
+if the item is associated with a [basket](dw.order.Basket.md) rather than
+an [order](dw.order.Order.md). Alternative access is available using
+[Order.getOrderItem(String)](dw.order.Order.md#getorderitemstring) by passing the
+[itemID](dw.order.OrderItem.md#getitemid) used to identify the
+order-item in for example export files. The
+associated order-item can also be accessed from
+[invoice-items](dw.order.InvoiceItem.md),
+[shipping-order-items](dw.order.ShippingOrderItem.md),
+[return-items](dw.order.ReturnItem.md) and [return-case-items](dw.order.ReturnCaseItem.md)
+using [AbstractItem.getOrderItem()](dw.order.AbstractItem.md#getorderitem).
+
+
+
+The order-item provides an item-level [status](dw.order.OrderItem.md#getstatus) and
+[type](dw.order.OrderItem.md#gettype), methods for accessing and creating associated items,
+and methods used to [allocate inventory](dw.order.OrderItem.md#allocateinventoryboolean) for [shipping-order](dw.order.ShippingOrder.md) creation.
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [STATUS_BACKORDER](#status_backorder): [String](TopLevel.String.md) = "BACKORDER" | Constant for Order Item Status BACKORDER |
+| [STATUS_CANCELLED](#status_cancelled): [String](TopLevel.String.md) = "CANCELLED" | Constant for Order Item Status CANCELLED |
+| [STATUS_CONFIRMED](#status_confirmed): [String](TopLevel.String.md) = "CONFIRMED" | Constant for Order Item Status CONFIRMED |
+| [STATUS_CREATED](#status_created): [String](TopLevel.String.md) = "CREATED" | Constant for Order Item Status CREATED |
+| [STATUS_NEW](#status_new): [String](TopLevel.String.md) = "NEW" | Constant for Order Item Status NEW |
+| [STATUS_OPEN](#status_open): [String](TopLevel.String.md) = "OPEN" | Constant for Order Item Status OPEN |
+| [STATUS_SHIPPED](#status_shipped): [String](TopLevel.String.md) = "SHIPPED" | Constant for Order Item Status SHIPPED |
+| [STATUS_WAREHOUSE](#status_warehouse): [String](TopLevel.String.md) = "WAREHOUSE" | Constant for Order Item Status WAREHOUSE |
+| [TYPE_PRODUCT](#type_product): [String](TopLevel.String.md) = "PRODUCT" | Constant for Order Item Type PRODUCT |
+| [TYPE_SERVICE](#type_service): [String](TopLevel.String.md) = "SERVICE" | Constant for Order Item Type SERVICE |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [appeasedAmount](#appeasedamount): [Money](dw.value.Money.md) `(read-only)` | Sum of amounts appeased for this item, calculated by iterating over invoice items associated with the item. |
+| [capturedAmount](#capturedamount): [Money](dw.value.Money.md) `(read-only)` | Sum of amounts captured for this item, calculated by iterating over invoice items associated with the item. |
+| [invoiceItems](#invoiceitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns all invoice items associated with this item, each [InvoiceItem](dw.order.InvoiceItem.md) will belong to a different [Invoice](dw.order.Invoice.md), which can also be accessed using [Order.getInvoices()](dw.order.Order.md#getinvoices) or [Order.getInvoice(String)](dw.order.Order.md#getinvoicestring). |
+| [itemID](#itemid): [String](TopLevel.String.md) `(read-only)` | The itemID used to identify the OrderItem. |
+| [lineItem](#lineitem): [LineItem](dw.order.LineItem.md) `(read-only)` | Returns the line item which is being extended by this instance. |
+| [refundedAmount](#refundedamount): [Money](dw.value.Money.md) `(read-only)` | Sum of amounts refunded for this item, calculated by iterating over invoice items associated with the item. |
+| [returnCaseItems](#returncaseitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns all return case items associated with this item, each [ReturnCaseItem](dw.order.ReturnCaseItem.md) will belong to a different [ReturnCase](dw.order.ReturnCase.md), which can also be accessed using [Order.getReturnCases()](dw.order.Order.md#getreturncases) or [Order.getReturnCase(String)](dw.order.Order.md#getreturncasestring). |
+| [returnedQuantity](#returnedquantity): [Quantity](dw.value.Quantity.md) `(read-only)` | The quantity returned, dynamically sum of quantities held by associated ReturnItems. |
+| ~~[shippingOrderItem](#shippingorderitem): [ShippingOrderItem](dw.order.ShippingOrderItem.md)~~ `(read-only)` | The last added non-cancelled shipping order item if one exists, otherwise `null`. |
+| [shippingOrderItems](#shippingorderitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of the [ShippingOrderItem](dw.order.ShippingOrderItem.md)s created for this item. |
+| [splitItems](#splititems): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection of all split [OrderItem](dw.order.OrderItem.md)s associated with this item. |
+| [splitSourceItem](#splitsourceitem): [OrderItem](dw.order.OrderItem.md) `(read-only)` | Returns the split source item associated with this item, if existing. |
+| [status](#status): [EnumValue](dw.value.EnumValue.md) | Gets the order item status.
Otherwise, the method returns the masked driver's license number of the bank account. |
+| [getBankAccountNumber](dw.customer.CustomerPaymentInstrument.md#getbankaccountnumber)() | Returns the bank account number if the calling context meets the following criteria:
Otherwise, the method returns the masked bank account number. |
+| [getCreditCardNumber](dw.customer.CustomerPaymentInstrument.md#getcreditcardnumber)() | Returns the decrypted credit card number if the calling context meets the following criteria:
+ - encryptionKey - The Base64 encoded form of the public key used for the re-encryption of the payment instrument data. Must be a valid, non-blank key.
+
+ **Returns:**
+ - the order export XML
+
+ **Throws:**
+ - IllegalArgumentException - If `encryptionAlgorithm` is not a valid known algorithm.
+ - IllegalArgumentException - If `encryptionKey` is a blank string.
+ - IllegalStateException - If the method is called in a transaction with changes.
+ - IllegalStateException - If the order is not placed. This method can be called for placed orders only.
+ - IllegalStateException - If the order export XML could not be generated.
+
+ **API Version:**
+:::note
+Available from version 22.7.
+strict encryption argument checks; no null or otherwise invalid values allowed
+:::
+
+---
+
+### getOrderItem(String)
+- getOrderItem(itemID: [String](TopLevel.String.md)): [OrderItem](dw.order.OrderItem.md)
+ - : Returns the [OrderItem](dw.order.OrderItem.md) for the itemID.
+ An OrderItem will only exist for [ProductLineItem](dw.order.ProductLineItem.md)s or
+ [ShippingLineItem](dw.order.ShippingLineItem.md)s which belong to the order.
+ The method fails with an exception if no instance can be found.
+
+
+ **Parameters:**
+ - itemID - the itemID
+
+ **Returns:**
+ - the order item for itemID
+
+ **Throws:**
+ - IllegalArgumentException - if no instance is found
+
+ **See Also:**
+ - [ProductLineItem.getOrderItem()](dw.order.ProductLineItem.md#getorderitem)
+ - [ShippingLineItem.getOrderItem()](dw.order.ShippingLineItem.md#getorderitem)
+
+
+---
+
+### getOrderNo()
+- getOrderNo(): [String](TopLevel.String.md)
+ - : Returns the order number for this order.
+
+ **Returns:**
+ - the order number for this order.
+
+
+---
+
+### getOrderToken()
+- getOrderToken(): [String](TopLevel.String.md)
+ - : Returns the token for this order. The order token is a string (length 32 bytes) associated
+ with this one order. The order token is random. It reduces the capability of malicious
+ users to access an order through guessing. Order token can be used to **further** validate order
+ ownership, but should never be used to solely validate ownership. In addition, the storefront
+ should ensure authentication and authorization. See the [Security Best Practices for Developers](https://help.salesforce.com/s/articleView?id=cc.b2c\_developer\_authentication\_and\_authorization.htm) for details.
+
+
+ **Returns:**
+ - the token for this order.
+
+
+---
+
+### getOriginalOrder()
+- getOriginalOrder(): [Order](dw.order.Order.md)
+ - : Returns the original order associated with
+ this order. The original order represents an order that was the
+ first ancestor in a chain of orders.
+ For example, if Order1 was replaced by Order2, Order2 is the current
+ representation of the order and Order1 is the original representation
+ of the order. If you replace Order2 with Order3, Order1 is still the
+ original representation of the order. If this order is the first
+ ancestor, this method returns this order.
+
+
+ **Returns:**
+ - the order number of the original order associated with
+ this order.
+
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### getOriginalOrderNo()
+- getOriginalOrderNo(): [String](TopLevel.String.md)
+ - : Returns the order number of the original order associated with
+ this order. The original order represents an order that was the
+ first ancestor in a chain of orders.
+ For example, if Order1 was replaced by Order2, Order2 is the current
+ representation of the order and Order1 is the original representation
+ of the order. If you replace Order2 with Order3, Order1 is still the
+ original representation of the order. If this order is the first
+ ancestor, this method returns the value of getOrderNo().
+
+
+ **Returns:**
+ - the order number of the original order associated with
+ this order.
+
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### getPaymentStatus()
+- getPaymentStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the order payment status value.
+
+ Possible values are [PAYMENT_STATUS_NOTPAID](dw.order.Order.md#payment_status_notpaid), [PAYMENT_STATUS_PARTPAID](dw.order.Order.md#payment_status_partpaid)
+ or [PAYMENT_STATUS_PAID](dw.order.Order.md#payment_status_paid).
+
+
+ **Returns:**
+ - Order payment status
+
+
+---
+
+### getPaymentTransaction()
+- ~~getPaymentTransaction(): [PaymentTransaction](dw.order.PaymentTransaction.md)~~
+ - : Returns the payment transaction associated with this order.
+ It is possible that there are multiple payment transactions
+ associated with the order. In this case, this method returns
+ the transaction associated with the first PaymentInstrument
+ returned by `getPaymentInstruments()`.
+
+
+ **Returns:**
+ - the payment transaction or null if there is no transaction.
+
+ **Deprecated:**
+:::warning
+Use [LineItemCtnr.getPaymentInstruments()](dw.order.LineItemCtnr.md#getpaymentinstruments)
+to get the list of PaymentInstrument instances and then use
+getPaymentTransaction() method on each PaymentInstrument to access
+the individual transactions.
+
+:::
+
+---
+
+### getRefundedAmount()
+- getRefundedAmount(): [Money](dw.value.Money.md)
+ - : Returns the sum of the refunded amounts. The refunded amounts are
+ calculated on the fly. Associate a payment refund for an [PaymentInstrument](dw.order.PaymentInstrument.md) with an [Invoice](dw.order.Invoice.md)
+ using [Invoice.addRefundTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addrefundtransactionorderpaymentinstrument-money).
+
+
+ **Returns:**
+ - sum of refunded amounts
+
+
+---
+
+### getRemoteHost()
+- getRemoteHost(): [String](TopLevel.String.md)
+ - : Returns the IP address of the remote host from which the order was created.
+
+
+ If the IP address was not captured for the order because order IP logging
+ was disabled at the time the order was created, null will be returned.
+
+
+ **Returns:**
+ - The IP address of the remote host captured for the order or null
+
+
+---
+
+### getReplaceCode()
+- getReplaceCode(): [EnumValue](dw.value.EnumValue.md)
+ - : If this order was replaced by another order,
+ returns the value of the replace code. Otherwise.
+ returns null.
+
+
+ **Returns:**
+ - the replace code
+
+
+---
+
+### getReplaceDescription()
+- getReplaceDescription(): [String](TopLevel.String.md)
+ - : If this order was replaced by another order,
+ returns the value of the replace description. Otherwise
+ returns null.
+
+
+ **Returns:**
+ - the value of the replace code or null.
+
+
+---
+
+### getReplacedOrder()
+- getReplacedOrder(): [Order](dw.order.Order.md)
+ - : Returns the order that this order replaced or null. For example, if you
+ have three orders where Order1 was replaced by Order2 and Order2 was
+ replaced by Order3, calling this method on Order3 will return Order2.
+ Similarly, calling this method on Order1 will return null as Order1 was
+ the original order.
+
+
+ **Returns:**
+ - the order that replaced this order, or null.
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### getReplacedOrderNo()
+- getReplacedOrderNo(): [String](TopLevel.String.md)
+ - : Returns the order number that this order replaced or null if this order
+ did not replace an order. For example, if you have three orders
+ where Order1 was replaced by Order2 and Order2 was replaced by Order3,
+ calling this method on Order3 will return the order number for
+ Order2. Similarly, calling this method on Order1 will return null as
+ Order1 was the original order.
+
+
+ **Returns:**
+ - the order number of the order that this order replaced or null.
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### getReplacementOrder()
+- getReplacementOrder(): [Order](dw.order.Order.md)
+ - : Returns the order that replaced this order, or null.
+
+ **Returns:**
+ - the order that replaced this order, or null.
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+
+
+---
+
+### getReplacementOrderNo()
+- getReplacementOrderNo(): [String](TopLevel.String.md)
+ - : If this order was replaced by another order,
+ returns the order number that replaced this order. Otherwise
+ returns null.
+
+
+ **Returns:**
+ - the order that replaced this order, or null.
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+
+
+---
+
+### getReturn(String)
+- getReturn(returnNumber: [String](TopLevel.String.md)): [Return](dw.order.Return.md)
+ - : Returns the [Return](dw.order.Return.md) associated with this order with the given returnNumber.
+ The method returns `null` if no instance can be found.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - returnNumber - the return number
+
+ **Returns:**
+ - the return associated with the given returnNumber
+
+
+---
+
+### getReturnCase(String)
+- getReturnCase(returnCaseNumber: [String](TopLevel.String.md)): [ReturnCase](dw.order.ReturnCase.md)
+ - : Returns the [ReturnCase](dw.order.ReturnCase.md) associated with this order with the given returnCaseNumber.
+ The method returns `null` if no instance can be found.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - returnCaseNumber - the return case number
+
+ **Returns:**
+ - the return case associated with the given returnCaseNumber
+
+
+---
+
+### getReturnCaseItem(String)
+- getReturnCaseItem(returnCaseItemID: [String](TopLevel.String.md)): [ReturnCaseItem](dw.order.ReturnCaseItem.md)
+ - : Returns the [ReturnCaseItem](dw.order.ReturnCaseItem.md) associated with this order with the given returnCaseItemID.
+ The method returns `null` if no instance can be found.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - returnCaseItemID - the ID
+
+ **Returns:**
+ - the return case item associated with the given returnCaseItemID
+
+
+---
+
+### getReturnCaseItems()
+- getReturnCaseItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [ReturnCaseItem](dw.order.ReturnCaseItem.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - return case items belonging to this order
+
+
+---
+
+### getReturnCases()
+- getReturnCases(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [ReturnCase](dw.order.ReturnCase.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - return cases belonging to this order
+
+
+---
+
+### getReturnItem(String)
+- getReturnItem(returnItemID: [String](TopLevel.String.md)): [ReturnItem](dw.order.ReturnItem.md)
+ - : Returns the [ReturnItem](dw.order.ReturnItem.md) associated with this order with the given ID.
+ The method returns `null` if no instance can be found.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - returnItemID - the ID
+
+ **Returns:**
+ - the return item associated with the given returnItemID
+
+
+---
+
+### getReturnItems()
+- getReturnItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [ReturnItem](dw.order.ReturnItem.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - return items belonging to this order
+
+
+---
+
+### getReturns()
+- getReturns(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [Return](dw.order.Return.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - returns belonging to this order
+
+
+---
+
+### getShippingOrder(String)
+- getShippingOrder(shippingOrderNumber: [String](TopLevel.String.md)): [ShippingOrder](dw.order.ShippingOrder.md)
+ - : Returns the [ShippingOrder](dw.order.ShippingOrder.md) associated with this order with the given shippingOrderNumber.
+ The method returns `null` if no instance can be found.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - shippingOrderNumber - the shipping order number
+
+ **Returns:**
+ - the shipping order associated with the given shippingOrderNumber
+
+
+---
+
+### getShippingOrderItem(String)
+- getShippingOrderItem(shippingOrderItemID: [String](TopLevel.String.md)): [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+ - : Returns the [ShippingOrderItem](dw.order.ShippingOrderItem.md) associated with this order with the given shippingOrderItemID.
+ The method returns `null` if no instance can be found.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - shippingOrderItemID - the ID
+
+ **Returns:**
+ - the shipping order item associated with the given shippingOrderItemID
+
+
+---
+
+### getShippingOrderItems()
+- getShippingOrderItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [ShippingOrderItem](dw.order.ShippingOrderItem.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - shipping order items belonging to this order
+
+
+---
+
+### getShippingOrders()
+- getShippingOrders(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [ShippingOrder](dw.order.ShippingOrder.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - shipping orders belonging to this order
+
+
+---
+
+### getShippingStatus()
+- getShippingStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the order shipping status.
+
+ Possible values are [SHIPPING_STATUS_NOTSHIPPED](dw.order.Order.md#shipping_status_notshipped),
+ [SHIPPING_STATUS_PARTSHIPPED](dw.order.Order.md#shipping_status_partshipped) or [SHIPPING_STATUS_SHIPPED](dw.order.Order.md#shipping_status_shipped).
+
+
+ **Returns:**
+ - Order shipping status
+
+
+---
+
+### getSourceCode()
+- getSourceCode(): [String](TopLevel.String.md)
+ - : Returns the source code stored with the order or `null` if no source code is attached to the order.
+
+ **Returns:**
+ - the source code stored with the order or `null` if no source code is attached to the order.
+
+
+---
+
+### getSourceCodeGroup()
+- getSourceCodeGroup(): [SourceCodeGroup](dw.campaign.SourceCodeGroup.md)
+ - : Returns the source code group attached to the order or `null` if no source code group is attached to
+ the order.
+
+
+ **Returns:**
+ - the source code group attached to the order or `null` if no source code group is attached to
+ the order.
+
+
+
+---
+
+### getSourceCodeGroupID()
+- getSourceCodeGroupID(): [String](TopLevel.String.md)
+ - : Returns the source code group id stored with the order or `null` if no source code group is attached
+ to the order.
+
+
+ **Returns:**
+ - the source code group id stored with the order or `null` if no source code group is attached
+ to the order.
+
+
+
+---
+
+### getStatus()
+- getStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the status of the order.
+
+ Possible values are:
+
+ - [ORDER_STATUS_CREATED](dw.order.Order.md#order_status_created)
+ - [ORDER_STATUS_NEW](dw.order.Order.md#order_status_new)
+ - [ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open)
+ - [ORDER_STATUS_COMPLETED](dw.order.Order.md#order_status_completed)
+ - [ORDER_STATUS_CANCELLED](dw.order.Order.md#order_status_cancelled)
+ - [ORDER_STATUS_FAILED](dw.order.Order.md#order_status_failed)
+ - [ORDER_STATUS_REPLACED](dw.order.Order.md#order_status_replaced)
+
+
+
+ The order status usually changes when a process action is initiated. Most status changes have an action which
+ needs to executed in order to end having the order in a specific order status. When an order is created with e.g.
+ [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) the order status will be [ORDER_STATUS_CREATED](dw.order.Order.md#order_status_created). The usual
+ flow is that payment authorization will be added to the order. Once the order is considered as valid (payed,
+ fraud checked, ...) the order gets placed. This can be done by calling
+ [OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder). The result of placing an order will be status
+ [ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open) (from a process standpoint [ORDER_STATUS_NEW](dw.order.Order.md#order_status_new) which has the same meaning).
+ Status [ORDER_STATUS_REPLACED](dw.order.Order.md#order_status_replaced) is related to functionality
+ [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder). [ORDER_STATUS_COMPLETED](dw.order.Order.md#order_status_completed) has no meaning by
+ default but can be used by custom implementations but is a synonym for NEW/OPEN. Below you will find the most important status changes:
+
+
+
+ | Status before | Action | Status after | Business meaning |
+ | --- |--- |--- |--- |
+ | - | [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) | CREATED | Order was created from a basket. |
+ | CREATED | [OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder) | OPEN/NEW | Order was considered as valid. Order can now be exported to 3rd party systems. |
+ | CREATED | [OrderMgr.failOrder(Order)](dw.order.OrderMgr.md#failorderorder) | FAILED | Order was considered not valid. E.g. payment authorization was wrong or fraud check was not successful. |
+ | OPEN/NEW | [OrderMgr.cancelOrder(Order)](dw.order.OrderMgr.md#cancelorderorder) | CANCELLED | Order was cancelled. |
+ | CANCELLED | [OrderMgr.undoCancelOrder(Order)](dw.order.OrderMgr.md#undocancelorderorder) | OPEN/NEW | Order was cancelled by mistake and this needs to be undone. |
+ | FAILED | [OrderMgr.undoFailOrder(Order)](dw.order.OrderMgr.md#undofailorderorder) | CREATED | Order was failed by mistake and this needs to be undone. |
+
+
+ Every status change will trigger a change in the order journal which is the base for GMV calculations.
+
+
+ **Returns:**
+ - Status of the order.
+
+ **See Also:**
+ - [LineItemCtnr](dw.order.LineItemCtnr.md)
+
+
+---
+
+### isImported()
+- isImported(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true`, if the order is imported and `false`
+ otherwise.
+
+
+ **Returns:**
+ - true, if the order was imported, false otherwise.
+
+
+---
+
+### isTaxRoundedAtGroup()
+- isTaxRoundedAtGroup(): [Boolean](TopLevel.Boolean.md)
+ - : Use this method to check if the Order was created with grouped taxation calculation.
+
+
+ If the tax is rounded on group level, the tax is applied to the summed-up tax basis for each tax rate.
+
+
+ **Returns:**
+ - `true` if the Order was created with grouped taxation
+
+
+---
+
+### reauthorize()
+- reauthorize(): [Status](dw.system.Status.md)
+ - : Ensures that the order is authorized.
+
+
+ Checks if the order is authorized by calling the hook
+ [PaymentHooks.validateAuthorization(Order)](dw.order.hooks.PaymentHooks.md#validateauthorizationorder). If the authorization
+ is not valid it reauthorizes the order by calling the
+ [PaymentHooks.reauthorize(Order)](dw.order.hooks.PaymentHooks.md#reauthorizeorder).
+
+
+ **Returns:**
+ - the status of the operation, will be Status.OK if the order is
+ authorized after this call
+
+
+
+---
+
+### removeRemoteHost()
+- removeRemoteHost(): void
+ - : Removes the IP address of the remote host if stored.
+
+
+ If IP logging was enabled during order creation the IP address of the customer will be stored and can be
+ retrieved using [getRemoteHost()](dw.order.Order.md#getremotehost).
+
+
+ **See Also:**
+ - [getRemoteHost()](dw.order.Order.md#getremotehost)
+
+
+---
+
+### setAffiliatePartnerID(String)
+- setAffiliatePartnerID(affiliatePartnerID: [String](TopLevel.String.md)): void
+ - : Sets the affiliate partner ID value.
+
+ **Parameters:**
+ - affiliatePartnerID - the affiliate partner ID value.
+
+
+---
+
+### setAffiliatePartnerName(String)
+- setAffiliatePartnerName(affiliatePartnerName: [String](TopLevel.String.md)): void
+ - : Sets the affiliate partner name value.
+
+ **Parameters:**
+ - affiliatePartnerName - the affiliate partner name value.
+
+
+---
+
+### setCancelCode(String)
+- setCancelCode(cancelCode: [String](TopLevel.String.md)): void
+ - : Sets the cancel code value.
+
+ **Parameters:**
+ - cancelCode - the cancel code value.
+
+
+---
+
+### setCancelDescription(String)
+- setCancelDescription(cancelDescription: [String](TopLevel.String.md)): void
+ - : Sets the description as to why the order was cancelled.
+
+ **Parameters:**
+ - cancelDescription - the description for why the order was cancelled.
+
+
+---
+
+### setConfirmationStatus(Number)
+- setConfirmationStatus(status: [Number](TopLevel.Number.md)): void
+ - : Sets the confirmation status value.
+
+ Possible values are [CONFIRMATION_STATUS_NOTCONFIRMED](dw.order.Order.md#confirmation_status_notconfirmed) or
+ [CONFIRMATION_STATUS_CONFIRMED](dw.order.Order.md#confirmation_status_confirmed).
+
+
+ **Parameters:**
+ - status - Order confirmation status
+
+
+---
+
+### setCustomer(Customer)
+- setCustomer(customer: [Customer](dw.customer.Customer.md)): void
+ - : This method is used to associate the order object with the specified customer object.
+
+
+ If the customer object represents a registered customer, the order will be assigned
+ to this registered customer and the order's customer number
+ ([LineItemCtnr.getCustomerNo()](dw.order.LineItemCtnr.md#getcustomerno)) will be updated.
+
+
+ If the customer object represents an unregistered (anonymous) customer, the
+ order will become an anonymous order and the order's customer number
+ will be set to null.
+
+
+ **Parameters:**
+ - customer - The customer to be associated with the order.
+
+ **Throws:**
+ - NullArgumentException - If specified customer is null.
+
+
+---
+
+### setCustomerNo(String)
+- setCustomerNo(customerNo: [String](TopLevel.String.md)): void
+ - : Sets the customer number associated with this order.
+
+
+ Note it is recommended to use ([setCustomer(Customer)](dw.order.Order.md#setcustomercustomer)) instead of this method. This method
+ only sets the customer number and should be used with care as it does _not re-link the order with a customer
+ profile> object which can lead to an inconsistency! Ensure that the customer number used is not already taken
+ by a different customer profile.
+
+
+ **Parameters:**
+ - customerNo - the customer number associated with this order.
+
+
+---
+
+### setCustomerOrderReference(String)
+- setCustomerOrderReference(reference: [String](TopLevel.String.md)): void
+ - : Sets the customer-specific reference information for the order.
+
+ **Parameters:**
+ - reference - the customer-specific reference information for the order.
+
+
+---
+
+### setExportAfter(Date)
+- setExportAfter(date: [Date](TopLevel.Date.md)): void
+ - : Sets the date after which an order can be exported.
+
+ **Parameters:**
+ - date - the date after which an order can be exported.
+
+
+---
+
+### setExportStatus(Number)
+- setExportStatus(status: [Number](TopLevel.Number.md)): void
+ - : Sets the export status of the order.
+
+ Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.order.Order.md#export_status_notexported), [EXPORT_STATUS_EXPORTED](dw.order.Order.md#export_status_exported),
+ [EXPORT_STATUS_READY](dw.order.Order.md#export_status_ready), and [EXPORT_STATUS_FAILED](dw.order.Order.md#export_status_failed).
+
+
+ Setting the status to [EXPORT_STATUS_EXPORTED](dw.order.Order.md#export_status_exported) will also trigger the finalization of on order inventory
+ transactions for this order meaning that all inventory transactions with type on order will be moved into final
+ inventory transactions. This is only relevant when On Order Inventory is turned on for the inventory list ordered
+ products are in.
+
+
+
+
+ In case of an exception the current transaction is marked as rollback only.
+
+
+ **Parameters:**
+ - status - Order export status
+
+
+---
+
+### setExternalOrderNo(String)
+- setExternalOrderNo(externalOrderNo: [String](TopLevel.String.md)): void
+ - : Sets the value of an external order number associated
+ with this order
+
+
+ **Parameters:**
+ - externalOrderNo - the value of an external order number associated with this order.
+
+
+---
+
+### setExternalOrderStatus(String)
+- setExternalOrderStatus(status: [String](TopLevel.String.md)): void
+ - : Sets the status of an external order associated
+ with this order
+
+
+ **Parameters:**
+ - status - the status of the external order.
+
+
+---
+
+### setExternalOrderText(String)
+- setExternalOrderText(text: [String](TopLevel.String.md)): void
+ - : Sets the text describing the external order.
+
+ **Parameters:**
+ - text - the text describing the external order.
+
+
+---
+
+### setInvoiceNo(String)
+- setInvoiceNo(invoiceNumber: [String](TopLevel.String.md)): void
+ - : Sets the invoice number for this Order.
+
+
+ Notice that this value might be overwritten during order placement (e.g. with [OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder)).
+
+
+ **Parameters:**
+ - invoiceNumber - the invoice number for this Order.
+
+ **See Also:**
+ - [getInvoiceNo()](dw.order.Order.md#getinvoiceno)
+
+
+---
+
+### setOrderStatus(Number)
+- ~~setOrderStatus(status: [Number](TopLevel.Number.md)): void~~
+ - : Sets the order status.
+
+
+ Use this method when using Order Post Processing such as the creation of [shipping orders](dw.order.ShippingOrder.md). The only supported values are [ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open), [ORDER_STATUS_CANCELLED](dw.order.Order.md#order_status_cancelled). Setting the
+ status will adjust the order item status when applicable (item status not SHIPPED or CANCELLED). Note that the
+ order status and the status of the items are directly related and dependent on one another.
+
+
+ See [OrderItem.setStatus(String)](dw.order.OrderItem.md#setstatusstring) for more information about possible status transitions.
+
+
+ Warning: This method will _not_ undo coupon redemptions upon cancellation of an order. Re-opening such an
+ order later with [OrderMgr.undoCancelOrder(Order)](dw.order.OrderMgr.md#undocancelorderorder) or [OrderItem.setStatus(String)](dw.order.OrderItem.md#setstatusstring)
+ with [ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open) will result in an additional application of the same coupon code which in turn
+ might fail.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - status - the status to be set, use one of:
Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.customer.ProductList.md#export_status_notexported), [EXPORT_STATUS_EXPORTED](dw.customer.ProductList.md#export_status_exported). |
+| [giftCertificateItem](#giftcertificateitem): [ProductListItem](dw.customer.ProductListItem.md) `(read-only)` | Returns the item in the list that represents a gift certificate. |
+| [items](#items): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection containing all items in the list. |
+| [lastExportTime](#lastexporttime): [Date](TopLevel.Date.md) `(read-only)` | Returns the date where this product list has been exported successfully the last time. |
+| [name](#name): [String](TopLevel.String.md) | Returns the name of this product list given by its owner. |
+| [owner](#owner): [Customer](dw.customer.Customer.md) `(read-only)` | Returns the customer that created and owns the product list. |
+| [postEventShippingAddress](#posteventshippingaddress): [CustomerAddress](dw.customer.CustomerAddress.md) | Returns the shipping address for purchases made after the event date. |
+| [productItems](#productitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection containing all items in the list that reference products. |
+| [public](#public): [Boolean](TopLevel.Boolean.md) | A flag, typically used to determine if the object is searchable by other customers. |
+| [publicItems](#publicitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection containing all items in the list that are flagged as public. |
+| [purchases](#purchases): [Collection](dw.util.Collection.md) `(read-only)` | Returns the aggregated purchases from all the individual items. |
+| [registrant](#registrant): [ProductListRegistrant](dw.customer.ProductListRegistrant.md) `(read-only)` | Returns the ProductListRegistrant assigned to the registrant attribute or null if this list has no registrant. |
+| [shippingAddress](#shippingaddress): [CustomerAddress](dw.customer.CustomerAddress.md) | Return the address that should be used as the shipping address for purchases made from the list. |
+| [type](#type): [Number](TopLevel.Number.md) `(read-only)` | Returns an int representing the type of object (e.g. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createCoRegistrant](dw.customer.ProductList.md#createcoregistrant)() | Create a ProductListRegistrant and assign it to the coRegistrant attribute of the list. |
+| [createGiftCertificateItem](dw.customer.ProductList.md#creategiftcertificateitem)() | Create an item in the list that represents a gift certificate. |
+| [createProductItem](dw.customer.ProductList.md#createproductitemproduct)([Product](dw.catalog.Product.md)) | Create an item in the list that references the specified product. |
+| [createRegistrant](dw.customer.ProductList.md#createregistrant)() | Create a ProductListRegistrant and assign it to the registrant attribute of the list. |
+| [getCoRegistrant](dw.customer.ProductList.md#getcoregistrant)() | Returns the ProductListRegistrant assigned to the coRegistrant attribute or null if this list has no co-registrant. |
+| [getCurrentShippingAddress](dw.customer.ProductList.md#getcurrentshippingaddress)() | This is a helper method typically used with an event related list. |
+| [getDescription](dw.customer.ProductList.md#getdescription)() | Returns a description text that, for example, explains the purpose of this product list. |
+| [getEventCity](dw.customer.ProductList.md#geteventcity)() | For event related uses (e.g. |
+| [getEventCountry](dw.customer.ProductList.md#geteventcountry)() | For event related uses (e.g. |
+| [getEventDate](dw.customer.ProductList.md#geteventdate)() | For event related uses (e.g. |
+| [getEventState](dw.customer.ProductList.md#geteventstate)() | For event related uses (e.g. |
+| [getEventType](dw.customer.ProductList.md#geteventtype)() | For event related uses (e.g. |
+| [getExportStatus](dw.customer.ProductList.md#getexportstatus)() | Returns the export status of the product list.
Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.customer.ProductList.md#export_status_notexported), [EXPORT_STATUS_EXPORTED](dw.customer.ProductList.md#export_status_exported). |
+| [getGiftCertificateItem](dw.customer.ProductList.md#getgiftcertificateitem)() | Returns the item in the list that represents a gift certificate. |
+| [getID](dw.customer.ProductList.md#getid)() | Returns the unique system generated ID of the object. |
+| [getItem](dw.customer.ProductList.md#getitemstring)([String](TopLevel.String.md)) | Returns the item from the list that has the specified ID. |
+| [getItems](dw.customer.ProductList.md#getitems)() | Returns a collection containing all items in the list. |
+| [getLastExportTime](dw.customer.ProductList.md#getlastexporttime)() | Returns the date where this product list has been exported successfully the last time. |
+| [getName](dw.customer.ProductList.md#getname)() | Returns the name of this product list given by its owner. |
+| [getOwner](dw.customer.ProductList.md#getowner)() | Returns the customer that created and owns the product list. |
+| [getPostEventShippingAddress](dw.customer.ProductList.md#getposteventshippingaddress)() | Returns the shipping address for purchases made after the event date. |
+| [getProductItems](dw.customer.ProductList.md#getproductitems)() | Returns a collection containing all items in the list that reference products. |
+| [getPublicItems](dw.customer.ProductList.md#getpublicitems)() | Returns a collection containing all items in the list that are flagged as public. |
+| [getPurchases](dw.customer.ProductList.md#getpurchases)() | Returns the aggregated purchases from all the individual items. |
+| [getRegistrant](dw.customer.ProductList.md#getregistrant)() | Returns the ProductListRegistrant assigned to the registrant attribute or null if this list has no registrant. |
+| [getShippingAddress](dw.customer.ProductList.md#getshippingaddress)() | Return the address that should be used as the shipping address for purchases made from the list. |
+| [getType](dw.customer.ProductList.md#gettype)() | Returns an int representing the type of object (e.g. |
+| [isAnonymous](dw.customer.ProductList.md#isanonymous)() | Returns true if this product list is owned by an anonymous customer. |
+| [isPublic](dw.customer.ProductList.md#ispublic)() | A flag, typically used to determine if the object is searchable by other customers. |
+| [removeCoRegistrant](dw.customer.ProductList.md#removecoregistrant)() | Removes the ProductListRegistrant assigned to the coRegistrant attribute. |
+| [removeItem](dw.customer.ProductList.md#removeitemproductlistitem)([ProductListItem](dw.customer.ProductListItem.md)) | Removes the specified item from the list. |
+| [removeRegistrant](dw.customer.ProductList.md#removeregistrant)() | Removes the ProductListRegistrant assigned to the registrant attribute. |
+| [setDescription](dw.customer.ProductList.md#setdescriptionstring)([String](TopLevel.String.md)) | Set the description of this product list. |
+| [setEventCity](dw.customer.ProductList.md#seteventcitystring)([String](TopLevel.String.md)) | Set the event city to which this product list is related. |
+| [setEventCountry](dw.customer.ProductList.md#seteventcountrystring)([String](TopLevel.String.md)) | Set the event country to which this product list is related. |
+| [setEventDate](dw.customer.ProductList.md#seteventdatedate)([Date](TopLevel.Date.md)) | Set the date of the event to which this product list is related. |
+| [setEventState](dw.customer.ProductList.md#seteventstatestring)([String](TopLevel.String.md)) | Set the event state to which this product list is related. |
+| [setEventType](dw.customer.ProductList.md#seteventtypestring)([String](TopLevel.String.md)) | Set the event type for which this product list was created by the owner. |
+| [setName](dw.customer.ProductList.md#setnamestring)([String](TopLevel.String.md)) | Set the name of this product list. |
+| [setPostEventShippingAddress](dw.customer.ProductList.md#setposteventshippingaddresscustomeraddress)([CustomerAddress](dw.customer.CustomerAddress.md)) | This is typically used by an event related list (e.g. |
+| [setPublic](dw.customer.ProductList.md#setpublicboolean)([Boolean](TopLevel.Boolean.md)) | Makes this product list visible to other customers or hides it. |
+| [setShippingAddress](dw.customer.ProductList.md#setshippingaddresscustomeraddress)([CustomerAddress](dw.customer.CustomerAddress.md)) | Associate an address, used as the shipping address for purchases made from the list. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### EXPORT_STATUS_EXPORTED
+
+- EXPORT_STATUS_EXPORTED: [Number](TopLevel.Number.md) = 1
+ - : Constant for when Export Status is Exported
+
+
+---
+
+### EXPORT_STATUS_NOTEXPORTED
+
+- EXPORT_STATUS_NOTEXPORTED: [Number](TopLevel.Number.md) = 0
+ - : Constant for when Export Status is Not Exported
+
+
+---
+
+### TYPE_CUSTOM_1
+
+- TYPE_CUSTOM_1: [Number](TopLevel.Number.md) = 100
+ - : Constant representing a custom list type attribute.
+
+
+---
+
+### TYPE_CUSTOM_2
+
+- TYPE_CUSTOM_2: [Number](TopLevel.Number.md) = 101
+ - : Constant representing a custom list type attribute.
+
+
+---
+
+### TYPE_CUSTOM_3
+
+- TYPE_CUSTOM_3: [Number](TopLevel.Number.md) = 102
+ - : Constant representing a custom list type attribute.
+
+
+---
+
+### TYPE_GIFT_REGISTRY
+
+- TYPE_GIFT_REGISTRY: [Number](TopLevel.Number.md) = 11
+ - : Constant representing the gift registry type attribute.
+
+
+---
+
+### TYPE_SHOPPING_LIST
+
+- TYPE_SHOPPING_LIST: [Number](TopLevel.Number.md) = 12
+ - : Constant representing the shopping list type attribute.
+
+
+---
+
+### TYPE_WISH_LIST
+
+- TYPE_WISH_LIST: [Number](TopLevel.Number.md) = 10
+ - : Constant representing the wish list registry type attribute.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique system generated ID of the object.
+
+
+---
+
+### anonymous
+- anonymous: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if this product list is owned by an anonymous customer.
+
+
+---
+
+### coRegistrant
+- coRegistrant: [ProductListRegistrant](dw.customer.ProductListRegistrant.md) `(read-only)`
+ - : Returns the ProductListRegistrant assigned to the coRegistrant attribute or null
+ if this list has no co-registrant.
+
+
+
+---
+
+### currentShippingAddress
+- currentShippingAddress: [CustomerAddress](dw.customer.CustomerAddress.md) `(read-only)`
+ - : This is a helper method typically used with an event related list.
+ It provides the appropriate shipping address based on the eventDate.
+ If the current date is after the eventDate, then the postEventShippingAddress
+ is returned, otherwise the shippingAddress is returned. If the eventDate
+ is null, then null is returned.
+
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md)
+ - : Returns a description text that, for example, explains the purpose of this product list.
+
+
+---
+
+### eventCity
+- eventCity: [String](TopLevel.String.md)
+ - : For event related uses (e.g. gift registry), this holds the event city.
+
+
+---
+
+### eventCountry
+- eventCountry: [String](TopLevel.String.md)
+ - : For event related uses (e.g. gift registry), this holds the event country.
+
+
+---
+
+### eventDate
+- eventDate: [Date](TopLevel.Date.md)
+ - : For event related uses (e.g. gift registry), this holds the date
+ of the event.
+
+
+
+---
+
+### eventState
+- eventState: [String](TopLevel.String.md)
+ - : For event related uses (e.g. gift registry), this holds the event state.
+
+
+---
+
+### eventType
+- eventType: [String](TopLevel.String.md)
+ - : For event related uses (e.g. gift registry), this holds the type
+ of event, e.g. Wedding, Baby Shower.
+
+
+
+---
+
+### exportStatus
+- exportStatus: [EnumValue](dw.value.EnumValue.md) `(read-only)`
+ - : Returns the export status of the product list.
+
+ Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.customer.ProductList.md#export_status_notexported),
+ [EXPORT_STATUS_EXPORTED](dw.customer.ProductList.md#export_status_exported).
+
+
+
+---
+
+### giftCertificateItem
+- giftCertificateItem: [ProductListItem](dw.customer.ProductListItem.md) `(read-only)`
+ - : Returns the item in the list that represents a gift certificate.
+
+
+---
+
+### items
+- items: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection containing all items in the list.
+
+
+---
+
+### lastExportTime
+- lastExportTime: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date where this product list has been exported successfully
+ the last time.
+
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md)
+ - : Returns the name of this product list given by its owner.
+
+
+---
+
+### owner
+- owner: [Customer](dw.customer.Customer.md) `(read-only)`
+ - : Returns the customer that created and owns the product list.
+
+
+---
+
+### postEventShippingAddress
+- postEventShippingAddress: [CustomerAddress](dw.customer.CustomerAddress.md)
+ - : Returns the shipping address for purchases made after the event date.
+
+
+---
+
+### productItems
+- productItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection containing all items in the list that reference products.
+
+
+---
+
+### public
+- public: [Boolean](TopLevel.Boolean.md)
+ - : A flag, typically used to determine if the object is searchable
+ by other customers.
+
+
+
+---
+
+### publicItems
+- publicItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection containing all items in the list that are flagged as public.
+
+
+---
+
+### purchases
+- purchases: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the aggregated purchases from all the individual items.
+
+
+---
+
+### registrant
+- registrant: [ProductListRegistrant](dw.customer.ProductListRegistrant.md) `(read-only)`
+ - : Returns the ProductListRegistrant assigned to the registrant attribute or null
+ if this list has no registrant.
+
+
+
+---
+
+### shippingAddress
+- shippingAddress: [CustomerAddress](dw.customer.CustomerAddress.md)
+ - : Return the address that should be used as the shipping address for purchases
+ made from the list.
+
+
+
+---
+
+### type
+- type: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns an int representing the type of object (e.g. wish list,
+ gift registry). This is set at object creation time.
+
+
+
+---
+
+## Method Details
+
+### createCoRegistrant()
+- createCoRegistrant(): [ProductListRegistrant](dw.customer.ProductListRegistrant.md)
+ - : Create a ProductListRegistrant and assign it to the coRegistrant attribute
+ of the list. An exception is thrown if the list already has a coRegistrant
+ assigned to it.
+
+
+ **Returns:**
+ - the created ProductListRegistrant instance.
+
+ **Throws:**
+ - CreateException - if one already exists
+
+
+---
+
+### createGiftCertificateItem()
+- createGiftCertificateItem(): [ProductListItem](dw.customer.ProductListItem.md)
+ - : Create an item in the list that represents a gift certificate.
+ A list may only contain a single gift certificate, so an exception
+ is thrown if one already exists in the list.
+
+
+ **Returns:**
+ - the created item.
+
+ **Throws:**
+ - CreateException - if a gift certificate item already exists in the list.
+
+
+---
+
+### createProductItem(Product)
+- createProductItem(product: [Product](dw.catalog.Product.md)): [ProductListItem](dw.customer.ProductListItem.md)
+ - : Create an item in the list that references the specified product.
+
+ **Parameters:**
+ - product - the product to use to create the list item.
+
+ **Returns:**
+ - the created item.
+
+
+---
+
+### createRegistrant()
+- createRegistrant(): [ProductListRegistrant](dw.customer.ProductListRegistrant.md)
+ - : Create a ProductListRegistrant and assign it to the registrant attribute
+ of the list. An exception is thrown if the list already has a registrant
+ assigned to it.
+
+
+ **Returns:**
+ - the created ProductListRegistrant instance.
+
+ **Throws:**
+ - CreateException - if one already exists
+
+
+---
+
+### getCoRegistrant()
+- getCoRegistrant(): [ProductListRegistrant](dw.customer.ProductListRegistrant.md)
+ - : Returns the ProductListRegistrant assigned to the coRegistrant attribute or null
+ if this list has no co-registrant.
+
+
+ **Returns:**
+ - the ProductListRegistrant assigned to the coRegistrant attribute or null
+ if this list has no co-registrant.
+
+
+
+---
+
+### getCurrentShippingAddress()
+- getCurrentShippingAddress(): [CustomerAddress](dw.customer.CustomerAddress.md)
+ - : This is a helper method typically used with an event related list.
+ It provides the appropriate shipping address based on the eventDate.
+ If the current date is after the eventDate, then the postEventShippingAddress
+ is returned, otherwise the shippingAddress is returned. If the eventDate
+ is null, then null is returned.
+
+
+ **Returns:**
+ - the appropriate address, as described above.
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns a description text that, for example, explains the purpose of this product list.
+
+ **Returns:**
+ - a description text explaining the purpose of this product list.
+ Returns an empty string if the description is not set.
+
+
+
+---
+
+### getEventCity()
+- getEventCity(): [String](TopLevel.String.md)
+ - : For event related uses (e.g. gift registry), this holds the event city.
+
+ **Returns:**
+ - the event city. The event city or an empty string if no event city is set.
+
+
+---
+
+### getEventCountry()
+- getEventCountry(): [String](TopLevel.String.md)
+ - : For event related uses (e.g. gift registry), this holds the event country.
+
+ **Returns:**
+ - the event country. The event country or an empty string if no event country is set.
+
+
+---
+
+### getEventDate()
+- getEventDate(): [Date](TopLevel.Date.md)
+ - : For event related uses (e.g. gift registry), this holds the date
+ of the event.
+
+
+ **Returns:**
+ - the date of the event.
+
+
+---
+
+### getEventState()
+- getEventState(): [String](TopLevel.String.md)
+ - : For event related uses (e.g. gift registry), this holds the event state.
+
+ **Returns:**
+ - the event state. The event state or an empty string if no event state is set.
+
+
+---
+
+### getEventType()
+- getEventType(): [String](TopLevel.String.md)
+ - : For event related uses (e.g. gift registry), this holds the type
+ of event, e.g. Wedding, Baby Shower.
+
+
+ **Returns:**
+ - the type of event. Returns an empty string, if not set.
+
+
+---
+
+### getExportStatus()
+- getExportStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the export status of the product list.
+
+ Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.customer.ProductList.md#export_status_notexported),
+ [EXPORT_STATUS_EXPORTED](dw.customer.ProductList.md#export_status_exported).
+
+
+ **Returns:**
+ - Product list export status
+
+
+---
+
+### getGiftCertificateItem()
+- getGiftCertificateItem(): [ProductListItem](dw.customer.ProductListItem.md)
+ - : Returns the item in the list that represents a gift certificate.
+
+ **Returns:**
+ - the gift certificate item, or null if it doesn't exist.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the unique system generated ID of the object.
+
+ **Returns:**
+ - the ID of object.
+
+
+---
+
+### getItem(String)
+- getItem(ID: [String](TopLevel.String.md)): [ProductListItem](dw.customer.ProductListItem.md)
+ - : Returns the item from the list that has the specified ID.
+
+ **Parameters:**
+ - ID - the product list item identifier.
+
+ **Returns:**
+ - the specified item, or null if it's not found in the list.
+
+
+---
+
+### getItems()
+- getItems(): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing all items in the list.
+
+ **Returns:**
+ - all items.
+
+
+---
+
+### getLastExportTime()
+- getLastExportTime(): [Date](TopLevel.Date.md)
+ - : Returns the date where this product list has been exported successfully
+ the last time.
+
+
+ **Returns:**
+ - The time of the last successful export or null if this product list
+ was not exported yet.
+
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of this product list given by its owner.
+
+ **Returns:**
+ - the name of this product list. Returns an empty string if the name is not set.
+
+
+---
+
+### getOwner()
+- getOwner(): [Customer](dw.customer.Customer.md)
+ - : Returns the customer that created and owns the product list.
+
+ **Returns:**
+ - Owning customer
+
+
+---
+
+### getPostEventShippingAddress()
+- getPostEventShippingAddress(): [CustomerAddress](dw.customer.CustomerAddress.md)
+ - : Returns the shipping address for purchases made after the event date.
+
+ **Returns:**
+ - the shipping address for purchases made after the event date.
+ Returns null if no post-event shipping address is associated.
+
+
+
+---
+
+### getProductItems()
+- getProductItems(): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing all items in the list that reference products.
+
+ **Returns:**
+ - all product items.
+
+
+---
+
+### getPublicItems()
+- getPublicItems(): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing all items in the list that are flagged as public.
+
+ **Returns:**
+ - all public items.
+
+
+---
+
+### getPurchases()
+- getPurchases(): [Collection](dw.util.Collection.md)
+ - : Returns the aggregated purchases from all the individual items.
+
+ **Returns:**
+ - purchases
+
+
+---
+
+### getRegistrant()
+- getRegistrant(): [ProductListRegistrant](dw.customer.ProductListRegistrant.md)
+ - : Returns the ProductListRegistrant assigned to the registrant attribute or null
+ if this list has no registrant.
+
+
+ **Returns:**
+ - the ProductListRegistrant assigned to the registrant attribute or null
+ if this list has no registrant.
+
+
+
+---
+
+### getShippingAddress()
+- getShippingAddress(): [CustomerAddress](dw.customer.CustomerAddress.md)
+ - : Return the address that should be used as the shipping address for purchases
+ made from the list.
+
+
+ **Returns:**
+ - the shipping address. The shipping address of this list or null
+ if no address is associated.
+
+
+
+---
+
+### getType()
+- getType(): [Number](TopLevel.Number.md)
+ - : Returns an int representing the type of object (e.g. wish list,
+ gift registry). This is set at object creation time.
+
+
+ **Returns:**
+ - the type of object.
+
+
+---
+
+### isAnonymous()
+- isAnonymous(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this product list is owned by an anonymous customer.
+
+ **Returns:**
+ - true if the owner of this product list is anonymous, false otherwise.
+
+
+---
+
+### isPublic()
+- isPublic(): [Boolean](TopLevel.Boolean.md)
+ - : A flag, typically used to determine if the object is searchable
+ by other customers.
+
+
+ **Returns:**
+ - true if the product list is public. False otherwise.
+
+
+---
+
+### removeCoRegistrant()
+- removeCoRegistrant(): void
+ - : Removes the ProductListRegistrant assigned to the coRegistrant attribute.
+
+
+---
+
+### removeItem(ProductListItem)
+- removeItem(item: [ProductListItem](dw.customer.ProductListItem.md)): void
+ - : Removes the specified item from the list. This will also cause
+ all purchase information associated with that item to be removed.
+
+
+ **Parameters:**
+ - item - The item to remove.
+
+
+---
+
+### removeRegistrant()
+- removeRegistrant(): void
+ - : Removes the ProductListRegistrant assigned to the registrant attribute.
+
+
+---
+
+### setDescription(String)
+- setDescription(description: [String](TopLevel.String.md)): void
+ - : Set the description of this product list.
+
+ **Parameters:**
+ - description - The description of this product list. The description can have up to 256 characters, longer descriptions get truncated. If an empty string is provided, the description gets set to null.
+
+
+---
+
+### setEventCity(String)
+- setEventCity(eventCity: [String](TopLevel.String.md)): void
+ - : Set the event city to which this product list is related.
+
+ **Parameters:**
+ - eventCity - The event city can have up to 256 characters, longer event city get truncated. If an empty string is provided, the event city gets set to null.
+
+
+---
+
+### setEventCountry(String)
+- setEventCountry(eventCountry: [String](TopLevel.String.md)): void
+ - : Set the event country to which this product list is related.
+
+ **Parameters:**
+ - eventCountry - The event country can have up to 256 characters, longer event country get truncated. If an empty string is provided, the event country gets set to null.
+
+
+---
+
+### setEventDate(Date)
+- setEventDate(eventDate: [Date](TopLevel.Date.md)): void
+ - : Set the date of the event to which this product list is related.
+
+ **Parameters:**
+ - eventDate - The event date or null if no event date should be available.
+
+
+---
+
+### setEventState(String)
+- setEventState(eventState: [String](TopLevel.String.md)): void
+ - : Set the event state to which this product list is related.
+
+ **Parameters:**
+ - eventState - The event state can have up to 256 characters, longer event state get truncated. If an empty string is provided, the event state gets set to null.
+
+
+---
+
+### setEventType(String)
+- setEventType(eventType: [String](TopLevel.String.md)): void
+ - : Set the event type for which this product list was created by the owner.
+
+ **Parameters:**
+ - eventType - The event type can have up to 256 characters, longer event type get truncated. If an empty string is provided, the event type gets set to null.
+
+
+---
+
+### setName(String)
+- setName(name: [String](TopLevel.String.md)): void
+ - : Set the name of this product list.
+
+ **Parameters:**
+ - name - The name of this product list. The name can have up to 256 characters, longer names get truncated. If an empty string is provided, the name gets set to null.
+
+
+---
+
+### setPostEventShippingAddress(CustomerAddress)
+- setPostEventShippingAddress(address: [CustomerAddress](dw.customer.CustomerAddress.md)): void
+ - : This is typically used by an event related list (e.g. gift registry) to
+ specify a shipping address for purchases made after the event date.
+
+
+ **Parameters:**
+ - address - The shipping address.
+
+
+---
+
+### setPublic(Boolean)
+- setPublic(flag: [Boolean](TopLevel.Boolean.md)): void
+ - : Makes this product list visible to other customers or hides it.
+
+ **Parameters:**
+ - flag - If true, this product list becomes visible to other customers. If false, this product list can only be seen and searched by its owner.
+
+
+---
+
+### setShippingAddress(CustomerAddress)
+- setShippingAddress(address: [CustomerAddress](dw.customer.CustomerAddress.md)): void
+ - : Associate an address, used as the shipping address for purchases
+ made from the list.
+
+
+ **Parameters:**
+ - address - The shipping address.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListItem.md
new file mode 100644
index 00000000..6136ca24
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListItem.md
@@ -0,0 +1,469 @@
+
+# Class ProductListItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.customer.ProductListItem](dw.customer.ProductListItem.md)
+
+An item in a product list. Types of items are:
+
+
+- An item that references a product via the product's SKU.
+- An item that represents a gift certificate.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [TYPE_GIFT_CERTIFICATE](#type_gift_certificate): [Number](TopLevel.Number.md) = 2 | Constant representing a gift certificate list item type. |
+| [TYPE_PRODUCT](#type_product): [Number](TopLevel.Number.md) = 1 | Constant representing a product list item type. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the unique system generated ID of the object. |
+| [list](#list): [ProductList](dw.customer.ProductList.md) `(read-only)` | Returns the product list that this item belongs to. |
+| [priority](#priority): [Number](TopLevel.Number.md) | Specify the priority level for the item. |
+| [product](#product): [Product](dw.catalog.Product.md) | Returns the referenced product for this item. |
+| [productID](#productid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the product referenced by this item. |
+| [productOptionModel](#productoptionmodel): [ProductOptionModel](dw.catalog.ProductOptionModel.md) | Returns the ProductOptionModel for the product associated with this item, or null if there is no valid product associated with this item. |
+| [public](#public): [Boolean](TopLevel.Boolean.md) | A flag, typically used to determine whether the item should display in a customer's view of the list (as opposed to the list owner's view). |
+| [purchasedQuantity](#purchasedquantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the sum of the quantities of all the individual purchase records for this item. |
+| [purchasedQuantityValue](#purchasedquantityvalue): [Number](TopLevel.Number.md) `(read-only)` | Returns the value part of the underlying purchased quantity object, as distinct from the unit. |
+| [purchases](#purchases): [Collection](dw.util.Collection.md) `(read-only)` | Returns all purchases made for this item. |
+| [quantity](#quantity): [Quantity](dw.value.Quantity.md) | Returns the quantity of the item. |
+| [quantityValue](#quantityvalue): [Number](TopLevel.Number.md) | Returns the value part of the underlying quantity object, as distinct from the unit. |
+| [type](#type): [Number](TopLevel.Number.md) `(read-only)` | Returns the type of this product list item. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createPurchase](dw.customer.ProductListItem.md#createpurchasenumber-string)([Number](TopLevel.Number.md), [String](TopLevel.String.md)) | Create a purchase record for this item. |
+| [getID](dw.customer.ProductListItem.md#getid)() | Returns the unique system generated ID of the object. |
+| [getList](dw.customer.ProductListItem.md#getlist)() | Returns the product list that this item belongs to. |
+| [getPriority](dw.customer.ProductListItem.md#getpriority)() | Specify the priority level for the item. |
+| [getProduct](dw.customer.ProductListItem.md#getproduct)() | Returns the referenced product for this item. |
+| [getProductID](dw.customer.ProductListItem.md#getproductid)() | Returns the ID of the product referenced by this item. |
+| [getProductOptionModel](dw.customer.ProductListItem.md#getproductoptionmodel)() | Returns the ProductOptionModel for the product associated with this item, or null if there is no valid product associated with this item. |
+| [getPurchasedQuantity](dw.customer.ProductListItem.md#getpurchasedquantity)() | Returns the sum of the quantities of all the individual purchase records for this item. |
+| [getPurchasedQuantityValue](dw.customer.ProductListItem.md#getpurchasedquantityvalue)() | Returns the value part of the underlying purchased quantity object, as distinct from the unit. |
+| [getPurchases](dw.customer.ProductListItem.md#getpurchases)() | Returns all purchases made for this item. |
+| [getQuantity](dw.customer.ProductListItem.md#getquantity)() | Returns the quantity of the item. |
+| [getQuantityValue](dw.customer.ProductListItem.md#getquantityvalue)() | Returns the value part of the underlying quantity object, as distinct from the unit. |
+| [getType](dw.customer.ProductListItem.md#gettype)() | Returns the type of this product list item. |
+| [isPublic](dw.customer.ProductListItem.md#ispublic)() | A flag, typically used to determine whether the item should display in a customer's view of the list (as opposed to the list owner's view). |
+| [setPriority](dw.customer.ProductListItem.md#setprioritynumber)([Number](TopLevel.Number.md)) | Specify the priority level for the item. |
+| ~~[setProduct](dw.customer.ProductListItem.md#setproductproduct)([Product](dw.catalog.Product.md))~~ | Sets the referenced product for this item by storing the product's id. |
+| [setProductOptionModel](dw.customer.ProductListItem.md#setproductoptionmodelproductoptionmodel)([ProductOptionModel](dw.catalog.ProductOptionModel.md)) | Store a product option model with this object. |
+| [setPublic](dw.customer.ProductListItem.md#setpublicboolean)([Boolean](TopLevel.Boolean.md)) | Typically used to determine if the item is visible to other customers. |
+| ~~[setQuantity](dw.customer.ProductListItem.md#setquantityquantity)([Quantity](dw.value.Quantity.md))~~ | Sets the quantity of the item. |
+| [setQuantityValue](dw.customer.ProductListItem.md#setquantityvaluenumber)([Number](TopLevel.Number.md)) | Set the value part of the underlying quantity object, as distinct from the unit. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### TYPE_GIFT_CERTIFICATE
+
+- TYPE_GIFT_CERTIFICATE: [Number](TopLevel.Number.md) = 2
+ - : Constant representing a gift certificate list item type.
+
+
+---
+
+### TYPE_PRODUCT
+
+- TYPE_PRODUCT: [Number](TopLevel.Number.md) = 1
+ - : Constant representing a product list item type.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique system generated ID of the object.
+
+
+---
+
+### list
+- list: [ProductList](dw.customer.ProductList.md) `(read-only)`
+ - : Returns the product list that this item belongs to.
+
+
+---
+
+### priority
+- priority: [Number](TopLevel.Number.md)
+ - : Specify the priority level for the item. Typically the lower the
+ number, the higher the priority. This can be used by the owner of the product list
+ to express which items he/she likes to get purchased first.
+
+
+
+---
+
+### product
+- product: [Product](dw.catalog.Product.md)
+ - : Returns the referenced product for this item. The reference is made
+ via the product ID attribute. This method returns null if there is
+ no such product in the system or if the product exists but is not
+ assigned to the site catalog.
+
+
+
+---
+
+### productID
+- productID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the product referenced by this item.
+ This attribute is set when a product is assigned via setProduct().
+ It is possible for the ID to reference a product that doesn't exist
+ anymore. In this case getProduct() would return null.
+
+
+
+---
+
+### productOptionModel
+- productOptionModel: [ProductOptionModel](dw.catalog.ProductOptionModel.md)
+ - : Returns the ProductOptionModel for the product associated with this item,
+ or null if there is no valid product associated with this item.
+
+
+
+---
+
+### public
+- public: [Boolean](TopLevel.Boolean.md)
+ - : A flag, typically used to determine whether the item should display
+ in a customer's view of the list (as opposed to the list owner's view).
+
+
+
+---
+
+### purchasedQuantity
+- purchasedQuantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the sum of the quantities of all the individual purchase records
+ for this item.
+
+
+
+---
+
+### purchasedQuantityValue
+- purchasedQuantityValue: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the value part of the underlying purchased quantity object, as distinct
+ from the unit.
+
+
+
+---
+
+### purchases
+- purchases: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all purchases made for this item.
+
+
+---
+
+### quantity
+- quantity: [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity of the item.
+ The quantity is the number of products or gift certificates
+ that get shipped when purchasing this product list item.
+
+
+
+---
+
+### quantityValue
+- quantityValue: [Number](TopLevel.Number.md)
+ - : Returns the value part of the underlying quantity object, as distinct
+ from the unit.
+
+
+
+---
+
+### type
+- type: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the type of this product list item.
+
+
+---
+
+## Method Details
+
+### createPurchase(Number, String)
+- createPurchase(quantity: [Number](TopLevel.Number.md), purchaserName: [String](TopLevel.String.md)): [ProductListItemPurchase](dw.customer.ProductListItemPurchase.md)
+ - : Create a purchase record for this item.
+
+ **Parameters:**
+ - quantity - The number of items purchased.
+ - purchaserName - The name of the purchaser.
+
+ **Returns:**
+ - the purchase record.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the unique system generated ID of the object.
+
+ **Returns:**
+ - the ID of object.
+
+
+---
+
+### getList()
+- getList(): [ProductList](dw.customer.ProductList.md)
+ - : Returns the product list that this item belongs to.
+
+ **Returns:**
+ - the list.
+
+
+---
+
+### getPriority()
+- getPriority(): [Number](TopLevel.Number.md)
+ - : Specify the priority level for the item. Typically the lower the
+ number, the higher the priority. This can be used by the owner of the product list
+ to express which items he/she likes to get purchased first.
+
+
+ **Returns:**
+ - the specified priority level.
+
+
+---
+
+### getProduct()
+- getProduct(): [Product](dw.catalog.Product.md)
+ - : Returns the referenced product for this item. The reference is made
+ via the product ID attribute. This method returns null if there is
+ no such product in the system or if the product exists but is not
+ assigned to the site catalog.
+
+
+ **Returns:**
+ - the product referenced by this item, or null.
+
+
+---
+
+### getProductID()
+- getProductID(): [String](TopLevel.String.md)
+ - : Returns the ID of the product referenced by this item.
+ This attribute is set when a product is assigned via setProduct().
+ It is possible for the ID to reference a product that doesn't exist
+ anymore. In this case getProduct() would return null.
+
+
+ **Returns:**
+ - the product ID, or null if none exists.
+
+
+---
+
+### getProductOptionModel()
+- getProductOptionModel(): [ProductOptionModel](dw.catalog.ProductOptionModel.md)
+ - : Returns the ProductOptionModel for the product associated with this item,
+ or null if there is no valid product associated with this item.
+
+
+ **Returns:**
+ - the associated ProductOptionModel or null.
+
+
+---
+
+### getPurchasedQuantity()
+- getPurchasedQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the sum of the quantities of all the individual purchase records
+ for this item.
+
+
+ **Returns:**
+ - the sum of the quantities of all the individual purchase records
+ for this item.
+
+
+
+---
+
+### getPurchasedQuantityValue()
+- getPurchasedQuantityValue(): [Number](TopLevel.Number.md)
+ - : Returns the value part of the underlying purchased quantity object, as distinct
+ from the unit.
+
+
+ **Returns:**
+ - the value part of the underlying purchased quantity object, as distinct
+ from the unit.
+
+
+
+---
+
+### getPurchases()
+- getPurchases(): [Collection](dw.util.Collection.md)
+ - : Returns all purchases made for this item.
+
+ **Returns:**
+ - the collection of purchase records for this item. Returns an empty list
+ if this item has not been purchased yet.
+
+
+
+---
+
+### getQuantity()
+- getQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity of the item.
+ The quantity is the number of products or gift certificates
+ that get shipped when purchasing this product list item.
+
+
+ **Returns:**
+ - the quantity of the item.
+
+
+---
+
+### getQuantityValue()
+- getQuantityValue(): [Number](TopLevel.Number.md)
+ - : Returns the value part of the underlying quantity object, as distinct
+ from the unit.
+
+
+ **Returns:**
+ - the value part of the underlying quantity object, as distinct
+ from the unit.
+
+
+
+---
+
+### getType()
+- getType(): [Number](TopLevel.Number.md)
+ - : Returns the type of this product list item.
+
+ **Returns:**
+ - a code that specifies the type of item (i.e. product or gift certificate).
+
+
+---
+
+### isPublic()
+- isPublic(): [Boolean](TopLevel.Boolean.md)
+ - : A flag, typically used to determine whether the item should display
+ in a customer's view of the list (as opposed to the list owner's view).
+
+
+ **Returns:**
+ - true if the item is public.
+
+
+---
+
+### setPriority(Number)
+- setPriority(priority: [Number](TopLevel.Number.md)): void
+ - : Specify the priority level for the item. Typically the lower the
+ number, the higher the priority. This can be used by the owner of the product list
+ to express which items he/she likes to get purchased first.
+
+
+ **Parameters:**
+ - priority - The new priority level.
+
+
+---
+
+### setProduct(Product)
+- ~~setProduct(product: [Product](dw.catalog.Product.md)): void~~
+ - : Sets the referenced product for this item by storing the product's id.
+ If null is specified, then the id is set to null.
+
+
+ **Parameters:**
+ - product - The referenced product for this item.
+
+ **Deprecated:**
+:::warning
+Use [ProductList.createProductItem(Product)](dw.customer.ProductList.md#createproductitemproduct) instead.
+:::
+
+---
+
+### setProductOptionModel(ProductOptionModel)
+- setProductOptionModel(productOptionModel: [ProductOptionModel](dw.catalog.ProductOptionModel.md)): void
+ - : Store a product option model with this object. This stores a copy
+ of the specified model, rather than an assocation to the same instance.
+
+
+ **Parameters:**
+ - productOptionModel - The object to store.
+
+
+---
+
+### setPublic(Boolean)
+- setPublic(flag: [Boolean](TopLevel.Boolean.md)): void
+ - : Typically used to determine if the item is visible to other customers.
+
+ **Parameters:**
+ - flag - If true, this product list becomes visible to other customers. If false, this product list can only be seen by the owner of the product list.
+
+
+---
+
+### setQuantity(Quantity)
+- ~~setQuantity(value: [Quantity](dw.value.Quantity.md)): void~~
+ - : Sets the quantity of the item.
+
+ **Parameters:**
+ - value - the new quantity of the item.
+
+ **Deprecated:**
+:::warning
+Use [setQuantityValue(Number)](dw.customer.ProductListItem.md#setquantityvaluenumber) instead.
+:::
+
+---
+
+### setQuantityValue(Number)
+- setQuantityValue(value: [Number](TopLevel.Number.md)): void
+ - : Set the value part of the underlying quantity object, as distinct from
+ the unit.
+
+
+ **Parameters:**
+ - value - the value to use.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListItemPurchase.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListItemPurchase.md
new file mode 100644
index 00000000..31ee09e3
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListItemPurchase.md
@@ -0,0 +1,139 @@
+
+# Class ProductListItemPurchase
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.customer.ProductListItemPurchase](dw.customer.ProductListItemPurchase.md)
+
+A record of the purchase of an item contained in a product list.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [item](#item): [ProductListItem](dw.customer.ProductListItem.md) `(read-only)` | Returns the item that was purchased. |
+| [orderNo](#orderno): [String](TopLevel.String.md) `(read-only)` | Returns the number of the order in which the product list item was purchased. |
+| [purchaseDate](#purchasedate): [Date](TopLevel.Date.md) `(read-only)` | Returns the date on which the product list item was purchased. |
+| [purchaserName](#purchasername): [String](TopLevel.String.md) `(read-only)` | Returns the name of the purchaser of the product list item. |
+| [quantity](#quantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the quantity of the product list item that was purchased. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getItem](dw.customer.ProductListItemPurchase.md#getitem)() | Returns the item that was purchased. |
+| [getOrderNo](dw.customer.ProductListItemPurchase.md#getorderno)() | Returns the number of the order in which the product list item was purchased. |
+| [getPurchaseDate](dw.customer.ProductListItemPurchase.md#getpurchasedate)() | Returns the date on which the product list item was purchased. |
+| [getPurchaserName](dw.customer.ProductListItemPurchase.md#getpurchasername)() | Returns the name of the purchaser of the product list item. |
+| [getQuantity](dw.customer.ProductListItemPurchase.md#getquantity)() | Returns the quantity of the product list item that was purchased. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### item
+- item: [ProductListItem](dw.customer.ProductListItem.md) `(read-only)`
+ - : Returns the item that was purchased.
+
+
+---
+
+### orderNo
+- orderNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the number of the order in which the
+ product list item was purchased.
+
+
+
+---
+
+### purchaseDate
+- purchaseDate: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the date on which the product list item was purchased.
+
+
+---
+
+### purchaserName
+- purchaserName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the purchaser of the product list item.
+
+
+---
+
+### quantity
+- quantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the quantity of the product list item that was purchased.
+
+
+---
+
+## Method Details
+
+### getItem()
+- getItem(): [ProductListItem](dw.customer.ProductListItem.md)
+ - : Returns the item that was purchased.
+
+ **Returns:**
+ - the item that was purchased.
+
+
+---
+
+### getOrderNo()
+- getOrderNo(): [String](TopLevel.String.md)
+ - : Returns the number of the order in which the
+ product list item was purchased.
+
+
+ **Returns:**
+ - the number of the order in which the
+ product list item was purchased.
+
+
+
+---
+
+### getPurchaseDate()
+- getPurchaseDate(): [Date](TopLevel.Date.md)
+ - : Returns the date on which the product list item was purchased.
+
+ **Returns:**
+ - the date on which the product list item was purchased.
+
+
+---
+
+### getPurchaserName()
+- getPurchaserName(): [String](TopLevel.String.md)
+ - : Returns the name of the purchaser of the product list item.
+
+ **Returns:**
+ - the name of the purchaser of the product list item.
+
+
+---
+
+### getQuantity()
+- getQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity of the product list item that was purchased.
+
+ **Returns:**
+ - the quantity of the product list item that was purchased.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListMgr.md
new file mode 100644
index 00000000..6384780d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.ProductListMgr.md
@@ -0,0 +1,350 @@
+
+# Class ProductListMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.ProductListMgr](dw.customer.ProductListMgr.md)
+
+ProductListMgr provides methods for retrieving, creating, searching for, and
+removing product lists.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [createProductList](dw.customer.ProductListMgr.md#createproductlistcustomer-number)([Customer](dw.customer.Customer.md), [Number](TopLevel.Number.md)) | Creates a new instance of a product list, of the specified type. |
+| ~~static [getProductList](dw.customer.ProductListMgr.md#getproductlistprofile-number)([Profile](dw.customer.Profile.md), [Number](TopLevel.Number.md))~~ | Returns the first product list belonging to the customer with the specified profile. |
+| static [getProductList](dw.customer.ProductListMgr.md#getproductliststring)([String](TopLevel.String.md)) | Gets the product list by its ID. |
+| static [getProductLists](dw.customer.ProductListMgr.md#getproductlistscustomer-number)([Customer](dw.customer.Customer.md), [Number](TopLevel.Number.md)) | Retrieve all product lists of the specified type owned by the specified customer. |
+| static [getProductLists](dw.customer.ProductListMgr.md#getproductlistscustomer-number-string)([Customer](dw.customer.Customer.md), [Number](TopLevel.Number.md), [String](TopLevel.String.md)) | Retrieve all the product lists of the specified type and event type belonging to the specified customer. |
+| static [getProductLists](dw.customer.ProductListMgr.md#getproductlistscustomeraddress)([CustomerAddress](dw.customer.CustomerAddress.md)) | Returns the collection of product lists that have the specified address as the shipping address. |
+| static [queryProductLists](dw.customer.ProductListMgr.md#queryproductlistsmap-string)([Map](dw.util.Map.md), [String](TopLevel.String.md)) |
Contains both the [OAuthAccessTokenResponse](dw.customer.oauth.OAuthAccessTokenResponse.md)
and the [OAuthUserInfoResponse](dw.customer.oauth.OAuthUserInfoResponse.md) |
+| [OAuthLoginFlowMgr](dw.customer.oauth.OAuthLoginFlowMgr.md) | The OAuthLoginFlowMgr encapsulates interactions with third party OAuth providers to support the Authorization Code Flow.
The way to use is:
Sample code for using it: |
+| [OAuthUserInfoResponse](dw.customer.oauth.OAuthUserInfoResponse.md) | Contains the response from the third-party OAuth server when requesting user info. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContext.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContext.md
new file mode 100644
index 00000000..8444973e
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContext.md
@@ -0,0 +1,369 @@
+
+# Class ShopperContext
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.shoppercontext.ShopperContext](dw.customer.shoppercontext.ShopperContext.md)
+
+The class represents Shopper Context. It is used to manage personalized shopping experiences on your storefront.
+
+
+Shopper Context is used to personalize shopper experiences with context values such as custom session attributes,
+assignment qualifiers, geolocation, clientIP address, effective date time, source code, coupon code and customer
+groups.
+
+
+
+
+When Shopper Context is set for a shopper, the context is applied in the next request and can activate promotions or
+price books assigned to customer groups, source codes, or stores (via assignments).
+Also see: [ShopperContextMgr](dw.customer.shoppercontext.ShopperContextMgr.md)
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [assignmentQualifiers](#assignmentqualifiers): [Map](dw.util.Map.md) | Returns the assignment qualifiers from the Shopper Context. |
+| [clientIP](#clientip): [String](TopLevel.String.md) | Returns the IP address of the client from the Shopper Context. |
+| [couponCodes](#couponcodes): [Set](dw.util.Set.md) | Returns the Coupon codes from the Shopper Context. |
+| [customQualifiers](#customqualifiers): [Map](dw.util.Map.md) | Returns the custom qualifiers from the Shopper Context. |
+| [customerGroupIDs](#customergroupids): [Set](dw.util.Set.md) | Returns customer group IDs from the Shopper Context to apply. |
+| [effectiveDateTime](#effectivedatetime): [Date](TopLevel.Date.md) | Returns the effective date time from the Shopper Context. |
+| [geolocation](#geolocation): [Geolocation](dw.util.Geolocation.md) | Returns the geographic location from the Shopper Context. |
+| [sourceCode](#sourcecode): [String](TopLevel.String.md) | Returns the source code from the Shopper Context. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [ShopperContext](#shoppercontext)() | Constructor for ShopperContext. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAssignmentQualifiers](dw.customer.shoppercontext.ShopperContext.md#getassignmentqualifiers)() | Returns the assignment qualifiers from the Shopper Context. |
+| [getClientIP](dw.customer.shoppercontext.ShopperContext.md#getclientip)() | Returns the IP address of the client from the Shopper Context. |
+| [getCouponCodes](dw.customer.shoppercontext.ShopperContext.md#getcouponcodes)() | Returns the Coupon codes from the Shopper Context. |
+| [getCustomQualifiers](dw.customer.shoppercontext.ShopperContext.md#getcustomqualifiers)() | Returns the custom qualifiers from the Shopper Context. |
+| [getCustomerGroupIDs](dw.customer.shoppercontext.ShopperContext.md#getcustomergroupids)() | Returns customer group IDs from the Shopper Context to apply. |
+| [getEffectiveDateTime](dw.customer.shoppercontext.ShopperContext.md#geteffectivedatetime)() | Returns the effective date time from the Shopper Context. |
+| [getGeolocation](dw.customer.shoppercontext.ShopperContext.md#getgeolocation)() | Returns the geographic location from the Shopper Context. |
+| [getSourceCode](dw.customer.shoppercontext.ShopperContext.md#getsourcecode)() | Returns the source code from the Shopper Context. |
+| [setAssignmentQualifiers](dw.customer.shoppercontext.ShopperContext.md#setassignmentqualifiersmap)([Map](dw.util.Map.md)) | Sets the assignment qualifiers in the Shopper Context. |
+| [setClientIP](dw.customer.shoppercontext.ShopperContext.md#setclientipstring)([String](TopLevel.String.md)) | Sets the IP address of the client in the Shopper Context. |
+| [setCouponCodes](dw.customer.shoppercontext.ShopperContext.md#setcouponcodesset)([Set](dw.util.Set.md)) | Sets the Coupon codes in the Shopper Context. |
+| [setCustomQualifiers](dw.customer.shoppercontext.ShopperContext.md#setcustomqualifiersmap)([Map](dw.util.Map.md)) | Sets the session custom attributes as custom qualifiers in the Shopper Context. |
+| [setCustomerGroupIDs](dw.customer.shoppercontext.ShopperContext.md#setcustomergroupidsset)([Set](dw.util.Set.md)) | Sets the customer group IDs for the Shopper Context to apply. |
+| [setEffectiveDateTime](dw.customer.shoppercontext.ShopperContext.md#seteffectivedatetimedate)([Date](TopLevel.Date.md)) | Sets the effective date time for the context to apply. |
+| [setGeolocation](dw.customer.shoppercontext.ShopperContext.md#setgeolocationgeolocation)([Geolocation](dw.util.Geolocation.md)) | Sets the geographic location of the client in the Shopper Context. |
+| [setSourceCode](dw.customer.shoppercontext.ShopperContext.md#setsourcecodestring)([String](TopLevel.String.md)) | Sets the source code for the Shopper Context to apply. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### assignmentQualifiers
+- assignmentQualifiers: [Map](dw.util.Map.md)
+ - : Returns the assignment qualifiers from the Shopper Context. Assignment qualifiers are set when using the
+ assignment framework to trigger pricing and promotion experiences for Products, Product Search, Basket, Shipping
+ methods etc.
+
+
+
+---
+
+### clientIP
+- clientIP: [String](TopLevel.String.md)
+ - : Returns the IP address of the client from the Shopper Context.
+
+
+---
+
+### couponCodes
+- couponCodes: [Set](dw.util.Set.md)
+ - : Returns the Coupon codes from the Shopper Context.
+
+
+---
+
+### customQualifiers
+- customQualifiers: [Map](dw.util.Map.md)
+ - : Returns the custom qualifiers from the Shopper Context. Custom qualifiers contain the custom session attributes
+ set in the Shopper Context.
+
+
+
+---
+
+### customerGroupIDs
+- customerGroupIDs: [Set](dw.util.Set.md)
+ - : Returns customer group IDs from the Shopper Context to apply. The customer group IDs set in Shopper Context
+ evaluate to customer groups that trigger the promotions (campaign assignment) assigned to the customer groups.
+
+
+
+---
+
+### effectiveDateTime
+- effectiveDateTime: [Date](TopLevel.Date.md)
+ - : Returns the effective date time from the Shopper Context. With the effective date time you can retrieve
+ promotions that are active at a particular time. For example, "Shop the Future" use cases.
+
+
+
+---
+
+### geolocation
+- geolocation: [Geolocation](dw.util.Geolocation.md)
+ - : Returns the geographic location from the Shopper Context.
+
+
+---
+
+### sourceCode
+- sourceCode: [String](TopLevel.String.md)
+ - : Returns the source code from the Shopper Context. The source code set in Shopper Context evaluates to source code
+ group that triggers the promotion (campaign assignment) and Price books (assigned to Source code group).
+
+
+
+---
+
+## Constructor Details
+
+### ShopperContext()
+- ShopperContext()
+ - : Constructor for ShopperContext.
+
+
+ This constructor is used to create an empty object. The object will be empty and must be populated with the
+ appropriate setter methods. For example:
+
+ ```
+ ShopperContext context = new ShopperContext();
+ context.setSourceCode( "sourcecode" );
+ ShopperContextMgr.setShopperContext( context, true );
+ ```
+
+
+
+---
+
+## Method Details
+
+### getAssignmentQualifiers()
+- getAssignmentQualifiers(): [Map](dw.util.Map.md)
+ - : Returns the assignment qualifiers from the Shopper Context. Assignment qualifiers are set when using the
+ assignment framework to trigger pricing and promotion experiences for Products, Product Search, Basket, Shipping
+ methods etc.
+
+
+ **Returns:**
+ - A map of assignment qualifiers set in the Shopper Context.
+
+
+---
+
+### getClientIP()
+- getClientIP(): [String](TopLevel.String.md)
+ - : Returns the IP address of the client from the Shopper Context.
+
+ **Returns:**
+ - The IP address of the client set in the Shopper Context.
+
+
+---
+
+### getCouponCodes()
+- getCouponCodes(): [Set](dw.util.Set.md)
+ - : Returns the Coupon codes from the Shopper Context.
+
+ **Returns:**
+ - The Coupon codes set in the Shopper Context.
+
+
+---
+
+### getCustomQualifiers()
+- getCustomQualifiers(): [Map](dw.util.Map.md)
+ - : Returns the custom qualifiers from the Shopper Context. Custom qualifiers contain the custom session attributes
+ set in the Shopper Context.
+
+
+ **Returns:**
+ - A map containing the custom qualifiers set in the Shopper Context.
+
+
+---
+
+### getCustomerGroupIDs()
+- getCustomerGroupIDs(): [Set](dw.util.Set.md)
+ - : Returns customer group IDs from the Shopper Context to apply. The customer group IDs set in Shopper Context
+ evaluate to customer groups that trigger the promotions (campaign assignment) assigned to the customer groups.
+
+
+ **Returns:**
+ - The customer group IDs for the Shopper Context to apply.
+
+
+---
+
+### getEffectiveDateTime()
+- getEffectiveDateTime(): [Date](TopLevel.Date.md)
+ - : Returns the effective date time from the Shopper Context. With the effective date time you can retrieve
+ promotions that are active at a particular time. For example, "Shop the Future" use cases.
+
+
+ **Returns:**
+ - The effective date time in UTC for the Shopper Context to apply.
+
+
+---
+
+### getGeolocation()
+- getGeolocation(): [Geolocation](dw.util.Geolocation.md)
+ - : Returns the geographic location from the Shopper Context.
+
+ **Returns:**
+ - The geographic location set in the Shopper Context.
+
+
+---
+
+### getSourceCode()
+- getSourceCode(): [String](TopLevel.String.md)
+ - : Returns the source code from the Shopper Context. The source code set in Shopper Context evaluates to source code
+ group that triggers the promotion (campaign assignment) and Price books (assigned to Source code group).
+
+
+ **Returns:**
+ - The source code for the Shopper Context to apply.
+
+
+---
+
+### setAssignmentQualifiers(Map)
+- setAssignmentQualifiers(assignmentQualifiers: [Map](dw.util.Map.md)): void
+ - : Sets the assignment qualifiers in the Shopper Context. Assignment qualifiers are set when using the assignment
+ framework to trigger pricing and promotion experiences for Products, Product Search, Basket, Shipping methods
+ etc.
+
+
+ **Example: Assignment qualifier for store can be set as follows: **
+
+ ```
+ var assignmentQualifiers = new dw.util.HashMap();
+ assignmentQualifiers.put( "storeId", "Boston" );
+ ShopperContext context = new ShopperContext();
+ context.setAssignmentQualifiers( customQualifiers );
+ ShopperContextMgr.setShopperContext( context, true );
+ ```
+
+
+ **Parameters:**
+ - assignmentQualifiers - A map which contains the assignment qualifiers to save in the Shopper Context.
+
+
+---
+
+### setClientIP(String)
+- setClientIP(clientIP: [String](TopLevel.String.md)): void
+ - : Sets the IP address of the client in the Shopper Context. The client IP evaluates to a geolocation. If the client
+ IP address is not a valid IPv4/IPv6 address an error is thrown.
+
+
+ **Parameters:**
+ - clientIP - The IP Address of the client to set in the Shopper Context.
+
+
+---
+
+### setCouponCodes(Set)
+- setCouponCodes(couponCodes: [Set](dw.util.Set.md)): void
+ - : Sets the Coupon codes in the Shopper Context. When you set coupon codes, it is saved as context for subsequent
+ requests and can then trigger promotions via the campaign which are tied to the coupon. A maximum of 5 coupon
+ codes can be set in the ShopperContext.
+
+
+ **Parameters:**
+ - couponCodes - The set of coupon codes to set in the Shopper Context. A maximum of 5 coupon codes per ShopperContext are allowed.
+
+
+---
+
+### setCustomQualifiers(Map)
+- setCustomQualifiers(customQualifiers: [Map](dw.util.Map.md)): void
+ - : Sets the session custom attributes as custom qualifiers in the Shopper Context. Custom qualifiers are set when
+ you want to trigger pricing and promotion experiences using a dynamic session-based customer groups.
+
+
+ **Example: A session custom attribute 'device\_type' can be saved as follows: **
+
+ ```
+ var customQualifiers = new dw.util.HashMap();
+ customQualifiers.put( "deviceType", "iPad" );
+ ShopperContext context = new ShopperContext();
+ context.setCustomQualifiers( customQualifiers );
+ ShopperContextMgr.setShopperContext( context, true );
+ ```
+
+
+ **Parameters:**
+ - customQualifiers - A map which contains the custom session attributes to save in the Shopper Context.
+
+
+---
+
+### setCustomerGroupIDs(Set)
+- setCustomerGroupIDs(customerGroupIDs: [Set](dw.util.Set.md)): void
+ - : Sets the customer group IDs for the Shopper Context to apply. Set the customer group IDs to evaluate customer
+ groups that trigger the promotions (campaign assignment) assigned to the customer groups.
+
+
+ **Parameters:**
+ - customerGroupIDs - The customer group IDs for the Shopper Context to apply.
+
+
+---
+
+### setEffectiveDateTime(Date)
+- setEffectiveDateTime(effectiveDateTime: [Date](TopLevel.Date.md)): void
+ - : Sets the effective date time for the context to apply. With the effective date time you can retrieve promotions
+ that are active at a particular time. For example, "Shop the Future" use cases.
+
+
+ **Parameters:**
+ - effectiveDateTime - The effective date time to set in the Shopper Context.
+
+
+---
+
+### setGeolocation(Geolocation)
+- setGeolocation(geolocation: [Geolocation](dw.util.Geolocation.md)): void
+ - : Sets the geographic location of the client in the Shopper Context. When you set a geolocation, it is saved as
+ context for subsequent requests. This overrides any context previously saved using clientIP in the Shopper
+ Context.
+
+
+ **Parameters:**
+ - geolocation - The geographic location of the client to set in the Shopper Context.
+
+
+---
+
+### setSourceCode(String)
+- setSourceCode(sourceCode: [String](TopLevel.String.md)): void
+ - : Sets the source code for the Shopper Context to apply. Set the source code to evaluate source code group that
+ triggers the promotion (campaign assignment) and Price books (assigned to Source code group).
+
+
+ **Parameters:**
+ - sourceCode - The source code to set in the Shopper Context.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContextErrorCodes.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContextErrorCodes.md
new file mode 100644
index 00000000..5df04218
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContextErrorCodes.md
@@ -0,0 +1,111 @@
+
+# Class ShopperContextErrorCodes
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.shoppercontext.ShopperContextErrorCodes](dw.customer.shoppercontext.ShopperContextErrorCodes.md)
+
+Helper class containing error codes to indicate why a Shopper Context cannot be accessed, set or modified.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [ASSIGNMENT_QUALIFIERS_LIMIT_EXCEEDED](#assignment_qualifiers_limit_exceeded): [String](TopLevel.String.md) = "ASSIGNMENT_QUALIFIERS_LIMIT_EXCEEDED" | Indicates that the assignment qualifiers limit exceeded |
+| [COUPON_CODES_LIMIT_EXCEEDED](#coupon_codes_limit_exceeded): [String](TopLevel.String.md) = "COUPON_CODES_LIMIT_EXCEEDED" | Indicates that the coupon codes limit exceeded |
+| [CUSTOM_QUALIFIERS_LIMIT_EXCEEDED](#custom_qualifiers_limit_exceeded): [String](TopLevel.String.md) = "CUSTOM_QUALIFIERS_LIMIT_EXCEEDED" | Indicates that the custom qualifiers limit exceeded |
+| [FEATURE_DISABLED](#feature_disabled): [String](TopLevel.String.md) = "FEATURE_DISABLED" | Indicates that the feature toggle 'ShopperContextEnabled' is not enabled. |
+| [INTERNAL_ERROR](#internal_error): [String](TopLevel.String.md) = "INTERNAL_ERROR" | Indicates that an internal error occurred while setting, retrieving or deleting the shopper context |
+| [INVALID_ARGUMENT](#invalid_argument): [String](TopLevel.String.md) = "INVALID_ARGUMENT" | Indicates an invalid argument was provided |
+| [INVALID_REQUEST_TYPE](#invalid_request_type): [String](TopLevel.String.md) = "INVALID_REQUEST_TYPE" | Indicates that the request type is invalid. |
+| [QUOTA_LIMIT_EXCEEDED](#quota_limit_exceeded): [String](TopLevel.String.md) = "QUOTA_LIMIT_EXCEEDED" | Indicates that the quota limit for the shopper context has been reached. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [ShopperContextErrorCodes](#shoppercontexterrorcodes)() | |
+
+## Method Summary
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ASSIGNMENT_QUALIFIERS_LIMIT_EXCEEDED
+
+- ASSIGNMENT_QUALIFIERS_LIMIT_EXCEEDED: [String](TopLevel.String.md) = "ASSIGNMENT_QUALIFIERS_LIMIT_EXCEEDED"
+ - : Indicates that the assignment qualifiers limit exceeded
+
+
+---
+
+### COUPON_CODES_LIMIT_EXCEEDED
+
+- COUPON_CODES_LIMIT_EXCEEDED: [String](TopLevel.String.md) = "COUPON_CODES_LIMIT_EXCEEDED"
+ - : Indicates that the coupon codes limit exceeded
+
+
+---
+
+### CUSTOM_QUALIFIERS_LIMIT_EXCEEDED
+
+- CUSTOM_QUALIFIERS_LIMIT_EXCEEDED: [String](TopLevel.String.md) = "CUSTOM_QUALIFIERS_LIMIT_EXCEEDED"
+ - : Indicates that the custom qualifiers limit exceeded
+
+
+---
+
+### FEATURE_DISABLED
+
+- FEATURE_DISABLED: [String](TopLevel.String.md) = "FEATURE_DISABLED"
+ - : Indicates that the feature toggle 'ShopperContextEnabled' is not enabled.
+
+
+---
+
+### INTERNAL_ERROR
+
+- INTERNAL_ERROR: [String](TopLevel.String.md) = "INTERNAL_ERROR"
+ - : Indicates that an internal error occurred while setting, retrieving or deleting the shopper context
+
+
+---
+
+### INVALID_ARGUMENT
+
+- INVALID_ARGUMENT: [String](TopLevel.String.md) = "INVALID_ARGUMENT"
+ - : Indicates an invalid argument was provided
+
+
+---
+
+### INVALID_REQUEST_TYPE
+
+- INVALID_REQUEST_TYPE: [String](TopLevel.String.md) = "INVALID_REQUEST_TYPE"
+ - : Indicates that the request type is invalid. Request must be a SCAPI request, or a hybrid storefront request, or
+ an ocapi request using a SLAS token.
+
+
+
+---
+
+### QUOTA_LIMIT_EXCEEDED
+
+- QUOTA_LIMIT_EXCEEDED: [String](TopLevel.String.md) = "QUOTA_LIMIT_EXCEEDED"
+ - : Indicates that the quota limit for the shopper context has been reached.
+
+
+---
+
+## Constructor Details
+
+### ShopperContextErrorCodes()
+- ShopperContextErrorCodes()
+ - :
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContextException.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContextException.md
new file mode 100644
index 00000000..d8df6899
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContextException.md
@@ -0,0 +1,77 @@
+
+# Class ShopperContextException
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.shoppercontext.ShopperContextException](dw.customer.shoppercontext.ShopperContextException.md)
+
+This exception could be thrown by
+[ShopperContextMgr.setShopperContext(ShopperContext, Boolean)](dw.customer.shoppercontext.ShopperContextMgr.md#setshoppercontextshoppercontext-boolean),
+[ShopperContextMgr.getShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#getshoppercontext) and
+[ShopperContextMgr.removeShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#removeshoppercontext) when an error occurs.
+
+
+'errorCode' property is set to one of the following values:
+
+- [ShopperContextErrorCodes.FEATURE_DISABLED](dw.customer.shoppercontext.ShopperContextErrorCodes.md#feature_disabled)= Indicates that the Shopper Context Feature is not enabled.
+- [ShopperContextErrorCodes.CUSTOM_QUALIFIERS_LIMIT_EXCEEDED](dw.customer.shoppercontext.ShopperContextErrorCodes.md#custom_qualifiers_limit_exceeded)= Indicates that the number of custom qualifiers in [ShopperContext](dw.customer.shoppercontext.ShopperContext.md)has exceeded the allowed limit.
+- [ShopperContextErrorCodes.ASSIGNMENT_QUALIFIERS_LIMIT_EXCEEDED](dw.customer.shoppercontext.ShopperContextErrorCodes.md#assignment_qualifiers_limit_exceeded)= Indicates that the number of assignment qualifiers in [ShopperContext](dw.customer.shoppercontext.ShopperContext.md)has exceeded the allowed limit.
+- [ShopperContextErrorCodes.QUOTA_LIMIT_EXCEEDED](dw.customer.shoppercontext.ShopperContextErrorCodes.md#quota_limit_exceeded)= Indicates that the quota limit for the Shopper Context has been reached.
+For more information on shopper context quota limits please refer to: [Shopper Context Quota Limits](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html\#constraints)
+
+- [ShopperContextErrorCodes.INTERNAL_ERROR](dw.customer.shoppercontext.ShopperContextErrorCodes.md#internal_error)= Indicates that an error occurred while setting, retrieving or deleting the shopper context.
+- [ShopperContextErrorCodes.INVALID_ARGUMENT](dw.customer.shoppercontext.ShopperContextErrorCodes.md#invalid_argument)= Indicates that an invalid client IP address was set in the Shopper Context.
+- [ShopperContextErrorCodes.INVALID_REQUEST_TYPE](dw.customer.shoppercontext.ShopperContextErrorCodes.md#invalid_request_type)= Indicates that the request type is invalid. Request must be a SCAPI request, or a hybrid storefront request, or an OCAPI request using a SLAS token.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [errorCode](#errorcode): [String](TopLevel.String.md) `(read-only)` | Indicates reason why the following methods failed: [ShopperContextMgr.setShopperContext(ShopperContext, Boolean)](dw.customer.shoppercontext.ShopperContextMgr.md#setshoppercontextshoppercontext-boolean) or [ShopperContextMgr.getShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#getshoppercontext) or [ShopperContextMgr.removeShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#removeshoppercontext) failed. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getErrorCode](dw.customer.shoppercontext.ShopperContextException.md#geterrorcode)() | Indicates reason why the following methods failed: [ShopperContextMgr.setShopperContext(ShopperContext, Boolean)](dw.customer.shoppercontext.ShopperContextMgr.md#setshoppercontextshoppercontext-boolean) or [ShopperContextMgr.getShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#getshoppercontext) or [ShopperContextMgr.removeShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#removeshoppercontext) failed. |
+
+### Methods inherited from class Error
+
+[captureStackTrace](TopLevel.Error.md#capturestacktraceerror-function), [toString](TopLevel.Error.md#tostring)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### errorCode
+- errorCode: [String](TopLevel.String.md) `(read-only)`
+ - : Indicates reason why the following methods failed:
+ [ShopperContextMgr.setShopperContext(ShopperContext, Boolean)](dw.customer.shoppercontext.ShopperContextMgr.md#setshoppercontextshoppercontext-boolean) or
+ [ShopperContextMgr.getShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#getshoppercontext) or
+ [ShopperContextMgr.removeShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#removeshoppercontext) failed.
+
+
+
+---
+
+## Method Details
+
+### getErrorCode()
+- getErrorCode(): [String](TopLevel.String.md)
+ - : Indicates reason why the following methods failed:
+ [ShopperContextMgr.setShopperContext(ShopperContext, Boolean)](dw.customer.shoppercontext.ShopperContextMgr.md#setshoppercontextshoppercontext-boolean) or
+ [ShopperContextMgr.getShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#getshoppercontext) or
+ [ShopperContextMgr.removeShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#removeshoppercontext) failed.
+
+
+ **Returns:**
+ - The error code.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContextMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContextMgr.md
new file mode 100644
index 00000000..42e9c012
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.customer.shoppercontext.ShopperContextMgr.md
@@ -0,0 +1,209 @@
+
+# Class ShopperContextMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.customer.shoppercontext.ShopperContextMgr](dw.customer.shoppercontext.ShopperContextMgr.md)
+
+
+
+Provides static helper methods for managing Shopper Context.
+
+
+
+
+Shopper Context is used to personalize shopper experiences with context values such as custom session attributes,
+assignment qualifiers, geolocation, effective datetime, source code and more. When Shopper Context is set for a
+shopper, it can activate promotions or price books assigned to customer groups, source codes, or stores (via
+assignments) in the subsequent requests, not the current request.
+
+
+
+
+Shopper Context is used to personalize the shopper experience in case of Composable/Headless or Hybrid storefront
+implementations that use Shopper Login and API Access Service (SLAS).
+
+
+
+
+NOTE: This script API is not intended to be used for standard server-side storefront implementations. Only for
+Composable/Headless or Hybrid storefront implementations.
+
+
+
+
+Unlike [CustomerContextMgr](dw.customer.CustomerContextMgr.md) which is used to set just Effective Time for which the customer is
+shopping at, Shopper Context API provides a way to set many types of contexts such as custom session attributes,
+assignment qualifiers, geolocation, effective datetime, source code etc.
+
+
+
+
+The following feature toggles and site preferences must be enabled in order to use this script API:
+
+- Enable Shopper Context Feature
+- Hybrid Auth Settings' site preference - only in case of Hybrid storefront implementations
+
+
+
+
+
+For more details on Shopper Context please refer to: [Shopper Context
+API Overview](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary)
+
+
+
+
+For more details on Hybrid Authentication for Hybrid storefronts please refer to:
+[Hybrid
+Authentication](https://developer.salesforce.com/docs/commerce/commerce-api/guide/hybrid-auth.html)
+
+
+
+
+[ShopperContextMgr](dw.customer.shoppercontext.ShopperContextMgr.md) is used to create, access and delete Shopper Context.
+
+- To add Shopper Context, use methods [setShopperContext(ShopperContext, Boolean)](dw.customer.shoppercontext.ShopperContextMgr.md#setshoppercontextshoppercontext-boolean). - To access Shopper Context, use method [getShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#getshoppercontext). - To delete Shopper Context, use methods [removeShopperContext()](dw.customer.shoppercontext.ShopperContextMgr.md#removeshoppercontext). - To fetch Geolocation based on clientIP already set in Shopper Context, use method [getGeolocation()](dw.customer.shoppercontext.ShopperContextMgr.md#getgeolocation)
+
+Typical usage:
+ ```
+ // get the ShopperContext if it exists ShopperContext context = ShopperContextMgr.getShopperContext(); if (context == null) { context = new ShopperContext(); } // set the values in the ShopperContext object context.setSourceCode( "sourcecode" ); var customQualifiers = new dw.util.HashMap(); customQualifiers.put( "deviceType", "iPad" ); context.setCustomQualifiers( customQualifiers ); // Save the ShopperContext ShopperContextMgr.setShopperContext( context, true );
+ ```
+NOTE: Ensure the ShopperContext object is saved using [setShopperContext(ShopperContext, Boolean)](dw.customer.shoppercontext.ShopperContextMgr.md#setshoppercontextshoppercontext-boolean)after setting or updating the context values.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [geolocation](#geolocation): [Geolocation](dw.util.Geolocation.md) `(read-only)` | Gets the [Geolocation](dw.util.Geolocation.md) object for the clientIP set in [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) or null if no shopperContext is found, or no clientIP was set or Geolocation for the clientIP was not found. |
+| [shopperContext](#shoppercontext): [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) | Returns the [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) if it exists for the customer. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getGeolocation](dw.customer.shoppercontext.ShopperContextMgr.md#getgeolocation)() | Gets the [Geolocation](dw.util.Geolocation.md) object for the clientIP set in [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) or null if no shopperContext is found, or no clientIP was set or Geolocation for the clientIP was not found. |
+| static [getShopperContext](dw.customer.shoppercontext.ShopperContextMgr.md#getshoppercontext)() | Returns the [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) if it exists for the customer. |
+| static [removeShopperContext](dw.customer.shoppercontext.ShopperContextMgr.md#removeshoppercontext)() | Removes the [ShopperContext](dw.customer.shoppercontext.ShopperContext.md) for the customer. |
+| static [setShopperContext](dw.customer.shoppercontext.ShopperContextMgr.md#setshoppercontextshoppercontext-boolean)([ShopperContext](dw.customer.shoppercontext.ShopperContext.md), [Boolean](TopLevel.Boolean.md)) |
If any of these is not the case then `false` will be returned. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAspectTypeID](dw.experience.Page.md#getaspecttypeid)() | Get the aspect type of the page. |
+| [getAttribute](dw.experience.Page.md#getattributestring)([String](TopLevel.String.md)) |
If any of these is not the case then `false` will be returned. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the id of this page.
+
+
+---
+
+### aspectTypeID
+- aspectTypeID: [String](TopLevel.String.md) `(read-only)`
+ - : Get the aspect type of the page.
+ If an aspect type is set for this page (and is found in the deployed code version), then the page is treated as dynamic page during
+ rendering and serialization.
+
+
+ **See Also:**
+ - [PageMgr.renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string)
+ - [PageMgr.serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string)
+
+
+---
+
+### classificationFolder
+- classificationFolder: [Folder](dw.content.Folder.md) `(read-only)`
+ - : Returns the classification [Folder](dw.content.Folder.md) associated with this page.
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the description of this page.
+
+
+---
+
+### folders
+- folders: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all folders to which this page is assigned.
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of this page.
+
+
+---
+
+### pageDescription
+- pageDescription: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the SEO description of this page.
+
+
+---
+
+### pageKeywords
+- pageKeywords: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the SEO keywords of this page.
+
+
+---
+
+### pageTitle
+- pageTitle: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the SEO title of this page.
+
+
+---
+
+### searchWords
+- searchWords: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the search words of the page used for the search index.
+
+
+---
+
+### typeID
+- typeID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the type id of this page.
+
+
+---
+
+### visible
+- visible: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true` if the page is currently visible which is the case if:
+
+ - page is published
+ - the page is set to visible in the current locale
+ - all visibility rules apply, requiring that
+ - schedule matches
+ - customer group matches
+ - aspect attribute qualifiers match
+ - campaign and promotion qualifiers match
+
+
+ If any of these is not the case then `false` will be returned.
+
+
+ As visibility is driven by the merchant configured dynamic visibility rules, e.g. scheduling and custom segmentation, this
+ call should NOT happen in a pagecached context outside of the processing induced by rendering/serialization (see the corresponding
+ methods in [PageMgr](dw.experience.PageMgr.md)).
+
+ Use [hasVisibilityRules()](dw.experience.Page.md#hasvisibilityrules) prior to calling this method in order to check for the existence of visibility rules. If there are
+ visibility rules then do not apply pagecaching. Otherwise the visibility decision making would end up in the pagecache and any subsequent
+ call would just return from the pagecache instead of performing the [isVisible()](dw.experience.Page.md#isvisible) check again as desired.
+
+ ```
+ ...
+ var page = PageMgr.getPage(pageID);
+ if (page.hasVisibilityRules())
+ {
+ // pagecaching is NOT ok here
+ if (page.isVisible())
+ {
+ response.writer.print(PageMgr.renderPage(pageID, {});
+ }
+ }
+ else
+ {
+ // pagecaching is ok here, but requires a pagecache refresh if merchants start adding visibility rules to the page
+ }
+ ...
+ ```
+
+
+ **See Also:**
+ - [isVisible()](dw.experience.Page.md#isvisible)
+
+
+---
+
+## Method Details
+
+### getAspectTypeID()
+- getAspectTypeID(): [String](TopLevel.String.md)
+ - : Get the aspect type of the page.
+ If an aspect type is set for this page (and is found in the deployed code version), then the page is treated as dynamic page during
+ rendering and serialization.
+
+
+ **Returns:**
+ - the ID of the page's aspect type
+
+ **See Also:**
+ - [PageMgr.renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string)
+ - [PageMgr.serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string)
+
+
+---
+
+### getAttribute(String)
+- getAttribute(attributeID: [String](TopLevel.String.md)): [Object](TopLevel.Object.md)
+ - :
+ Returns the raw attribute value identified by the specified attribute id.
+ By raw attribute value we denote the unprocessed value as provided for the attribute
+ driven by the type of the respective attribute definition:
+
+ - `boolean`-> boolean
+ - `category`-> string representing a catalog category ID
+ - `custom`-> [Map](dw.util.Map.md)that originates from a stringified curly brackets {} JSON object
+ - `cms_record`-> [Map](dw.util.Map.md)that originates from a stringified curly brackets {} JSON object whose entries must adhere to the `cmsrecord.json`schema
+ - `enum`-> either string or integer
+ - `file`-> string representing a file path within a library
+ - `image`-> [Map](dw.util.Map.md)that originates from a stringified curly brackets {} JSON object whose entries must adhere to the `content/schema/image.json`schema
+ - `integer`-> integer
+ - `markup`-> string representing HTML markup
+ - `page`-> string representing a page ID
+ - `product`-> string representing a product SKU
+ - `string`-> string
+ - `text`-> string
+ - `url`-> string representing a URL
+
+
+
+
+
+ There is two places an attribute value can come from - either it was persisted at design time (e.g.
+ by the merchant by editing a component in Page Designer) or it was injected in shape of an aspect attribute at rendering time
+ through the execution of code. The persistent value, if existing, takes precedence over the injected aspect
+ attribute one. Injection of a value through an aspect attribute will only occur if the page attribute's
+ attribute definition was declared using the `"dynamic_lookup"` property and its aspect attribute alias matches
+ the ID of the respective aspect attribute.
+
+
+
+ Accessing the raw value can be helpful if render and serialization logic of the
+ page needs to operate on these unprocessed values. An unprocessed value
+ might be fundamentally different from its processed counterpart, the latter being
+ provided through the content dictionary (see [PageScriptContext.getContent()](dw.experience.PageScriptContext.md#getcontent))
+ when the render/serialize function of the page is invoked.
+
+
+ **Parameters:**
+ - attributeID - the id of the desired attribute
+
+ **Returns:**
+ - the unprocessed raw value of the desired attribute, or null if not found
+
+
+---
+
+### getClassificationFolder()
+- getClassificationFolder(): [Folder](dw.content.Folder.md)
+ - : Returns the classification [Folder](dw.content.Folder.md) associated with this page.
+
+ **Returns:**
+ - the classification [Folder](dw.content.Folder.md) if one is assigned, `null` otherwise.
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the description of this page.
+
+ **Returns:**
+ - the page description
+
+
+---
+
+### getFolders()
+- getFolders(): [Collection](dw.util.Collection.md)
+ - : Returns all folders to which this page is assigned.
+
+ **Returns:**
+ - Collection of [Folder](dw.content.Folder.md) objects.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the id of this page.
+
+ **Returns:**
+ - the page id
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of this page.
+
+ **Returns:**
+ - the page name
+
+
+---
+
+### getPageDescription()
+- getPageDescription(): [String](TopLevel.String.md)
+ - : Returns the SEO description of this page.
+
+ **Returns:**
+ - the page SEO description
+
+
+---
+
+### getPageKeywords()
+- getPageKeywords(): [String](TopLevel.String.md)
+ - : Returns the SEO keywords of this page.
+
+ **Returns:**
+ - the page SEO keywords
+
+
+---
+
+### getPageTitle()
+- getPageTitle(): [String](TopLevel.String.md)
+ - : Returns the SEO title of this page.
+
+ **Returns:**
+ - the page SEO title
+
+
+---
+
+### getRegion(String)
+- getRegion(id: [String](TopLevel.String.md)): [Region](dw.experience.Region.md)
+ - : Returns the page region that matches the given id.
+
+ **Parameters:**
+ - id - the id of the desired page region
+
+ **Returns:**
+ - the region, or null if not found.
+
+
+---
+
+### getSearchWords()
+- getSearchWords(): [String](TopLevel.String.md)
+ - : Returns the search words of the page used for the search index.
+
+ **Returns:**
+ - the page search words
+
+
+---
+
+### getTypeID()
+- getTypeID(): [String](TopLevel.String.md)
+ - : Returns the type id of this page.
+
+ **Returns:**
+ - the page type id
+
+
+---
+
+### hasVisibilityRules()
+- hasVisibilityRules(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if the page has visibility rules (scheduling, customer groups, aspect attribute qualifiers,
+ campaign and promotion qualifiers) applied, otherwise `false`. Use this
+ method prior to [isVisible()](dw.experience.Page.md#isvisible), so you do not call the latter in a pagecached context.
+
+
+ **Returns:**
+ - `true` if the page has visibility rules applied, otherwise `false`.
+
+
+---
+
+### isVisible()
+- isVisible(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if the page is currently visible which is the case if:
+
+ - page is published
+ - the page is set to visible in the current locale
+ - all visibility rules apply, requiring that
+ - schedule matches
+ - customer group matches
+ - aspect attribute qualifiers match
+ - campaign and promotion qualifiers match
+
+
+ If any of these is not the case then `false` will be returned.
+
+
+ As visibility is driven by the merchant configured dynamic visibility rules, e.g. scheduling and custom segmentation, this
+ call should NOT happen in a pagecached context outside of the processing induced by rendering/serialization (see the corresponding
+ methods in [PageMgr](dw.experience.PageMgr.md)).
+
+ Use [hasVisibilityRules()](dw.experience.Page.md#hasvisibilityrules) prior to calling this method in order to check for the existence of visibility rules. If there are
+ visibility rules then do not apply pagecaching. Otherwise the visibility decision making would end up in the pagecache and any subsequent
+ call would just return from the pagecache instead of performing the [isVisible()](dw.experience.Page.md#isvisible) check again as desired.
+
+ ```
+ ...
+ var page = PageMgr.getPage(pageID);
+ if (page.hasVisibilityRules())
+ {
+ // pagecaching is NOT ok here
+ if (page.isVisible())
+ {
+ response.writer.print(PageMgr.renderPage(pageID, {});
+ }
+ }
+ else
+ {
+ // pagecaching is ok here, but requires a pagecache refresh if merchants start adding visibility rules to the page
+ }
+ ...
+ ```
+
+
+ **Returns:**
+ - `true` if the page is currently visible (published, visible in the current locale, and visibility rules apply), otherwise `false` (unpublished and/or visibility rules don't apply)
+
+ **See Also:**
+ - [isVisible()](dw.experience.Page.md#isvisible)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.PageMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.PageMgr.md
new file mode 100644
index 00000000..94a3c9f2
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.PageMgr.md
@@ -0,0 +1,549 @@
+
+# Class PageMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.PageMgr](dw.experience.PageMgr.md)
+
+Provides functionality for getting, rendering and serializing page designer managed pages.
+
+
+The basic flow is to determine a page by either id, category or product
+
+- [getPage(String)](dw.experience.PageMgr.md#getpagestring)
+- [getPageByCategory(Category, Boolean, String)](dw.experience.PageMgr.md#getpagebycategorycategory-boolean-string)
+- [getPageByProduct(Product, Boolean, String)](dw.experience.PageMgr.md#getpagebyproductproduct-boolean-string)
+
+and then to initiate rendering of this page via
+
+- [renderPage(String, String)](dw.experience.PageMgr.md#renderpagestring-string)
+- [renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string)
+
+This will trigger page rendering from a top level perspective, i.e. the page serves as entry point and root container of components.
+
+
+
+As a related page or component template will likely want to trigger rendering of nested components
+within its regions it can do this by first fetching the desired region by ID via
+[Page.getRegion(String)](dw.experience.Page.md#getregionstring) or [Component.getRegion(String)](dw.experience.Component.md#getregionstring) and then call to [renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings)
+with the recently retrieved region (and optionally provide [RegionRenderSettings](dw.experience.RegionRenderSettings.md) for customized
+rendering of region and component wrapper elements).
+
+
+
+
+Similar to the rendering you can also serialize such page to json via
+
+- [serializePage(String, String)](dw.experience.PageMgr.md#serializepagestring-string)
+- [serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string)
+
+This will trigger page serialization from a top level perspective, i.e. the page serves as entry point and root container of components,
+which will automatically traverse all visible components and attach their serialization result to the emitted json.
+
+
+
+
+Various attributes required for rendering and serialization in the corresponding template can be accessed with the
+accordant methods of [Page](dw.experience.Page.md) and [Component](dw.experience.Component.md).
+
+
+**See Also:**
+- [Page](dw.experience.Page.md)
+- [Region](dw.experience.Region.md)
+- [Component](dw.experience.Component.md)
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getCustomEditor](dw.experience.PageMgr.md#getcustomeditorstring-map)([String](TopLevel.String.md), [Map](dw.util.Map.md)) |
Order post-processing APIs (gillian) are now inactive by default and will throw an exception if accessed. Activation needs preliminary approval by Product Management. Please contact support in this case. Existing customers using these APIs are not affected by this change and can use the APIs until further notice.
+
+ **Returns:**
+ - the created order item
+
+
+---
+
+### createShippingOrder()
+- createShippingOrder(): [ShippingOrder](dw.order.ShippingOrder.md)
+ - : Creates a new [ShippingOrder](dw.order.ShippingOrder.md) for this order.
+
+
+ Generates a default shipping order number. Use
+ [createShippingOrder(String)](dw.order.Order.md#createshippingorderstring) for a defined shipping order number.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - the created shipping order
+
+ **See Also:**
+ - [ShippingOrder](dw.order.ShippingOrder.md)
+
+
+---
+
+### createShippingOrder(String)
+- createShippingOrder(shippingOrderNumber: [String](TopLevel.String.md)): [ShippingOrder](dw.order.ShippingOrder.md)
+ - : Creates a new [ShippingOrder](dw.order.ShippingOrder.md) for this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - shippingOrderNumber - the document number to be used
+
+ **Returns:**
+ - the created shipping order
+
+ **See Also:**
+ - [ShippingOrder](dw.order.ShippingOrder.md)
+
+
+---
+
+### getAffiliatePartnerID()
+- getAffiliatePartnerID(): [String](TopLevel.String.md)
+ - : Returns the affiliate partner ID value, or null.
+
+ **Returns:**
+ - the affiliate partner ID value, or null.
+
+
+---
+
+### getAffiliatePartnerName()
+- getAffiliatePartnerName(): [String](TopLevel.String.md)
+ - : Returns the affiliate partner name value, or null.
+
+ **Returns:**
+ - the affiliate partner name value, or null.
+
+
+---
+
+### getAppeasement(String)
+- getAppeasement(appeasementNumber: [String](TopLevel.String.md)): [Appeasement](dw.order.Appeasement.md)
+ - : Returns the [Appeasement](dw.order.Appeasement.md) associated with this order with the given appeasementNumber.
+ The method returns `null` if no instance can be found.
+
+
+ **Parameters:**
+ - appeasementNumber - the appeasement number
+
+ **Returns:**
+ - the Appeasement associated with the given appeasementNumber
+
+
+---
+
+### getAppeasementItem(String)
+- getAppeasementItem(appeasementItemID: [String](TopLevel.String.md)): [AppeasementItem](dw.order.AppeasementItem.md)
+ - : Returns the [AppeasementItem](dw.order.AppeasementItem.md) associated with this Order with the given appeasementItemID.
+ The method returns `null` if no instance can be found.
+
+
+ **Parameters:**
+ - appeasementItemID - the ID
+
+ **Returns:**
+ - the AppeasementItem associated with the given appeasementItemID.
+
+
+---
+
+### getAppeasementItems()
+- getAppeasementItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [AppeasementItem](dw.order.AppeasementItem.md)s associated with this order.
+
+ **Returns:**
+ - the appeasement items belonging to this order
+
+
+---
+
+### getAppeasements()
+- getAppeasements(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [Appeasement](dw.order.Appeasement.md)s associated with this order.
+
+ **Returns:**
+ - the appeasements associated with this order
+
+
+---
+
+### getCancelCode()
+- getCancelCode(): [EnumValue](dw.value.EnumValue.md)
+ - : If this order was cancelled, returns the value of the
+ cancel code or null.
+
+
+ **Returns:**
+ - the value of the cancel code.
+
+
+---
+
+### getCancelDescription()
+- getCancelDescription(): [String](TopLevel.String.md)
+ - : If this order was cancelled, returns the text describing why
+ the order was cancelled or null.
+
+
+ **Returns:**
+ - the description as to why the order was cancelled or null.
+
+
+---
+
+### getCapturedAmount()
+- getCapturedAmount(): [Money](dw.value.Money.md)
+ - : Returns the sum of the captured amounts. The captured amounts
+ are calculated on the fly. Associate a payment capture for an [PaymentInstrument](dw.order.PaymentInstrument.md) with an [Invoice](dw.order.Invoice.md)
+ using [Invoice.addCaptureTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addcapturetransactionorderpaymentinstrument-money).
+
+
+ **Returns:**
+ - sum of captured amounts
+
+
+---
+
+### getConfirmationStatus()
+- getConfirmationStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the confirmation status of the order.
+
+ Possible values are [CONFIRMATION_STATUS_NOTCONFIRMED](dw.order.Order.md#confirmation_status_notconfirmed) and
+ [CONFIRMATION_STATUS_CONFIRMED](dw.order.Order.md#confirmation_status_confirmed).
+
+
+ **Returns:**
+ - Order confirmation status
+
+
+---
+
+### getCreatedBy()
+- getCreatedBy(): [String](TopLevel.String.md)
+ - : Returns the name of the user who has created the order.
+ If an agent user has created the order, the agent user's name
+ is returned. Otherwise "Customer" is returned.
+
+
+ **Returns:**
+ - the name of the user who created the order.
+
+
+---
+
+### getCurrentOrder()
+- getCurrentOrder(): [Order](dw.order.Order.md)
+ - : Returns the current order. The current order
+ represents the most recent order in a chain of orders.
+ For example, if Order1 was replaced by Order2, Order2 is the current
+ representation of the order and Order1 is the original representation
+ of the order. If you replace Order2 with Order3, Order 3 is now the
+ current order and Order1 is still the original representation of the
+ order. If this order has not been replaced, this method returns this
+ order because this order is the current order.
+
+
+ **Returns:**
+ - the current order.
+
+ **See Also:**
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### getCurrentOrderNo()
+- getCurrentOrderNo(): [String](TopLevel.String.md)
+ - : Returns the order number of the current order. The current order
+ represents the most recent order in a chain of orders.
+ For example, if Order1 was replaced by Order2, Order2 is the current
+ representation of the order and Order1 is the original representation
+ of the order. If you replace Order2 with Order3, Order 3 is now the
+ current order and Order1 is still the original representation of the
+ order. If this order has not been replaced, calling this method returns the
+ same value as the [getOrderNo()](dw.order.Order.md#getorderno) method because this order is the
+ current order.
+
+
+ **Returns:**
+ - the order number of the current order
+
+ **See Also:**
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### getCustomerLocaleID()
+- getCustomerLocaleID(): [String](TopLevel.String.md)
+ - : Returns the ID of the locale that was in effect when the order
+ was placed. This is the customer's locale.
+
+
+ **Returns:**
+ - the ID of the locale associated with this order, or null.
+
+
+---
+
+### getCustomerOrderReference()
+- getCustomerOrderReference(): [String](TopLevel.String.md)
+ - : Returns the customer-specific reference information for the order, or null.
+
+ **Returns:**
+ - the customer-specific reference information for the order, or null.
+
+
+---
+
+### getExportAfter()
+- getExportAfter(): [Date](TopLevel.Date.md)
+ - : Returns a date after which an order can be exported.
+
+ **Returns:**
+ - a date after which an order can be exported.
+
+
+---
+
+### getExportStatus()
+- getExportStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the export status of the order.
+
+ Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.order.Order.md#export_status_notexported),
+ [EXPORT_STATUS_EXPORTED](dw.order.Order.md#export_status_exported), [EXPORT_STATUS_READY](dw.order.Order.md#export_status_ready),
+ and [EXPORT_STATUS_FAILED](dw.order.Order.md#export_status_failed).
+
+
+ **Returns:**
+ - Order export status
+
+
+---
+
+### getExternalOrderNo()
+- getExternalOrderNo(): [String](TopLevel.String.md)
+ - : Returns the value of an external order number associated
+ with this order, or null.
+
+
+ **Returns:**
+ - the value of an external order number associated
+ with this order, or null.
+
+
+
+---
+
+### getExternalOrderStatus()
+- getExternalOrderStatus(): [String](TopLevel.String.md)
+ - : Returns the status of an external order associated
+ with this order, or null.
+
+
+ **Returns:**
+ - the status of an external order associated
+ with this order, or null.
+
+
+
+---
+
+### getExternalOrderText()
+- getExternalOrderText(): [String](TopLevel.String.md)
+ - : Returns the text describing the external order, or null.
+
+ **Returns:**
+ - the text describing the external order, or null.
+
+
+---
+
+### getGlobalPartyID()
+- getGlobalPartyID(): [String](TopLevel.String.md)
+ - : The Global Party ID reconciles customer identity across multiple systems. For example, as part of the Service for
+ Commerce experience, service agents can find information for customers who have never called into the call
+ center, but have created a profile on the website. Service agents can find guest order data from B2C Commerce and
+ easily create accounts for customers. Customer 360 Data Manager matches records from multiple data sources to
+ determine all the records associated with a specific customer.
+
+
+ **Returns:**
+ - the Global Party ID associated with this order, or null.
+
+
+---
+
+### getInvoice(String)
+- getInvoice(invoiceNumber: [String](TopLevel.String.md)): [Invoice](dw.order.Invoice.md)
+ - : Returns the [Invoice](dw.order.Invoice.md) associated with this order with the given invoiceNumber.
+ The method returns `null` if no instance can be found.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - invoiceNumber - the invoice number
+
+ **Returns:**
+ - the invoice associated with the given invoiceNumber
+
+
+---
+
+### getInvoiceItem(String)
+- getInvoiceItem(invoiceItemID: [String](TopLevel.String.md)): [InvoiceItem](dw.order.InvoiceItem.md)
+ - : Returns the [InvoiceItem](dw.order.InvoiceItem.md) associated with this order with the given ID.
+ The method returns `null` if no instance can be found.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - invoiceItemID - the item ID
+
+ **Returns:**
+ - the invoice item associated with the given ID
+
+
+---
+
+### getInvoiceItems()
+- getInvoiceItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [InvoiceItem](dw.order.InvoiceItem.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - invoice items belonging to this order
+
+
+---
+
+### getInvoiceNo()
+- getInvoiceNo(): [String](TopLevel.String.md)
+ - : Returns the invoice number for this Order.
+
+
+ When an order is placed (e.g. with [OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder)) invoice number will be filled
+ using a sequence. Before order was placed `null` will be returned unless it was set with
+ [setInvoiceNo(String)](dw.order.Order.md#setinvoicenostring).
+
+
+ **Returns:**
+ - the invoice number for this Order.
+
+
+---
+
+### getInvoices()
+- getInvoices(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the collection of [Invoice](dw.order.Invoice.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - invoices belonging to this order
+
+
+---
+
+### getOrderExportXML()
+- getOrderExportXML(): [String](TopLevel.String.md)
+ - : Returns the order export XML as String object.
+
+
+ NOTE: This method will return payment instrument data masked. If payment instrument re-encryption is needed
+ please use [getOrderExportXML(String, String)](dw.order.Order.md#getorderexportxmlstring-string---variant-2) instead.
+
+
+ Example:
+
+
+ ```
+ var orderXMLAsString : String = order.getOrderExportXML();
+ var orderXML : XML = new XML(orderXMLAsString);
+ ```
+
+
+ **Returns:**
+ - the order export XML
+
+ **Throws:**
+ - IllegalStateException - If the method is called in a transaction with changes.
+ - IllegalStateException - If the order is not placed. This method can be called for placed orders only.
+ - IllegalStateException - If the order export XML could not be generated.
+
+
+---
+
+### getOrderExportXML(String, String) - Variant 1
+- getOrderExportXML(encryptionAlgorithm: [String](TopLevel.String.md), encryptionKey: [String](TopLevel.String.md)): [String](TopLevel.String.md)
+ - : Returns the order export XML as String object, with payment instrument data re-encrypted using the given
+ encryption algorithm and key.
+
+
+ NOTE: If no encryption is needed or desired please always use [getOrderExportXML()](dw.order.Order.md#getorderexportxml) instead, which returns
+ the payment instrument data masked. Do **not** pass in any null arguments!
+
+
+ Example:
+
+
+ ```
+ var orderXMLAsString : String = order.getOrderExportXML( "RSA/ECB/PKCS1Padding", "[key]" );
+ var orderXML : XML = new XML( orderXMLAsString );
+ ```
+
+
+ **Parameters:**
+ - encryptionAlgorithm - The encryption algorithm to be used for the re-encryption of the payment instrument data (credit card number, bank account number, bank account driver's license number). Must be a valid, non-null algorithm. Currently, only [ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING](dw.order.Order.md#encryption_algorithm_rsa_ecb_pkcs1padding) is supported, but this will be fixed and support for [ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING](dw.order.Order.md#encryption_algorithm_rsa_ecb_oaepwithsha_256andmgf1padding) will be added soon.
+ - encryptionKey - The Base64 encoded form of the public key to be used for the re-encryption of the payment instrument data. Must be a valid, non-blank key.
+
+ **Returns:**
+ - the order export XML
+
+ **Throws:**
+ - IllegalStateException - If the method is called in a transaction with changes.
+ - IllegalStateException - If the order is not placed. This method can be called for placed orders only.
+ - IllegalStateException - If the order export XML could not be generated.
+
+ **API Version:**
+:::note
+No longer available as of version 22.7.
+undefined behaviour for invalid arguments (e.g. null)
+:::
+
+---
+
+### getOrderExportXML(String, String, Boolean) - Variant 1
+- ~~getOrderExportXML(encryptionAlgorithm: [String](TopLevel.String.md), encryptionKey: [String](TopLevel.String.md), encryptUsingEKID: [Boolean](TopLevel.Boolean.md)): [String](TopLevel.String.md)~~
+ - : Returns the order export XML as String object, with payment instrument data re-encrypted using the given
+ encryption algorithm and key.
+
+
+ NOTE: If no encryption is needed or desired please always use [getOrderExportXML()](dw.order.Order.md#getorderexportxml) instead, which returns
+ the payment instrument data masked. Do **not** pass in any null arguments!
+
+
+ Example:
+
+
+ ```
+ var orderXMLAsString : String = order.getOrderExportXML( "RSA/ECB/PKCS1Padding", "[key]", false );
+ var orderXML : XML = new XML( orderXMLAsString );
+ ```
+
+
+ **Parameters:**
+ - encryptionAlgorithm - The encryption algorithm to be used for the re-encryption of the payment instrument data (credit card number, bank account number, bank account driver's license number). Must be a valid, non-null algorithm. Currently, only [ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING](dw.order.Order.md#encryption_algorithm_rsa_ecb_pkcs1padding) is supported, but this will be fixed and support for [ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING](dw.order.Order.md#encryption_algorithm_rsa_ecb_oaepwithsha_256andmgf1padding) will be added soon.
+ - encryptionKey - The Base64 encoded form of the public key to be used for the re-encryption of the payment instrument data. Must be a valid, non-blank key.
+ - encryptUsingEKID - ignored
+
+ **Returns:**
+ - the order export XML
+
+ **Throws:**
+ - IllegalStateException - If the method is called in a transaction with changes.
+ - IllegalStateException - If the order is not placed. This method can be called for placed orders only.
+ - IllegalStateException - If the order export XML could not be generated.
+
+ **Deprecated:**
+:::warning
+This method will be removed soon. Please use the following methods instead:
+
+- [getOrderExportXML()](dw.order.Order.md#getorderexportxml)– if payment instrument data should be masked - [getOrderExportXML(String, String)](dw.order.Order.md#getorderexportxmlstring-string---variant-1)– if payment instrument data should be re-encrypted
+
+:::
+ **API Version:**
+:::note
+No longer available as of version 22.7.
+undefined behaviour for invalid arguments (e.g. null)
+:::
+
+---
+
+### getOrderExportXML(String, String) - Variant 2
+- getOrderExportXML(encryptionAlgorithm: [String](TopLevel.String.md), encryptionKey: [String](TopLevel.String.md)): [String](TopLevel.String.md)
+ - : Returns the order export XML as String object, with payment instrument data re-encrypted using the given
+ encryption algorithm and key.
+
+
+ NOTE: If no encryption is needed or desired please always use [getOrderExportXML()](dw.order.Order.md#getorderexportxml) instead, which returns
+ the payment instrument data masked.
+
+
+ Example:
+
+
+ ```
+ var orderXMLAsString : String = order.getOrderExportXML( "RSA/ECB/PKCS1Padding", "[key]" );
+ var orderXML : XML = new XML( orderXMLAsString );
+ ```
+
+
+ **Parameters:**
+ - encryptionAlgorithm - The encryption algorithm used for the re-encryption of the payment instrument data (credit card number, bank account number, bank account driver's license number). Must be one of the following:
and serialization
|
+| [runtimeParameters](#runtimeparameters): [String](TopLevel.String.md) `(read-only)` | Returns the `parameters` argument as passed when kicking off page rendering via
and page serialization via
|
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getContent](dw.experience.PageScriptContext.md#getcontent)() | Returns the processed version of the underlying unprocessed raw values (also see [Page.getAttribute(String)](dw.experience.Page.md#getattributestring)) of this page's attributes which you can use in your respective page type `render` and `serialize` function implementing your business and rendering/serialization functionality. |
+| [getPage](dw.experience.PageScriptContext.md#getpage)() | Returns the page for which the corresponding page type script is currently executed. |
+| ~~[getRenderParameters](dw.experience.PageScriptContext.md#getrenderparameters)()~~ | Returns the `parameters` argument as passed when kicking off page rendering via
and serialization
|
+| [getRuntimeParameters](dw.experience.PageScriptContext.md#getruntimeparameters)() | Returns the `parameters` argument as passed when kicking off page rendering via
and page serialization via
|
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### content
+- content: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns the processed version of the underlying unprocessed raw values (also see [Page.getAttribute(String)](dw.experience.Page.md#getattributestring))
+ of this page's attributes which you can use in your respective page type `render` and `serialize` function
+ implementing your business and rendering/serialization functionality. Processing the raw value is comprised of **expansion**
+ and **conversion**, in this order.
+
+ 1. **expansion**- dynamic placeholders are transformed into actual values, for example url/link placeholders in markup text are resolved to real URLs
+ 2. **conversion**- the raw value (see [Page.getAttribute(String)](dw.experience.Page.md#getattributestring)) is resolved into an actual DWScript object depending on the type of the attribute as specified in its respective attribute definition
+ - `boolean`-> boolean
+ - `category`-> [Category](dw.catalog.Category.md)
+ - `custom`-> [Map](dw.util.Map.md)
+ - `cms_record`-> [CMSRecord](dw.experience.cms.CMSRecord.md)
+ - `enum`-> either string or integer
+ - `file`-> [MediaFile](dw.content.MediaFile.md)
+ - `image`-> [Image](dw.experience.image.Image.md)
+ - `integer`-> integer
+ - `markup`-> string
+ - `page`-> string
+ - `product`-> [Product](dw.catalog.Product.md)
+ - `string`-> string
+ - `text`-> string
+ - `url`-> string
+
+
+
+---
+
+### page
+- page: [Page](dw.experience.Page.md) `(read-only)`
+ - : Returns the page for which the corresponding page type script is currently executed.
+
+
+---
+
+### renderParameters
+- ~~renderParameters: [String](TopLevel.String.md)~~ `(read-only)`
+ - : Returns the `parameters` argument as passed when kicking off page rendering via
+
+ - [PageMgr.renderPage(String, String)](dw.experience.PageMgr.md#renderpagestring-string)
+ - [PageMgr.renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string)
+
+ and serialization
+
+ - [PageMgr.serializePage(String, String)](dw.experience.PageMgr.md#serializepagestring-string)
+ - [PageMgr.serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string)
+
+
+ **Deprecated:**
+:::warning
+Please use [getRuntimeParameters()](dw.experience.PageScriptContext.md#getruntimeparameters) instead.
+:::
+
+---
+
+### runtimeParameters
+- runtimeParameters: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the `parameters` argument as passed when kicking off page rendering via
+
+ - [PageMgr.renderPage(String, String)](dw.experience.PageMgr.md#renderpagestring-string)
+ - [PageMgr.renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string)
+
+ and page serialization via
+
+ - [PageMgr.serializePage(String, String)](dw.experience.PageMgr.md#serializepagestring-string)
+ - [PageMgr.serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string)
+
+
+
+---
+
+## Method Details
+
+### getContent()
+- getContent(): [Map](dw.util.Map.md)
+ - : Returns the processed version of the underlying unprocessed raw values (also see [Page.getAttribute(String)](dw.experience.Page.md#getattributestring))
+ of this page's attributes which you can use in your respective page type `render` and `serialize` function
+ implementing your business and rendering/serialization functionality. Processing the raw value is comprised of **expansion**
+ and **conversion**, in this order.
+
+ 1. **expansion**- dynamic placeholders are transformed into actual values, for example url/link placeholders in markup text are resolved to real URLs
+ 2. **conversion**- the raw value (see [Page.getAttribute(String)](dw.experience.Page.md#getattributestring)) is resolved into an actual DWScript object depending on the type of the attribute as specified in its respective attribute definition
+ - `boolean`-> boolean
+ - `category`-> [Category](dw.catalog.Category.md)
+ - `custom`-> [Map](dw.util.Map.md)
+ - `cms_record`-> [CMSRecord](dw.experience.cms.CMSRecord.md)
+ - `enum`-> either string or integer
+ - `file`-> [MediaFile](dw.content.MediaFile.md)
+ - `image`-> [Image](dw.experience.image.Image.md)
+ - `integer`-> integer
+ - `markup`-> string
+ - `page`-> string
+ - `product`-> [Product](dw.catalog.Product.md)
+ - `string`-> string
+ - `text`-> string
+ - `url`-> string
+
+
+ **Returns:**
+ - processed content attributes of the page
+
+
+---
+
+### getPage()
+- getPage(): [Page](dw.experience.Page.md)
+ - : Returns the page for which the corresponding page type script is currently executed.
+
+ **Returns:**
+ - the currently rendered page
+
+
+---
+
+### getRenderParameters()
+- ~~getRenderParameters(): [String](TopLevel.String.md)~~
+ - : Returns the `parameters` argument as passed when kicking off page rendering via
+
+ - [PageMgr.renderPage(String, String)](dw.experience.PageMgr.md#renderpagestring-string)
+ - [PageMgr.renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string)
+
+ and serialization
+
+ - [PageMgr.serializePage(String, String)](dw.experience.PageMgr.md#serializepagestring-string)
+ - [PageMgr.serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string)
+
+
+ **Returns:**
+ - the parameters passed to page rendering and serialization
+
+ **Deprecated:**
+:::warning
+Please use [getRuntimeParameters()](dw.experience.PageScriptContext.md#getruntimeparameters) instead.
+:::
+
+---
+
+### getRuntimeParameters()
+- getRuntimeParameters(): [String](TopLevel.String.md)
+ - : Returns the `parameters` argument as passed when kicking off page rendering via
+
+ - [PageMgr.renderPage(String, String)](dw.experience.PageMgr.md#renderpagestring-string)
+ - [PageMgr.renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string)
+
+ and page serialization via
+
+ - [PageMgr.serializePage(String, String)](dw.experience.PageMgr.md#serializepagestring-string)
+ - [PageMgr.serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string)
+
+
+ **Returns:**
+ - the parameters passed to page rendering and serialization
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.Region.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.Region.md
new file mode 100644
index 00000000..bcc318ee
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.Region.md
@@ -0,0 +1,119 @@
+
+# Class Region
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.Region](dw.experience.Region.md)
+
+This class represents a region which serves as container of components.
+Using the [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or [PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings)
+a region can be rendered.
+
+
+**See Also:**
+- [Page](dw.experience.Page.md)
+- [Component](dw.experience.Component.md)
+- [PageMgr](dw.experience.PageMgr.md)
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the id of this region. |
+| [size](#size): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of components that would be rendered by this region when calling [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or [PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings). |
+| [visibleComponents](#visiblecomponents): [Collection](dw.util.Collection.md) `(read-only)` | Returns the components that would be rendered by this region when calling [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or [PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings). |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getID](dw.experience.Region.md#getid)() | Returns the id of this region. |
+| [getSize](dw.experience.Region.md#getsize)() | Returns the number of components that would be rendered by this region when calling [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or [PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings). |
+| [getVisibleComponents](dw.experience.Region.md#getvisiblecomponents)() | Returns the components that would be rendered by this region when calling [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or [PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the id of this region.
+
+
+---
+
+### size
+- size: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of components that would be rendered by this region
+ when calling [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or [PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings).
+
+
+ Due to its time and customer group depending nature this call should NOT happen in a pagecached context
+ outside of the processing induced by the above mentioned render methods.
+
+
+
+---
+
+### visibleComponents
+- visibleComponents: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the components that would be rendered by this region
+ when calling [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or [PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings).
+
+
+ As visibility is driven by the merchant configured dynamic visibility rules, e.g. scheduling and custom segmentation, this
+ call should NOT happen in a pagecached context outside of the processing induced by the above mentioned render methods.
+
+
+
+---
+
+## Method Details
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the id of this region.
+
+ **Returns:**
+ - the region id
+
+
+---
+
+### getSize()
+- getSize(): [Number](TopLevel.Number.md)
+ - : Returns the number of components that would be rendered by this region
+ when calling [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or [PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings).
+
+
+ Due to its time and customer group depending nature this call should NOT happen in a pagecached context
+ outside of the processing induced by the above mentioned render methods.
+
+
+ **Returns:**
+ - the number of visible (i.e. renderable or serializable) components in this region
+
+
+---
+
+### getVisibleComponents()
+- getVisibleComponents(): [Collection](dw.util.Collection.md)
+ - : Returns the components that would be rendered by this region
+ when calling [PageMgr.renderRegion(Region)](dw.experience.PageMgr.md#renderregionregion) or [PageMgr.renderRegion(Region, RegionRenderSettings)](dw.experience.PageMgr.md#renderregionregion-regionrendersettings).
+
+
+ As visibility is driven by the merchant configured dynamic visibility rules, e.g. scheduling and custom segmentation, this
+ call should NOT happen in a pagecached context outside of the processing induced by the above mentioned render methods.
+
+
+ **Returns:**
+ - the visible (i.e. renderable or serializable) components in this region
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.RegionRenderSettings.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.RegionRenderSettings.md
new file mode 100644
index 00000000..f42e9f07
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.RegionRenderSettings.md
@@ -0,0 +1,207 @@
+
+# Class RegionRenderSettings
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.RegionRenderSettings](dw.experience.RegionRenderSettings.md)
+
+A config that drives how the region is rendered. One can basically decide which kind of tag is used as wrapper
+element (e.g. `
The attributes are also conveniently accessible through named property support. |
+| [type](#type): [Map](dw.util.Map.md) `(read-only)` | Return the type of the Salesforce CMS record sufficing the `content/schema/cmsrecord.json#/definitions/cms_content_type` schema. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAttributes](dw.experience.cms.CMSRecord.md#getattributes)() | Return the Salesforce CMS record attributes as key value pairs:
The attributes are also conveniently accessible through named property support. |
+| [getID](dw.experience.cms.CMSRecord.md#getid)() | Return the id of the Salesforce CMS record. |
+| [getType](dw.experience.cms.CMSRecord.md#gettype)() | Return the type of the Salesforce CMS record sufficing the `content/schema/cmsrecord.json#/definitions/cms_content_type` schema. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Return the id of the Salesforce CMS record.
+
+
+---
+
+### attributes
+- attributes: [Map](dw.util.Map.md) `(read-only)`
+ - : Return the Salesforce CMS record attributes as key value pairs:
+
+ - the key being the attribute id as given in the `[getType()](dw.experience.cms.CMSRecord.md#gettype).attribute_definitions`entries
+ - the value being a DWScript API object resolved from the raw attribute value based on the attribute type as given in the `[getType()](dw.experience.cms.CMSRecord.md#gettype).attribute_definitions`entries (similar to how [ComponentScriptContext.getContent()](dw.experience.ComponentScriptContext.md#getcontent)exposes the raw attribute value of a [Component.getAttribute(String)](dw.experience.Component.md#getattributestring)in shape of a DWScript API object based on the attribute type)
+
+
+ The attributes are also conveniently accessible through named property support. That means if `myCmsRecord.getAttributes().get('foo')` yields value `'bar'`,
+ then `myCmsRecord.foo` will give the same results.
+
+
+
+---
+
+### type
+- type: [Map](dw.util.Map.md) `(read-only)`
+ - : Return the type of the Salesforce CMS record sufficing the `content/schema/cmsrecord.json#/definitions/cms_content_type` schema. Properties
+ can be accessed accordingly:
+
+ - `getType().id : string`
+ - `getType().name : string`
+ - `getType().attribute_definitions : Map`(see `content/schema/attributedefinition.json`)
+
+
+
+---
+
+## Method Details
+
+### getAttributes()
+- getAttributes(): [Map](dw.util.Map.md)
+ - : Return the Salesforce CMS record attributes as key value pairs:
+
+ - the key being the attribute id as given in the `[getType()](dw.experience.cms.CMSRecord.md#gettype).attribute_definitions`entries
+ - the value being a DWScript API object resolved from the raw attribute value based on the attribute type as given in the `[getType()](dw.experience.cms.CMSRecord.md#gettype).attribute_definitions`entries (similar to how [ComponentScriptContext.getContent()](dw.experience.ComponentScriptContext.md#getcontent)exposes the raw attribute value of a [Component.getAttribute(String)](dw.experience.Component.md#getattributestring)in shape of a DWScript API object based on the attribute type)
+
+
+ The attributes are also conveniently accessible through named property support. That means if `myCmsRecord.getAttributes().get('foo')` yields value `'bar'`,
+ then `myCmsRecord.foo` will give the same results.
+
+
+ **Returns:**
+ - the cms record attributes
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Return the id of the Salesforce CMS record.
+
+ **Returns:**
+ - the id of the Salesforce CMS record
+
+
+---
+
+### getType()
+- getType(): [Map](dw.util.Map.md)
+ - : Return the type of the Salesforce CMS record sufficing the `content/schema/cmsrecord.json#/definitions/cms_content_type` schema. Properties
+ can be accessed accordingly:
+
+ - `getType().id : string`
+ - `getType().name : string`
+ - `getType().attribute_definitions : Map`(see `content/schema/attributedefinition.json`)
+
+
+ **Returns:**
+ - the type of the cms record
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.cms.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.cms.md
new file mode 100644
index 00000000..73e4aeff
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.cms.md
@@ -0,0 +1,6 @@
+# Package dw.experience.cms
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [CMSRecord](dw.experience.cms.CMSRecord.md) | This class represents a Salesforce CMS record, exposing its:
The `attributes` are key value pairs:
|
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.FocalPoint.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.FocalPoint.md
new file mode 100644
index 00000000..6d41ca01
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.FocalPoint.md
@@ -0,0 +1,71 @@
+
+# Class FocalPoint
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.image.FocalPoint](dw.experience.image.FocalPoint.md)
+
+This class represents an image focal point.
+
+**See Also:**
+- [Image](dw.experience.image.Image.md)
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [x](#x): [Number](TopLevel.Number.md) `(read-only)` | Returns the focal point abscissa. |
+| [y](#y): [Number](TopLevel.Number.md) `(read-only)` | Returns the focal point ordinate. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getX](dw.experience.image.FocalPoint.md#getx)() | Returns the focal point abscissa. |
+| [getY](dw.experience.image.FocalPoint.md#gety)() | Returns the focal point ordinate. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### x
+- x: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the focal point abscissa.
+
+
+---
+
+### y
+- y: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the focal point ordinate.
+
+
+---
+
+## Method Details
+
+### getX()
+- getX(): [Number](TopLevel.Number.md)
+ - : Returns the focal point abscissa.
+
+ **Returns:**
+ - the focal point abscissa
+
+
+---
+
+### getY()
+- getY(): [Number](TopLevel.Number.md)
+ - : Returns the focal point ordinate.
+
+ **Returns:**
+ - the focal point ordinate
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.Image.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.Image.md
new file mode 100644
index 00000000..9259a7c4
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.Image.md
@@ -0,0 +1,101 @@
+
+# Class Image
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.image.Image](dw.experience.image.Image.md)
+
+This class represents an image with additional configuration capabilities (e.g. optional focal point).
+Furthermore it provides access to meta data of the referenced image file.
+
+
+**See Also:**
+- [FocalPoint](dw.experience.image.FocalPoint.md)
+- [ImageMetaData](dw.experience.image.ImageMetaData.md)
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [file](#file): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the image media file from the current site's library. |
+| [focalPoint](#focalpoint): [FocalPoint](dw.experience.image.FocalPoint.md) `(read-only)` | Returns the focal point of the image. |
+| [metaData](#metadata): [ImageMetaData](dw.experience.image.ImageMetaData.md) `(read-only)` | Returns the meta data of the physical image file. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getFile](dw.experience.image.Image.md#getfile)() | Returns the image media file from the current site's library. |
+| [getFocalPoint](dw.experience.image.Image.md#getfocalpoint)() | Returns the focal point of the image. |
+| [getMetaData](dw.experience.image.Image.md#getmetadata)() | Returns the meta data of the physical image file. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### file
+- file: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the image media file from the current site's library.
+
+
+---
+
+### focalPoint
+- focalPoint: [FocalPoint](dw.experience.image.FocalPoint.md) `(read-only)`
+ - : Returns the focal point of the image.
+
+
+---
+
+### metaData
+- metaData: [ImageMetaData](dw.experience.image.ImageMetaData.md) `(read-only)`
+ - : Returns the meta data of the physical image file. This meta data is obtained when
+ the respective component attribute was saved from Page Designer, i.e. the underlying
+ image is not queried for the meta data every time [getMetaData()](dw.experience.image.Image.md#getmetadata) is called
+ but only on store of the related component attribute.
+
+
+
+---
+
+## Method Details
+
+### getFile()
+- getFile(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the image media file from the current site's library.
+
+ **Returns:**
+ - the image media file, or null if not found
+
+
+---
+
+### getFocalPoint()
+- getFocalPoint(): [FocalPoint](dw.experience.image.FocalPoint.md)
+ - : Returns the focal point of the image.
+
+ **Returns:**
+ - the focal point, or null if not found
+
+
+---
+
+### getMetaData()
+- getMetaData(): [ImageMetaData](dw.experience.image.ImageMetaData.md)
+ - : Returns the meta data of the physical image file. This meta data is obtained when
+ the respective component attribute was saved from Page Designer, i.e. the underlying
+ image is not queried for the meta data every time [getMetaData()](dw.experience.image.Image.md#getmetadata) is called
+ but only on store of the related component attribute.
+
+
+ **Returns:**
+ - the meta data of the image, or null if no meta data was provided with the respective component attribute
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.ImageMetaData.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.ImageMetaData.md
new file mode 100644
index 00000000..3abf9ce3
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.ImageMetaData.md
@@ -0,0 +1,71 @@
+
+# Class ImageMetaData
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.experience.image.ImageMetaData](dw.experience.image.ImageMetaData.md)
+
+This class represents the image meta data, e.g. width and height.
+
+**See Also:**
+- [Image](dw.experience.image.Image.md)
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [height](#height): [Number](TopLevel.Number.md) `(read-only)` | Returns the image height. |
+| [width](#width): [Number](TopLevel.Number.md) `(read-only)` | Returns the image width. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getHeight](dw.experience.image.ImageMetaData.md#getheight)() | Returns the image height. |
+| [getWidth](dw.experience.image.ImageMetaData.md#getwidth)() | Returns the image width. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### height
+- height: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the image height.
+
+
+---
+
+### width
+- width: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the image width.
+
+
+---
+
+## Method Details
+
+### getHeight()
+- getHeight(): [Number](TopLevel.Number.md)
+ - : Returns the image height.
+
+ **Returns:**
+ - the image height in pixel
+
+
+---
+
+### getWidth()
+- getWidth(): [Number](TopLevel.Number.md)
+ - : Returns the image width.
+
+ **Returns:**
+ - the image width in pixel
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.md
new file mode 100644
index 00000000..d42e52a7
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.image.md
@@ -0,0 +1,8 @@
+# Package dw.experience.image
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [FocalPoint](dw.experience.image.FocalPoint.md) | This class represents an image focal point. |
+| [Image](dw.experience.image.Image.md) | This class represents an image with additional configuration capabilities (e.g. |
+| [ImageMetaData](dw.experience.image.ImageMetaData.md) | This class represents the image meta data, e.g. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.experience.md b/packages/b2c-tooling-sdk/data/script-api/dw.experience.md
new file mode 100644
index 00000000..cba2d0b3
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.experience.md
@@ -0,0 +1,16 @@
+# Package dw.experience
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [AspectAttributeValidationException](dw.experience.AspectAttributeValidationException.md) | This APIException is thrown by method [PageMgr.renderPage(String, Map, String)](dw.experience.PageMgr.md#renderpagestring-map-string) and [PageMgr.serializePage(String, Map, String)](dw.experience.PageMgr.md#serializepagestring-map-string) to indicate that the passed aspect attributes failed during validation against the definition provided through the aspect type of the page. |
+| [Component](dw.experience.Component.md) | This class represents a page designer managed component as part of a page. |
+| [ComponentRenderSettings](dw.experience.ComponentRenderSettings.md) | A config that drives how the component is rendered. |
+| [ComponentScriptContext](dw.experience.ComponentScriptContext.md) | This is the context that is handed over to the `render` and `serialize` function of the respective component type script. |
+| [CustomEditor](dw.experience.CustomEditor.md) | This class represents a custom editor for component attributes of type `custom`. |
+| [CustomEditorResources](dw.experience.CustomEditorResources.md) | This class represents the resources of a custom editor, i.e. |
+| [Page](dw.experience.Page.md) |
Possible values are [LineItemCtnr.BUSINESS_TYPE_B2C](dw.order.LineItemCtnr.md#business_type_b2c) or [LineItemCtnr.BUSINESS_TYPE_B2B](dw.order.LineItemCtnr.md#business_type_b2b). |
+| [setChannelType](dw.order.Basket.md#setchanneltypenumber)([Number](TopLevel.Number.md)) | Set the channel type in which sales channel this order has been created. |
+| ~~[setCustomerNo](dw.order.Basket.md#setcustomernostring)([String](TopLevel.String.md))~~ | Sets the customer number of the customer associated with this container. |
+| [startCheckout](dw.order.Basket.md#startcheckout)() | Register a "start checkout" event for the current basket. |
+| [updateCurrency](dw.order.Basket.md#updatecurrency)() | Updates the basket currency if different to session currency, otherwise does nothing. |
+
+### Methods inherited from class LineItemCtnr
+
+[addNote](dw.order.LineItemCtnr.md#addnotestring-string), [createBillingAddress](dw.order.LineItemCtnr.md#createbillingaddress), [createBonusProductLineItem](dw.order.LineItemCtnr.md#createbonusproductlineitembonusdiscountlineitem-product-productoptionmodel-shipment), [createCouponLineItem](dw.order.LineItemCtnr.md#createcouponlineitemstring), [createCouponLineItem](dw.order.LineItemCtnr.md#createcouponlineitemstring-boolean), [createGiftCertificateLineItem](dw.order.LineItemCtnr.md#creategiftcertificatelineitemnumber-string), [createGiftCertificatePaymentInstrument](dw.order.LineItemCtnr.md#creategiftcertificatepaymentinstrumentstring-money), [createPaymentInstrument](dw.order.LineItemCtnr.md#createpaymentinstrumentstring-money), [createPaymentInstrumentFromWallet](dw.order.LineItemCtnr.md#createpaymentinstrumentfromwalletcustomerpaymentinstrument-money), [createPriceAdjustment](dw.order.LineItemCtnr.md#createpriceadjustmentstring), [createPriceAdjustment](dw.order.LineItemCtnr.md#createpriceadjustmentstring-discount), [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemproduct-productoptionmodel-shipment), [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemproductlistitem-shipment), [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemstring-shipment), [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemstring-quantity-shipment), [createShipment](dw.order.LineItemCtnr.md#createshipmentstring), [createShippingPriceAdjustment](dw.order.LineItemCtnr.md#createshippingpriceadjustmentstring), [getAdjustedMerchandizeTotalGrossPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalgrossprice), [getAdjustedMerchandizeTotalNetPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalnetprice), [getAdjustedMerchandizeTotalPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalprice), [getAdjustedMerchandizeTotalPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalpriceboolean), [getAdjustedMerchandizeTotalTax](dw.order.LineItemCtnr.md#getadjustedmerchandizetotaltax), [getAdjustedShippingTotalGrossPrice](dw.order.LineItemCtnr.md#getadjustedshippingtotalgrossprice), [getAdjustedShippingTotalNetPrice](dw.order.LineItemCtnr.md#getadjustedshippingtotalnetprice), [getAdjustedShippingTotalPrice](dw.order.LineItemCtnr.md#getadjustedshippingtotalprice), [getAdjustedShippingTotalTax](dw.order.LineItemCtnr.md#getadjustedshippingtotaltax), [getAllGiftCertificateLineItems](dw.order.LineItemCtnr.md#getallgiftcertificatelineitems), [getAllLineItems](dw.order.LineItemCtnr.md#getalllineitems), [getAllProductLineItems](dw.order.LineItemCtnr.md#getallproductlineitems), [getAllProductLineItems](dw.order.LineItemCtnr.md#getallproductlineitemsstring), [getAllProductQuantities](dw.order.LineItemCtnr.md#getallproductquantities), [getAllShippingPriceAdjustments](dw.order.LineItemCtnr.md#getallshippingpriceadjustments), [getBillingAddress](dw.order.LineItemCtnr.md#getbillingaddress), [getBonusDiscountLineItems](dw.order.LineItemCtnr.md#getbonusdiscountlineitems), [getBonusLineItems](dw.order.LineItemCtnr.md#getbonuslineitems), [getBusinessType](dw.order.LineItemCtnr.md#getbusinesstype), [getChannelType](dw.order.LineItemCtnr.md#getchanneltype), [getCouponLineItem](dw.order.LineItemCtnr.md#getcouponlineitemstring), [getCouponLineItems](dw.order.LineItemCtnr.md#getcouponlineitems), [getCurrencyCode](dw.order.LineItemCtnr.md#getcurrencycode), [getCustomer](dw.order.LineItemCtnr.md#getcustomer), [getCustomerEmail](dw.order.LineItemCtnr.md#getcustomeremail), [getCustomerName](dw.order.LineItemCtnr.md#getcustomername), [getCustomerNo](dw.order.LineItemCtnr.md#getcustomerno), [getDefaultShipment](dw.order.LineItemCtnr.md#getdefaultshipment), [getEtag](dw.order.LineItemCtnr.md#getetag), [getGiftCertificateLineItems](dw.order.LineItemCtnr.md#getgiftcertificatelineitems), [getGiftCertificateLineItems](dw.order.LineItemCtnr.md#getgiftcertificatelineitemsstring), [getGiftCertificatePaymentInstruments](dw.order.LineItemCtnr.md#getgiftcertificatepaymentinstruments), [getGiftCertificatePaymentInstruments](dw.order.LineItemCtnr.md#getgiftcertificatepaymentinstrumentsstring), [getGiftCertificateTotalGrossPrice](dw.order.LineItemCtnr.md#getgiftcertificatetotalgrossprice), [getGiftCertificateTotalNetPrice](dw.order.LineItemCtnr.md#getgiftcertificatetotalnetprice), [getGiftCertificateTotalPrice](dw.order.LineItemCtnr.md#getgiftcertificatetotalprice), [getGiftCertificateTotalTax](dw.order.LineItemCtnr.md#getgiftcertificatetotaltax), [getMerchandizeTotalGrossPrice](dw.order.LineItemCtnr.md#getmerchandizetotalgrossprice), [getMerchandizeTotalNetPrice](dw.order.LineItemCtnr.md#getmerchandizetotalnetprice), [getMerchandizeTotalPrice](dw.order.LineItemCtnr.md#getmerchandizetotalprice), [getMerchandizeTotalTax](dw.order.LineItemCtnr.md#getmerchandizetotaltax), [getNotes](dw.order.LineItemCtnr.md#getnotes), [getPaymentInstrument](dw.order.LineItemCtnr.md#getpaymentinstrument), [getPaymentInstruments](dw.order.LineItemCtnr.md#getpaymentinstruments), [getPaymentInstruments](dw.order.LineItemCtnr.md#getpaymentinstrumentsstring), [getPriceAdjustmentByPromotionID](dw.order.LineItemCtnr.md#getpriceadjustmentbypromotionidstring), [getPriceAdjustments](dw.order.LineItemCtnr.md#getpriceadjustments), [getProductLineItems](dw.order.LineItemCtnr.md#getproductlineitems), [getProductLineItems](dw.order.LineItemCtnr.md#getproductlineitemsstring), [getProductQuantities](dw.order.LineItemCtnr.md#getproductquantities), [getProductQuantities](dw.order.LineItemCtnr.md#getproductquantitiesboolean), [getProductQuantityTotal](dw.order.LineItemCtnr.md#getproductquantitytotal), [getShipment](dw.order.LineItemCtnr.md#getshipmentstring), [getShipments](dw.order.LineItemCtnr.md#getshipments), [getShippingPriceAdjustmentByPromotionID](dw.order.LineItemCtnr.md#getshippingpriceadjustmentbypromotionidstring), [getShippingPriceAdjustments](dw.order.LineItemCtnr.md#getshippingpriceadjustments), [getShippingTotalGrossPrice](dw.order.LineItemCtnr.md#getshippingtotalgrossprice), [getShippingTotalNetPrice](dw.order.LineItemCtnr.md#getshippingtotalnetprice), [getShippingTotalPrice](dw.order.LineItemCtnr.md#getshippingtotalprice), [getShippingTotalTax](dw.order.LineItemCtnr.md#getshippingtotaltax), [getTaxTotalsPerTaxRate](dw.order.LineItemCtnr.md#gettaxtotalspertaxrate), [getTotalGrossPrice](dw.order.LineItemCtnr.md#gettotalgrossprice), [getTotalNetPrice](dw.order.LineItemCtnr.md#gettotalnetprice), [getTotalTax](dw.order.LineItemCtnr.md#gettotaltax), [isExternallyTaxed](dw.order.LineItemCtnr.md#isexternallytaxed), [isTaxRoundedAtGroup](dw.order.LineItemCtnr.md#istaxroundedatgroup), [removeAllPaymentInstruments](dw.order.LineItemCtnr.md#removeallpaymentinstruments), [removeBonusDiscountLineItem](dw.order.LineItemCtnr.md#removebonusdiscountlineitembonusdiscountlineitem), [removeCouponLineItem](dw.order.LineItemCtnr.md#removecouponlineitemcouponlineitem), [removeGiftCertificateLineItem](dw.order.LineItemCtnr.md#removegiftcertificatelineitemgiftcertificatelineitem), [removeNote](dw.order.LineItemCtnr.md#removenotenote), [removePaymentInstrument](dw.order.LineItemCtnr.md#removepaymentinstrumentpaymentinstrument), [removePriceAdjustment](dw.order.LineItemCtnr.md#removepriceadjustmentpriceadjustment), [removeProductLineItem](dw.order.LineItemCtnr.md#removeproductlineitemproductlineitem), [removeShipment](dw.order.LineItemCtnr.md#removeshipmentshipment), [removeShippingPriceAdjustment](dw.order.LineItemCtnr.md#removeshippingpriceadjustmentpriceadjustment), [setCustomerEmail](dw.order.LineItemCtnr.md#setcustomeremailstring), [setCustomerName](dw.order.LineItemCtnr.md#setcustomernamestring), [updateOrderLevelPriceAdjustmentTax](dw.order.LineItemCtnr.md#updateorderlevelpriceadjustmenttax), [updateTotals](dw.order.LineItemCtnr.md#updatetotals), [verifyPriceAdjustmentLimits](dw.order.LineItemCtnr.md#verifypriceadjustmentlimits)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### agentBasket
+- agentBasket: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns if the basket was created by an agent.
+
+
+ An agent basket is created by an agent on behalf of the customer in comparison to a storefront basket which is
+ created by the customer e.g. in the storefront. An agent basket can be created with
+ [BasketMgr.createAgentBasket()](dw.order.BasketMgr.md#createagentbasket).
+
+
+
+---
+
+### inventoryReservationExpiry
+- inventoryReservationExpiry: [Date](TopLevel.Date.md) `(read-only)`
+ - : Returns the timestamp when the inventory for this basket expires.
+
+
+ It will return `null` for the following reasons:
+
+ - No reservation for the basket was done
+ - Reservation is outdated meaning the timestamp is in the past
+
+
+
+
+
+ Please note that the expiry timestamp will not always be valid for the whole basket. It will not be valid for
+ new items added or items whose quantity has changed after the reservation was done.
+
+
+
+---
+
+### orderBeingEdited
+- orderBeingEdited: [Order](dw.order.Order.md) `(read-only)`
+ - : Returns the order that this basket represents if the basket is being used to edit an order, otherwise this method
+ returns null. Baskets created via [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder) will create a reference
+ to the order that was used to create this basket (please check limitations around basket accessibility in
+ [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder)).
+
+
+
+---
+
+### orderNoBeingEdited
+- orderNoBeingEdited: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the number of the order that this basket represents if the basket is being used to edit an order,
+ otherwise this method returns null. Baskets created via [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder)
+ will create a reference to the order that was used to create this basket (please check limitations around basket
+ accessibility in [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder)).
+
+
+
+---
+
+### taxRoundedAtGroup
+- taxRoundedAtGroup: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Use this method to check if the Basket was calculated with grouped taxation calculation.
+
+
+ If the tax is rounded on group level, the tax is applied to the summed-up tax basis for each tax rate.
+
+
+
+---
+
+### temporary
+- temporary: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns if the basket is temporary.
+
+
+ Temporary baskets are separate from shopper storefront and agent baskets, and are intended for use to perform
+ calculations or create an order without disturbing a shopper's open storefront basket. A temporary basket can be
+ created with [BasketMgr.createTemporaryBasket()](dw.order.BasketMgr.md#createtemporarybasket).
+
+
+
+---
+
+## Method Details
+
+### getInventoryReservationExpiry()
+- getInventoryReservationExpiry(): [Date](TopLevel.Date.md)
+ - : Returns the timestamp when the inventory for this basket expires.
+
+
+ It will return `null` for the following reasons:
+
+ - No reservation for the basket was done
+ - Reservation is outdated meaning the timestamp is in the past
+
+
+
+
+
+ Please note that the expiry timestamp will not always be valid for the whole basket. It will not be valid for
+ new items added or items whose quantity has changed after the reservation was done.
+
+
+ **Returns:**
+ - the inventory reservation expiry timestamp or `null`
+
+
+---
+
+### getOrderBeingEdited()
+- getOrderBeingEdited(): [Order](dw.order.Order.md)
+ - : Returns the order that this basket represents if the basket is being used to edit an order, otherwise this method
+ returns null. Baskets created via [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder) will create a reference
+ to the order that was used to create this basket (please check limitations around basket accessibility in
+ [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder)).
+
+
+ **Returns:**
+ - the order that this basket represents if the basket is being used to edit an order, otherwise this method
+ returns null.
+
+
+
+---
+
+### getOrderNoBeingEdited()
+- getOrderNoBeingEdited(): [String](TopLevel.String.md)
+ - : Returns the number of the order that this basket represents if the basket is being used to edit an order,
+ otherwise this method returns null. Baskets created via [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder)
+ will create a reference to the order that was used to create this basket (please check limitations around basket
+ accessibility in [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder)).
+
+
+ **Returns:**
+ - the number of the order that this basket represents if the basket is being used to edit an order,
+ otherwise this method returns null.
+
+
+
+---
+
+### isAgentBasket()
+- isAgentBasket(): [Boolean](TopLevel.Boolean.md)
+ - : Returns if the basket was created by an agent.
+
+
+ An agent basket is created by an agent on behalf of the customer in comparison to a storefront basket which is
+ created by the customer e.g. in the storefront. An agent basket can be created with
+ [BasketMgr.createAgentBasket()](dw.order.BasketMgr.md#createagentbasket).
+
+
+ **Returns:**
+ - `true` if the basket was created by an agent otherwise `false`
+
+
+---
+
+### isTaxRoundedAtGroup()
+- isTaxRoundedAtGroup(): [Boolean](TopLevel.Boolean.md)
+ - : Use this method to check if the Basket was calculated with grouped taxation calculation.
+
+
+ If the tax is rounded on group level, the tax is applied to the summed-up tax basis for each tax rate.
+
+
+ **Returns:**
+ - `true` if the Basket was calculated with grouped taxation
+
+
+---
+
+### isTemporary()
+- isTemporary(): [Boolean](TopLevel.Boolean.md)
+ - : Returns if the basket is temporary.
+
+
+ Temporary baskets are separate from shopper storefront and agent baskets, and are intended for use to perform
+ calculations or create an order without disturbing a shopper's open storefront basket. A temporary basket can be
+ created with [BasketMgr.createTemporaryBasket()](dw.order.BasketMgr.md#createtemporarybasket).
+
+
+ **Returns:**
+ - `true` if the basket is temporary otherwise `false`
+
+
+---
+
+### releaseInventory()
+- releaseInventory(): [Status](dw.system.Status.md)
+ - :
+
+ Release all inventory previously reserved for this basket. This is not needed for a normal workflow.
+ You can call `dw.order.Basket.reserveInventory()` one time after every basket change.
+ For performance and scaling reasons, avoid calling `dw.order.Basket.releaseInventory()`
+ before `dw.order.Basket.reserveInventory()`. The `reserveInventory` function works in
+ an optimized way to release inventory reservations that are no longer relevant.
+
+
+
+
+ The method implements its own transaction handling. Calling the method from inside a transaction is disallowed
+ and results in an exception being thrown. This behavior differs when calling the method from an **OCAPI
+ hook**. OCAPI hooks handle transactions themselves, so in this case there is also no need to do any transaction
+ handling, but to ensure the shortest possible locking of the inventory this method should only be called _as
+ the last step_ in the OCAPI hook.
+
+
+ **Returns:**
+ - a Status instance with - Status.OK if release inventory was successful, otherwise Status.ERROR.
+
+
+---
+
+### reserveInventory()
+- reserveInventory(): [Status](dw.system.Status.md)
+ - :
+
+ Reserves inventory for all items in this basket for 10 minutes. Any reservations created by previous calls of
+ this method are replaced.
+
+
+
+
+ Sample workflow for subsequent basket reservations:
+
+
+
+
+ 1. Request: Add item to basket and reserve the basket.
+
+
+
+
+
+ ```
+ transaction.begin()
+ basket.createProductLineItem("sku1",2,basket.defaultShipment)
+ basket.commit()
+ basket.reserveInventory()
+ // The reservation {sku1:2} is complete.
+ ```
+
+
+
+
+
+ 2. Request: Add item to basket.
+
+
+
+
+
+ ```
+ transaction.begin()
+ basket.createProductLineItem("sku2",2,basket.defaultShipment)
+ basket.commit()
+ basket.reserveInventory()
+ // The reservation {sku1:2, sku2:2} is complete. The previous reservation was overwritten.
+ ```
+
+
+
+
+
+ 3. Request: Remove item from basket.
+
+
+
+
+
+ ```
+ transaction.begin()
+ basket.removeProductLineItem(item1)
+ basket.commit()
+ basket.reserveInventory()
+ // The reservation {sku2:2} is complete. The previous reservation was
+ // overwritten and a quantity of 2 is released for sku1.
+ ```
+
+
+
+
+
+ The method can be used to reserve basket items before checkout to ensure that inventory is still available at the
+ time an order is created from the basket using [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket). If all or some
+ basket items are not reserved before creating an order, [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) will
+ validate item availability and will fail if any item is unavailable. Calling this method in the same request as
+ [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) is unnecessary and discouraged for performance reasons.
+
+
+
+
+ The maximum quantity that can be reserved at one time is equal to the ATS (Available To Sell) quantity. (See
+ [ProductInventoryRecord.getATS()](dw.catalog.ProductInventoryRecord.md#getats).)
+
+
+
+
+ When using B2C Commerce inventory, reserving basket inventory does not reduce ATS. In this case, converting the
+ basket to an order reduces ATS by the reserved amount. For example, consider a product with an ATS quantity of 5
+ and no reservations. If a basket reserves a quantity of 3, then other baskets still see an ATS of 5 but can only
+ reserve a quantity of 2.
+
+
+
+
+ When using Omnichannel Inventory, reserving basket inventory reduces ATS. In this case, converting the basket to
+ an order doesn't reduce ATS. In the previous example, after the first basket reserved a quantity of 3, other
+ baskets would see an ATS of 2.
+
+
+
+
+ Reservations can only be made for products with an inventory record. The reservation of product bundles is
+ controlled by the _Use Bundle Inventory Only_ setting on the inventory list. The setting allows inventory to
+ be reserved for just the bundle or for the bundle and its bundled products.
+
+
+
+
+ The following conditions must be met for the method to succeed:
+
+ - an inventory list must be assigned to the current site
+ - all products in the basket must exist, and must not be of type Master or ProductSet
+ - each product line item must have a valid quantity
+ - each product must have an inventory record, or the inventory list must define that products without inventory record are available by default
+ - the reservation must succeed for each item as described above.
+
+
+
+
+
+ The method implements its own transaction handling. Calling the method from inside a transaction is disallowed
+ and results in an exception being thrown. This behavior differs when calling the method from an **OCAPI
+ hook**. OCAPI hooks handle transactions themselves, so in this case there is also no need to do any transaction
+ handling, but to ensure the shortest possible locking of the inventory this method should only be called _as
+ the last step_ in the OCAPI hook.
+
+
+
+
+ If the reservation fails with an ERROR status, existing valid reservations for the basket will remain unchanged
+ but no new reservations will be made. This might lead to a partially reserved basket.
+
+
+
+
+ Behaves same as `reserveInventory( null, false );`.
+
+
+
+
+ This method must not be used with
+
+ - the **CreateOrder2**pipelet, or
+ - [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket), or
+ - [OrderMgr.createOrder(Basket, String)](dw.order.OrderMgr.md#createorderbasket-string)
+
+ in the same request.
+
+
+ **Returns:**
+ - a Status instance with - Status.OK if all items could be reserved, otherwise Status.ERROR meaning no
+ items were reserved.
+
+
+
+---
+
+### reserveInventory(Number)
+- reserveInventory(reservationDurationInMinutes: [Number](TopLevel.Number.md)): [Status](dw.system.Status.md)
+ - :
+
+ Reserve inventory for all items in this basket for 10 minutes. Any reservations created by previous calls of
+ this method are replaced.
+
+
+
+
+ Sample workflow for subsequent basket reservations:
+
+
+
+
+ 1. Request: Add item to basket and reserve the basket.
+
+
+
+
+
+ ```
+ transaction.begin()
+ basket.createProductLineItem("sku1",2,basket.defaultShipment)
+ basket.commit()
+ basket.reserveInventory()
+ // The reservation {sku1:2} is complete.
+ ```
+
+
+
+
+
+ 2. Request: Add item to basket.
+
+
+
+
+
+ ```
+ transaction.begin()
+ basket.createProductLineItem("sku2",2,basket.defaultShipment)
+ basket.commit()
+ basket.reserveInventory()
+ // The reservation {sku1:2, sku2:2} is complete. The previous reservation was overwritten.
+ ```
+
+
+
+
+
+ 3. Request: Remove item from basket.
+
+
+
+
+
+ ```
+ transaction.begin()
+ basket.removeProductLineItem(item1)
+ basket.commit()
+ basket.reserveInventory()
+ // The reservation {sku2:2} is complete. The previous reservation was
+ // overwritten and a quantity of 2 is released for sku1.
+ ```
+
+
+
+
+
+ The method can be used to reserve basket items before checkout to ensure that inventory is still available at the
+ time an order is created from the basket using [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket). If all or some
+ basket items are not reserved before creating an order, [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) will
+ validate item availability and will fail if any item is unavailable. Calling this method in the same request as
+ [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) is unnecessary and discouraged for performance reasons.
+
+
+
+
+ The maximum quantity that can be reserved at one time is equal to the ATS (Available To Sell) quantity. (See
+ [ProductInventoryRecord.getATS()](dw.catalog.ProductInventoryRecord.md#getats).)
+
+
+
+
+ When using B2C Commerce inventory, reserving basket inventory does not reduce ATS. In this case, converting the
+ basket to an order reduces ATS by the reserved amount. For example, consider a product with an ATS quantity of 5
+ and no reservations. If a basket reserves a quantity of 3, then other baskets still see an ATS of 5 but can only
+ reserve a quantity of 2.
+
+
+
+
+ When using Omnichannel Inventory, reserving basket inventory reduces ATS. In this case, converting the basket to
+ an order doesn't reduce ATS. In the previous example, after the first basket reserved a quantity of 3, other
+ baskets would see an ATS of 2.
+
+
+
+
+ Reservations can only be made for products with an inventory record. The reservation of product bundles is
+ controlled by the _Use Bundle Inventory Only_ setting on the inventory list. The setting allows inventory to
+ be reserved for just the bundle or for the bundle and its bundled products.
+
+
+
+
+ The following conditions must be met for the method to succeed:
+
+ - an inventory list must be assigned to the current site
+ - all products in the basket must exist, and must not be of type Master or ProductSet
+ - each product line item must have a valid quantity
+ - each product must have an inventory record, or the inventory list must define that products without inventory record are available by default
+ - the reservation must succeed for each item as described above.
+
+
+
+
+
+ The method implements its own transaction handling. Calling the method from inside a transaction is disallowed
+ and results in an exception being thrown. This behavior differs when calling the method from an **OCAPI
+ hook**. OCAPI hooks handle transactions themselves, so in this case there is also no need to do any transaction
+ handling, but to ensure the shortest possible locking of the inventory this method should only be called _as
+ the last step_ in the OCAPI hook.
+
+
+
+
+ [getInventoryReservationExpiry()](dw.order.Basket.md#getinventoryreservationexpiry) can be used to determine when the expiration will expire.
+
+
+
+
+ If the reservation fails with an ERROR status, existing valid reservations for the basket will remain unchanged
+ but no new reservations will be made. This might lead to a partially reserved basket.
+
+
+
+
+ Behaves same as `reserveInventory( reservationDurationInMinutes, false );`.
+
+
+
+
+ This method must not be used with
+
+ - the **CreateOrder2**pipelet, or
+ - [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket), or
+ - [OrderMgr.createOrder(Basket, String)](dw.order.OrderMgr.md#createorderbasket-string)
+
+ in the same request.
+
+
+ **Parameters:**
+ - reservationDurationInMinutes - reservation duration in minutes, specifying how long the reservation will last. The maximum value for the reservation duration is 240 minutes.
+
+ **Returns:**
+ - a Status instance with - Status.OK if all items could be reserved, otherwise Status.ERROR meaning no
+ items were reserved.
+
+
+
+---
+
+### reserveInventory(Number, Boolean)
+- reserveInventory(reservationDurationInMinutes: [Number](TopLevel.Number.md), removeIfNotAvailable: [Boolean](TopLevel.Boolean.md)): [Status](dw.system.Status.md)
+ - :
+
+ Reserve inventory for all items in this basket for 10 minutes. Any reservations created by previous calls of
+ this method are replaced.
+
+
+
+
+ Sample workflow for subsequent basket reservations:
+
+
+
+
+ 1. Request: Add item to basket and reserve the basket.
+
+
+
+
+
+ ```
+ transaction.begin()
+ basket.createProductLineItem("sku1",2,basket.defaultShipment)
+ basket.commit()
+ basket.reserveInventory()
+ // The reservation {sku1:2} is complete
+ ```
+
+
+
+
+
+ 2. Request: Add item to basket.
+
+
+
+
+
+ ```
+ transaction.begin()
+ basket.createProductLineItem("sku2",2,basket.defaultShipment)
+ basket.commit()
+ basket.reserveInventory()
+ // The reservation {sku1:2, sku2:2} is complete. The previous reservation was overwritten.
+ ```
+
+
+
+
+
+ 3. Request: Remove item from basket.
+
+
+
+
+
+ ```
+ transaction.begin()
+ basket.removeProductLineItem(item1)
+ basket.commit()
+ basket.reserveInventory()
+ // The reservation {sku2:2} is complete. The previous reservation was
+ // overwritten and a quantity of 2 is released for sku1.
+ ```
+
+
+
+
+
+ The method can be used to reserve basket items before checkout to ensure that inventory is still available at the
+ time an order is created from the basket using [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket). If all or some
+ basket items are not reserved before creating an order, [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) will
+ validate item availability and will fail if any item is unavailable. Calling this method in the same request as
+ [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) is unnecessary and discouraged for performance reasons.
+
+
+
+
+ The maximum quantity that can be reserved at one time is equal to the ATS (Available To Sell) quantity. (See
+ [ProductInventoryRecord.getATS()](dw.catalog.ProductInventoryRecord.md#getats).)
+
+
+
+
+ When using B2C Commerce inventory, reserving basket inventory does not reduce ATS. In this case, converting the
+ basket to an order reduces ATS by the reserved amount. For example, consider a product with an ATS quantity of 5
+ and no reservations. If a basket reserves a quantity of 3, then other baskets still see an ATS of 5 but can only
+ reserve a quantity of 2.
+
+
+
+
+ When using Omnichannel Inventory, reserving basket inventory reduces ATS. In this case, converting the basket to
+ an order doesn't reduce ATS. In the previous example, after the first basket reserved a quantity of 3, other
+ baskets would see an ATS of 2.
+
+
+
+
+ Reservations can only be made for products with an inventory record. The reservation of product bundles is
+ controlled by the _Use Bundle Inventory Only_ setting on the inventory list. The setting allows inventory to
+ be reserved for just the bundle or for the bundle and its bundled products.
+
+
+
+
+ The following conditions must be met for the method to succeed:
+
+ - an inventory list must be assigned to the current site
+ - all products in the basket must exist, and must not be of type Master or ProductSet
+ - each product line item must have a valid quantity
+ - each product must have an inventory record, or the inventory list must define that products without inventory record are available by default
+ - the reservation must succeed for each item as described above or `removeIfNotAvailable`is set to `true`
+
+
+
+
+
+ The method implements its own transaction handling. Calling the method from inside a transaction is disallowed
+ and results in an exception being thrown. This behavior differs when calling the method from an **OCAPI
+ hook**. OCAPI hooks handle transactions themselves, so in this case there is also no need to do any transaction
+ handling, but to ensure the shortest possible locking of the inventory this method should only be called _as
+ the last step_ in the OCAPI hook.
+
+
+
+
+ [getInventoryReservationExpiry()](dw.order.Basket.md#getinventoryreservationexpiry) can be used to determine when the expiration will expire.
+
+
+
+
+ If the reservation fails with an ERROR status, existing valid reservations for the basket will remain unchanged
+ but no new reservations will be made. This might lead to a partially reserved basket.
+
+
+
+
+ If the reservation succeeds with an OK status and `removeIfNotAvailable` is `true`, basket
+ line items quantities might have been changed or line items might have been removed. The returned
+ [Status](dw.system.Status.md) object will contain information about the changes. Possible values for
+ [StatusItem.getCode()](dw.system.StatusItem.md#getcode) are:
+
+ - BUNDLE\_REMOVED - a bundle item was removed completely
+ - ITEM\_REMOVED - a product line item was removed completely
+ - ITEM\_QUANTITY\_REDUCED - the quantity of a line item was reduced
+
+ [StatusItem.getDetails()](dw.system.StatusItem.md#getdetails) will contain for each item the **sku** and **uuid** of the item
+ which was changed/removed.
+
+
+
+
+ This method must not be used with
+
+ - the **CreateOrder2**pipelet, or
+ - [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket), or
+ - [OrderMgr.createOrder(Basket, String)](dw.order.OrderMgr.md#createorderbasket-string)
+
+ in the same request.
+
+
+ **Parameters:**
+ - reservationDurationInMinutes - reservation duration in minutes, specifying how long the reservation will last. The maximum value for the reservation duration is 240 minutes.
+ - removeIfNotAvailable - if `true` is specified it will not fail if not the full quantity of the items can be reserved. Item quantity will be reduced to the quantity that could be reserved. Item will be removed if not at least quantity 1 for the item could be reserved. Different to that if a bundle line item cannot be reserved completely it will be removed including dependent line item (bundled items).
+
+ **Returns:**
+ - a Status instance with - Status.OK meaning reservation process was successful. In case of
+ `removeIfNotAvailable` is true, status might contain status items
+ ([Status.getItems()](dw.system.Status.md#getitems)) for each item that needed to be changed or removed. In the worst
+ case this could result in an empty basket and no items reserved. A Status instance with - Status.ERROR
+ will be returned if `removeIfNotAvailable` is false and not all items could be reserved fully
+ or any unexpected error occurred.
+
+
+
+---
+
+### setBusinessType(Number)
+- setBusinessType(aType: [Number](TopLevel.Number.md)): void
+ - : Set the type of the business this order has been placed in.
+
+ Possible values are [LineItemCtnr.BUSINESS_TYPE_B2C](dw.order.LineItemCtnr.md#business_type_b2c) or [LineItemCtnr.BUSINESS_TYPE_B2B](dw.order.LineItemCtnr.md#business_type_b2b).
+
+
+ **Parameters:**
+ - aType - the business type to set for this basket
+
+
+---
+
+### setChannelType(Number)
+- setChannelType(aType: [Number](TopLevel.Number.md)): void
+ - : Set the channel type in which sales channel this order has been created. This can be used to distinguish order
+ placed through e.g. Storefront, Call Center or Marketplace.
+
+ Possible values are [LineItemCtnr.CHANNEL_TYPE_STOREFRONT](dw.order.LineItemCtnr.md#channel_type_storefront),
+ [LineItemCtnr.CHANNEL_TYPE_CALLCENTER](dw.order.LineItemCtnr.md#channel_type_callcenter), [LineItemCtnr.CHANNEL_TYPE_MARKETPLACE](dw.order.LineItemCtnr.md#channel_type_marketplace),
+ [LineItemCtnr.CHANNEL_TYPE_DSS](dw.order.LineItemCtnr.md#channel_type_dss), [LineItemCtnr.CHANNEL_TYPE_STORE](dw.order.LineItemCtnr.md#channel_type_store),
+ [LineItemCtnr.CHANNEL_TYPE_PINTEREST](dw.order.LineItemCtnr.md#channel_type_pinterest), [LineItemCtnr.CHANNEL_TYPE_TWITTER](dw.order.LineItemCtnr.md#channel_type_twitter),
+ [LineItemCtnr.CHANNEL_TYPE_FACEBOOKADS](dw.order.LineItemCtnr.md#channel_type_facebookads), [LineItemCtnr.CHANNEL_TYPE_SUBSCRIPTIONS](dw.order.LineItemCtnr.md#channel_type_subscriptions),
+ [LineItemCtnr.CHANNEL_TYPE_ONLINERESERVATION](dw.order.LineItemCtnr.md#channel_type_onlinereservation),
+ [LineItemCtnr.CHANNEL_TYPE_INSTAGRAMCOMMERCE](dw.order.LineItemCtnr.md#channel_type_instagramcommerce), [LineItemCtnr.CHANNEL_TYPE_GOOGLE](dw.order.LineItemCtnr.md#channel_type_google),
+ [LineItemCtnr.CHANNEL_TYPE_YOUTUBE](dw.order.LineItemCtnr.md#channel_type_youtube), [LineItemCtnr.CHANNEL_TYPE_TIKTOK](dw.order.LineItemCtnr.md#channel_type_tiktok),
+ [LineItemCtnr.CHANNEL_TYPE_SNAPCHAT](dw.order.LineItemCtnr.md#channel_type_snapchat), [LineItemCtnr.CHANNEL_TYPE_WHATSAPP](dw.order.LineItemCtnr.md#channel_type_whatsapp) The
+ value for [LineItemCtnr.CHANNEL_TYPE_CUSTOMERSERVICECENTER](dw.order.LineItemCtnr.md#channel_type_customerservicecenter) is also available, but it can not be
+ set by the scripting API, it is set only internally.
+
+
+ **Parameters:**
+ - aType - the channel type to set for this basket
+
+
+---
+
+### setCustomerNo(String)
+- ~~setCustomerNo(customerNo: [String](TopLevel.String.md)): void~~
+ - : Sets the customer number of the customer associated with this container.
+
+
+ Note this method has little effect as it only sets the customer number and it does _not re-link the basket with
+ a customer profile> object, nor is the number copied into the [Order](dw.order.Order.md) should one be created from
+ the basket. Use [Order.setCustomer(Customer)](dw.order.Order.md#setcustomercustomer) instead for a registered customer. For a
+ guest customer the customerNo is usually generated during order creation and the attribute is set at order level.
+
+
+ **Parameters:**
+ - customerNo - the customer number of the customer associated with this container.
+
+ **Deprecated:**
+:::warning
+The method has been deprecated. Please use [Order.setCustomer(Customer)](dw.order.Order.md#setcustomercustomer)
+ instead for registered customer. For guest customer the customerNo is usually generated during order
+ creation and the attribute is set at order level.
+
+:::
+
+---
+
+### startCheckout()
+- startCheckout(): void
+ - : Register a "start checkout" event for the current basket. This event is tracked for AB test statistics
+ but otherwise has no effect on the basket. The system will register at most one checkout per basket per session.
+
+
+
+---
+
+### updateCurrency()
+- updateCurrency(): void
+ - : Updates the basket currency if different to session currency, otherwise does nothing.
+
+
+ Use [Session.setCurrency(Currency)](dw.system.Session.md#setcurrencycurrency) to set the currency for the session. To reflect the session
+ currency change to the basket you need to update the basket with this method. This ensures that any upcoming
+ basket recalculation, which is based on the session currency, matches the basket currency.
+
+
+
+
+ ```
+ ...
+ if (basket.getBillingAddress().getCountryCode() == 'DE'){
+ var newCurrency : Currency = Currency.getCurrency('EUR');
+ session.setCurrency( newCurrency );
+ basket.updateCurrency();
+ }
+ customBasketRecalculate();
+ ...
+ ```
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.BasketMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.BasketMgr.md
new file mode 100644
index 00000000..b2b0b7cc
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.BasketMgr.md
@@ -0,0 +1,673 @@
+
+# Class BasketMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.BasketMgr](dw.order.BasketMgr.md)
+
+Provides static helper methods for managing baskets.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [baskets](#baskets): [List](dw.util.List.md) `(read-only)` |
Possible values are [BUSINESS_TYPE_B2C](dw.order.LineItemCtnr.md#business_type_b2c) or [BUSINESS_TYPE_B2B](dw.order.LineItemCtnr.md#business_type_b2b). |
+| [channelType](#channeltype): [EnumValue](dw.value.EnumValue.md) `(read-only)` | The channel type defines in which sales channel this order has been created. |
+| [couponLineItems](#couponlineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns a sorted collection of the coupon line items in the container. |
+| [currencyCode](#currencycode): [String](TopLevel.String.md) `(read-only)` | Returns the currency code for this line item container. |
+| [customer](#customer): [Customer](dw.customer.Customer.md) `(read-only)` | Returns the customer associated with this container. |
+| [customerEmail](#customeremail): [String](TopLevel.String.md) | Returns the email of the customer associated with this container. |
+| [customerName](#customername): [String](TopLevel.String.md) | Returns the name of the customer associated with this container. |
+| [customerNo](#customerno): [String](TopLevel.String.md) `(read-only)` | Returns the customer number of the customer associated with this container. |
+| [defaultShipment](#defaultshipment): [Shipment](dw.order.Shipment.md) `(read-only)` | Returns the default shipment of the line item container. |
+| [etag](#etag): [String](TopLevel.String.md) `(read-only)` | Returns the Etag of the line item container. |
+| [externallyTaxed](#externallytaxed): [Boolean](TopLevel.Boolean.md) `(read-only)` | Use this method to check whether the LineItemCtnr is calculated based on external tax tables. |
+| [giftCertificateLineItems](#giftcertificatelineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns all gift certificate line items of the container. |
+| [giftCertificatePaymentInstruments](#giftcertificatepaymentinstruments): [Collection](dw.util.Collection.md) `(read-only)` | Returns an unsorted collection of the PaymentInstrument instances that represent GiftCertificates in this container. |
+| [giftCertificateTotalGrossPrice](#giftcertificatetotalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the total gross price of all gift certificates in the cart. |
+| [giftCertificateTotalNetPrice](#giftcertificatetotalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the total net price (excluding tax) of all gift certificates in the cart. |
+| [giftCertificateTotalPrice](#giftcertificatetotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the gift certificate total price. |
+| [giftCertificateTotalTax](#giftcertificatetotaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the total tax of all gift certificates in the cart. |
+| [merchandizeTotalGrossPrice](#merchandizetotalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the total gross price (including tax) in purchase currency. |
+| [merchandizeTotalNetPrice](#merchandizetotalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the total net price (excluding tax) in purchase currency. |
+| [merchandizeTotalPrice](#merchandizetotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the merchandize total price. |
+| [merchandizeTotalTax](#merchandizetotaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the total tax in purchase currency. |
+| [notes](#notes): [List](dw.util.List.md) `(read-only)` | Returns the list of notes for this object, ordered by creation time from oldest to newest. |
+| ~~[paymentInstrument](#paymentinstrument): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)~~ `(read-only)` | Returns the payment instrument of the line item container or null. |
+| [paymentInstruments](#paymentinstruments): [Collection](dw.util.Collection.md) `(read-only)` | Returns an unsorted collection of the payment instruments in this container. |
+| [priceAdjustments](#priceadjustments): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of price adjustments that have been applied to the totals such as promotion on the purchase value (i.e. |
+| [productLineItems](#productlineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns the product line items of the container that are not dependent on other product line items. |
+| [productQuantities](#productquantities): [HashMap](dw.util.HashMap.md) `(read-only)` | Returns a hash map of all products in the line item container and their total quantities. |
+| [productQuantityTotal](#productquantitytotal): [Number](TopLevel.Number.md) `(read-only)` | Returns the total quantity of all product line items. |
+| [shipments](#shipments): [Collection](dw.util.Collection.md) `(read-only)` | Returns all shipments of the line item container.
The first shipment in the returned collection is the default shipment (shipment ID always set to "me"). |
+| [shippingPriceAdjustments](#shippingpriceadjustments): [Collection](dw.util.Collection.md) `(read-only)` | Returns the of shipping price adjustments applied to the shipping total of the container. |
+| [shippingTotalGrossPrice](#shippingtotalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the sum of all shipping line items of the line item container, including tax before shipping adjustments have been applied. |
+| [shippingTotalNetPrice](#shippingtotalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the sum of all shipping line items of the line item container, excluding tax before shipping adjustments have been applied. |
+| [shippingTotalPrice](#shippingtotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the shipping total price. |
+| [shippingTotalTax](#shippingtotaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the tax of all shipping line items of the line item container before shipping adjustments have been applied. |
+| [taxRoundedAtGroup](#taxroundedatgroup): [Boolean](TopLevel.Boolean.md) `(read-only)` | Use this method to check if the LineItemCtnr was calculated with grouped taxation calculation. |
+| [taxTotalsPerTaxRate](#taxtotalspertaxrate): [SortedMap](dw.util.SortedMap.md) `(read-only)` | This method returns a [SortedMap](dw.util.SortedMap.md) in which the keys are [Decimal](dw.util.Decimal.md) tax rates and the values are [Money](dw.value.Money.md) total tax for the tax rate. |
+| [totalGrossPrice](#totalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the grand total price gross of tax for LineItemCtnr, in purchase currency. |
+| [totalNetPrice](#totalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the grand total price for LineItemCtnr net of tax, in purchase currency. |
+| [totalTax](#totaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the grand total tax for LineItemCtnr, in purchase currency. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addNote](dw.order.LineItemCtnr.md#addnotestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Adds a note to the object. |
+| [createBillingAddress](dw.order.LineItemCtnr.md#createbillingaddress)() | Create a billing address for the LineItemCtnr. |
+| [createBonusProductLineItem](dw.order.LineItemCtnr.md#createbonusproductlineitembonusdiscountlineitem-product-productoptionmodel-shipment)([BonusDiscountLineItem](dw.order.BonusDiscountLineItem.md), [Product](dw.catalog.Product.md), [ProductOptionModel](dw.catalog.ProductOptionModel.md), [Shipment](dw.order.Shipment.md)) | Creates a product line item in the container based on the passed Product and BonusDiscountLineItem. |
+| [createCouponLineItem](dw.order.LineItemCtnr.md#createcouponlineitemstring)([String](TopLevel.String.md)) | Creates a coupon line item that is not based on the B2C Commerce campaign system and associates it with the specified coupon code. |
+| [createCouponLineItem](dw.order.LineItemCtnr.md#createcouponlineitemstring-boolean)([String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md)) | Creates a new CouponLineItem for this container based on the supplied coupon code. |
+| [createGiftCertificateLineItem](dw.order.LineItemCtnr.md#creategiftcertificatelineitemnumber-string)([Number](TopLevel.Number.md), [String](TopLevel.String.md)) | Creates a gift certificate line item. |
+| [createGiftCertificatePaymentInstrument](dw.order.LineItemCtnr.md#creategiftcertificatepaymentinstrumentstring-money)([String](TopLevel.String.md), [Money](dw.value.Money.md)) | Creates an OrderPaymentInstrument representing a Gift Certificate. |
+| [createPaymentInstrument](dw.order.LineItemCtnr.md#createpaymentinstrumentstring-money)([String](TopLevel.String.md), [Money](dw.value.Money.md)) | Creates a payment instrument using the specified payment method id and amount. |
+| [createPaymentInstrumentFromWallet](dw.order.LineItemCtnr.md#createpaymentinstrumentfromwalletcustomerpaymentinstrument-money)([CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md), [Money](dw.value.Money.md)) | Creates a payment instrument using the specified wallet payment instrument and amount. |
+| [createPriceAdjustment](dw.order.LineItemCtnr.md#createpriceadjustmentstring)([String](TopLevel.String.md)) | Creates an order price adjustment.
The promotion id is mandatory and must not be the ID of any actual promotion defined in B2C Commerce; otherwise an exception is thrown. |
+| [createPriceAdjustment](dw.order.LineItemCtnr.md#createpriceadjustmentstring-discount)([String](TopLevel.String.md), [Discount](dw.campaign.Discount.md)) | Creates an order level price adjustment for a specific discount.
The promotion id is mandatory and must not be the ID of any actual promotion defined in B2C Commerce; otherwise an exception is thrown. |
+| [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemproduct-productoptionmodel-shipment)([Product](dw.catalog.Product.md), [ProductOptionModel](dw.catalog.ProductOptionModel.md), [Shipment](dw.order.Shipment.md)) | Creates a new product line item in the container and assigns it to the specified shipment. |
+| [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemproductlistitem-shipment)([ProductListItem](dw.customer.ProductListItem.md), [Shipment](dw.order.Shipment.md)) | Creates a new product line item in the basket and assigns it to the specified shipment. |
+| [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemstring-shipment)([String](TopLevel.String.md), [Shipment](dw.order.Shipment.md)) | Creates a new product line item in the container and assigns it to the specified shipment. |
+| ~~[createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemstring-quantity-shipment)([String](TopLevel.String.md), [Quantity](dw.value.Quantity.md), [Shipment](dw.order.Shipment.md))~~ | Creates a new product line item in the container and assigns it to the specified shipment. |
+| [createShipment](dw.order.LineItemCtnr.md#createshipmentstring)([String](TopLevel.String.md)) | Creates a standard shipment for the line item container. |
+| [createShippingPriceAdjustment](dw.order.LineItemCtnr.md#createshippingpriceadjustmentstring)([String](TopLevel.String.md)) | Creates a shipping price adjustment to be applied to the container. |
+| [getAdjustedMerchandizeTotalGrossPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalgrossprice)() | Returns the adjusted total gross price (including tax) in purchase currency. |
+| [getAdjustedMerchandizeTotalNetPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalnetprice)() | Returns the total net price (excluding tax) in purchase currency. |
+| [getAdjustedMerchandizeTotalPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalprice)() | Returns the adjusted merchandize total price including product-level and order-level adjustments. |
+| [getAdjustedMerchandizeTotalPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalpriceboolean)([Boolean](TopLevel.Boolean.md)) | Returns the adjusted merchandize total price including order-level adjustments if requested. |
+| [getAdjustedMerchandizeTotalTax](dw.order.LineItemCtnr.md#getadjustedmerchandizetotaltax)() | Returns the subtotal tax in purchase currency. |
+| [getAdjustedShippingTotalGrossPrice](dw.order.LineItemCtnr.md#getadjustedshippingtotalgrossprice)() | Returns the adjusted sum of all shipping line items of the line item container, including tax after shipping adjustments have been applied. |
+| [getAdjustedShippingTotalNetPrice](dw.order.LineItemCtnr.md#getadjustedshippingtotalnetprice)() | Returns the sum of all shipping line items of the line item container, excluding tax after shipping adjustments have been applied. |
+| [getAdjustedShippingTotalPrice](dw.order.LineItemCtnr.md#getadjustedshippingtotalprice)() | Returns the adjusted shipping total price. |
+| [getAdjustedShippingTotalTax](dw.order.LineItemCtnr.md#getadjustedshippingtotaltax)() | Returns the tax of all shipping line items of the line item container after shipping adjustments have been applied. |
+| ~~[getAllGiftCertificateLineItems](dw.order.LineItemCtnr.md#getallgiftcertificatelineitems)()~~ | Returns all gift certificate line items of the container. |
+| [getAllLineItems](dw.order.LineItemCtnr.md#getalllineitems)() | Returns all product, shipping, price adjustment, and gift certificate line items of the line item container. |
+| [getAllProductLineItems](dw.order.LineItemCtnr.md#getallproductlineitems)() | Returns all product line items of the container, no matter if they are dependent or independent. |
+| [getAllProductLineItems](dw.order.LineItemCtnr.md#getallproductlineitemsstring)([String](TopLevel.String.md)) | Returns all product line items of the container that have a product ID equal to the specified product ID, no matter if they are dependent or independent. |
+| [getAllProductQuantities](dw.order.LineItemCtnr.md#getallproductquantities)() | Returns a hash mapping all products in the line item container to their total quantities. |
+| [getAllShippingPriceAdjustments](dw.order.LineItemCtnr.md#getallshippingpriceadjustments)() | Returns the collection of all shipping price adjustments applied somewhere in the container. |
+| [getBillingAddress](dw.order.LineItemCtnr.md#getbillingaddress)() | Returns the billing address defined for the container. |
+| [getBonusDiscountLineItems](dw.order.LineItemCtnr.md#getbonusdiscountlineitems)() | Returns an unsorted collection of the the bonus discount line items associated with this container. |
+| [getBonusLineItems](dw.order.LineItemCtnr.md#getbonuslineitems)() | Returns the collection of product line items that are bonus items (where [ProductLineItem.isBonusProductLineItem()](dw.order.ProductLineItem.md#isbonusproductlineitem) is true). |
+| [getBusinessType](dw.order.LineItemCtnr.md#getbusinesstype)() | Returns the type of the business this order has been placed in.
Possible values are [BUSINESS_TYPE_B2C](dw.order.LineItemCtnr.md#business_type_b2c) or [BUSINESS_TYPE_B2B](dw.order.LineItemCtnr.md#business_type_b2b). |
+| [getChannelType](dw.order.LineItemCtnr.md#getchanneltype)() | The channel type defines in which sales channel this order has been created. |
+| [getCouponLineItem](dw.order.LineItemCtnr.md#getcouponlineitemstring)([String](TopLevel.String.md)) | Returns the coupon line item representing the specified coupon code. |
+| [getCouponLineItems](dw.order.LineItemCtnr.md#getcouponlineitems)() | Returns a sorted collection of the coupon line items in the container. |
+| [getCurrencyCode](dw.order.LineItemCtnr.md#getcurrencycode)() | Returns the currency code for this line item container. |
+| [getCustomer](dw.order.LineItemCtnr.md#getcustomer)() | Returns the customer associated with this container. |
+| [getCustomerEmail](dw.order.LineItemCtnr.md#getcustomeremail)() | Returns the email of the customer associated with this container. |
+| [getCustomerName](dw.order.LineItemCtnr.md#getcustomername)() | Returns the name of the customer associated with this container. |
+| [getCustomerNo](dw.order.LineItemCtnr.md#getcustomerno)() | Returns the customer number of the customer associated with this container. |
+| [getDefaultShipment](dw.order.LineItemCtnr.md#getdefaultshipment)() | Returns the default shipment of the line item container. |
+| [getEtag](dw.order.LineItemCtnr.md#getetag)() | Returns the Etag of the line item container. |
+| [getGiftCertificateLineItems](dw.order.LineItemCtnr.md#getgiftcertificatelineitems)() | Returns all gift certificate line items of the container. |
+| [getGiftCertificateLineItems](dw.order.LineItemCtnr.md#getgiftcertificatelineitemsstring)([String](TopLevel.String.md)) | Returns all gift certificate line items of the container, no matter if they are dependent or independent. |
+| [getGiftCertificatePaymentInstruments](dw.order.LineItemCtnr.md#getgiftcertificatepaymentinstruments)() | Returns an unsorted collection of the PaymentInstrument instances that represent GiftCertificates in this container. |
+| [getGiftCertificatePaymentInstruments](dw.order.LineItemCtnr.md#getgiftcertificatepaymentinstrumentsstring)([String](TopLevel.String.md)) | Returns an unsorted collection containing all PaymentInstruments of type PaymentInstrument.METHOD\_GIFT\_CERTIFICATE where the specified code is the same code on the payment instrument. |
+| [getGiftCertificateTotalGrossPrice](dw.order.LineItemCtnr.md#getgiftcertificatetotalgrossprice)() | Returns the total gross price of all gift certificates in the cart. |
+| [getGiftCertificateTotalNetPrice](dw.order.LineItemCtnr.md#getgiftcertificatetotalnetprice)() | Returns the total net price (excluding tax) of all gift certificates in the cart. |
+| [getGiftCertificateTotalPrice](dw.order.LineItemCtnr.md#getgiftcertificatetotalprice)() | Returns the gift certificate total price. |
+| [getGiftCertificateTotalTax](dw.order.LineItemCtnr.md#getgiftcertificatetotaltax)() | Returns the total tax of all gift certificates in the cart. |
+| [getMerchandizeTotalGrossPrice](dw.order.LineItemCtnr.md#getmerchandizetotalgrossprice)() | Returns the total gross price (including tax) in purchase currency. |
+| [getMerchandizeTotalNetPrice](dw.order.LineItemCtnr.md#getmerchandizetotalnetprice)() | Returns the total net price (excluding tax) in purchase currency. |
+| [getMerchandizeTotalPrice](dw.order.LineItemCtnr.md#getmerchandizetotalprice)() | Returns the merchandize total price. |
+| [getMerchandizeTotalTax](dw.order.LineItemCtnr.md#getmerchandizetotaltax)() | Returns the total tax in purchase currency. |
+| [getNotes](dw.order.LineItemCtnr.md#getnotes)() | Returns the list of notes for this object, ordered by creation time from oldest to newest. |
+| ~~[getPaymentInstrument](dw.order.LineItemCtnr.md#getpaymentinstrument)()~~ | Returns the payment instrument of the line item container or null. |
+| [getPaymentInstruments](dw.order.LineItemCtnr.md#getpaymentinstruments)() | Returns an unsorted collection of the payment instruments in this container. |
+| [getPaymentInstruments](dw.order.LineItemCtnr.md#getpaymentinstrumentsstring)([String](TopLevel.String.md)) | Returns an unsorted collection of PaymentInstrument instances based on the specified payment method ID. |
+| [getPriceAdjustmentByPromotionID](dw.order.LineItemCtnr.md#getpriceadjustmentbypromotionidstring)([String](TopLevel.String.md)) | Returns the price adjustment associated to the specified promotion ID. |
+| [getPriceAdjustments](dw.order.LineItemCtnr.md#getpriceadjustments)() | Returns the collection of price adjustments that have been applied to the totals such as promotion on the purchase value (i.e. |
+| [getProductLineItems](dw.order.LineItemCtnr.md#getproductlineitems)() | Returns the product line items of the container that are not dependent on other product line items. |
+| [getProductLineItems](dw.order.LineItemCtnr.md#getproductlineitemsstring)([String](TopLevel.String.md)) | Returns the product line items of the container that have a product ID equal to the specified product ID and that are not dependent on other product line items. |
+| [getProductQuantities](dw.order.LineItemCtnr.md#getproductquantities)() | Returns a hash map of all products in the line item container and their total quantities. |
+| [getProductQuantities](dw.order.LineItemCtnr.md#getproductquantitiesboolean)([Boolean](TopLevel.Boolean.md)) | Returns a hash map of all products in the line item container and their total quantities. |
+| [getProductQuantityTotal](dw.order.LineItemCtnr.md#getproductquantitytotal)() | Returns the total quantity of all product line items. |
+| [getShipment](dw.order.LineItemCtnr.md#getshipmentstring)([String](TopLevel.String.md)) | Returns the shipment for the specified ID or `null` if no shipment with this ID exists in the line item container. |
+| [getShipments](dw.order.LineItemCtnr.md#getshipments)() | Returns all shipments of the line item container.
The first shipment in the returned collection is the default shipment (shipment ID always set to "me"). |
+| [getShippingPriceAdjustmentByPromotionID](dw.order.LineItemCtnr.md#getshippingpriceadjustmentbypromotionidstring)([String](TopLevel.String.md)) | Returns the shipping price adjustment associated with the specified promotion ID. |
+| [getShippingPriceAdjustments](dw.order.LineItemCtnr.md#getshippingpriceadjustments)() | Returns the of shipping price adjustments applied to the shipping total of the container. |
+| [getShippingTotalGrossPrice](dw.order.LineItemCtnr.md#getshippingtotalgrossprice)() | Returns the sum of all shipping line items of the line item container, including tax before shipping adjustments have been applied. |
+| [getShippingTotalNetPrice](dw.order.LineItemCtnr.md#getshippingtotalnetprice)() | Returns the sum of all shipping line items of the line item container, excluding tax before shipping adjustments have been applied. |
+| [getShippingTotalPrice](dw.order.LineItemCtnr.md#getshippingtotalprice)() | Returns the shipping total price. |
+| [getShippingTotalTax](dw.order.LineItemCtnr.md#getshippingtotaltax)() | Returns the tax of all shipping line items of the line item container before shipping adjustments have been applied. |
+| [getTaxTotalsPerTaxRate](dw.order.LineItemCtnr.md#gettaxtotalspertaxrate)() | This method returns a [SortedMap](dw.util.SortedMap.md) in which the keys are [Decimal](dw.util.Decimal.md) tax rates and the values are [Money](dw.value.Money.md) total tax for the tax rate. |
+| [getTotalGrossPrice](dw.order.LineItemCtnr.md#gettotalgrossprice)() | Returns the grand total price gross of tax for LineItemCtnr, in purchase currency. |
+| [getTotalNetPrice](dw.order.LineItemCtnr.md#gettotalnetprice)() | Returns the grand total price for LineItemCtnr net of tax, in purchase currency. |
+| [getTotalTax](dw.order.LineItemCtnr.md#gettotaltax)() | Returns the grand total tax for LineItemCtnr, in purchase currency. |
+| [isExternallyTaxed](dw.order.LineItemCtnr.md#isexternallytaxed)() | Use this method to check whether the LineItemCtnr is calculated based on external tax tables. |
+| [isTaxRoundedAtGroup](dw.order.LineItemCtnr.md#istaxroundedatgroup)() | Use this method to check if the LineItemCtnr was calculated with grouped taxation calculation. |
+| [removeAllPaymentInstruments](dw.order.LineItemCtnr.md#removeallpaymentinstruments)() | Removes the all Payment Instruments from this container and deletes the Payment Instruments. |
+| [removeBonusDiscountLineItem](dw.order.LineItemCtnr.md#removebonusdiscountlineitembonusdiscountlineitem)([BonusDiscountLineItem](dw.order.BonusDiscountLineItem.md)) | Removes the specified bonus discount line item from the line item container. |
+| [removeCouponLineItem](dw.order.LineItemCtnr.md#removecouponlineitemcouponlineitem)([CouponLineItem](dw.order.CouponLineItem.md)) | Removes the specified coupon line item from the line item container. |
+| [removeGiftCertificateLineItem](dw.order.LineItemCtnr.md#removegiftcertificatelineitemgiftcertificatelineitem)([GiftCertificateLineItem](dw.order.GiftCertificateLineItem.md)) | Removes the specified gift certificate line item from the line item container. |
+| [removeNote](dw.order.LineItemCtnr.md#removenotenote)([Note](dw.object.Note.md)) | Removes a note from this line item container and deletes it. |
+| [removePaymentInstrument](dw.order.LineItemCtnr.md#removepaymentinstrumentpaymentinstrument)([PaymentInstrument](dw.order.PaymentInstrument.md)) | Removes the specified Payment Instrument from this container and deletes the Payment Instrument. |
+| [removePriceAdjustment](dw.order.LineItemCtnr.md#removepriceadjustmentpriceadjustment)([PriceAdjustment](dw.order.PriceAdjustment.md)) | Removes the specified price adjustment line item from the line item container. |
+| [removeProductLineItem](dw.order.LineItemCtnr.md#removeproductlineitemproductlineitem)([ProductLineItem](dw.order.ProductLineItem.md)) | Removes the specified product line item from the line item container. |
+| [removeShipment](dw.order.LineItemCtnr.md#removeshipmentshipment)([Shipment](dw.order.Shipment.md)) | Removes the specified shipment and all associated product, gift certificate, shipping and price adjustment line items from the line item container. |
+| [removeShippingPriceAdjustment](dw.order.LineItemCtnr.md#removeshippingpriceadjustmentpriceadjustment)([PriceAdjustment](dw.order.PriceAdjustment.md)) | Removes the specified shipping price adjustment line item from the line item container. |
+| [setCustomerEmail](dw.order.LineItemCtnr.md#setcustomeremailstring)([String](TopLevel.String.md)) | Sets the email address of the customer associated with this container. |
+| [setCustomerName](dw.order.LineItemCtnr.md#setcustomernamestring)([String](TopLevel.String.md)) | Sets the name of the customer associated with this container. |
+| [updateOrderLevelPriceAdjustmentTax](dw.order.LineItemCtnr.md#updateorderlevelpriceadjustmenttax)() | Calculates the tax for all shipping and order-level merchandise price adjustments in this LineItemCtnr. |
+| [updateTotals](dw.order.LineItemCtnr.md#updatetotals)() | Recalculates the totals of the line item container. |
+| [verifyPriceAdjustmentLimits](dw.order.LineItemCtnr.md#verifypriceadjustmentlimits)() | Verifies whether the manual price adjustments made for the line item container exceed the corresponding limits for the current user and the current site. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### BUSINESS_TYPE_B2B
+
+- BUSINESS_TYPE_B2B: [Number](TopLevel.Number.md) = 2
+ - : constant for Business Type B2B
+
+
+---
+
+### BUSINESS_TYPE_B2C
+
+- BUSINESS_TYPE_B2C: [Number](TopLevel.Number.md) = 1
+ - : constant for Business Type B2C
+
+
+---
+
+### CHANNEL_TYPE_CALLCENTER
+
+- CHANNEL_TYPE_CALLCENTER: [Number](TopLevel.Number.md) = 2
+ - : constant for Channel Type CallCenter
+
+
+---
+
+### CHANNEL_TYPE_CUSTOMERSERVICECENTER
+
+- CHANNEL_TYPE_CUSTOMERSERVICECENTER: [Number](TopLevel.Number.md) = 11
+ - : constant for Channel Type Customer Service Center
+
+
+---
+
+### CHANNEL_TYPE_DSS
+
+- CHANNEL_TYPE_DSS: [Number](TopLevel.Number.md) = 4
+ - : constant for Channel Type DSS
+
+
+---
+
+### CHANNEL_TYPE_FACEBOOKADS
+
+- CHANNEL_TYPE_FACEBOOKADS: [Number](TopLevel.Number.md) = 8
+ - : constant for Channel Type Facebook Ads
+
+
+---
+
+### CHANNEL_TYPE_GOOGLE
+
+- CHANNEL_TYPE_GOOGLE: [Number](TopLevel.Number.md) = 13
+ - : constant for Channel Type Google
+
+
+---
+
+### CHANNEL_TYPE_INSTAGRAMCOMMERCE
+
+- CHANNEL_TYPE_INSTAGRAMCOMMERCE: [Number](TopLevel.Number.md) = 12
+ - : constant for Channel Type Instagram Commerce
+
+
+---
+
+### CHANNEL_TYPE_MARKETPLACE
+
+- CHANNEL_TYPE_MARKETPLACE: [Number](TopLevel.Number.md) = 3
+ - : constant for Channel Type Marketplace
+
+
+---
+
+### CHANNEL_TYPE_ONLINERESERVATION
+
+- CHANNEL_TYPE_ONLINERESERVATION: [Number](TopLevel.Number.md) = 10
+ - : constant for Channel Type Online Reservation
+
+
+---
+
+### CHANNEL_TYPE_PINTEREST
+
+- CHANNEL_TYPE_PINTEREST: [Number](TopLevel.Number.md) = 6
+ - : constant for Channel Type Pinterest
+
+
+---
+
+### CHANNEL_TYPE_SNAPCHAT
+
+- CHANNEL_TYPE_SNAPCHAT: [Number](TopLevel.Number.md) = 15
+ - : constant for Channel Type Snapchat
+
+
+---
+
+### CHANNEL_TYPE_STORE
+
+- CHANNEL_TYPE_STORE: [Number](TopLevel.Number.md) = 5
+ - : constant for Channel Type Store
+
+
+---
+
+### CHANNEL_TYPE_STOREFRONT
+
+- CHANNEL_TYPE_STOREFRONT: [Number](TopLevel.Number.md) = 1
+ - : constant for Channel Type Storefront
+
+
+---
+
+### CHANNEL_TYPE_SUBSCRIPTIONS
+
+- CHANNEL_TYPE_SUBSCRIPTIONS: [Number](TopLevel.Number.md) = 9
+ - : constant for Channel Type Subscriptions
+
+
+---
+
+### CHANNEL_TYPE_TIKTOK
+
+- CHANNEL_TYPE_TIKTOK: [Number](TopLevel.Number.md) = 14
+ - : constant for Channel Type TikTok
+
+
+---
+
+### CHANNEL_TYPE_TWITTER
+
+- CHANNEL_TYPE_TWITTER: [Number](TopLevel.Number.md) = 7
+ - : constant for Channel Type Twitter
+
+
+---
+
+### CHANNEL_TYPE_WHATSAPP
+
+- CHANNEL_TYPE_WHATSAPP: [Number](TopLevel.Number.md) = 16
+ - : constant for Channel Type WhatsApp
+
+
+---
+
+### CHANNEL_TYPE_YOUTUBE
+
+- CHANNEL_TYPE_YOUTUBE: [Number](TopLevel.Number.md) = 17
+ - : constant for Channel Type YouTube
+
+
+---
+
+## Property Details
+
+### adjustedMerchandizeTotalGrossPrice
+- adjustedMerchandizeTotalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the adjusted total gross price (including tax) in purchase currency. Adjusted merchandize prices
+ represent the sum of product prices before services such as shipping, but after product-level and order-level
+ adjustments.
+
+
+
+---
+
+### adjustedMerchandizeTotalNetPrice
+- adjustedMerchandizeTotalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total net price (excluding tax) in purchase currency. Adjusted merchandize prices represent the sum
+ of product prices before services such as shipping, but after product-level and order-level adjustments.
+
+
+
+---
+
+### adjustedMerchandizeTotalPrice
+- adjustedMerchandizeTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the adjusted merchandize total price including product-level and order-level adjustments. If the line
+ item container is based on net pricing the adjusted merchandize total net price is returned. If the line item
+ container is based on gross pricing the adjusted merchandize total gross price is returned.
+
+
+
+---
+
+### adjustedMerchandizeTotalTax
+- adjustedMerchandizeTotalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the subtotal tax in purchase currency. Adjusted merchandize prices represent the sum of product prices
+ before services such as shipping have been added, but after adjustment from promotions have been added.
+
+
+
+---
+
+### adjustedShippingTotalGrossPrice
+- adjustedShippingTotalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the adjusted sum of all shipping line items of the line item container, including tax after shipping
+ adjustments have been applied.
+
+
+
+---
+
+### adjustedShippingTotalNetPrice
+- adjustedShippingTotalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of all shipping line items of the line item container, excluding tax after shipping adjustments
+ have been applied.
+
+
+
+---
+
+### adjustedShippingTotalPrice
+- adjustedShippingTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the adjusted shipping total price. If the line item container is based on net pricing the adjusted
+ shipping total net price is returned. If the line item container is based on gross pricing the adjusted shipping
+ total gross price is returned.
+
+
+
+---
+
+### adjustedShippingTotalTax
+- adjustedShippingTotalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the tax of all shipping line items of the line item container after shipping adjustments have been
+ applied.
+
+
+
+---
+
+### allGiftCertificateLineItems
+- ~~allGiftCertificateLineItems: [Collection](dw.util.Collection.md)~~ `(read-only)`
+ - : Returns all gift certificate line items of the container.
+
+ **Deprecated:**
+:::warning
+Use [getGiftCertificateLineItems()](dw.order.LineItemCtnr.md#getgiftcertificatelineitems) to get the collection instead.
+:::
+
+---
+
+### allLineItems
+- allLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all product, shipping, price adjustment, and gift certificate line items of the line item container.
+
+
+---
+
+### allProductLineItems
+- allProductLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all product line items of the container, no matter if they are dependent or independent. This includes
+ option, bundled and bonus line items.
+
+
+
+---
+
+### allProductQuantities
+- allProductQuantities: [HashMap](dw.util.HashMap.md) `(read-only)`
+ - : Returns a hash mapping all products in the line item container to their total quantities. The total product
+ quantity is used chiefly to validate the availability of the items in the cart. This method is not appropriate to
+ look up prices because it returns products such as bundled line items which are included in the price of their
+ parent and therefore have no corresponding price.
+
+
+ The method counts all direct product line items, plus dependent product line items that are not option line
+ items. It also excludes product line items that are not associated to any catalog product.
+
+
+
+---
+
+### allShippingPriceAdjustments
+- allShippingPriceAdjustments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of all shipping price adjustments applied somewhere in the container. This can be
+ adjustments applied to individual shipments or to the container itself. Note that the promotions engine only
+ applies shipping price adjustments to the the default shipping line item of shipments, and never to the
+ container.
+
+
+ **See Also:**
+ - [getShippingPriceAdjustments()](dw.order.LineItemCtnr.md#getshippingpriceadjustments)
+
+
+---
+
+### billingAddress
+- billingAddress: [OrderAddress](dw.order.OrderAddress.md) `(read-only)`
+ - : Returns the billing address defined for the container. Returns null if no billing address has been created yet.
+
+
+---
+
+### bonusDiscountLineItems
+- bonusDiscountLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns an unsorted collection of the the bonus discount line items associated with this container.
+
+
+---
+
+### bonusLineItems
+- bonusLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of product line items that are bonus items (where
+ [ProductLineItem.isBonusProductLineItem()](dw.order.ProductLineItem.md#isbonusproductlineitem) is true).
+
+
+
+---
+
+### businessType
+- businessType: [EnumValue](dw.value.EnumValue.md) `(read-only)`
+ - : Returns the type of the business this order has been placed in.
+
+ Possible values are [BUSINESS_TYPE_B2C](dw.order.LineItemCtnr.md#business_type_b2c) or [BUSINESS_TYPE_B2B](dw.order.LineItemCtnr.md#business_type_b2b).
+
+
+
+---
+
+### channelType
+- channelType: [EnumValue](dw.value.EnumValue.md) `(read-only)`
+ - : The channel type defines in which sales channel this order has been created. This can be used to distinguish
+ order placed through Storefront, Call Center or Marketplace.
+
+ Possible values are [CHANNEL_TYPE_STOREFRONT](dw.order.LineItemCtnr.md#channel_type_storefront), [CHANNEL_TYPE_CALLCENTER](dw.order.LineItemCtnr.md#channel_type_callcenter),
+ [CHANNEL_TYPE_MARKETPLACE](dw.order.LineItemCtnr.md#channel_type_marketplace), [CHANNEL_TYPE_DSS](dw.order.LineItemCtnr.md#channel_type_dss), [CHANNEL_TYPE_STORE](dw.order.LineItemCtnr.md#channel_type_store),
+ [CHANNEL_TYPE_PINTEREST](dw.order.LineItemCtnr.md#channel_type_pinterest), [CHANNEL_TYPE_TWITTER](dw.order.LineItemCtnr.md#channel_type_twitter), [CHANNEL_TYPE_FACEBOOKADS](dw.order.LineItemCtnr.md#channel_type_facebookads),
+ [CHANNEL_TYPE_SUBSCRIPTIONS](dw.order.LineItemCtnr.md#channel_type_subscriptions), [CHANNEL_TYPE_ONLINERESERVATION](dw.order.LineItemCtnr.md#channel_type_onlinereservation),
+ [CHANNEL_TYPE_CUSTOMERSERVICECENTER](dw.order.LineItemCtnr.md#channel_type_customerservicecenter), [CHANNEL_TYPE_INSTAGRAMCOMMERCE](dw.order.LineItemCtnr.md#channel_type_instagramcommerce),
+ [CHANNEL_TYPE_GOOGLE](dw.order.LineItemCtnr.md#channel_type_google), [CHANNEL_TYPE_YOUTUBE](dw.order.LineItemCtnr.md#channel_type_youtube), [CHANNEL_TYPE_TIKTOK](dw.order.LineItemCtnr.md#channel_type_tiktok),
+ [CHANNEL_TYPE_SNAPCHAT](dw.order.LineItemCtnr.md#channel_type_snapchat), [CHANNEL_TYPE_WHATSAPP](dw.order.LineItemCtnr.md#channel_type_whatsapp)
+
+
+
+---
+
+### couponLineItems
+- couponLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a sorted collection of the coupon line items in the container. The coupon line items are returned in the
+ order they were added to container.
+
+
+
+---
+
+### currencyCode
+- currencyCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the currency code for this line item container. The currency code is a 3-character currency mnemonic such
+ as 'USD' or 'EUR'. The currency code represents the currency in which the calculation is made, and in which the
+ buyer sees all prices in the store front.
+
+
+
+---
+
+### customer
+- customer: [Customer](dw.customer.Customer.md) `(read-only)`
+ - : Returns the customer associated with this container.
+
+
+---
+
+### customerEmail
+- customerEmail: [String](TopLevel.String.md)
+ - : Returns the email of the customer associated with this container.
+
+
+---
+
+### customerName
+- customerName: [String](TopLevel.String.md)
+ - : Returns the name of the customer associated with this container.
+
+
+---
+
+### customerNo
+- customerNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the customer number of the customer associated with this container.
+
+
+---
+
+### defaultShipment
+- defaultShipment: [Shipment](dw.order.Shipment.md) `(read-only)`
+ - : Returns the default shipment of the line item container. Every basket and order has a default shipment with the
+ id "me". If you call a process that accesses a shipment, and you don't specify the shipment, then the process
+ uses the default shipment. You can't remove a default shipment. Calling [removeShipment(Shipment)](dw.order.LineItemCtnr.md#removeshipmentshipment) on it
+ throws an exception.
+
+
+
+---
+
+### etag
+- etag: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the Etag of the line item container. The Etag is a hash that represents the overall container state
+ including any associated objects like line items.
+
+
+
+---
+
+### externallyTaxed
+- externallyTaxed: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Use this method to check whether the LineItemCtnr is calculated based on external tax tables.
+
+ Note: a basket can only be created in EXTERNAL tax mode using SCAPI.
+
+
+
+---
+
+### giftCertificateLineItems
+- giftCertificateLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all gift certificate line items of the container.
+
+
+---
+
+### giftCertificatePaymentInstruments
+- giftCertificatePaymentInstruments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns an unsorted collection of the PaymentInstrument instances that represent GiftCertificates in this
+ container.
+
+
+
+---
+
+### giftCertificateTotalGrossPrice
+- giftCertificateTotalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total gross price of all gift certificates in the cart. Should usually be equal to total net price.
+
+
+---
+
+### giftCertificateTotalNetPrice
+- giftCertificateTotalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total net price (excluding tax) of all gift certificates in the cart. Should usually be equal to
+ total gross price.
+
+
+
+---
+
+### giftCertificateTotalPrice
+- giftCertificateTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the gift certificate total price. If the line item container is based on net pricing the gift certificate
+ total net price is returned. If the line item container is based on gross pricing the gift certificate total
+ gross price is returned.
+
+
+
+---
+
+### giftCertificateTotalTax
+- giftCertificateTotalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total tax of all gift certificates in the cart. Should usually be 0.0.
+
+
+---
+
+### merchandizeTotalGrossPrice
+- merchandizeTotalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total gross price (including tax) in purchase currency. Merchandize total prices represent the sum of
+ product prices before services such as shipping or adjustment from promotions have been added.
+
+
+
+---
+
+### merchandizeTotalNetPrice
+- merchandizeTotalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total net price (excluding tax) in purchase currency. Merchandize total prices represent the sum of
+ product prices before services such as shipping or adjustment from promotion have been added.
+
+
+
+---
+
+### merchandizeTotalPrice
+- merchandizeTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the merchandize total price. If the line item container is based on net pricing the merchandize total net
+ price is returned. If the line item container is based on gross pricing the merchandize total gross price is
+ returned.
+
+
+
+---
+
+### merchandizeTotalTax
+- merchandizeTotalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total tax in purchase currency. Merchandize total prices represent the sum of product prices before
+ services such as shipping or adjustment from promotions have been added.
+
+
+
+---
+
+### notes
+- notes: [List](dw.util.List.md) `(read-only)`
+ - : Returns the list of notes for this object, ordered by creation time from oldest to newest.
+
+
+---
+
+### paymentInstrument
+- ~~paymentInstrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)~~ `(read-only)`
+ - : Returns the payment instrument of the line item container or null. This method is deprecated. You should use
+ getPaymentInstruments() or getGiftCertificatePaymentInstruments() instead.
+
+
+ **Deprecated:**
+:::warning
+Use [getPaymentInstruments()](dw.order.LineItemCtnr.md#getpaymentinstruments) or [getGiftCertificatePaymentInstruments()](dw.order.LineItemCtnr.md#getgiftcertificatepaymentinstruments) to get the
+ set of payment instruments.
+
+:::
+
+---
+
+### paymentInstruments
+- paymentInstruments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns an unsorted collection of the payment instruments in this container.
+
+
+---
+
+### priceAdjustments
+- priceAdjustments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of price adjustments that have been applied to the totals such as promotion on the
+ purchase value (i.e. $10 Off or 10% Off). The price adjustments are sorted by the order in which they were
+ applied to the order by the promotions engine.
+
+
+
+---
+
+### productLineItems
+- productLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the product line items of the container that are not dependent on other product line items. This includes
+ line items representing bonus products in the container but excludes option, bundled, and bonus line items. The
+ returned collection is sorted by the position attribute of the product line items.
+
+
+
+---
+
+### productQuantities
+- productQuantities: [HashMap](dw.util.HashMap.md) `(read-only)`
+ - : Returns a hash map of all products in the line item container and their total quantities. The total product
+ quantity is for example used to lookup the product price.
+
+
+ The method counts all direct product line items, plus dependent product line items that are not bundled line
+ items and no option line items. It also excludes product line items that are not associated to any catalog
+ product, and bonus product line items.
+
+
+ **See Also:**
+ - [getProductQuantities(Boolean)](dw.order.LineItemCtnr.md#getproductquantitiesboolean)
+
+
+---
+
+### productQuantityTotal
+- productQuantityTotal: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the total quantity of all product line items. Not included are bundled line items and option line items.
+
+
+---
+
+### shipments
+- shipments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all shipments of the line item container.
+
+ The first shipment in the returned collection is the default shipment (shipment ID always set to "me"). All other
+ shipments are sorted ascending by shipment ID.
+
+
+
+---
+
+### shippingPriceAdjustments
+- shippingPriceAdjustments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the of shipping price adjustments applied to the shipping total of the container. Note that the
+ promotions engine only applies shipping price adjustments to the the default shipping line item of shipments, and
+ never to the container.
+
+
+ **See Also:**
+ - [getAllShippingPriceAdjustments()](dw.order.LineItemCtnr.md#getallshippingpriceadjustments)
+
+
+---
+
+### shippingTotalGrossPrice
+- shippingTotalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of all shipping line items of the line item container, including tax before shipping adjustments
+ have been applied.
+
+
+
+---
+
+### shippingTotalNetPrice
+- shippingTotalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of all shipping line items of the line item container, excluding tax before shipping adjustments
+ have been applied.
+
+
+
+---
+
+### shippingTotalPrice
+- shippingTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the shipping total price. If the line item container is based on net pricing the shipping total net price
+ is returned. If the line item container is based on gross pricing the shipping total gross price is returned.
+
+
+
+---
+
+### shippingTotalTax
+- shippingTotalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the tax of all shipping line items of the line item container before shipping adjustments have been
+ applied.
+
+
+
+---
+
+### taxRoundedAtGroup
+- taxRoundedAtGroup: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Use this method to check if the LineItemCtnr was calculated with grouped taxation calculation.
+
+
+ If the tax is rounded on group level, the tax is applied to the summed-up tax basis for each tax rate.
+
+
+
+---
+
+### taxTotalsPerTaxRate
+- taxTotalsPerTaxRate: [SortedMap](dw.util.SortedMap.md) `(read-only)`
+ - : This method returns a [SortedMap](dw.util.SortedMap.md) in which the keys are [Decimal](dw.util.Decimal.md) tax rates and the values
+ are [Money](dw.value.Money.md) total tax for the tax rate. The map is unmodifiable.
+
+
+
+---
+
+### totalGrossPrice
+- totalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the grand total price gross of tax for LineItemCtnr, in purchase currency. Total prices represent the sum
+ of product prices, services prices and adjustments.
+
+
+
+---
+
+### totalNetPrice
+- totalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the grand total price for LineItemCtnr net of tax, in purchase currency. Total prices represent the sum
+ of product prices, services prices and adjustments.
+
+
+
+---
+
+### totalTax
+- totalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the grand total tax for LineItemCtnr, in purchase currency. Total prices represent the sum of product
+ prices, services prices and adjustments.
+
+
+
+---
+
+## Method Details
+
+### addNote(String, String)
+- addNote(subject: [String](TopLevel.String.md), text: [String](TopLevel.String.md)): [Note](dw.object.Note.md)
+ - : Adds a note to the object.
+
+ **Parameters:**
+ - subject - The subject of the note.
+ - text - The text of the note. Must be no more than 4000 characters or an exception is thrown.
+
+ **Returns:**
+ - the added note.
+
+
+---
+
+### createBillingAddress()
+- createBillingAddress(): [OrderAddress](dw.order.OrderAddress.md)
+ - : Create a billing address for the LineItemCtnr. A LineItemCtnr (e.g. basket) initially has no billing address.
+ This method creates a billing address for the LineItemCtnr and replaces an existing billing address.
+
+
+ **Returns:**
+ - The new billing address of the LineItemCtnr.
+
+
+---
+
+### createBonusProductLineItem(BonusDiscountLineItem, Product, ProductOptionModel, Shipment)
+- createBonusProductLineItem(bonusDiscountLineItem: [BonusDiscountLineItem](dw.order.BonusDiscountLineItem.md), product: [Product](dw.catalog.Product.md), optionModel: [ProductOptionModel](dw.catalog.ProductOptionModel.md), shipment: [Shipment](dw.order.Shipment.md)): [ProductLineItem](dw.order.ProductLineItem.md)
+ - : Creates a product line item in the container based on the passed Product and BonusDiscountLineItem. The product
+ must be assigned to the current site catalog and must also be a bonus product of the specified
+ BonusDiscountLineItem or an exception is thrown. The line item is always created in the default shipment. If
+ successful, the operation always creates a new ProductLineItem and never simply increments the quantity of an
+ existing ProductLineItem. An option model can optionally be specified.
+
+
+ **Parameters:**
+ - bonusDiscountLineItem - Line item representing an applied BonusChoiceDiscount in the LineItemCtnr, must not be null.
+ - product - Product The product to add to the LineItemCtnr. Must not be null and must be a bonus product of bonusDiscountLineItem.
+ - optionModel - ProductOptionModel or null.
+ - shipment - The shipment to add the bonus product to. If null, the product is added to the default shipment.
+
+
+---
+
+### createCouponLineItem(String)
+- createCouponLineItem(couponCode: [String](TopLevel.String.md)): [CouponLineItem](dw.order.CouponLineItem.md)
+ - : Creates a coupon line item that is not based on the B2C Commerce campaign system and associates it with the
+ specified coupon code.
+
+
+ There may not be any other coupon line item in the container with the specific coupon code, otherwise an
+ exception is thrown.
+
+
+ If you want to create a coupon line item based on the B2C Commerce campaign system, you must use
+ [createCouponLineItem(String, Boolean)](dw.order.LineItemCtnr.md#createcouponlineitemstring-boolean) with campaignBased = true.
+
+
+ **Parameters:**
+ - couponCode - couponCode represented by the coupon line item.
+
+ **Returns:**
+ - New coupon line item.
+
+
+---
+
+### createCouponLineItem(String, Boolean)
+- createCouponLineItem(couponCode: [String](TopLevel.String.md), campaignBased: [Boolean](TopLevel.Boolean.md)): [CouponLineItem](dw.order.CouponLineItem.md)
+ - : Creates a new CouponLineItem for this container based on the supplied coupon code.
+
+
+ The created coupon line item is based on the B2C Commerce campaign system if campaignBased parameter is true. In
+ that case, if the supplied coupon code is not valid, APIException with type 'CreateCouponLineItemException' is
+ thrown.
+
+
+ If you want to create a custom coupon line item, you must call this method with campaignBased = false or to use
+ [createCouponLineItem(String)](dw.order.LineItemCtnr.md#createcouponlineitemstring).
+
+
+
+
+ Example:
+
+
+
+
+ ```
+ try {
+ var cli : CouponLineItem = basket.createCouponLineItem(couponCode, true);
+ } catch (e if e instanceof APIException && e.type === 'CreateCouponLineItemException')
+ if (e.errorCode == CouponStatusCodes.COUPON_CODE_ALREADY_IN_BASKET) {
+ ...
+ }
+ }
+ ```
+
+
+ An dw.order.CreateCouponLineItemException is thrown in case of campaignBased = true only. Indicates that the
+ provided coupon code is not a valid coupon code to create a coupon line item based on the B2C Commerce campaign
+ system. The error code property (CreateCouponLineItemException.errorCode) will be set to one of the following
+ values:
+
+ - [CouponStatusCodes.COUPON_CODE_ALREADY_IN_BASKET](dw.campaign.CouponStatusCodes.md#coupon_code_already_in_basket)= Indicates that coupon code has already been added to basket.
+ - [CouponStatusCodes.COUPON_ALREADY_IN_BASKET](dw.campaign.CouponStatusCodes.md#coupon_already_in_basket)= Indicates that another code of the same MultiCode/System coupon has already been added to basket.
+ - [CouponStatusCodes.COUPON_CODE_ALREADY_REDEEMED](dw.campaign.CouponStatusCodes.md#coupon_code_already_redeemed)= Indicates that code of MultiCode/System coupon has already been redeemed.
+ - [CouponStatusCodes.COUPON_CODE_UNKNOWN](dw.campaign.CouponStatusCodes.md#coupon_code_unknown)= Indicates that coupon not found for given coupon code or that the code itself was not found.
+ - [CouponStatusCodes.COUPON_DISABLED](dw.campaign.CouponStatusCodes.md#coupon_disabled)= Indicates that coupon is not enabled.
+ - [CouponStatusCodes.REDEMPTION_LIMIT_EXCEEDED](dw.campaign.CouponStatusCodes.md#redemption_limit_exceeded)= Indicates that number of redemptions per code exceeded.
+ - [CouponStatusCodes.CUSTOMER_REDEMPTION_LIMIT_EXCEEDED](dw.campaign.CouponStatusCodes.md#customer_redemption_limit_exceeded)= Indicates that number of redemptions per code and customer exceeded.
+ - [CouponStatusCodes.TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED](dw.campaign.CouponStatusCodes.md#timeframe_redemption_limit_exceeded)= Indicates that number of redemptions per code, customer and time exceeded.
+ - [CouponStatusCodes.NO_ACTIVE_PROMOTION](dw.campaign.CouponStatusCodes.md#no_active_promotion)= Indicates that coupon is not assigned to an active promotion.
+
+
+ **Parameters:**
+ - couponCode - the coupon code to be represented by the coupon line item
+ - campaignBased - the flag if the created coupon line item should be based on the B2C Commerce campaign system
+
+ **Returns:**
+ - the created coupon line item
+
+
+---
+
+### createGiftCertificateLineItem(Number, String)
+- createGiftCertificateLineItem(amount: [Number](TopLevel.Number.md), recipientEmail: [String](TopLevel.String.md)): [GiftCertificateLineItem](dw.order.GiftCertificateLineItem.md)
+ - : Creates a gift certificate line item.
+
+ **Parameters:**
+ - amount - the amount of the gift certificate - mandatory
+ - recipientEmail - the recipient's email address - mandatory
+
+ **Returns:**
+ - The new gift certificate line item
+
+
+---
+
+### createGiftCertificatePaymentInstrument(String, Money)
+- createGiftCertificatePaymentInstrument(giftCertificateCode: [String](TopLevel.String.md), amount: [Money](dw.value.Money.md)): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Creates an OrderPaymentInstrument representing a Gift Certificate. The amount is set on a PaymentTransaction that
+ is accessible via the OrderPaymentInstrument. By default, the status of the PaymentTransaction is set to CREATE.
+ The PaymentTransaction must be processed at a later time.
+
+
+ **Parameters:**
+ - giftCertificateCode - the redemption code of the Gift Certificate.
+ - amount - the amount to set on the PaymentTransaction. If the OrderPaymentInstrument is actually redeemed, this is the amount that will be deducted from the Gift Certificate.
+
+ **Returns:**
+ - the OrderPaymentInstrument.
+
+
+---
+
+### createPaymentInstrument(String, Money)
+- createPaymentInstrument(paymentMethodId: [String](TopLevel.String.md), amount: [Money](dw.value.Money.md)): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Creates a payment instrument using the specified payment method id and amount. The amount is set on the
+ [PaymentTransaction](dw.order.PaymentTransaction.md) that is attached to the payment instrument.
+
+
+ **Parameters:**
+ - paymentMethodId - The payment method id. See the [PaymentInstrument](dw.order.PaymentInstrument.md) class for payment method types
+ - amount - The payment amount or null
+
+ **Returns:**
+ - The new payment instrument
+
+
+---
+
+### createPaymentInstrumentFromWallet(CustomerPaymentInstrument, Money)
+- createPaymentInstrumentFromWallet(walletPaymentInstrument: [CustomerPaymentInstrument](dw.customer.CustomerPaymentInstrument.md), amount: [Money](dw.value.Money.md)): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Creates a payment instrument using the specified wallet payment instrument and amount. The amount is set on the
+ [PaymentTransaction](dw.order.PaymentTransaction.md) that is attached to the payment instrument. All data from the wallet payment
+ instrument will be copied over to the created payment instrument.
+
+
+ **Parameters:**
+ - walletPaymentInstrument - The payment instrument from the customer's walled.
+ - amount - The payment amount or null
+
+ **Returns:**
+ - The new payment instrument
+
+
+---
+
+### createPriceAdjustment(String)
+- createPriceAdjustment(promotionID: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Creates an order price adjustment.
+
+ The promotion id is mandatory and must not be the ID of any actual promotion defined in B2C Commerce; otherwise
+ an exception is thrown.
+
+
+ **Parameters:**
+ - promotionID - Promotion ID
+
+ **Returns:**
+ - The new price adjustment
+
+
+---
+
+### createPriceAdjustment(String, Discount)
+- createPriceAdjustment(promotionID: [String](TopLevel.String.md), discount: [Discount](dw.campaign.Discount.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Creates an order level price adjustment for a specific discount.
+
+ The promotion id is mandatory and must not be the ID of any actual promotion defined in B2C Commerce; otherwise
+ an exception is thrown.
+
+ The possible discount types are supported: [PercentageDiscount](dw.campaign.PercentageDiscount.md) and
+ [AmountDiscount](dw.campaign.AmountDiscount.md).
+
+ Examples:
+
+
+ `
+ var myOrder : dw.order.Order; // assume known
+
+ var paTenPercent : dw.order.PriceAdjustment = myOrder.createPriceAdjustment("myPromotionID1", new dw.campaign.PercentageDiscount(10));
+
+ var paReduceBy20 : dw.order.PriceAdjustment = myOrder.createPriceAdjustment("myPromotionID2", new dw.campaign.AmountDiscount(20);
+
+ `
+
+
+ **Parameters:**
+ - promotionID - Promotion ID
+ - discount - The discount
+
+ **Returns:**
+ - The new price adjustment
+
+
+---
+
+### createProductLineItem(Product, ProductOptionModel, Shipment)
+- createProductLineItem(product: [Product](dw.catalog.Product.md), optionModel: [ProductOptionModel](dw.catalog.ProductOptionModel.md), shipment: [Shipment](dw.order.Shipment.md)): [ProductLineItem](dw.order.ProductLineItem.md)
+ - : Creates a new product line item in the container and assigns it to the specified shipment. An option model can be
+ specified.
+
+ Please note that the product must be assigned to the current site catalog.
+
+
+ **Parameters:**
+ - product - Product
+ - optionModel - ProductOptionModel or null
+ - shipment - Shipment
+
+
+---
+
+### createProductLineItem(ProductListItem, Shipment)
+- createProductLineItem(productListItem: [ProductListItem](dw.customer.ProductListItem.md), shipment: [Shipment](dw.order.Shipment.md)): [ProductLineItem](dw.order.ProductLineItem.md)
+ - : Creates a new product line item in the basket and assigns it to the specified shipment.
+
+
+ If the product list item references a product in the site catalog, the method will associate the product line
+ item with that catalog product and will copy all order-relevant information, like the quantity unit, from the
+ catalog product. The quantity of the product line item is initialized with 1.0 or - if defined - the minimum
+ order quantity of the product.
+
+
+ If the product list item references an option product, the option values are copied from the product list item.
+
+
+ If the product list item is associated with an existing product line item, and the BasketAddProductBehaviour
+ setting is MergeQuantities, then the product line item quantity is increased by 1.0 or, if defined, the minimum
+ order quantity of the product.
+
+
+ An exception is thrown if
+
+ - the line item container is no basket.
+ - the type of the product list item is not PRODUCT.
+ - the product list item references a product which is not assigned to the site catalog.
+
+
+ **Parameters:**
+ - productListItem - the product list item
+ - shipment - the shipment the created product line item will be assigned to
+
+ **Returns:**
+ - The new product line item
+
+
+---
+
+### createProductLineItem(String, Shipment)
+- createProductLineItem(productID: [String](TopLevel.String.md), shipment: [Shipment](dw.order.Shipment.md)): [ProductLineItem](dw.order.ProductLineItem.md)
+ - : Creates a new product line item in the container and assigns it to the specified shipment.
+
+ If the specified productID represents a product in the site catalog, the method will associate the product line
+ item with that catalog product and will copy all order-relevant information, like the quantity unit, from the
+ catalog product. The quantity of the product line item is initialized with 1.0 or - if defined - the minimum
+ order quantity of the product.
+
+ If the product represents a product in the site catalog and is an option product, the product is added with it's
+ default option values.
+
+ If the specified productID does not represent a product of the site catalog, the method creates a new product
+ line item and initializes it with the specified product ID and with a quantity, minimum order quantity, and step
+ quantity value of 1.0.
+
+ If the provided SKU references a product that is not available as described in method [ProductLineItem.isCatalogProduct()](dw.order.ProductLineItem.md#iscatalogproduct), the new product line item is considered a non-catalog product line item without a connection to a product. Such product line items are not included in reservation requests in either OCI-based inventory or eCom-based inventory when calling [Basket.reserveInventory()](dw.order.Basket.md#reserveinventory) or [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket).
+
+
+ **Parameters:**
+ - productID - The product ID.
+ - shipment - Shipment
+
+ **Returns:**
+ - The new product line item
+
+
+---
+
+### createProductLineItem(String, Quantity, Shipment)
+- ~~createProductLineItem(productID: [String](TopLevel.String.md), quantity: [Quantity](dw.value.Quantity.md), shipment: [Shipment](dw.order.Shipment.md)): [ProductLineItem](dw.order.ProductLineItem.md)~~
+ - : Creates a new product line item in the container and assigns it to the specified shipment.
+
+ If the specified productID represents a product in the site catalog, the method will associate the product line
+ item with that catalog product and will copy all order-relevant information, like the quantity unit, from the
+ catalog product.
+
+ If the specified productID does not represent a product of the site catalog, the method creates a new product
+ line item and initializes it with the specified product ID and quantity. If the passed in quantity value is not a
+ positive integer, it will be rounded to the nearest positive integer. The minimum order quantity and step
+ quantity will be set to 1.0.
+
+ For catalog products, the method follows the configured 'Add2Basket' strategy to either increment the quantity of
+ an existing product line item or create a new product line item for the same product. For non-catalog products,
+ the method creates a new product line item no matter if the same product is already in the line item container.
+ If a negative quantity is specified, it is automatically changed to 1.0.
+
+
+ **Parameters:**
+ - productID - The product ID.
+ - quantity - The quantity of the product.
+ - shipment - Shipment
+
+ **Returns:**
+ - the product line item
+
+ **Deprecated:**
+:::warning
+Use [createProductLineItem(String, Shipment)](dw.order.LineItemCtnr.md#createproductlineitemstring-shipment) or
+ [ProductLineItem.updateQuantity(Number)](dw.order.ProductLineItem.md#updatequantitynumber) instead.
+
+:::
+
+---
+
+### createShipment(String)
+- createShipment(id: [String](TopLevel.String.md)): [Shipment](dw.order.Shipment.md)
+ - : Creates a standard shipment for the line item container. The specified ID must not yet be in use for another
+ shipment of this line item container.
+
+
+ **Parameters:**
+ - id - ID of the shipment.
+
+
+---
+
+### createShippingPriceAdjustment(String)
+- createShippingPriceAdjustment(promotionID: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Creates a shipping price adjustment to be applied to the container.
+
+ The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce; otherwise
+ the method will throw an exception.
+
+ If there already exists a shipping price adjustment referring to the specified promotion ID, an exception is
+ thrown.
+
+
+ **Parameters:**
+ - promotionID - Promotion ID
+
+ **Returns:**
+ - The new price adjustment
+
+
+---
+
+### getAdjustedMerchandizeTotalGrossPrice()
+- getAdjustedMerchandizeTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the adjusted total gross price (including tax) in purchase currency. Adjusted merchandize prices
+ represent the sum of product prices before services such as shipping, but after product-level and order-level
+ adjustments.
+
+
+ **Returns:**
+ - the adjusted total gross price (including tax) in purchase currency.
+
+
+---
+
+### getAdjustedMerchandizeTotalNetPrice()
+- getAdjustedMerchandizeTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the total net price (excluding tax) in purchase currency. Adjusted merchandize prices represent the sum
+ of product prices before services such as shipping, but after product-level and order-level adjustments.
+
+
+ **Returns:**
+ - the total net price (excluding tax) in purchase currency.
+
+
+---
+
+### getAdjustedMerchandizeTotalPrice()
+- getAdjustedMerchandizeTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the adjusted merchandize total price including product-level and order-level adjustments. If the line
+ item container is based on net pricing the adjusted merchandize total net price is returned. If the line item
+ container is based on gross pricing the adjusted merchandize total gross price is returned.
+
+
+ **Returns:**
+ - either the adjusted merchandize total net or gross price
+
+
+---
+
+### getAdjustedMerchandizeTotalPrice(Boolean)
+- getAdjustedMerchandizeTotalPrice(applyOrderLevelAdjustments: [Boolean](TopLevel.Boolean.md)): [Money](dw.value.Money.md)
+ - : Returns the adjusted merchandize total price including order-level adjustments if requested. If the line item
+ container is based on net pricing the adjusted merchandize total net price is returned. If the line item
+ container is based on gross pricing the adjusted merchandize total gross price is returned.
+
+
+ **Parameters:**
+ - applyOrderLevelAdjustments - controls if order-level price adjustements are applied. If true, the price that is returned includes order-level price adjustments. If false, only product-level price adjustments are applied.
+
+ **Returns:**
+ - a price representing the adjusted merchandize total controlled by the applyOrderLevelAdjustments
+ parameter.
+
+
+
+---
+
+### getAdjustedMerchandizeTotalTax()
+- getAdjustedMerchandizeTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the subtotal tax in purchase currency. Adjusted merchandize prices represent the sum of product prices
+ before services such as shipping have been added, but after adjustment from promotions have been added.
+
+
+ **Returns:**
+ - the subtotal tax in purchase currency.
+
+
+---
+
+### getAdjustedShippingTotalGrossPrice()
+- getAdjustedShippingTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the adjusted sum of all shipping line items of the line item container, including tax after shipping
+ adjustments have been applied.
+
+
+ **Returns:**
+ - the adjusted sum of all shipping line items of the line item container, including tax after shipping
+ adjustments have been applied.
+
+
+
+---
+
+### getAdjustedShippingTotalNetPrice()
+- getAdjustedShippingTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the sum of all shipping line items of the line item container, excluding tax after shipping adjustments
+ have been applied.
+
+
+ **Returns:**
+ - the sum of all shipping line items of the line item container, excluding tax after shipping adjustments
+ have been applied.
+
+
+
+---
+
+### getAdjustedShippingTotalPrice()
+- getAdjustedShippingTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the adjusted shipping total price. If the line item container is based on net pricing the adjusted
+ shipping total net price is returned. If the line item container is based on gross pricing the adjusted shipping
+ total gross price is returned.
+
+
+ **Returns:**
+ - either the adjusted shipping total net or gross price
+
+
+---
+
+### getAdjustedShippingTotalTax()
+- getAdjustedShippingTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the tax of all shipping line items of the line item container after shipping adjustments have been
+ applied.
+
+
+ **Returns:**
+ - the tax of all shipping line items of the line item container after shipping adjustments have been
+ applied.
+
+
+
+---
+
+### getAllGiftCertificateLineItems()
+- ~~getAllGiftCertificateLineItems(): [Collection](dw.util.Collection.md)~~
+ - : Returns all gift certificate line items of the container.
+
+ **Returns:**
+ - A collection of all GiftCertificateLineItems of the container.
+
+ **Deprecated:**
+:::warning
+Use [getGiftCertificateLineItems()](dw.order.LineItemCtnr.md#getgiftcertificatelineitems) to get the collection instead.
+:::
+
+---
+
+### getAllLineItems()
+- getAllLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns all product, shipping, price adjustment, and gift certificate line items of the line item container.
+
+ **Returns:**
+ - A collection of all product, shipping, price adjustment, and gift certificate line items of the
+ container, in that order.
+
+
+
+---
+
+### getAllProductLineItems()
+- getAllProductLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns all product line items of the container, no matter if they are dependent or independent. This includes
+ option, bundled and bonus line items.
+
+
+ **Returns:**
+ - An unsorted collection of all ProductLineItem instances of the container.
+
+
+---
+
+### getAllProductLineItems(String)
+- getAllProductLineItems(productID: [String](TopLevel.String.md)): [Collection](dw.util.Collection.md)
+ - : Returns all product line items of the container that have a product ID equal to the specified product ID, no
+ matter if they are dependent or independent. This includes option, bundled and bonus line items.
+
+
+ **Parameters:**
+ - productID - The product ID used to filter the product line items.
+
+ **Returns:**
+ - An unsorted collection of all ProductLineItem instances which have the specified product ID.
+
+
+---
+
+### getAllProductQuantities()
+- getAllProductQuantities(): [HashMap](dw.util.HashMap.md)
+ - : Returns a hash mapping all products in the line item container to their total quantities. The total product
+ quantity is used chiefly to validate the availability of the items in the cart. This method is not appropriate to
+ look up prices because it returns products such as bundled line items which are included in the price of their
+ parent and therefore have no corresponding price.
+
+
+ The method counts all direct product line items, plus dependent product line items that are not option line
+ items. It also excludes product line items that are not associated to any catalog product.
+
+
+ **Returns:**
+ - A map of products and their total quantities.
+
+
+---
+
+### getAllShippingPriceAdjustments()
+- getAllShippingPriceAdjustments(): [Collection](dw.util.Collection.md)
+ - : Returns the collection of all shipping price adjustments applied somewhere in the container. This can be
+ adjustments applied to individual shipments or to the container itself. Note that the promotions engine only
+ applies shipping price adjustments to the the default shipping line item of shipments, and never to the
+ container.
+
+
+ **Returns:**
+ - an unsorted collection of the shipping PriceAdjustment instances associated with this container.
+
+ **See Also:**
+ - [getShippingPriceAdjustments()](dw.order.LineItemCtnr.md#getshippingpriceadjustments)
+
+
+---
+
+### getBillingAddress()
+- getBillingAddress(): [OrderAddress](dw.order.OrderAddress.md)
+ - : Returns the billing address defined for the container. Returns null if no billing address has been created yet.
+
+ **Returns:**
+ - the billing address or null.
+
+
+---
+
+### getBonusDiscountLineItems()
+- getBonusDiscountLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns an unsorted collection of the the bonus discount line items associated with this container.
+
+ **Returns:**
+ - An unsorted collection of BonusDiscountLine instances in the container.
+
+
+---
+
+### getBonusLineItems()
+- getBonusLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns the collection of product line items that are bonus items (where
+ [ProductLineItem.isBonusProductLineItem()](dw.order.ProductLineItem.md#isbonusproductlineitem) is true).
+
+
+ **Returns:**
+ - the collection of product line items that are bonus items.
+
+
+---
+
+### getBusinessType()
+- getBusinessType(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the type of the business this order has been placed in.
+
+ Possible values are [BUSINESS_TYPE_B2C](dw.order.LineItemCtnr.md#business_type_b2c) or [BUSINESS_TYPE_B2B](dw.order.LineItemCtnr.md#business_type_b2b).
+
+
+ **Returns:**
+ - the type of the business this order has been placed in. or null, if the business type is not set
+
+
+---
+
+### getChannelType()
+- getChannelType(): [EnumValue](dw.value.EnumValue.md)
+ - : The channel type defines in which sales channel this order has been created. This can be used to distinguish
+ order placed through Storefront, Call Center or Marketplace.
+
+ Possible values are [CHANNEL_TYPE_STOREFRONT](dw.order.LineItemCtnr.md#channel_type_storefront), [CHANNEL_TYPE_CALLCENTER](dw.order.LineItemCtnr.md#channel_type_callcenter),
+ [CHANNEL_TYPE_MARKETPLACE](dw.order.LineItemCtnr.md#channel_type_marketplace), [CHANNEL_TYPE_DSS](dw.order.LineItemCtnr.md#channel_type_dss), [CHANNEL_TYPE_STORE](dw.order.LineItemCtnr.md#channel_type_store),
+ [CHANNEL_TYPE_PINTEREST](dw.order.LineItemCtnr.md#channel_type_pinterest), [CHANNEL_TYPE_TWITTER](dw.order.LineItemCtnr.md#channel_type_twitter), [CHANNEL_TYPE_FACEBOOKADS](dw.order.LineItemCtnr.md#channel_type_facebookads),
+ [CHANNEL_TYPE_SUBSCRIPTIONS](dw.order.LineItemCtnr.md#channel_type_subscriptions), [CHANNEL_TYPE_ONLINERESERVATION](dw.order.LineItemCtnr.md#channel_type_onlinereservation),
+ [CHANNEL_TYPE_CUSTOMERSERVICECENTER](dw.order.LineItemCtnr.md#channel_type_customerservicecenter), [CHANNEL_TYPE_INSTAGRAMCOMMERCE](dw.order.LineItemCtnr.md#channel_type_instagramcommerce),
+ [CHANNEL_TYPE_GOOGLE](dw.order.LineItemCtnr.md#channel_type_google), [CHANNEL_TYPE_YOUTUBE](dw.order.LineItemCtnr.md#channel_type_youtube), [CHANNEL_TYPE_TIKTOK](dw.order.LineItemCtnr.md#channel_type_tiktok),
+ [CHANNEL_TYPE_SNAPCHAT](dw.order.LineItemCtnr.md#channel_type_snapchat), [CHANNEL_TYPE_WHATSAPP](dw.order.LineItemCtnr.md#channel_type_whatsapp)
+
+
+ **Returns:**
+ - the sales channel this order has been placed in or null, if the order channel is not set
+
+
+---
+
+### getCouponLineItem(String)
+- getCouponLineItem(couponCode: [String](TopLevel.String.md)): [CouponLineItem](dw.order.CouponLineItem.md)
+ - : Returns the coupon line item representing the specified coupon code.
+
+ **Parameters:**
+ - couponCode - the coupon code.
+
+ **Returns:**
+ - coupon line item or null.
+
+
+---
+
+### getCouponLineItems()
+- getCouponLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns a sorted collection of the coupon line items in the container. The coupon line items are returned in the
+ order they were added to container.
+
+
+ **Returns:**
+ - A sorted list of the CouponLineItem instances in the container.
+
+
+---
+
+### getCurrencyCode()
+- getCurrencyCode(): [String](TopLevel.String.md)
+ - : Returns the currency code for this line item container. The currency code is a 3-character currency mnemonic such
+ as 'USD' or 'EUR'. The currency code represents the currency in which the calculation is made, and in which the
+ buyer sees all prices in the store front.
+
+
+ **Returns:**
+ - the currency code for this line item container.
+
+
+---
+
+### getCustomer()
+- getCustomer(): [Customer](dw.customer.Customer.md)
+ - : Returns the customer associated with this container.
+
+ **Returns:**
+ - the customer associated with this container.
+
+
+---
+
+### getCustomerEmail()
+- getCustomerEmail(): [String](TopLevel.String.md)
+ - : Returns the email of the customer associated with this container.
+
+ **Returns:**
+ - the email of the customer associated with this container.
+
+
+---
+
+### getCustomerName()
+- getCustomerName(): [String](TopLevel.String.md)
+ - : Returns the name of the customer associated with this container.
+
+ **Returns:**
+ - the name of the customer associated with this container.
+
+
+---
+
+### getCustomerNo()
+- getCustomerNo(): [String](TopLevel.String.md)
+ - : Returns the customer number of the customer associated with this container.
+
+ **Returns:**
+ - the customer number of the customer associated with this container.
+
+
+---
+
+### getDefaultShipment()
+- getDefaultShipment(): [Shipment](dw.order.Shipment.md)
+ - : Returns the default shipment of the line item container. Every basket and order has a default shipment with the
+ id "me". If you call a process that accesses a shipment, and you don't specify the shipment, then the process
+ uses the default shipment. You can't remove a default shipment. Calling [removeShipment(Shipment)](dw.order.LineItemCtnr.md#removeshipmentshipment) on it
+ throws an exception.
+
+
+ **Returns:**
+ - the default shipment of the container
+
+
+---
+
+### getEtag()
+- getEtag(): [String](TopLevel.String.md)
+ - : Returns the Etag of the line item container. The Etag is a hash that represents the overall container state
+ including any associated objects like line items.
+
+
+ **Returns:**
+ - the Etag value
+
+
+---
+
+### getGiftCertificateLineItems()
+- getGiftCertificateLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns all gift certificate line items of the container.
+
+ **Returns:**
+ - A collection of all GiftCertificateLineItems of the container.
+
+
+---
+
+### getGiftCertificateLineItems(String)
+- getGiftCertificateLineItems(giftCertificateId: [String](TopLevel.String.md)): [Collection](dw.util.Collection.md)
+ - : Returns all gift certificate line items of the container, no matter if they are dependent or independent.
+
+ **Parameters:**
+ - giftCertificateId - the gift certificate identifier.
+
+ **Returns:**
+ - A collection of all GiftCertificateLineItems of the container.
+
+
+---
+
+### getGiftCertificatePaymentInstruments()
+- getGiftCertificatePaymentInstruments(): [Collection](dw.util.Collection.md)
+ - : Returns an unsorted collection of the PaymentInstrument instances that represent GiftCertificates in this
+ container.
+
+
+ **Returns:**
+ - an unsorted collection containing the set of PaymentInstrument instances that represent GiftCertificates.
+
+
+---
+
+### getGiftCertificatePaymentInstruments(String)
+- getGiftCertificatePaymentInstruments(giftCertificateCode: [String](TopLevel.String.md)): [Collection](dw.util.Collection.md)
+ - : Returns an unsorted collection containing all PaymentInstruments of type
+ PaymentInstrument.METHOD\_GIFT\_CERTIFICATE where the specified code is the same code on the payment instrument.
+
+
+ **Parameters:**
+ - giftCertificateCode - the gift certificate code.
+
+ **Returns:**
+ - an unsorted collection containing all PaymentInstruments of type
+ PaymentInstrument.METHOD\_GIFT\_CERTIFICATE where the specified code is the same code on the payment
+ instrument.
+
+
+
+---
+
+### getGiftCertificateTotalGrossPrice()
+- getGiftCertificateTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the total gross price of all gift certificates in the cart. Should usually be equal to total net price.
+
+ **Returns:**
+ - the total gross price of all gift certificate line items
+
+
+---
+
+### getGiftCertificateTotalNetPrice()
+- getGiftCertificateTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the total net price (excluding tax) of all gift certificates in the cart. Should usually be equal to
+ total gross price.
+
+
+ **Returns:**
+ - the total net price of all gift certificate line items
+
+
+---
+
+### getGiftCertificateTotalPrice()
+- getGiftCertificateTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the gift certificate total price. If the line item container is based on net pricing the gift certificate
+ total net price is returned. If the line item container is based on gross pricing the gift certificate total
+ gross price is returned.
+
+
+ **Returns:**
+ - either the gift certificate total net or gross price
+
+
+---
+
+### getGiftCertificateTotalTax()
+- getGiftCertificateTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the total tax of all gift certificates in the cart. Should usually be 0.0.
+
+ **Returns:**
+ - the total tax of all gift certificate line items
+
+
+---
+
+### getMerchandizeTotalGrossPrice()
+- getMerchandizeTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the total gross price (including tax) in purchase currency. Merchandize total prices represent the sum of
+ product prices before services such as shipping or adjustment from promotions have been added.
+
+
+ **Returns:**
+ - the total gross price (including tax) in purchase currency.
+
+
+---
+
+### getMerchandizeTotalNetPrice()
+- getMerchandizeTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the total net price (excluding tax) in purchase currency. Merchandize total prices represent the sum of
+ product prices before services such as shipping or adjustment from promotion have been added.
+
+
+ **Returns:**
+ - the total net price (excluding tax) in purchase currency.
+
+
+---
+
+### getMerchandizeTotalPrice()
+- getMerchandizeTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the merchandize total price. If the line item container is based on net pricing the merchandize total net
+ price is returned. If the line item container is based on gross pricing the merchandize total gross price is
+ returned.
+
+
+ **Returns:**
+ - either the merchandize total net or gross price
+
+
+---
+
+### getMerchandizeTotalTax()
+- getMerchandizeTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the total tax in purchase currency. Merchandize total prices represent the sum of product prices before
+ services such as shipping or adjustment from promotions have been added.
+
+
+ **Returns:**
+ - the total tax in purchase currency.
+
+
+---
+
+### getNotes()
+- getNotes(): [List](dw.util.List.md)
+ - : Returns the list of notes for this object, ordered by creation time from oldest to newest.
+
+ **Returns:**
+ - the list of notes for this object, ordered by creation time from oldest to newest.
+
+
+---
+
+### getPaymentInstrument()
+- ~~getPaymentInstrument(): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)~~
+ - : Returns the payment instrument of the line item container or null. This method is deprecated. You should use
+ getPaymentInstruments() or getGiftCertificatePaymentInstruments() instead.
+
+
+ **Returns:**
+ - the order payment instrument of the line item container or null.
+
+ **Deprecated:**
+:::warning
+Use [getPaymentInstruments()](dw.order.LineItemCtnr.md#getpaymentinstruments) or [getGiftCertificatePaymentInstruments()](dw.order.LineItemCtnr.md#getgiftcertificatepaymentinstruments) to get the
+ set of payment instruments.
+
+:::
+
+---
+
+### getPaymentInstruments()
+- getPaymentInstruments(): [Collection](dw.util.Collection.md)
+ - : Returns an unsorted collection of the payment instruments in this container.
+
+ **Returns:**
+ - an unsorted collection containing the set of PaymentInstrument instances associated with this container.
+
+
+---
+
+### getPaymentInstruments(String)
+- getPaymentInstruments(paymentMethodID: [String](TopLevel.String.md)): [Collection](dw.util.Collection.md)
+ - : Returns an unsorted collection of PaymentInstrument instances based on the specified payment method ID.
+
+ **Parameters:**
+ - paymentMethodID - the ID of the payment method used.
+
+ **Returns:**
+ - an unsorted collection of OrderPaymentInstrument instances based on the payment method.
+
+
+---
+
+### getPriceAdjustmentByPromotionID(String)
+- getPriceAdjustmentByPromotionID(promotionID: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Returns the price adjustment associated to the specified promotion ID.
+
+ **Parameters:**
+ - promotionID - Promotion id
+
+ **Returns:**
+ - The price adjustment associated with the specified promotion ID or null if none was found.
+
+
+---
+
+### getPriceAdjustments()
+- getPriceAdjustments(): [Collection](dw.util.Collection.md)
+ - : Returns the collection of price adjustments that have been applied to the totals such as promotion on the
+ purchase value (i.e. $10 Off or 10% Off). The price adjustments are sorted by the order in which they were
+ applied to the order by the promotions engine.
+
+
+ **Returns:**
+ - the sorted collection of PriceAdjustment instances.
+
+
+---
+
+### getProductLineItems()
+- getProductLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns the product line items of the container that are not dependent on other product line items. This includes
+ line items representing bonus products in the container but excludes option, bundled, and bonus line items. The
+ returned collection is sorted by the position attribute of the product line items.
+
+
+ **Returns:**
+ - A sorted collection of ProductLineItem instances which are not dependent on other product line items.
+
+
+---
+
+### getProductLineItems(String)
+- getProductLineItems(productID: [String](TopLevel.String.md)): [Collection](dw.util.Collection.md)
+ - : Returns the product line items of the container that have a product ID equal to the specified product ID and that
+ are not dependent on other product line items. This includes line items representing bonus products in the
+ container, but excludes option, bundled and bonus line items. The returned collection is sorted by the position
+ attribute of the product line items.
+
+
+ **Parameters:**
+ - productID - The Product ID used to filter the product line items.
+
+ **Returns:**
+ - A sorted collection of ProductLineItem instances which have the specified product ID and are not
+ dependent on other product line items.
+
+
+
+---
+
+### getProductQuantities()
+- getProductQuantities(): [HashMap](dw.util.HashMap.md)
+ - : Returns a hash map of all products in the line item container and their total quantities. The total product
+ quantity is for example used to lookup the product price.
+
+
+ The method counts all direct product line items, plus dependent product line items that are not bundled line
+ items and no option line items. It also excludes product line items that are not associated to any catalog
+ product, and bonus product line items.
+
+
+ **Returns:**
+ - a map of products and their total quantities.
+
+ **See Also:**
+ - [getProductQuantities(Boolean)](dw.order.LineItemCtnr.md#getproductquantitiesboolean)
+
+
+---
+
+### getProductQuantities(Boolean)
+- getProductQuantities(includeBonusProducts: [Boolean](TopLevel.Boolean.md)): [HashMap](dw.util.HashMap.md)
+ - : Returns a hash map of all products in the line item container and their total quantities. The total product
+ quantity is for example used to lookup the product price in the cart.
+
+
+ The method counts all direct product line items, plus dependent product line items that are not bundled line
+ items and no option line items. It also excludes product line items that are not associated to any catalog
+ product.
+
+
+ If the parameter 'includeBonusProducts' is set to true, the method also counts bonus product line items.
+
+
+ **Parameters:**
+ - includeBonusProducts - if true also bonus product line item are counted
+
+ **Returns:**
+ - A map of products and their total quantities.
+
+
+---
+
+### getProductQuantityTotal()
+- getProductQuantityTotal(): [Number](TopLevel.Number.md)
+ - : Returns the total quantity of all product line items. Not included are bundled line items and option line items.
+
+ **Returns:**
+ - The total quantity of all line items of the container.
+
+
+---
+
+### getShipment(String)
+- getShipment(id: [String](TopLevel.String.md)): [Shipment](dw.order.Shipment.md)
+ - : Returns the shipment for the specified ID or `null` if no shipment with this ID exists in the line
+ item container. Using "me" always returns the default shipment.
+
+
+ **Parameters:**
+ - id - the shipment identifier
+
+ **Returns:**
+ - the shipment or `null`
+
+
+---
+
+### getShipments()
+- getShipments(): [Collection](dw.util.Collection.md)
+ - : Returns all shipments of the line item container.
+
+ The first shipment in the returned collection is the default shipment (shipment ID always set to "me"). All other
+ shipments are sorted ascending by shipment ID.
+
+
+ **Returns:**
+ - all shipments of the line item container
+
+
+---
+
+### getShippingPriceAdjustmentByPromotionID(String)
+- getShippingPriceAdjustmentByPromotionID(promotionID: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Returns the shipping price adjustment associated with the specified promotion ID.
+
+ **Parameters:**
+ - promotionID - Promotion id
+
+ **Returns:**
+ - The price adjustment associated with the specified promotion ID or null if none was found.
+
+
+---
+
+### getShippingPriceAdjustments()
+- getShippingPriceAdjustments(): [Collection](dw.util.Collection.md)
+ - : Returns the of shipping price adjustments applied to the shipping total of the container. Note that the
+ promotions engine only applies shipping price adjustments to the the default shipping line item of shipments, and
+ never to the container.
+
+
+ **Returns:**
+ - a collection of shipping price adjustments.
+
+ **See Also:**
+ - [getAllShippingPriceAdjustments()](dw.order.LineItemCtnr.md#getallshippingpriceadjustments)
+
+
+---
+
+### getShippingTotalGrossPrice()
+- getShippingTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the sum of all shipping line items of the line item container, including tax before shipping adjustments
+ have been applied.
+
+
+ **Returns:**
+ - the sum of all shipping line items of the line item container, including tax before shipping adjustments
+ have been applied.
+
+
+
+---
+
+### getShippingTotalNetPrice()
+- getShippingTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the sum of all shipping line items of the line item container, excluding tax before shipping adjustments
+ have been applied.
+
+
+ **Returns:**
+ - the sum of all shipping line items of the line item container, excluding tax before shipping adjustments
+ have been applied.
+
+
+
+---
+
+### getShippingTotalPrice()
+- getShippingTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the shipping total price. If the line item container is based on net pricing the shipping total net price
+ is returned. If the line item container is based on gross pricing the shipping total gross price is returned.
+
+
+ **Returns:**
+ - either the shipping total net or gross price
+
+
+---
+
+### getShippingTotalTax()
+- getShippingTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the tax of all shipping line items of the line item container before shipping adjustments have been
+ applied.
+
+
+ **Returns:**
+ - the tax of all shipping line items of the line item container before shipping adjustments have been
+ applied.
+
+
+
+---
+
+### getTaxTotalsPerTaxRate()
+- getTaxTotalsPerTaxRate(): [SortedMap](dw.util.SortedMap.md)
+ - : This method returns a [SortedMap](dw.util.SortedMap.md) in which the keys are [Decimal](dw.util.Decimal.md) tax rates and the values
+ are [Money](dw.value.Money.md) total tax for the tax rate. The map is unmodifiable.
+
+
+ **Returns:**
+ - sorted map of tax rate against total tax
+
+
+---
+
+### getTotalGrossPrice()
+- getTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the grand total price gross of tax for LineItemCtnr, in purchase currency. Total prices represent the sum
+ of product prices, services prices and adjustments.
+
+
+ **Returns:**
+ - the grand total price.
+
+
+---
+
+### getTotalNetPrice()
+- getTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the grand total price for LineItemCtnr net of tax, in purchase currency. Total prices represent the sum
+ of product prices, services prices and adjustments.
+
+
+ **Returns:**
+ - the grand total price.
+
+
+---
+
+### getTotalTax()
+- getTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the grand total tax for LineItemCtnr, in purchase currency. Total prices represent the sum of product
+ prices, services prices and adjustments.
+
+
+ **Returns:**
+ - the grand total tax.
+
+
+---
+
+### isExternallyTaxed()
+- isExternallyTaxed(): [Boolean](TopLevel.Boolean.md)
+ - : Use this method to check whether the LineItemCtnr is calculated based on external tax tables.
+
+ Note: a basket can only be created in EXTERNAL tax mode using SCAPI.
+
+
+ **Returns:**
+ - `true` if the LineItemCtnr was calculated based on external tax tables.
+
+
+---
+
+### isTaxRoundedAtGroup()
+- isTaxRoundedAtGroup(): [Boolean](TopLevel.Boolean.md)
+ - : Use this method to check if the LineItemCtnr was calculated with grouped taxation calculation.
+
+
+ If the tax is rounded on group level, the tax is applied to the summed-up tax basis for each tax rate.
+
+
+ **Returns:**
+ - `true` if the LineItemCtnr was calculated with grouped taxation
+
+
+---
+
+### removeAllPaymentInstruments()
+- removeAllPaymentInstruments(): void
+ - : Removes the all Payment Instruments from this container and deletes the Payment Instruments.
+
+
+---
+
+### removeBonusDiscountLineItem(BonusDiscountLineItem)
+- removeBonusDiscountLineItem(bonusDiscountLineItem: [BonusDiscountLineItem](dw.order.BonusDiscountLineItem.md)): void
+ - : Removes the specified bonus discount line item from the line item container.
+
+ **Parameters:**
+ - bonusDiscountLineItem - The bonus discount line item to remove, must not be null.
+
+
+---
+
+### removeCouponLineItem(CouponLineItem)
+- removeCouponLineItem(couponLineItem: [CouponLineItem](dw.order.CouponLineItem.md)): void
+ - : Removes the specified coupon line item from the line item container.
+
+ **Parameters:**
+ - couponLineItem - The coupon line item to remove
+
+
+---
+
+### removeGiftCertificateLineItem(GiftCertificateLineItem)
+- removeGiftCertificateLineItem(giftCertificateLineItem: [GiftCertificateLineItem](dw.order.GiftCertificateLineItem.md)): void
+ - : Removes the specified gift certificate line item from the line item container.
+
+ **Parameters:**
+ - giftCertificateLineItem - The gift certificate line item to remove
+
+
+---
+
+### removeNote(Note)
+- removeNote(note: [Note](dw.object.Note.md)): void
+ - : Removes a note from this line item container and deletes it.
+
+ **Parameters:**
+ - note - The note to remove. Must not be null. Must belong to this line item container.
+
+
+---
+
+### removePaymentInstrument(PaymentInstrument)
+- removePaymentInstrument(pi: [PaymentInstrument](dw.order.PaymentInstrument.md)): void
+ - : Removes the specified Payment Instrument from this container and deletes the Payment Instrument.
+
+ **Parameters:**
+ - pi - the Payment Instrument to remove.
+
+
+---
+
+### removePriceAdjustment(PriceAdjustment)
+- removePriceAdjustment(priceAdjustment: [PriceAdjustment](dw.order.PriceAdjustment.md)): void
+ - : Removes the specified price adjustment line item from the line item container.
+
+ **Parameters:**
+ - priceAdjustment - The price adjustment line item to remove, must not be null.
+
+
+---
+
+### removeProductLineItem(ProductLineItem)
+- removeProductLineItem(productLineItem: [ProductLineItem](dw.order.ProductLineItem.md)): void
+ - : Removes the specified product line item from the line item container.
+
+ **Parameters:**
+ - productLineItem - The product line item to remove, must not be null.
+
+
+---
+
+### removeShipment(Shipment)
+- removeShipment(shipment: [Shipment](dw.order.Shipment.md)): void
+ - : Removes the specified shipment and all associated product, gift certificate, shipping and price adjustment line
+ items from the line item container. It is not permissible to remove the default shipment.
+
+
+ **Parameters:**
+ - shipment - Shipment to be removed, must not be null.
+
+
+---
+
+### removeShippingPriceAdjustment(PriceAdjustment)
+- removeShippingPriceAdjustment(priceAdjustment: [PriceAdjustment](dw.order.PriceAdjustment.md)): void
+ - : Removes the specified shipping price adjustment line item from the line item container.
+
+ **Parameters:**
+ - priceAdjustment - The price adjustment line item to remove, must not be null.
+
+
+---
+
+### setCustomerEmail(String)
+- setCustomerEmail(aValue: [String](TopLevel.String.md)): void
+ - : Sets the email address of the customer associated with this container.
+
+ **Parameters:**
+ - aValue - the email address of the customer associated with this container.
+
+
+---
+
+### setCustomerName(String)
+- setCustomerName(aValue: [String](TopLevel.String.md)): void
+ - : Sets the name of the customer associated with this container.
+
+ **Parameters:**
+ - aValue - the name of the customer associated with this container.
+
+
+---
+
+### updateOrderLevelPriceAdjustmentTax()
+- updateOrderLevelPriceAdjustmentTax(): void
+ - : Calculates the tax for all shipping and order-level merchandise price adjustments in this LineItemCtnr.
+
+
+ The tax on each adjustment is calculated from the taxes of the line items the adjustment applies across.
+
+
+ **This method must be invoked at the end of tax calculation of a basket or an order.**
+
+
+
+---
+
+### updateTotals()
+- updateTotals(): void
+ - : Recalculates the totals of the line item container. It is necessary to call this method after any type of
+ modification to the basket.
+
+
+
+---
+
+### verifyPriceAdjustmentLimits()
+- verifyPriceAdjustmentLimits(): [Status](dw.system.Status.md)
+ - : Verifies whether the manual price adjustments made for the line item container exceed the corresponding limits
+ for the current user and the current site.
+
+
+ The results of this method are based on the current values held in the [LineItemCtnr](dw.order.LineItemCtnr.md), such as the
+ base price of manual price adjustments. It is important the method is only called after the calculation process
+ has completed.
+
+
+
+
+ Status.OK is returned if NONE of the manual price adjustments exceed the correspondent limits.
+
+
+ Status.ERROR is returned if ANY of the manual price adjustments exceed the correspondent limits. If this case
+ [Status.getItems()](dw.system.Status.md#getitems) returns all price adjustment limit violations. The code of each
+ [StatusItem](dw.system.StatusItem.md) represents the violated price adjustment type (see
+ [PriceAdjustmentLimitTypes](dw.order.PriceAdjustmentLimitTypes.md)). [StatusItem.getDetails()](dw.system.StatusItem.md#getdetails) returns a
+ [Map](dw.util.Map.md) with the max amount and (where relevant) the item to which the violation applies.
+
+
+ Usage:
+
+
+ ```
+ var order : Order; // known
+
+ var status : Status = order.verifyPriceAdjustmentLimits();
+ if (status.status == Status.ERROR)
+ {
+ for each (var statusItem : StatusItem in status.items)
+ {
+ var statusDetail : MapEntry = statusItem.details.entrySet().iterator().next();
+ var maxAllowedLimit : Number = (Number) (statusDetail.key);
+
+ if (statusItem.code == PriceAdjustmentLimitTypes.TYPE_ORDER)
+ {
+ // fix order price adjustment considering maxAllowedLimit
+ }
+ else if (statusItem.code == PriceAdjustmentLimitTypes.TYPE_ITEM)
+ {
+ var pli : ProductLineItem = (ProductLineItem) (statusDetail.value);
+ // fix pli price adjustment considering maxAllowedLimit
+ }
+ else if (statusItem.code == PriceAdjustmentLimitTypes.TYPE_SHIPPING)
+ {
+ if (statusDetail.value == null)
+ {
+ // fix order level shipping price adjustment considering maxAllowedLimit
+ }
+ else
+ {
+ var sli : ShippingLineItem = (ShippingLineItem) (statusDetail.value);
+ // fix sli price adjustment considering maxAllowedLimit
+ }
+ }
+ }
+ }
+ ```
+
+
+ **Returns:**
+ - a Status instance with - Status.OK if all manual price adjustments do not exceed the correspondent
+ limits, otherwise Status.ERROR
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.Order.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.Order.md
new file mode 100644
index 00000000..4dd4acbc
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.Order.md
@@ -0,0 +1,2770 @@
+
+# Class Order
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.LineItemCtnr](dw.order.LineItemCtnr.md)
+ - [dw.order.Order](dw.order.Order.md)
+
+The Order class represents an order. The correct way to retrieve an order is described in [OrderMgr](dw.order.OrderMgr.md).
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [CONFIRMATION_STATUS_CONFIRMED](#confirmation_status_confirmed): [Number](TopLevel.Number.md) = 2 | constant for when Confirmation Status is Confirmed |
+| [CONFIRMATION_STATUS_NOTCONFIRMED](#confirmation_status_notconfirmed): [Number](TopLevel.Number.md) = 0 | constant for when Confirmation Status is Not Confirmed |
+| [ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING](#encryption_algorithm_rsa_ecb_oaepwithsha_256andmgf1padding): [String](TopLevel.String.md) = "RSA/ECB/OAEPWithSHA-256AndMGF1Padding" | The encryption algorithm "RSA/ECB/OAEPWithSHA-256AndMGF1Padding". |
+| ~~[ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING](#encryption_algorithm_rsa_ecb_pkcs1padding): [String](TopLevel.String.md) = "RSA/ECB/PKCS1Padding"~~ | The outdated encryption algorithm "RSA/ECB/PKCS1Padding". |
+| [EXPORT_STATUS_EXPORTED](#export_status_exported): [Number](TopLevel.Number.md) = 1 | constant for when Export Status is Exported |
+| [EXPORT_STATUS_FAILED](#export_status_failed): [Number](TopLevel.Number.md) = 3 | constant for when Export Status is Failed |
+| [EXPORT_STATUS_NOTEXPORTED](#export_status_notexported): [Number](TopLevel.Number.md) = 0 | constant for when Export Status is Not Exported |
+| [EXPORT_STATUS_READY](#export_status_ready): [Number](TopLevel.Number.md) = 2 | constant for when Export Status is ready to be exported. |
+| [ORDER_STATUS_CANCELLED](#order_status_cancelled): [Number](TopLevel.Number.md) = 6 | constant for when Order Status is Cancelled |
+| [ORDER_STATUS_COMPLETED](#order_status_completed): [Number](TopLevel.Number.md) = 5 | constant for when Order Status is Completed |
+| [ORDER_STATUS_CREATED](#order_status_created): [Number](TopLevel.Number.md) = 0 | constant for when Order Status is Created |
+| [ORDER_STATUS_FAILED](#order_status_failed): [Number](TopLevel.Number.md) = 8 | constant for when Order Status is Failed |
+| [ORDER_STATUS_NEW](#order_status_new): [Number](TopLevel.Number.md) = 3 | constant for when Order Status is New |
+| [ORDER_STATUS_OPEN](#order_status_open): [Number](TopLevel.Number.md) = 4 | constant for when Order Status is Open |
+| [ORDER_STATUS_REPLACED](#order_status_replaced): [Number](TopLevel.Number.md) = 7 | constant for when Order Status is Replaced |
+| [PAYMENT_STATUS_NOTPAID](#payment_status_notpaid): [Number](TopLevel.Number.md) = 0 | constant for when Payment Status is Not Paid |
+| [PAYMENT_STATUS_PAID](#payment_status_paid): [Number](TopLevel.Number.md) = 2 | constant for when Payment Status is Paid |
+| [PAYMENT_STATUS_PARTPAID](#payment_status_partpaid): [Number](TopLevel.Number.md) = 1 | constant for when Payment Status is Part Paid |
+| [SHIPPING_STATUS_NOTSHIPPED](#shipping_status_notshipped): [Number](TopLevel.Number.md) = 0 | constant for when Shipping Status is Not shipped |
+| [SHIPPING_STATUS_PARTSHIPPED](#shipping_status_partshipped): [Number](TopLevel.Number.md) = 1 | constant for when Shipping Status is Part Shipped |
+| [SHIPPING_STATUS_SHIPPED](#shipping_status_shipped): [Number](TopLevel.Number.md) = 2 | constant for when Shipping Status is Shipped |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [affiliatePartnerID](#affiliatepartnerid): [String](TopLevel.String.md) | Returns the affiliate partner ID value, or null. |
+| [affiliatePartnerName](#affiliatepartnername): [String](TopLevel.String.md) | Returns the affiliate partner name value, or null. |
+| [appeasementItems](#appeasementitems): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [AppeasementItem](dw.order.AppeasementItem.md)s associated with this order. |
+| [appeasements](#appeasements): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [Appeasement](dw.order.Appeasement.md)s associated with this order. |
+| [cancelCode](#cancelcode): [EnumValue](dw.value.EnumValue.md) | If this order was cancelled, returns the value of the cancel code or null. |
+| [cancelDescription](#canceldescription): [String](TopLevel.String.md) | If this order was cancelled, returns the text describing why the order was cancelled or null. |
+| [capturedAmount](#capturedamount): [Money](dw.value.Money.md) `(read-only)` | Returns the sum of the captured amounts. |
+| [confirmationStatus](#confirmationstatus): [EnumValue](dw.value.EnumValue.md) | Returns the confirmation status of the order.
Possible values are [CONFIRMATION_STATUS_NOTCONFIRMED](dw.order.Order.md#confirmation_status_notconfirmed) and [CONFIRMATION_STATUS_CONFIRMED](dw.order.Order.md#confirmation_status_confirmed). |
+| [createdBy](#createdby): [String](TopLevel.String.md) `(read-only)` | Returns the name of the user who has created the order. |
+| [currentOrder](#currentorder): [Order](dw.order.Order.md) `(read-only)` | Returns the current order. |
+| [currentOrderNo](#currentorderno): [String](TopLevel.String.md) `(read-only)` | Returns the order number of the current order. |
+| [customerLocaleID](#customerlocaleid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the locale that was in effect when the order was placed. |
+| [customerOrderReference](#customerorderreference): [String](TopLevel.String.md) | Returns the customer-specific reference information for the order, or null. |
+| [exportAfter](#exportafter): [Date](TopLevel.Date.md) | Returns a date after which an order can be exported. |
+| [exportStatus](#exportstatus): [EnumValue](dw.value.EnumValue.md) | Returns the export status of the order.
Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.order.Order.md#export_status_notexported), [EXPORT_STATUS_EXPORTED](dw.order.Order.md#export_status_exported), [EXPORT_STATUS_READY](dw.order.Order.md#export_status_ready), and [EXPORT_STATUS_FAILED](dw.order.Order.md#export_status_failed). |
+| [externalOrderNo](#externalorderno): [String](TopLevel.String.md) | Returns the value of an external order number associated with this order, or null. |
+| [externalOrderStatus](#externalorderstatus): [String](TopLevel.String.md) | Returns the status of an external order associated with this order, or null. |
+| [externalOrderText](#externalordertext): [String](TopLevel.String.md) | Returns the text describing the external order, or null. |
+| [globalPartyID](#globalpartyid): [String](TopLevel.String.md) `(read-only)` | The Global Party ID reconciles customer identity across multiple systems. |
+| [imported](#imported): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns `true`, if the order is imported and `false` otherwise. |
+| [invoiceItems](#invoiceitems): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [InvoiceItem](dw.order.InvoiceItem.md)s associated with this order. |
+| [invoiceNo](#invoiceno): [String](TopLevel.String.md) | Returns the invoice number for this Order. |
+| [invoices](#invoices): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [Invoice](dw.order.Invoice.md)s associated with this order. |
+| [orderExportXML](#orderexportxml): [String](TopLevel.String.md) `(read-only)` | Returns the order export XML as String object. |
+| [orderNo](#orderno): [String](TopLevel.String.md) `(read-only)` | Returns the order number for this order. |
+| [orderToken](#ordertoken): [String](TopLevel.String.md) `(read-only)` | Returns the token for this order. |
+| [originalOrder](#originalorder): [Order](dw.order.Order.md) `(read-only)` | Returns the original order associated with this order. |
+| [originalOrderNo](#originalorderno): [String](TopLevel.String.md) `(read-only)` | Returns the order number of the original order associated with this order. |
+| [paymentStatus](#paymentstatus): [EnumValue](dw.value.EnumValue.md) | Returns the order payment status value.
Possible values are [PAYMENT_STATUS_NOTPAID](dw.order.Order.md#payment_status_notpaid), [PAYMENT_STATUS_PARTPAID](dw.order.Order.md#payment_status_partpaid) or [PAYMENT_STATUS_PAID](dw.order.Order.md#payment_status_paid). |
+| ~~[paymentTransaction](#paymenttransaction): [PaymentTransaction](dw.order.PaymentTransaction.md)~~ `(read-only)` | Returns the payment transaction associated with this order. |
+| [refundedAmount](#refundedamount): [Money](dw.value.Money.md) `(read-only)` | Returns the sum of the refunded amounts. |
+| [remoteHost](#remotehost): [String](TopLevel.String.md) `(read-only)` | Returns the IP address of the remote host from which the order was created. |
+| [replaceCode](#replacecode): [EnumValue](dw.value.EnumValue.md) | If this order was replaced by another order, returns the value of the replace code. |
+| [replaceDescription](#replacedescription): [String](TopLevel.String.md) | If this order was replaced by another order, returns the value of the replace description. |
+| [replacedOrder](#replacedorder): [Order](dw.order.Order.md) `(read-only)` | Returns the order that this order replaced or null. |
+| [replacedOrderNo](#replacedorderno): [String](TopLevel.String.md) `(read-only)` | Returns the order number that this order replaced or null if this order did not replace an order. |
+| [replacementOrder](#replacementorder): [Order](dw.order.Order.md) `(read-only)` | Returns the order that replaced this order, or null. |
+| [replacementOrderNo](#replacementorderno): [String](TopLevel.String.md) `(read-only)` | If this order was replaced by another order, returns the order number that replaced this order. |
+| [returnCaseItems](#returncaseitems): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [ReturnCaseItem](dw.order.ReturnCaseItem.md)s associated with this order. |
+| [returnCases](#returncases): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [ReturnCase](dw.order.ReturnCase.md)s associated with this order. |
+| [returnItems](#returnitems): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [ReturnItem](dw.order.ReturnItem.md)s associated with this order. |
+| [returns](#returns): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [Return](dw.order.Return.md)s associated with this order. |
+| [shippingOrderItems](#shippingorderitems): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [ShippingOrderItem](dw.order.ShippingOrderItem.md)s associated with this order. |
+| [shippingOrders](#shippingorders): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the collection of [ShippingOrder](dw.order.ShippingOrder.md)s associated with this order. |
+| [shippingStatus](#shippingstatus): [EnumValue](dw.value.EnumValue.md) | Returns the order shipping status.
Possible values are [SHIPPING_STATUS_NOTSHIPPED](dw.order.Order.md#shipping_status_notshipped), [SHIPPING_STATUS_PARTSHIPPED](dw.order.Order.md#shipping_status_partshipped) or [SHIPPING_STATUS_SHIPPED](dw.order.Order.md#shipping_status_shipped). |
+| [sourceCode](#sourcecode): [String](TopLevel.String.md) `(read-only)` | Returns the source code stored with the order or `null` if no source code is attached to the order. |
+| [sourceCodeGroup](#sourcecodegroup): [SourceCodeGroup](dw.campaign.SourceCodeGroup.md) `(read-only)` | Returns the source code group attached to the order or `null` if no source code group is attached to the order. |
+| [sourceCodeGroupID](#sourcecodegroupid): [String](TopLevel.String.md) `(read-only)` | Returns the source code group id stored with the order or `null` if no source code group is attached to the order. |
+| [status](#status): [EnumValue](dw.value.EnumValue.md) | Returns the status of the order.
Possible values are:
|
+| [taxRoundedAtGroup](#taxroundedatgroup): [Boolean](TopLevel.Boolean.md) `(read-only)` | Use this method to check if the Order was created with grouped taxation calculation. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createAppeasement](dw.order.Order.md#createappeasement)() | Creates a new [Appeasement](dw.order.Appeasement.md) associated with this order. |
+| [createAppeasement](dw.order.Order.md#createappeasementstring)([String](TopLevel.String.md)) | Creates a new [Appeasement](dw.order.Appeasement.md) associated with this order. |
+| [createReturnCase](dw.order.Order.md#createreturncaseboolean)([Boolean](TopLevel.Boolean.md)) | Creates a new [ReturnCase](dw.order.ReturnCase.md) associated with this order specifying whether the ReturnCase is an RMA (return merchandise authorization). |
+| [createReturnCase](dw.order.Order.md#createreturncasestring-boolean)([String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md)) | Creates a new [ReturnCase](dw.order.ReturnCase.md) associated with this order specifying whether the ReturnCase is an RMA (return merchandise authorization). |
+| [createServiceItem](dw.order.Order.md#createserviceitemstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns the [order item](dw.order.OrderItem.md) with the given status which wraps a new [service item](dw.order.ShippingLineItem.md) which is created and added to the order. |
+| [createShippingOrder](dw.order.Order.md#createshippingorder)() | Creates a new [ShippingOrder](dw.order.ShippingOrder.md) for this order. |
+| [createShippingOrder](dw.order.Order.md#createshippingorderstring)([String](TopLevel.String.md)) | Creates a new [ShippingOrder](dw.order.ShippingOrder.md) for this order. |
+| [getAffiliatePartnerID](dw.order.Order.md#getaffiliatepartnerid)() | Returns the affiliate partner ID value, or null. |
+| [getAffiliatePartnerName](dw.order.Order.md#getaffiliatepartnername)() | Returns the affiliate partner name value, or null. |
+| [getAppeasement](dw.order.Order.md#getappeasementstring)([String](TopLevel.String.md)) | Returns the [Appeasement](dw.order.Appeasement.md) associated with this order with the given appeasementNumber. |
+| [getAppeasementItem](dw.order.Order.md#getappeasementitemstring)([String](TopLevel.String.md)) | Returns the [AppeasementItem](dw.order.AppeasementItem.md) associated with this Order with the given appeasementItemID. |
+| [getAppeasementItems](dw.order.Order.md#getappeasementitems)() | Returns the collection of [AppeasementItem](dw.order.AppeasementItem.md)s associated with this order. |
+| [getAppeasements](dw.order.Order.md#getappeasements)() | Returns the collection of [Appeasement](dw.order.Appeasement.md)s associated with this order. |
+| [getCancelCode](dw.order.Order.md#getcancelcode)() | If this order was cancelled, returns the value of the cancel code or null. |
+| [getCancelDescription](dw.order.Order.md#getcanceldescription)() | If this order was cancelled, returns the text describing why the order was cancelled or null. |
+| [getCapturedAmount](dw.order.Order.md#getcapturedamount)() | Returns the sum of the captured amounts. |
+| [getConfirmationStatus](dw.order.Order.md#getconfirmationstatus)() | Returns the confirmation status of the order.
Possible values are [CONFIRMATION_STATUS_NOTCONFIRMED](dw.order.Order.md#confirmation_status_notconfirmed) and [CONFIRMATION_STATUS_CONFIRMED](dw.order.Order.md#confirmation_status_confirmed). |
+| [getCreatedBy](dw.order.Order.md#getcreatedby)() | Returns the name of the user who has created the order. |
+| [getCurrentOrder](dw.order.Order.md#getcurrentorder)() | Returns the current order. |
+| [getCurrentOrderNo](dw.order.Order.md#getcurrentorderno)() | Returns the order number of the current order. |
+| [getCustomerLocaleID](dw.order.Order.md#getcustomerlocaleid)() | Returns the ID of the locale that was in effect when the order was placed. |
+| [getCustomerOrderReference](dw.order.Order.md#getcustomerorderreference)() | Returns the customer-specific reference information for the order, or null. |
+| [getExportAfter](dw.order.Order.md#getexportafter)() | Returns a date after which an order can be exported. |
+| [getExportStatus](dw.order.Order.md#getexportstatus)() | Returns the export status of the order.
Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.order.Order.md#export_status_notexported), [EXPORT_STATUS_EXPORTED](dw.order.Order.md#export_status_exported), [EXPORT_STATUS_READY](dw.order.Order.md#export_status_ready), and [EXPORT_STATUS_FAILED](dw.order.Order.md#export_status_failed). |
+| [getExternalOrderNo](dw.order.Order.md#getexternalorderno)() | Returns the value of an external order number associated with this order, or null. |
+| [getExternalOrderStatus](dw.order.Order.md#getexternalorderstatus)() | Returns the status of an external order associated with this order, or null. |
+| [getExternalOrderText](dw.order.Order.md#getexternalordertext)() | Returns the text describing the external order, or null. |
+| [getGlobalPartyID](dw.order.Order.md#getglobalpartyid)() | The Global Party ID reconciles customer identity across multiple systems. |
+| [getInvoice](dw.order.Order.md#getinvoicestring)([String](TopLevel.String.md)) | Returns the [Invoice](dw.order.Invoice.md) associated with this order with the given invoiceNumber. |
+| [getInvoiceItem](dw.order.Order.md#getinvoiceitemstring)([String](TopLevel.String.md)) | Returns the [InvoiceItem](dw.order.InvoiceItem.md) associated with this order with the given ID. |
+| [getInvoiceItems](dw.order.Order.md#getinvoiceitems)() | Returns the collection of [InvoiceItem](dw.order.InvoiceItem.md)s associated with this order. |
+| [getInvoiceNo](dw.order.Order.md#getinvoiceno)() | Returns the invoice number for this Order. |
+| [getInvoices](dw.order.Order.md#getinvoices)() | Returns the collection of [Invoice](dw.order.Invoice.md)s associated with this order. |
+| [getOrderExportXML](dw.order.Order.md#getorderexportxml)() | Returns the order export XML as String object. |
+| [getOrderExportXML](dw.order.Order.md#getorderexportxmlstring-string---variant-1)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns the order export XML as String object, with payment instrument data re-encrypted using the given encryption algorithm and key. |
+| ~~[getOrderExportXML](dw.order.Order.md#getorderexportxmlstring-string-boolean---variant-1)([String](TopLevel.String.md), [String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md))~~ | Returns the order export XML as String object, with payment instrument data re-encrypted using the given encryption algorithm and key. |
+| [getOrderExportXML](dw.order.Order.md#getorderexportxmlstring-string---variant-2)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns the order export XML as String object, with payment instrument data re-encrypted using the given encryption algorithm and key. |
+| [getOrderItem](dw.order.Order.md#getorderitemstring)([String](TopLevel.String.md)) | Returns the [OrderItem](dw.order.OrderItem.md) for the itemID. |
+| [getOrderNo](dw.order.Order.md#getorderno)() | Returns the order number for this order. |
+| [getOrderToken](dw.order.Order.md#getordertoken)() | Returns the token for this order. |
+| [getOriginalOrder](dw.order.Order.md#getoriginalorder)() | Returns the original order associated with this order. |
+| [getOriginalOrderNo](dw.order.Order.md#getoriginalorderno)() | Returns the order number of the original order associated with this order. |
+| [getPaymentStatus](dw.order.Order.md#getpaymentstatus)() | Returns the order payment status value.
Possible values are [PAYMENT_STATUS_NOTPAID](dw.order.Order.md#payment_status_notpaid), [PAYMENT_STATUS_PARTPAID](dw.order.Order.md#payment_status_partpaid) or [PAYMENT_STATUS_PAID](dw.order.Order.md#payment_status_paid). |
+| ~~[getPaymentTransaction](dw.order.Order.md#getpaymenttransaction)()~~ | Returns the payment transaction associated with this order. |
+| [getRefundedAmount](dw.order.Order.md#getrefundedamount)() | Returns the sum of the refunded amounts. |
+| [getRemoteHost](dw.order.Order.md#getremotehost)() | Returns the IP address of the remote host from which the order was created. |
+| [getReplaceCode](dw.order.Order.md#getreplacecode)() | If this order was replaced by another order, returns the value of the replace code. |
+| [getReplaceDescription](dw.order.Order.md#getreplacedescription)() | If this order was replaced by another order, returns the value of the replace description. |
+| [getReplacedOrder](dw.order.Order.md#getreplacedorder)() | Returns the order that this order replaced or null. |
+| [getReplacedOrderNo](dw.order.Order.md#getreplacedorderno)() | Returns the order number that this order replaced or null if this order did not replace an order. |
+| [getReplacementOrder](dw.order.Order.md#getreplacementorder)() | Returns the order that replaced this order, or null. |
+| [getReplacementOrderNo](dw.order.Order.md#getreplacementorderno)() | If this order was replaced by another order, returns the order number that replaced this order. |
+| [getReturn](dw.order.Order.md#getreturnstring)([String](TopLevel.String.md)) | Returns the [Return](dw.order.Return.md) associated with this order with the given returnNumber. |
+| [getReturnCase](dw.order.Order.md#getreturncasestring)([String](TopLevel.String.md)) | Returns the [ReturnCase](dw.order.ReturnCase.md) associated with this order with the given returnCaseNumber. |
+| [getReturnCaseItem](dw.order.Order.md#getreturncaseitemstring)([String](TopLevel.String.md)) | Returns the [ReturnCaseItem](dw.order.ReturnCaseItem.md) associated with this order with the given returnCaseItemID. |
+| [getReturnCaseItems](dw.order.Order.md#getreturncaseitems)() | Returns the collection of [ReturnCaseItem](dw.order.ReturnCaseItem.md)s associated with this order. |
+| [getReturnCases](dw.order.Order.md#getreturncases)() | Returns the collection of [ReturnCase](dw.order.ReturnCase.md)s associated with this order. |
+| [getReturnItem](dw.order.Order.md#getreturnitemstring)([String](TopLevel.String.md)) | Returns the [ReturnItem](dw.order.ReturnItem.md) associated with this order with the given ID. |
+| [getReturnItems](dw.order.Order.md#getreturnitems)() | Returns the collection of [ReturnItem](dw.order.ReturnItem.md)s associated with this order. |
+| [getReturns](dw.order.Order.md#getreturns)() | Returns the collection of [Return](dw.order.Return.md)s associated with this order. |
+| [getShippingOrder](dw.order.Order.md#getshippingorderstring)([String](TopLevel.String.md)) | Returns the [ShippingOrder](dw.order.ShippingOrder.md) associated with this order with the given shippingOrderNumber. |
+| [getShippingOrderItem](dw.order.Order.md#getshippingorderitemstring)([String](TopLevel.String.md)) | Returns the [ShippingOrderItem](dw.order.ShippingOrderItem.md) associated with this order with the given shippingOrderItemID. |
+| [getShippingOrderItems](dw.order.Order.md#getshippingorderitems)() | Returns the collection of [ShippingOrderItem](dw.order.ShippingOrderItem.md)s associated with this order. |
+| [getShippingOrders](dw.order.Order.md#getshippingorders)() | Returns the collection of [ShippingOrder](dw.order.ShippingOrder.md)s associated with this order. |
+| [getShippingStatus](dw.order.Order.md#getshippingstatus)() | Returns the order shipping status.
Possible values are [SHIPPING_STATUS_NOTSHIPPED](dw.order.Order.md#shipping_status_notshipped), [SHIPPING_STATUS_PARTSHIPPED](dw.order.Order.md#shipping_status_partshipped) or [SHIPPING_STATUS_SHIPPED](dw.order.Order.md#shipping_status_shipped). |
+| [getSourceCode](dw.order.Order.md#getsourcecode)() | Returns the source code stored with the order or `null` if no source code is attached to the order. |
+| [getSourceCodeGroup](dw.order.Order.md#getsourcecodegroup)() | Returns the source code group attached to the order or `null` if no source code group is attached to the order. |
+| [getSourceCodeGroupID](dw.order.Order.md#getsourcecodegroupid)() | Returns the source code group id stored with the order or `null` if no source code group is attached to the order. |
+| [getStatus](dw.order.Order.md#getstatus)() | Returns the status of the order.
Possible values are:
|
+| [isImported](dw.order.Order.md#isimported)() | Returns `true`, if the order is imported and `false` otherwise. |
+| [isTaxRoundedAtGroup](dw.order.Order.md#istaxroundedatgroup)() | Use this method to check if the Order was created with grouped taxation calculation. |
+| [reauthorize](dw.order.Order.md#reauthorize)() | Ensures that the order is authorized. |
+| [removeRemoteHost](dw.order.Order.md#removeremotehost)() | Removes the IP address of the remote host if stored. |
+| [setAffiliatePartnerID](dw.order.Order.md#setaffiliatepartneridstring)([String](TopLevel.String.md)) | Sets the affiliate partner ID value. |
+| [setAffiliatePartnerName](dw.order.Order.md#setaffiliatepartnernamestring)([String](TopLevel.String.md)) | Sets the affiliate partner name value. |
+| [setCancelCode](dw.order.Order.md#setcancelcodestring)([String](TopLevel.String.md)) | Sets the cancel code value. |
+| [setCancelDescription](dw.order.Order.md#setcanceldescriptionstring)([String](TopLevel.String.md)) | Sets the description as to why the order was cancelled. |
+| [setConfirmationStatus](dw.order.Order.md#setconfirmationstatusnumber)([Number](TopLevel.Number.md)) | Sets the confirmation status value.
Possible values are [CONFIRMATION_STATUS_NOTCONFIRMED](dw.order.Order.md#confirmation_status_notconfirmed) or [CONFIRMATION_STATUS_CONFIRMED](dw.order.Order.md#confirmation_status_confirmed). |
+| [setCustomer](dw.order.Order.md#setcustomercustomer)([Customer](dw.customer.Customer.md)) | This method is used to associate the order object with the specified customer object. |
+| [setCustomerNo](dw.order.Order.md#setcustomernostring)([String](TopLevel.String.md)) | Sets the customer number associated with this order. |
+| [setCustomerOrderReference](dw.order.Order.md#setcustomerorderreferencestring)([String](TopLevel.String.md)) | Sets the customer-specific reference information for the order. |
+| [setExportAfter](dw.order.Order.md#setexportafterdate)([Date](TopLevel.Date.md)) | Sets the date after which an order can be exported. |
+| [setExportStatus](dw.order.Order.md#setexportstatusnumber)([Number](TopLevel.Number.md)) | Sets the export status of the order.
Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.order.Order.md#export_status_notexported), [EXPORT_STATUS_EXPORTED](dw.order.Order.md#export_status_exported), [EXPORT_STATUS_READY](dw.order.Order.md#export_status_ready), and [EXPORT_STATUS_FAILED](dw.order.Order.md#export_status_failed). |
+| [setExternalOrderNo](dw.order.Order.md#setexternalordernostring)([String](TopLevel.String.md)) | Sets the value of an external order number associated with this order |
+| [setExternalOrderStatus](dw.order.Order.md#setexternalorderstatusstring)([String](TopLevel.String.md)) | Sets the status of an external order associated with this order |
+| [setExternalOrderText](dw.order.Order.md#setexternalordertextstring)([String](TopLevel.String.md)) | Sets the text describing the external order. |
+| [setInvoiceNo](dw.order.Order.md#setinvoicenostring)([String](TopLevel.String.md)) | Sets the invoice number for this Order. |
+| ~~[setOrderStatus](dw.order.Order.md#setorderstatusnumber)([Number](TopLevel.Number.md))~~ | Sets the order status. |
+| [setPaymentStatus](dw.order.Order.md#setpaymentstatusnumber)([Number](TopLevel.Number.md)) | Sets the order payment status.
Possible values are [PAYMENT_STATUS_NOTPAID](dw.order.Order.md#payment_status_notpaid), [PAYMENT_STATUS_PARTPAID](dw.order.Order.md#payment_status_partpaid) or [PAYMENT_STATUS_PAID](dw.order.Order.md#payment_status_paid). |
+| [setReplaceCode](dw.order.Order.md#setreplacecodestring)([String](TopLevel.String.md)) | Sets the value of the replace code. |
+| [setReplaceDescription](dw.order.Order.md#setreplacedescriptionstring)([String](TopLevel.String.md)) | Sets the value of the replace description. |
+| [setShippingStatus](dw.order.Order.md#setshippingstatusnumber)([Number](TopLevel.Number.md)) | Sets the order shipping status value.
Possible values are [SHIPPING_STATUS_NOTSHIPPED](dw.order.Order.md#shipping_status_notshipped), [SHIPPING_STATUS_PARTSHIPPED](dw.order.Order.md#shipping_status_partshipped) or [SHIPPING_STATUS_SHIPPED](dw.order.Order.md#shipping_status_shipped). |
+| [setStatus](dw.order.Order.md#setstatusnumber)([Number](TopLevel.Number.md)) | Sets the status of the order. |
+| [trackOrderChange](dw.order.Order.md#trackorderchangestring)([String](TopLevel.String.md)) | Tracks an order change. |
+
+### Methods inherited from class LineItemCtnr
+
+[addNote](dw.order.LineItemCtnr.md#addnotestring-string), [createBillingAddress](dw.order.LineItemCtnr.md#createbillingaddress), [createBonusProductLineItem](dw.order.LineItemCtnr.md#createbonusproductlineitembonusdiscountlineitem-product-productoptionmodel-shipment), [createCouponLineItem](dw.order.LineItemCtnr.md#createcouponlineitemstring), [createCouponLineItem](dw.order.LineItemCtnr.md#createcouponlineitemstring-boolean), [createGiftCertificateLineItem](dw.order.LineItemCtnr.md#creategiftcertificatelineitemnumber-string), [createGiftCertificatePaymentInstrument](dw.order.LineItemCtnr.md#creategiftcertificatepaymentinstrumentstring-money), [createPaymentInstrument](dw.order.LineItemCtnr.md#createpaymentinstrumentstring-money), [createPaymentInstrumentFromWallet](dw.order.LineItemCtnr.md#createpaymentinstrumentfromwalletcustomerpaymentinstrument-money), [createPriceAdjustment](dw.order.LineItemCtnr.md#createpriceadjustmentstring), [createPriceAdjustment](dw.order.LineItemCtnr.md#createpriceadjustmentstring-discount), [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemproduct-productoptionmodel-shipment), [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemproductlistitem-shipment), [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemstring-shipment), [createProductLineItem](dw.order.LineItemCtnr.md#createproductlineitemstring-quantity-shipment), [createShipment](dw.order.LineItemCtnr.md#createshipmentstring), [createShippingPriceAdjustment](dw.order.LineItemCtnr.md#createshippingpriceadjustmentstring), [getAdjustedMerchandizeTotalGrossPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalgrossprice), [getAdjustedMerchandizeTotalNetPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalnetprice), [getAdjustedMerchandizeTotalPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalprice), [getAdjustedMerchandizeTotalPrice](dw.order.LineItemCtnr.md#getadjustedmerchandizetotalpriceboolean), [getAdjustedMerchandizeTotalTax](dw.order.LineItemCtnr.md#getadjustedmerchandizetotaltax), [getAdjustedShippingTotalGrossPrice](dw.order.LineItemCtnr.md#getadjustedshippingtotalgrossprice), [getAdjustedShippingTotalNetPrice](dw.order.LineItemCtnr.md#getadjustedshippingtotalnetprice), [getAdjustedShippingTotalPrice](dw.order.LineItemCtnr.md#getadjustedshippingtotalprice), [getAdjustedShippingTotalTax](dw.order.LineItemCtnr.md#getadjustedshippingtotaltax), [getAllGiftCertificateLineItems](dw.order.LineItemCtnr.md#getallgiftcertificatelineitems), [getAllLineItems](dw.order.LineItemCtnr.md#getalllineitems), [getAllProductLineItems](dw.order.LineItemCtnr.md#getallproductlineitems), [getAllProductLineItems](dw.order.LineItemCtnr.md#getallproductlineitemsstring), [getAllProductQuantities](dw.order.LineItemCtnr.md#getallproductquantities), [getAllShippingPriceAdjustments](dw.order.LineItemCtnr.md#getallshippingpriceadjustments), [getBillingAddress](dw.order.LineItemCtnr.md#getbillingaddress), [getBonusDiscountLineItems](dw.order.LineItemCtnr.md#getbonusdiscountlineitems), [getBonusLineItems](dw.order.LineItemCtnr.md#getbonuslineitems), [getBusinessType](dw.order.LineItemCtnr.md#getbusinesstype), [getChannelType](dw.order.LineItemCtnr.md#getchanneltype), [getCouponLineItem](dw.order.LineItemCtnr.md#getcouponlineitemstring), [getCouponLineItems](dw.order.LineItemCtnr.md#getcouponlineitems), [getCurrencyCode](dw.order.LineItemCtnr.md#getcurrencycode), [getCustomer](dw.order.LineItemCtnr.md#getcustomer), [getCustomerEmail](dw.order.LineItemCtnr.md#getcustomeremail), [getCustomerName](dw.order.LineItemCtnr.md#getcustomername), [getCustomerNo](dw.order.LineItemCtnr.md#getcustomerno), [getDefaultShipment](dw.order.LineItemCtnr.md#getdefaultshipment), [getEtag](dw.order.LineItemCtnr.md#getetag), [getGiftCertificateLineItems](dw.order.LineItemCtnr.md#getgiftcertificatelineitems), [getGiftCertificateLineItems](dw.order.LineItemCtnr.md#getgiftcertificatelineitemsstring), [getGiftCertificatePaymentInstruments](dw.order.LineItemCtnr.md#getgiftcertificatepaymentinstruments), [getGiftCertificatePaymentInstruments](dw.order.LineItemCtnr.md#getgiftcertificatepaymentinstrumentsstring), [getGiftCertificateTotalGrossPrice](dw.order.LineItemCtnr.md#getgiftcertificatetotalgrossprice), [getGiftCertificateTotalNetPrice](dw.order.LineItemCtnr.md#getgiftcertificatetotalnetprice), [getGiftCertificateTotalPrice](dw.order.LineItemCtnr.md#getgiftcertificatetotalprice), [getGiftCertificateTotalTax](dw.order.LineItemCtnr.md#getgiftcertificatetotaltax), [getMerchandizeTotalGrossPrice](dw.order.LineItemCtnr.md#getmerchandizetotalgrossprice), [getMerchandizeTotalNetPrice](dw.order.LineItemCtnr.md#getmerchandizetotalnetprice), [getMerchandizeTotalPrice](dw.order.LineItemCtnr.md#getmerchandizetotalprice), [getMerchandizeTotalTax](dw.order.LineItemCtnr.md#getmerchandizetotaltax), [getNotes](dw.order.LineItemCtnr.md#getnotes), [getPaymentInstrument](dw.order.LineItemCtnr.md#getpaymentinstrument), [getPaymentInstruments](dw.order.LineItemCtnr.md#getpaymentinstruments), [getPaymentInstruments](dw.order.LineItemCtnr.md#getpaymentinstrumentsstring), [getPriceAdjustmentByPromotionID](dw.order.LineItemCtnr.md#getpriceadjustmentbypromotionidstring), [getPriceAdjustments](dw.order.LineItemCtnr.md#getpriceadjustments), [getProductLineItems](dw.order.LineItemCtnr.md#getproductlineitems), [getProductLineItems](dw.order.LineItemCtnr.md#getproductlineitemsstring), [getProductQuantities](dw.order.LineItemCtnr.md#getproductquantities), [getProductQuantities](dw.order.LineItemCtnr.md#getproductquantitiesboolean), [getProductQuantityTotal](dw.order.LineItemCtnr.md#getproductquantitytotal), [getShipment](dw.order.LineItemCtnr.md#getshipmentstring), [getShipments](dw.order.LineItemCtnr.md#getshipments), [getShippingPriceAdjustmentByPromotionID](dw.order.LineItemCtnr.md#getshippingpriceadjustmentbypromotionidstring), [getShippingPriceAdjustments](dw.order.LineItemCtnr.md#getshippingpriceadjustments), [getShippingTotalGrossPrice](dw.order.LineItemCtnr.md#getshippingtotalgrossprice), [getShippingTotalNetPrice](dw.order.LineItemCtnr.md#getshippingtotalnetprice), [getShippingTotalPrice](dw.order.LineItemCtnr.md#getshippingtotalprice), [getShippingTotalTax](dw.order.LineItemCtnr.md#getshippingtotaltax), [getTaxTotalsPerTaxRate](dw.order.LineItemCtnr.md#gettaxtotalspertaxrate), [getTotalGrossPrice](dw.order.LineItemCtnr.md#gettotalgrossprice), [getTotalNetPrice](dw.order.LineItemCtnr.md#gettotalnetprice), [getTotalTax](dw.order.LineItemCtnr.md#gettotaltax), [isExternallyTaxed](dw.order.LineItemCtnr.md#isexternallytaxed), [isTaxRoundedAtGroup](dw.order.LineItemCtnr.md#istaxroundedatgroup), [removeAllPaymentInstruments](dw.order.LineItemCtnr.md#removeallpaymentinstruments), [removeBonusDiscountLineItem](dw.order.LineItemCtnr.md#removebonusdiscountlineitembonusdiscountlineitem), [removeCouponLineItem](dw.order.LineItemCtnr.md#removecouponlineitemcouponlineitem), [removeGiftCertificateLineItem](dw.order.LineItemCtnr.md#removegiftcertificatelineitemgiftcertificatelineitem), [removeNote](dw.order.LineItemCtnr.md#removenotenote), [removePaymentInstrument](dw.order.LineItemCtnr.md#removepaymentinstrumentpaymentinstrument), [removePriceAdjustment](dw.order.LineItemCtnr.md#removepriceadjustmentpriceadjustment), [removeProductLineItem](dw.order.LineItemCtnr.md#removeproductlineitemproductlineitem), [removeShipment](dw.order.LineItemCtnr.md#removeshipmentshipment), [removeShippingPriceAdjustment](dw.order.LineItemCtnr.md#removeshippingpriceadjustmentpriceadjustment), [setCustomerEmail](dw.order.LineItemCtnr.md#setcustomeremailstring), [setCustomerName](dw.order.LineItemCtnr.md#setcustomernamestring), [updateOrderLevelPriceAdjustmentTax](dw.order.LineItemCtnr.md#updateorderlevelpriceadjustmenttax), [updateTotals](dw.order.LineItemCtnr.md#updatetotals), [verifyPriceAdjustmentLimits](dw.order.LineItemCtnr.md#verifypriceadjustmentlimits)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### CONFIRMATION_STATUS_CONFIRMED
+
+- CONFIRMATION_STATUS_CONFIRMED: [Number](TopLevel.Number.md) = 2
+ - : constant for when Confirmation Status is Confirmed
+
+
+---
+
+### CONFIRMATION_STATUS_NOTCONFIRMED
+
+- CONFIRMATION_STATUS_NOTCONFIRMED: [Number](TopLevel.Number.md) = 0
+ - : constant for when Confirmation Status is Not Confirmed
+
+
+---
+
+### ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING
+
+- ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING: [String](TopLevel.String.md) = "RSA/ECB/OAEPWithSHA-256AndMGF1Padding"
+ - : The encryption algorithm "RSA/ECB/OAEPWithSHA-256AndMGF1Padding".
+
+
+---
+
+### ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING
+
+- ~~ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING: [String](TopLevel.String.md) = "RSA/ECB/PKCS1Padding"~~
+ - : The outdated encryption algorithm "RSA/ECB/PKCS1Padding". Please do not use anymore!
+
+ **Deprecated:**
+:::warning
+Support for this algorithm will be removed in a future release. Please use
+ [ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING](dw.order.Order.md#encryption_algorithm_rsa_ecb_oaepwithsha_256andmgf1padding) instead.
+
+:::
+
+---
+
+### EXPORT_STATUS_EXPORTED
+
+- EXPORT_STATUS_EXPORTED: [Number](TopLevel.Number.md) = 1
+ - : constant for when Export Status is Exported
+
+
+---
+
+### EXPORT_STATUS_FAILED
+
+- EXPORT_STATUS_FAILED: [Number](TopLevel.Number.md) = 3
+ - : constant for when Export Status is Failed
+
+
+---
+
+### EXPORT_STATUS_NOTEXPORTED
+
+- EXPORT_STATUS_NOTEXPORTED: [Number](TopLevel.Number.md) = 0
+ - : constant for when Export Status is Not Exported
+
+
+---
+
+### EXPORT_STATUS_READY
+
+- EXPORT_STATUS_READY: [Number](TopLevel.Number.md) = 2
+ - : constant for when Export Status is ready to be exported.
+
+
+---
+
+### ORDER_STATUS_CANCELLED
+
+- ORDER_STATUS_CANCELLED: [Number](TopLevel.Number.md) = 6
+ - : constant for when Order Status is Cancelled
+
+
+---
+
+### ORDER_STATUS_COMPLETED
+
+- ORDER_STATUS_COMPLETED: [Number](TopLevel.Number.md) = 5
+ - : constant for when Order Status is Completed
+
+
+---
+
+### ORDER_STATUS_CREATED
+
+- ORDER_STATUS_CREATED: [Number](TopLevel.Number.md) = 0
+ - : constant for when Order Status is Created
+
+
+---
+
+### ORDER_STATUS_FAILED
+
+- ORDER_STATUS_FAILED: [Number](TopLevel.Number.md) = 8
+ - : constant for when Order Status is Failed
+
+
+---
+
+### ORDER_STATUS_NEW
+
+- ORDER_STATUS_NEW: [Number](TopLevel.Number.md) = 3
+ - : constant for when Order Status is New
+
+
+---
+
+### ORDER_STATUS_OPEN
+
+- ORDER_STATUS_OPEN: [Number](TopLevel.Number.md) = 4
+ - : constant for when Order Status is Open
+
+
+---
+
+### ORDER_STATUS_REPLACED
+
+- ORDER_STATUS_REPLACED: [Number](TopLevel.Number.md) = 7
+ - : constant for when Order Status is Replaced
+
+
+---
+
+### PAYMENT_STATUS_NOTPAID
+
+- PAYMENT_STATUS_NOTPAID: [Number](TopLevel.Number.md) = 0
+ - : constant for when Payment Status is Not Paid
+
+
+---
+
+### PAYMENT_STATUS_PAID
+
+- PAYMENT_STATUS_PAID: [Number](TopLevel.Number.md) = 2
+ - : constant for when Payment Status is Paid
+
+
+---
+
+### PAYMENT_STATUS_PARTPAID
+
+- PAYMENT_STATUS_PARTPAID: [Number](TopLevel.Number.md) = 1
+ - : constant for when Payment Status is Part Paid
+
+
+---
+
+### SHIPPING_STATUS_NOTSHIPPED
+
+- SHIPPING_STATUS_NOTSHIPPED: [Number](TopLevel.Number.md) = 0
+ - : constant for when Shipping Status is Not shipped
+
+
+---
+
+### SHIPPING_STATUS_PARTSHIPPED
+
+- SHIPPING_STATUS_PARTSHIPPED: [Number](TopLevel.Number.md) = 1
+ - : constant for when Shipping Status is Part Shipped
+
+
+---
+
+### SHIPPING_STATUS_SHIPPED
+
+- SHIPPING_STATUS_SHIPPED: [Number](TopLevel.Number.md) = 2
+ - : constant for when Shipping Status is Shipped
+
+
+---
+
+## Property Details
+
+### affiliatePartnerID
+- affiliatePartnerID: [String](TopLevel.String.md)
+ - : Returns the affiliate partner ID value, or null.
+
+
+---
+
+### affiliatePartnerName
+- affiliatePartnerName: [String](TopLevel.String.md)
+ - : Returns the affiliate partner name value, or null.
+
+
+---
+
+### appeasementItems
+- appeasementItems: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [AppeasementItem](dw.order.AppeasementItem.md)s associated with this order.
+
+
+---
+
+### appeasements
+- appeasements: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [Appeasement](dw.order.Appeasement.md)s associated with this order.
+
+
+---
+
+### cancelCode
+- cancelCode: [EnumValue](dw.value.EnumValue.md)
+ - : If this order was cancelled, returns the value of the
+ cancel code or null.
+
+
+
+---
+
+### cancelDescription
+- cancelDescription: [String](TopLevel.String.md)
+ - : If this order was cancelled, returns the text describing why
+ the order was cancelled or null.
+
+
+
+---
+
+### capturedAmount
+- capturedAmount: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of the captured amounts. The captured amounts
+ are calculated on the fly. Associate a payment capture for an [PaymentInstrument](dw.order.PaymentInstrument.md) with an [Invoice](dw.order.Invoice.md)
+ using [Invoice.addCaptureTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addcapturetransactionorderpaymentinstrument-money).
+
+
+
+---
+
+### confirmationStatus
+- confirmationStatus: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the confirmation status of the order.
+
+ Possible values are [CONFIRMATION_STATUS_NOTCONFIRMED](dw.order.Order.md#confirmation_status_notconfirmed) and
+ [CONFIRMATION_STATUS_CONFIRMED](dw.order.Order.md#confirmation_status_confirmed).
+
+
+
+---
+
+### createdBy
+- createdBy: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the user who has created the order.
+ If an agent user has created the order, the agent user's name
+ is returned. Otherwise "Customer" is returned.
+
+
+
+---
+
+### currentOrder
+- currentOrder: [Order](dw.order.Order.md) `(read-only)`
+ - : Returns the current order. The current order
+ represents the most recent order in a chain of orders.
+ For example, if Order1 was replaced by Order2, Order2 is the current
+ representation of the order and Order1 is the original representation
+ of the order. If you replace Order2 with Order3, Order 3 is now the
+ current order and Order1 is still the original representation of the
+ order. If this order has not been replaced, this method returns this
+ order because this order is the current order.
+
+
+ **See Also:**
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### currentOrderNo
+- currentOrderNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the order number of the current order. The current order
+ represents the most recent order in a chain of orders.
+ For example, if Order1 was replaced by Order2, Order2 is the current
+ representation of the order and Order1 is the original representation
+ of the order. If you replace Order2 with Order3, Order 3 is now the
+ current order and Order1 is still the original representation of the
+ order. If this order has not been replaced, calling this method returns the
+ same value as the [getOrderNo()](dw.order.Order.md#getorderno) method because this order is the
+ current order.
+
+
+ **See Also:**
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### customerLocaleID
+- customerLocaleID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the locale that was in effect when the order
+ was placed. This is the customer's locale.
+
+
+
+---
+
+### customerOrderReference
+- customerOrderReference: [String](TopLevel.String.md)
+ - : Returns the customer-specific reference information for the order, or null.
+
+
+---
+
+### exportAfter
+- exportAfter: [Date](TopLevel.Date.md)
+ - : Returns a date after which an order can be exported.
+
+
+---
+
+### exportStatus
+- exportStatus: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the export status of the order.
+
+ Possible values are: [EXPORT_STATUS_NOTEXPORTED](dw.order.Order.md#export_status_notexported),
+ [EXPORT_STATUS_EXPORTED](dw.order.Order.md#export_status_exported), [EXPORT_STATUS_READY](dw.order.Order.md#export_status_ready),
+ and [EXPORT_STATUS_FAILED](dw.order.Order.md#export_status_failed).
+
+
+
+---
+
+### externalOrderNo
+- externalOrderNo: [String](TopLevel.String.md)
+ - : Returns the value of an external order number associated
+ with this order, or null.
+
+
+
+---
+
+### externalOrderStatus
+- externalOrderStatus: [String](TopLevel.String.md)
+ - : Returns the status of an external order associated
+ with this order, or null.
+
+
+
+---
+
+### externalOrderText
+- externalOrderText: [String](TopLevel.String.md)
+ - : Returns the text describing the external order, or null.
+
+
+---
+
+### globalPartyID
+- globalPartyID: [String](TopLevel.String.md) `(read-only)`
+ - : The Global Party ID reconciles customer identity across multiple systems. For example, as part of the Service for
+ Commerce experience, service agents can find information for customers who have never called into the call
+ center, but have created a profile on the website. Service agents can find guest order data from B2C Commerce and
+ easily create accounts for customers. Customer 360 Data Manager matches records from multiple data sources to
+ determine all the records associated with a specific customer.
+
+
+
+---
+
+### imported
+- imported: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns `true`, if the order is imported and `false`
+ otherwise.
+
+
+
+---
+
+### invoiceItems
+- invoiceItems: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [InvoiceItem](dw.order.InvoiceItem.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### invoiceNo
+- invoiceNo: [String](TopLevel.String.md)
+ - : Returns the invoice number for this Order.
+
+
+ When an order is placed (e.g. with [OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder)) invoice number will be filled
+ using a sequence. Before order was placed `null` will be returned unless it was set with
+ [setInvoiceNo(String)](dw.order.Order.md#setinvoicenostring).
+
+
+
+---
+
+### invoices
+- invoices: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [Invoice](dw.order.Invoice.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### orderExportXML
+- orderExportXML: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the order export XML as String object.
+
+
+ NOTE: This method will return payment instrument data masked. If payment instrument re-encryption is needed
+ please use [getOrderExportXML(String, String)](dw.order.Order.md#getorderexportxmlstring-string---variant-2) instead.
+
+
+ Example:
+
+
+ ```
+ var orderXMLAsString : String = order.getOrderExportXML();
+ var orderXML : XML = new XML(orderXMLAsString);
+ ```
+
+
+
+---
+
+### orderNo
+- orderNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the order number for this order.
+
+
+---
+
+### orderToken
+- orderToken: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the token for this order. The order token is a string (length 32 bytes) associated
+ with this one order. The order token is random. It reduces the capability of malicious
+ users to access an order through guessing. Order token can be used to **further** validate order
+ ownership, but should never be used to solely validate ownership. In addition, the storefront
+ should ensure authentication and authorization. See the [Security Best Practices for Developers](https://help.salesforce.com/s/articleView?id=cc.b2c\_developer\_authentication\_and\_authorization.htm) for details.
+
+
+
+---
+
+### originalOrder
+- originalOrder: [Order](dw.order.Order.md) `(read-only)`
+ - : Returns the original order associated with
+ this order. The original order represents an order that was the
+ first ancestor in a chain of orders.
+ For example, if Order1 was replaced by Order2, Order2 is the current
+ representation of the order and Order1 is the original representation
+ of the order. If you replace Order2 with Order3, Order1 is still the
+ original representation of the order. If this order is the first
+ ancestor, this method returns this order.
+
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### originalOrderNo
+- originalOrderNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the order number of the original order associated with
+ this order. The original order represents an order that was the
+ first ancestor in a chain of orders.
+ For example, if Order1 was replaced by Order2, Order2 is the current
+ representation of the order and Order1 is the original representation
+ of the order. If you replace Order2 with Order3, Order1 is still the
+ original representation of the order. If this order is the first
+ ancestor, this method returns the value of getOrderNo().
+
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### paymentStatus
+- paymentStatus: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the order payment status value.
+
+ Possible values are [PAYMENT_STATUS_NOTPAID](dw.order.Order.md#payment_status_notpaid), [PAYMENT_STATUS_PARTPAID](dw.order.Order.md#payment_status_partpaid)
+ or [PAYMENT_STATUS_PAID](dw.order.Order.md#payment_status_paid).
+
+
+
+---
+
+### paymentTransaction
+- ~~paymentTransaction: [PaymentTransaction](dw.order.PaymentTransaction.md)~~ `(read-only)`
+ - : Returns the payment transaction associated with this order.
+ It is possible that there are multiple payment transactions
+ associated with the order. In this case, this method returns
+ the transaction associated with the first PaymentInstrument
+ returned by `getPaymentInstruments()`.
+
+
+ **Deprecated:**
+:::warning
+Use [LineItemCtnr.getPaymentInstruments()](dw.order.LineItemCtnr.md#getpaymentinstruments)
+to get the list of PaymentInstrument instances and then use
+getPaymentTransaction() method on each PaymentInstrument to access
+the individual transactions.
+
+:::
+
+---
+
+### refundedAmount
+- refundedAmount: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of the refunded amounts. The refunded amounts are
+ calculated on the fly. Associate a payment refund for an [PaymentInstrument](dw.order.PaymentInstrument.md) with an [Invoice](dw.order.Invoice.md)
+ using [Invoice.addRefundTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addrefundtransactionorderpaymentinstrument-money).
+
+
+
+---
+
+### remoteHost
+- remoteHost: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the IP address of the remote host from which the order was created.
+
+
+ If the IP address was not captured for the order because order IP logging
+ was disabled at the time the order was created, null will be returned.
+
+
+
+---
+
+### replaceCode
+- replaceCode: [EnumValue](dw.value.EnumValue.md)
+ - : If this order was replaced by another order,
+ returns the value of the replace code. Otherwise.
+ returns null.
+
+
+
+---
+
+### replaceDescription
+- replaceDescription: [String](TopLevel.String.md)
+ - : If this order was replaced by another order,
+ returns the value of the replace description. Otherwise
+ returns null.
+
+
+
+---
+
+### replacedOrder
+- replacedOrder: [Order](dw.order.Order.md) `(read-only)`
+ - : Returns the order that this order replaced or null. For example, if you
+ have three orders where Order1 was replaced by Order2 and Order2 was
+ replaced by Order3, calling this method on Order3 will return Order2.
+ Similarly, calling this method on Order1 will return null as Order1 was
+ the original order.
+
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### replacedOrderNo
+- replacedOrderNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the order number that this order replaced or null if this order
+ did not replace an order. For example, if you have three orders
+ where Order1 was replaced by Order2 and Order2 was replaced by Order3,
+ calling this method on Order3 will return the order number for
+ Order2. Similarly, calling this method on Order1 will return null as
+ Order1 was the original order.
+
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacementOrderNo()](dw.order.Order.md#getreplacementorderno)
+ - [getReplacementOrder()](dw.order.Order.md#getreplacementorder)
+
+
+---
+
+### replacementOrder
+- replacementOrder: [Order](dw.order.Order.md) `(read-only)`
+ - : Returns the order that replaced this order, or null.
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+
+
+---
+
+### replacementOrderNo
+- replacementOrderNo: [String](TopLevel.String.md) `(read-only)`
+ - : If this order was replaced by another order,
+ returns the order number that replaced this order. Otherwise
+ returns null.
+
+
+ **See Also:**
+ - [getCurrentOrderNo()](dw.order.Order.md#getcurrentorderno)
+ - [getCurrentOrder()](dw.order.Order.md#getcurrentorder)
+ - [getOriginalOrderNo()](dw.order.Order.md#getoriginalorderno)
+ - [getOriginalOrder()](dw.order.Order.md#getoriginalorder)
+ - [getReplacedOrderNo()](dw.order.Order.md#getreplacedorderno)
+ - [getReplacedOrder()](dw.order.Order.md#getreplacedorder)
+
+
+---
+
+### returnCaseItems
+- returnCaseItems: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [ReturnCaseItem](dw.order.ReturnCaseItem.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### returnCases
+- returnCases: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [ReturnCase](dw.order.ReturnCase.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### returnItems
+- returnItems: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [ReturnItem](dw.order.ReturnItem.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### returns
+- returns: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [Return](dw.order.Return.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### shippingOrderItems
+- shippingOrderItems: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [ShippingOrderItem](dw.order.ShippingOrderItem.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### shippingOrders
+- shippingOrders: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the collection of [ShippingOrder](dw.order.ShippingOrder.md)s associated with this order.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### shippingStatus
+- shippingStatus: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the order shipping status.
+
+ Possible values are [SHIPPING_STATUS_NOTSHIPPED](dw.order.Order.md#shipping_status_notshipped),
+ [SHIPPING_STATUS_PARTSHIPPED](dw.order.Order.md#shipping_status_partshipped) or [SHIPPING_STATUS_SHIPPED](dw.order.Order.md#shipping_status_shipped).
+
+
+
+---
+
+### sourceCode
+- sourceCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the source code stored with the order or `null` if no source code is attached to the order.
+
+
+---
+
+### sourceCodeGroup
+- sourceCodeGroup: [SourceCodeGroup](dw.campaign.SourceCodeGroup.md) `(read-only)`
+ - : Returns the source code group attached to the order or `null` if no source code group is attached to
+ the order.
+
+
+
+---
+
+### sourceCodeGroupID
+- sourceCodeGroupID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the source code group id stored with the order or `null` if no source code group is attached
+ to the order.
+
+
+
+---
+
+### status
+- status: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the status of the order.
+
+ Possible values are:
+
+ - [ORDER_STATUS_CREATED](dw.order.Order.md#order_status_created)
+ - [ORDER_STATUS_NEW](dw.order.Order.md#order_status_new)
+ - [ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open)
+ - [ORDER_STATUS_COMPLETED](dw.order.Order.md#order_status_completed)
+ - [ORDER_STATUS_CANCELLED](dw.order.Order.md#order_status_cancelled)
+ - [ORDER_STATUS_FAILED](dw.order.Order.md#order_status_failed)
+ - [ORDER_STATUS_REPLACED](dw.order.Order.md#order_status_replaced)
+
+
+
+ The order status usually changes when a process action is initiated. Most status changes have an action which
+ needs to executed in order to end having the order in a specific order status. When an order is created with e.g.
+ [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) the order status will be [ORDER_STATUS_CREATED](dw.order.Order.md#order_status_created). The usual
+ flow is that payment authorization will be added to the order. Once the order is considered as valid (payed,
+ fraud checked, ...) the order gets placed. This can be done by calling
+ [OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder). The result of placing an order will be status
+ [ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open) (from a process standpoint [ORDER_STATUS_NEW](dw.order.Order.md#order_status_new) which has the same meaning).
+ Status [ORDER_STATUS_REPLACED](dw.order.Order.md#order_status_replaced) is related to functionality
+ [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder). [ORDER_STATUS_COMPLETED](dw.order.Order.md#order_status_completed) has no meaning by
+ default but can be used by custom implementations but is a synonym for NEW/OPEN. Below you will find the most important status changes:
+
+
+
+ | Status before | Action | Status after | Business meaning |
+ | --- |--- |--- |--- |
+ | - | [OrderMgr.createOrder(Basket)](dw.order.OrderMgr.md#createorderbasket) | CREATED | Order was created from a basket. |
+ | CREATED | [OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder) | OPEN/NEW | Order was considered as valid. Order can now be exported to 3rd party systems. |
+ | CREATED | [OrderMgr.failOrder(Order)](dw.order.OrderMgr.md#failorderorder) | FAILED | Order was considered not valid. E.g. payment authorization was wrong or fraud check was not successful. |
+ | OPEN/NEW | [OrderMgr.cancelOrder(Order)](dw.order.OrderMgr.md#cancelorderorder) | CANCELLED | Order was cancelled. |
+ | CANCELLED | [OrderMgr.undoCancelOrder(Order)](dw.order.OrderMgr.md#undocancelorderorder) | OPEN/NEW | Order was cancelled by mistake and this needs to be undone. |
+ | FAILED | [OrderMgr.undoFailOrder(Order)](dw.order.OrderMgr.md#undofailorderorder) | CREATED | Order was failed by mistake and this needs to be undone. |
+
+
+ Every status change will trigger a change in the order journal which is the base for GMV calculations.
+
+
+ **See Also:**
+ - [LineItemCtnr](dw.order.LineItemCtnr.md)
+
+
+---
+
+### taxRoundedAtGroup
+- taxRoundedAtGroup: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Use this method to check if the Order was created with grouped taxation calculation.
+
+
+ If the tax is rounded on group level, the tax is applied to the summed-up tax basis for each tax rate.
+
+
+
+---
+
+## Method Details
+
+### createAppeasement()
+- createAppeasement(): [Appeasement](dw.order.Appeasement.md)
+ - : Creates a new [Appeasement](dw.order.Appeasement.md) associated with this order.
+
+ The new Appeasement
+ will have an appeasementNumber based on the [getOrderNo()](dw.order.Order.md#getorderno).
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - the created appeasement
+
+
+---
+
+### createAppeasement(String)
+- createAppeasement(appeasementNumber: [String](TopLevel.String.md)): [Appeasement](dw.order.Appeasement.md)
+ - : Creates a new [Appeasement](dw.order.Appeasement.md) associated with this order.
+
+
+ An appeasementNumber must be specified.
+
+
+ If an Appeasement already exists for the appeasementNumber, the method fails with an
+ exception.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - appeasementNumber - the appeasementNumber to be assigned to the newly created appeasement
+
+ **Returns:**
+ - the created appeasement
+
+ **Throws:**
+ - IllegalArgumentException - if an Appeasement already exists with the number.
+
+
+---
+
+### createReturnCase(Boolean)
+- createReturnCase(isRMA: [Boolean](TopLevel.Boolean.md)): [ReturnCase](dw.order.ReturnCase.md)
+ - : Creates a new [ReturnCase](dw.order.ReturnCase.md) associated with this order
+ specifying whether the ReturnCase is an RMA (return merchandise authorization).
+
+
+ The new ReturnCase
+ will have a returnCaseNumber based on the [getOrderNo()](dw.order.Order.md#getorderno), e.g. for an order-no 1234 the
+ return cases will have the numbers 1234\#RC1, 1234\#RC2, 1234\#RC3...
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - isRMA - whether the new ReturnCase is an RMA (return merchandise authorization)
+
+ **Returns:**
+ - the created ReturnCase
+
+
+---
+
+### createReturnCase(String, Boolean)
+- createReturnCase(returnCaseNumber: [String](TopLevel.String.md), isRMA: [Boolean](TopLevel.Boolean.md)): [ReturnCase](dw.order.ReturnCase.md)
+ - : Creates a new [ReturnCase](dw.order.ReturnCase.md) associated with this order
+ specifying whether the ReturnCase is an RMA (return merchandise authorization).
+
+
+ A returnCaseNumber must be specified.
+
+
+ If a ReturnCase already exists for the returnCaseNumber, the method fails with an
+ exception.
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Parameters:**
+ - returnCaseNumber - returnCaseNumber to use
+ - isRMA - whether the new ReturnCase is an RMA (return merchandise authorization)
+
+ **Returns:**
+ - null or the ReturnCase associated with the given returnCaseNumber
+
+ **Throws:**
+ - IllegalArgumentException - if a ReturnCase already exists with the number.
+
+
+---
+
+### createServiceItem(String, String)
+- createServiceItem(ID: [String](TopLevel.String.md), status: [String](TopLevel.String.md)): [OrderItem](dw.order.OrderItem.md)
+ - : Returns the [order item](dw.order.OrderItem.md) with the given status which wraps a new
+ [service item](dw.order.ShippingLineItem.md) which is created and added to the order.
+
+
+ **Parameters:**
+ - ID - the ID of the new service item. This ID will be returned when [ShippingLineItem.getID()](dw.order.ShippingLineItem.md#getid) is called.
+ - status - the status of the order item, use one of
The possible values are:
|
+| [type](#type): [EnumValue](dw.value.EnumValue.md) `(read-only)` | Returns the type of line item with which this instance is associated, one of
|
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [allocateInventory](dw.order.OrderItem.md#allocateinventoryboolean)([Boolean](TopLevel.Boolean.md)) | Please note that this method is disabled by default. |
+| [getAppeasedAmount](dw.order.OrderItem.md#getappeasedamount)() | Sum of amounts appeased for this item, calculated by iterating over invoice items associated with the item. |
+| [getCapturedAmount](dw.order.OrderItem.md#getcapturedamount)() | Sum of amounts captured for this item, calculated by iterating over invoice items associated with the item. |
+| [getInvoiceItems](dw.order.OrderItem.md#getinvoiceitems)() | Returns all invoice items associated with this item, each [InvoiceItem](dw.order.InvoiceItem.md) will belong to a different [Invoice](dw.order.Invoice.md), which can also be accessed using [Order.getInvoices()](dw.order.Order.md#getinvoices) or [Order.getInvoice(String)](dw.order.Order.md#getinvoicestring). |
+| [getItemID](dw.order.OrderItem.md#getitemid)() | The itemID used to identify the OrderItem. |
+| [getLineItem](dw.order.OrderItem.md#getlineitem)() | Returns the line item which is being extended by this instance. |
+| [getRefundedAmount](dw.order.OrderItem.md#getrefundedamount)() | Sum of amounts refunded for this item, calculated by iterating over invoice items associated with the item. |
+| [getReturnCaseItems](dw.order.OrderItem.md#getreturncaseitems)() | Returns all return case items associated with this item, each [ReturnCaseItem](dw.order.ReturnCaseItem.md) will belong to a different [ReturnCase](dw.order.ReturnCase.md), which can also be accessed using [Order.getReturnCases()](dw.order.Order.md#getreturncases) or [Order.getReturnCase(String)](dw.order.Order.md#getreturncasestring). |
+| [getReturnedQuantity](dw.order.OrderItem.md#getreturnedquantity)() | The quantity returned, dynamically sum of quantities held by associated ReturnItems. |
+| ~~[getShippingOrderItem](dw.order.OrderItem.md#getshippingorderitem)()~~ | The last added non-cancelled shipping order item if one exists, otherwise `null`. |
+| [getShippingOrderItems](dw.order.OrderItem.md#getshippingorderitems)() | Returns a collection of the [ShippingOrderItem](dw.order.ShippingOrderItem.md)s created for this item. |
+| [getShippingOrderItems](dw.order.OrderItem.md#getshippingorderitemsboolean)([Boolean](TopLevel.Boolean.md)) | Returns a collection of the [ShippingOrderItem](dw.order.ShippingOrderItem.md)s created for this item. |
+| [getSplitItems](dw.order.OrderItem.md#getsplititems)() | Returns a collection of all split [OrderItem](dw.order.OrderItem.md)s associated with this item. |
+| [getSplitSourceItem](dw.order.OrderItem.md#getsplitsourceitem)() | Returns the split source item associated with this item, if existing. |
+| [getStatus](dw.order.OrderItem.md#getstatus)() | Gets the order item status.
The possible values are:
+
+ **Returns:**
+ - collection of the shipping order items created for this item
+
+
+---
+
+### getSplitItems()
+- getSplitItems(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all split [OrderItem](dw.order.OrderItem.md)s associated with this item. Inverse relation to [getSplitSourceItem()](dw.order.OrderItem.md#getsplitsourceitem).
+
+
+ Split order items are created when
+
+ - creating a [ShippingOrderItem](dw.order.ShippingOrderItem.md)for a [ShippingOrder](dw.order.ShippingOrder.md), see [ShippingOrder.createShippingOrderItem(OrderItem, Quantity)](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity) - splitting an existing [ShippingOrderItem](dw.order.ShippingOrderItem.md), see [ShippingOrderItem.split(Quantity)](dw.order.ShippingOrderItem.md#splitquantity)with a specified quantity less than the existing quantity of the associated [ProductLineItem](dw.order.ProductLineItem.md). In this case the associated [ProductLineItem](dw.order.ProductLineItem.md)is split by creating a new [ProductLineItem](dw.order.ProductLineItem.md)and associating a new [ShippingOrderItem](dw.order.ShippingOrderItem.md)with this item. The new [ShippingOrderItem](dw.order.ShippingOrderItem.md)receives the specified quantity and the quantity of the item is set to the remaining quantity. All split items are associated to their originating item via the "split source item" association.
+
+
+ **Returns:**
+ - the split order items associated with this item
+
+
+---
+
+### getSplitSourceItem()
+- getSplitSourceItem(): [OrderItem](dw.order.OrderItem.md)
+ - : Returns the split source item associated with this item, if existing. Inverse relation to [getSplitItems()](dw.order.OrderItem.md#getsplititems).
+
+
+ A split source item is associated after the successful creation of a split item with a quantity less than the existing quantity of the item to split.
+ For details see [getSplitItems()](dw.order.OrderItem.md#getsplititems).
+
+
+ **Returns:**
+ - the split source item or `null`
+
+
+---
+
+### getStatus()
+- getStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Gets the order item status.
+
+ The possible values are:
+
+ - [STATUS_NEW](dw.order.OrderItem.md#status_new)
+ - [STATUS_OPEN](dw.order.OrderItem.md#status_open)
+ - [STATUS_BACKORDER](dw.order.OrderItem.md#status_backorder)
+ - [STATUS_CONFIRMED](dw.order.OrderItem.md#status_confirmed)
+ - [STATUS_WAREHOUSE](dw.order.OrderItem.md#status_warehouse)
+ - [STATUS_SHIPPED](dw.order.OrderItem.md#status_shipped)
+ - [STATUS_CANCELLED](dw.order.OrderItem.md#status_cancelled)
+
+
+ **Returns:**
+ - the status
+
+
+---
+
+### getType()
+- getType(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the type of line item with which this instance is associated, one
+ of
+
+ - SERVICE (method [getLineItem()](dw.order.OrderItem.md#getlineitem)returns a [ShippingLineItem](dw.order.ShippingLineItem.md)
+ - PRODUCT (method [getLineItem()](dw.order.OrderItem.md#getlineitem)returns a [ProductLineItem](dw.order.ProductLineItem.md)
+
+
+ **Returns:**
+ - the type of order item, one of [TYPE_PRODUCT](dw.order.OrderItem.md#type_product) or
+ [TYPE_SERVICE](dw.order.OrderItem.md#type_service).
+
+
+
+---
+
+### setStatus(String)
+- setStatus(status: [String](TopLevel.String.md)): void
+ - : Set the status of the order item, use one of the values documented in [getStatus()](dw.order.OrderItem.md#getstatus).
+
+
+ If the order item has a related shipping order item (see [getShippingOrderItem()](dw.order.OrderItem.md#getshippingorderitem)) the status of the
+ shipping order item will be adjusted to the same status. Setting the status of an order item might also change
+ the status of the related order. The following rules apply in top-down order:
+
+ - all items [STATUS_CANCELLED](dw.order.OrderItem.md#status_cancelled)- order status is [Order.ORDER_STATUS_CANCELLED](dw.order.Order.md#order_status_cancelled)
+ - at least one item in status [STATUS_SHIPPED](dw.order.OrderItem.md#status_shipped)and all other items are [STATUS_CANCELLED](dw.order.OrderItem.md#status_cancelled)order status is [Order.ORDER_STATUS_COMPLETED](dw.order.Order.md#order_status_completed)
+ - at least one item in status [STATUS_CREATED](dw.order.OrderItem.md#status_created), [STATUS_OPEN](dw.order.OrderItem.md#status_open), [STATUS_NEW](dw.order.OrderItem.md#status_new), [STATUS_BACKORDER](dw.order.OrderItem.md#status_backorder)- order status is [Order.ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open), order confirmation status is [Order.CONFIRMATION_STATUS_NOTCONFIRMED](dw.order.Order.md#confirmation_status_notconfirmed)
+ - other combinations will have only items in [STATUS_CONFIRMED](dw.order.OrderItem.md#status_confirmed), [STATUS_CANCELLED](dw.order.OrderItem.md#status_cancelled)and [STATUS_SHIPPED](dw.order.OrderItem.md#status_shipped)- order status is [Order.ORDER_STATUS_OPEN](dw.order.Order.md#order_status_open), order confirmation status is [Order.CONFIRMATION_STATUS_CONFIRMED](dw.order.Order.md#confirmation_status_confirmed)
+
+
+ **Parameters:**
+ - status - status string matching one of the values for status
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderMgr.md
new file mode 100644
index 00000000..c96aed09
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.OrderMgr.md
@@ -0,0 +1,1494 @@
+
+# Class OrderMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.OrderMgr](dw.order.OrderMgr.md)
+
+
+
+Provides static helper methods for managing orders.
+
+
+
+
+Pipelet GetOrder and methods provided to access orders such as [getOrder(String)](dw.order.OrderMgr.md#getorderstring) and
+[searchOrders(String, String, Object...)](dw.order.OrderMgr.md#searchordersstring-string-object) can be limited by the site preference 'Limit Storefront Order
+Access'. An insecure order access occurs in a storefront session when all of the following are true:
+
+- The current storefront session isn’t the session in which the order was created.
+- The session customer doesn’t match the order customer.
+- The order status isn’t CREATED.
+
+When an order is accessed in an insecure manner:
+
+- If the preference is ACTIVE, the action is disallowed and a SecurityException with a message beginning 'Unauthorized access to order' is thrown.
+- If the preference is NOT ACTIVE, a SecurityException with a message beginning 'Unauthorized access to order' is logged as an error.
+
+In addition, the storefront should ensure the shopper is properly authenticated and authorized to read
+or modify the content of an order object. For more information, see [Access Control](https://help.salesforce.com/s/articleView?id=cc.b2c\_developer\_authentication\_and\_authorization.htm).
+
+
+Don’t use dw.order.OrderMgr.searchOrder methods or [processOrders(Function, String, Object...)](dw.order.OrderMgr.md#processordersfunction-string-object)
+immediately after creating or updating an order. The order search index updates asynchronously, typically within seconds but occasionally longer depending on search service load, so it
+might not include very recent changes. Instead, do one of the following:
+
+- In the same request, pass the dw.order.Order object reference to the followup logic.
+- For storefront use cases, especially when passing the order reference to a third party, use the order token for security by using [getOrder(String, String)](dw.order.OrderMgr.md#getorderstring-string).
+
+When implementing order history functionality, don't use the search or query methods in this class. Instead, use
+[OrderHistory.getOrders(String, String, Object...)](dw.customer.OrderHistory.md#getordersstring-string-object).
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [cancelOrder](dw.order.OrderMgr.md#cancelorderorder)([Order](dw.order.Order.md)) | |
+| [getType](dw.order.OrderItem.md#gettype)() | Returns the type of line item with which this instance is associated, one of
+
+ **Returns:**
+ -
+ - successful: the newly allocated quantity
+ - failed: `null`
+
+
+
+---
+
+### getAppeasedAmount()
+- getAppeasedAmount(): [Money](dw.value.Money.md)
+ - : Sum of amounts appeased for this item, calculated by iterating over
+ invoice items associated with the item.
+
+
+ **Returns:**
+ - Sum of amounts refunded for this item
+
+
+---
+
+### getCapturedAmount()
+- getCapturedAmount(): [Money](dw.value.Money.md)
+ - : Sum of amounts captured for this item, calculated by iterating over
+ invoice items associated with the item.
+
+
+ **Returns:**
+ - Sum of amounts captured for this item
+
+
+---
+
+### getInvoiceItems()
+- getInvoiceItems(): [Collection](dw.util.Collection.md)
+ - : Returns all invoice items associated with this item, each
+ [InvoiceItem](dw.order.InvoiceItem.md) will belong to a different
+ [Invoice](dw.order.Invoice.md), which can also be accessed using
+ [Order.getInvoices()](dw.order.Order.md#getinvoices) or [Order.getInvoice(String)](dw.order.Order.md#getinvoicestring).
+
+
+ **Returns:**
+ - invoice items associated with this item
+
+
+---
+
+### getItemID()
+- getItemID(): [String](TopLevel.String.md)
+ - : The itemID used to identify the OrderItem. Note this is
+ not a UUID, it is created internally when the OrderItem
+ instance is created, and is typically used within export files to
+ identify the item.
+
+
+ **Returns:**
+ - the itemID of the OrderItem
+
+
+---
+
+### getLineItem()
+- getLineItem(): [LineItem](dw.order.LineItem.md)
+ - : Returns the line item which is being extended by this instance.
+
+ **Returns:**
+ - the line item associated with this instance
+
+
+---
+
+### getRefundedAmount()
+- getRefundedAmount(): [Money](dw.value.Money.md)
+ - : Sum of amounts refunded for this item, calculated by iterating over
+ invoice items associated with the item.
+
+
+ **Returns:**
+ - Sum of amounts refunded for this item
+
+
+---
+
+### getReturnCaseItems()
+- getReturnCaseItems(): [Collection](dw.util.Collection.md)
+ - : Returns all return case items associated with this item,
+ each [ReturnCaseItem](dw.order.ReturnCaseItem.md) will belong to a different
+ [ReturnCase](dw.order.ReturnCase.md), which can also be accessed using
+ [Order.getReturnCases()](dw.order.Order.md#getreturncases) or [Order.getReturnCase(String)](dw.order.Order.md#getreturncasestring).
+
+
+ **Returns:**
+ - return case items associated with this item
+
+
+---
+
+### getReturnedQuantity()
+- getReturnedQuantity(): [Quantity](dw.value.Quantity.md)
+ - : The quantity returned, dynamically sum of quantities held by associated
+ ReturnItems.
+
+
+ **Returns:**
+ - quantity returned, the sum of quantities held by associated
+ ReturnItems
+
+
+
+---
+
+### getShippingOrderItem()
+- ~~getShippingOrderItem(): [ShippingOrderItem](dw.order.ShippingOrderItem.md)~~
+ - : The last added non-cancelled shipping order item if one exists, otherwise `null`.
+
+
+ Multiple shipping order items that are not in status [ShippingOrderItem.STATUS_CANCELLED](dw.order.ShippingOrderItem.md#status_cancelled)
+ can exist for one OrderItem, for example if the OrderItem has been split for shipping purposes.
+ The method returns `null` if no non-cancelled shipping order item exists.
+
+
+ **Returns:**
+ - the last not cancelled shipping order item or `null`
+
+
+---
+
+### getShippingOrderItems()
+- getShippingOrderItems(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of the [ShippingOrderItem](dw.order.ShippingOrderItem.md)s created for this item.
+ ShippingOrder items represents the whole or part of this item which could
+ be delivered, and belong to a shipping order.
+ Note that the cancelled shipping order items are returned too.
+ This method is equivalent to [getShippingOrderItems(Boolean)](dw.order.OrderItem.md#getshippingorderitemsboolean)
+ called with parameter `true`.
+
+
+ **Returns:**
+ - collection of the shipping order items created for this item
+
+
+---
+
+### getShippingOrderItems(Boolean)
+- getShippingOrderItems(includeCancelled: [Boolean](TopLevel.Boolean.md)): [Collection](dw.util.Collection.md)
+ - : Returns a collection of the [ShippingOrderItem](dw.order.ShippingOrderItem.md)s created for this item.
+ ShippingOrder items represent the whole or part of this item which could
+ be delivered, and belong to a shipping order.
+ Depending on the `includeCancelled` parameter the cancelled shipping order
+ items will be returned or not.
+
+
+ **Parameters:**
+ - includeCancelled -
|
+| [setStatus](dw.order.OrderItem.md#setstatusstring)([String](TopLevel.String.md)) | Set the status of the order item, use one of the values documented in [getStatus()](dw.order.OrderItem.md#getstatus). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### STATUS_BACKORDER
+
+- STATUS_BACKORDER: [String](TopLevel.String.md) = "BACKORDER"
+ - : Constant for Order Item Status BACKORDER
+
+
+---
+
+### STATUS_CANCELLED
+
+- STATUS_CANCELLED: [String](TopLevel.String.md) = "CANCELLED"
+ - : Constant for Order Item Status CANCELLED
+
+
+---
+
+### STATUS_CONFIRMED
+
+- STATUS_CONFIRMED: [String](TopLevel.String.md) = "CONFIRMED"
+ - : Constant for Order Item Status CONFIRMED
+
+
+---
+
+### STATUS_CREATED
+
+- STATUS_CREATED: [String](TopLevel.String.md) = "CREATED"
+ - : Constant for Order Item Status CREATED
+
+
+---
+
+### STATUS_NEW
+
+- STATUS_NEW: [String](TopLevel.String.md) = "NEW"
+ - : Constant for Order Item Status NEW
+
+
+---
+
+### STATUS_OPEN
+
+- STATUS_OPEN: [String](TopLevel.String.md) = "OPEN"
+ - : Constant for Order Item Status OPEN
+
+
+---
+
+### STATUS_SHIPPED
+
+- STATUS_SHIPPED: [String](TopLevel.String.md) = "SHIPPED"
+ - : Constant for Order Item Status SHIPPED
+
+
+---
+
+### STATUS_WAREHOUSE
+
+- STATUS_WAREHOUSE: [String](TopLevel.String.md) = "WAREHOUSE"
+ - : Constant for Order Item Status WAREHOUSE
+
+
+---
+
+### TYPE_PRODUCT
+
+- TYPE_PRODUCT: [String](TopLevel.String.md) = "PRODUCT"
+ - : Constant for Order Item Type PRODUCT
+
+
+---
+
+### TYPE_SERVICE
+
+- TYPE_SERVICE: [String](TopLevel.String.md) = "SERVICE"
+ - : Constant for Order Item Type SERVICE
+
+
+---
+
+## Property Details
+
+### appeasedAmount
+- appeasedAmount: [Money](dw.value.Money.md) `(read-only)`
+ - : Sum of amounts appeased for this item, calculated by iterating over
+ invoice items associated with the item.
+
+
+
+---
+
+### capturedAmount
+- capturedAmount: [Money](dw.value.Money.md) `(read-only)`
+ - : Sum of amounts captured for this item, calculated by iterating over
+ invoice items associated with the item.
+
+
+
+---
+
+### invoiceItems
+- invoiceItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all invoice items associated with this item, each
+ [InvoiceItem](dw.order.InvoiceItem.md) will belong to a different
+ [Invoice](dw.order.Invoice.md), which can also be accessed using
+ [Order.getInvoices()](dw.order.Order.md#getinvoices) or [Order.getInvoice(String)](dw.order.Order.md#getinvoicestring).
+
+
+
+---
+
+### itemID
+- itemID: [String](TopLevel.String.md) `(read-only)`
+ - : The itemID used to identify the OrderItem. Note this is
+ not a UUID, it is created internally when the OrderItem
+ instance is created, and is typically used within export files to
+ identify the item.
+
+
+
+---
+
+### lineItem
+- lineItem: [LineItem](dw.order.LineItem.md) `(read-only)`
+ - : Returns the line item which is being extended by this instance.
+
+
+---
+
+### refundedAmount
+- refundedAmount: [Money](dw.value.Money.md) `(read-only)`
+ - : Sum of amounts refunded for this item, calculated by iterating over
+ invoice items associated with the item.
+
+
+
+---
+
+### returnCaseItems
+- returnCaseItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all return case items associated with this item,
+ each [ReturnCaseItem](dw.order.ReturnCaseItem.md) will belong to a different
+ [ReturnCase](dw.order.ReturnCase.md), which can also be accessed using
+ [Order.getReturnCases()](dw.order.Order.md#getreturncases) or [Order.getReturnCase(String)](dw.order.Order.md#getreturncasestring).
+
+
+
+---
+
+### returnedQuantity
+- returnedQuantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : The quantity returned, dynamically sum of quantities held by associated
+ ReturnItems.
+
+
+
+---
+
+### shippingOrderItem
+- ~~shippingOrderItem: [ShippingOrderItem](dw.order.ShippingOrderItem.md)~~ `(read-only)`
+ - : The last added non-cancelled shipping order item if one exists, otherwise `null`.
+
+
+ Multiple shipping order items that are not in status [ShippingOrderItem.STATUS_CANCELLED](dw.order.ShippingOrderItem.md#status_cancelled)
+ can exist for one OrderItem, for example if the OrderItem has been split for shipping purposes.
+ The method returns `null` if no non-cancelled shipping order item exists.
+
+
+
+---
+
+### shippingOrderItems
+- shippingOrderItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of the [ShippingOrderItem](dw.order.ShippingOrderItem.md)s created for this item.
+ ShippingOrder items represents the whole or part of this item which could
+ be delivered, and belong to a shipping order.
+ Note that the cancelled shipping order items are returned too.
+ This method is equivalent to [getShippingOrderItems(Boolean)](dw.order.OrderItem.md#getshippingorderitemsboolean)
+ called with parameter `true`.
+
+
+
+---
+
+### splitItems
+- splitItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all split [OrderItem](dw.order.OrderItem.md)s associated with this item. Inverse relation to [getSplitSourceItem()](dw.order.OrderItem.md#getsplitsourceitem).
+
+
+ Split order items are created when
+
+ - creating a [ShippingOrderItem](dw.order.ShippingOrderItem.md)for a [ShippingOrder](dw.order.ShippingOrder.md), see [ShippingOrder.createShippingOrderItem(OrderItem, Quantity)](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity) - splitting an existing [ShippingOrderItem](dw.order.ShippingOrderItem.md), see [ShippingOrderItem.split(Quantity)](dw.order.ShippingOrderItem.md#splitquantity)with a specified quantity less than the existing quantity of the associated [ProductLineItem](dw.order.ProductLineItem.md). In this case the associated [ProductLineItem](dw.order.ProductLineItem.md)is split by creating a new [ProductLineItem](dw.order.ProductLineItem.md)and associating a new [ShippingOrderItem](dw.order.ShippingOrderItem.md)with this item. The new [ShippingOrderItem](dw.order.ShippingOrderItem.md)receives the specified quantity and the quantity of the item is set to the remaining quantity. All split items are associated to their originating item via the "split source item" association.
+
+
+
+---
+
+### splitSourceItem
+- splitSourceItem: [OrderItem](dw.order.OrderItem.md) `(read-only)`
+ - : Returns the split source item associated with this item, if existing. Inverse relation to [getSplitItems()](dw.order.OrderItem.md#getsplititems).
+
+
+ A split source item is associated after the successful creation of a split item with a quantity less than the existing quantity of the item to split.
+ For details see [getSplitItems()](dw.order.OrderItem.md#getsplititems).
+
+
+
+---
+
+### status
+- status: [EnumValue](dw.value.EnumValue.md)
+ - : Gets the order item status.
+
+ The possible values are:
+
+ - [STATUS_NEW](dw.order.OrderItem.md#status_new)
+ - [STATUS_OPEN](dw.order.OrderItem.md#status_open)
+ - [STATUS_BACKORDER](dw.order.OrderItem.md#status_backorder)
+ - [STATUS_CONFIRMED](dw.order.OrderItem.md#status_confirmed)
+ - [STATUS_WAREHOUSE](dw.order.OrderItem.md#status_warehouse)
+ - [STATUS_SHIPPED](dw.order.OrderItem.md#status_shipped)
+ - [STATUS_CANCELLED](dw.order.OrderItem.md#status_cancelled)
+
+
+
+---
+
+### type
+- type: [EnumValue](dw.value.EnumValue.md) `(read-only)`
+ - : Returns the type of line item with which this instance is associated, one
+ of
+
+ - SERVICE (method [getLineItem()](dw.order.OrderItem.md#getlineitem)returns a [ShippingLineItem](dw.order.ShippingLineItem.md)
+ - PRODUCT (method [getLineItem()](dw.order.OrderItem.md#getlineitem)returns a [ProductLineItem](dw.order.ProductLineItem.md)
+
+
+
+---
+
+## Method Details
+
+### allocateInventory(Boolean)
+- allocateInventory(partialAllocation: [Boolean](TopLevel.Boolean.md)): [Quantity](dw.value.Quantity.md)
+ - : Please note that this method is disabled by default. Please contact support for enabling it.
+
+
+ Attempts to allocate inventory for the item and returns the quantity that could be allocated or `null`
+ if no allocation was possible.
+
+
+ All [option product line items](dw.order.ProductLineItem.md#getoptionproductlineitems) are allocated with
+ their parent. Note that for items with option product line items no partial allocation is possible. That means
+ the partialAllocation parameter will in this case always be considered as `false`
+
+
+ **Parameters:**
+ - partialAllocation -
+ - title - Human-readable summary of the error type.
+ - detail - Human-readable explanation of the specific occurrence of the error.
+
+ **Returns:**
+ - A new [RESTErrorResponse](dw.system.RESTErrorResponse.md) object.
+
+ **Throws:**
+ - IllegalArgumentException - If the statusCode is not in the (400..599) range or if the error type is not a valid URI or conflicts with SYSTEM error type namespace.
+
+
+---
+
+### createScapiRemoteInclude(String, String, String, String, URLParameter...)
+- static createScapiRemoteInclude(apiFamily: [String](TopLevel.String.md), apiName: [String](TopLevel.String.md), apiVersion: [String](TopLevel.String.md), resourcePath: [String](TopLevel.String.md), params: [URLParameter...](dw.web.URLParameter.md)): [RemoteInclude](dw.system.RemoteInclude.md)
+ - : Constructs a new [RemoteInclude](dw.system.RemoteInclude.md) object specific for the SCAPI include path.
+ Usage:
+ SCAPI remote include URL have following form:
+
+ ```
+ BASE_PATH/{apiFamily}/{apiName}/{apiVersion}/organizations/ORG_ID/{resourcePath}[?params]
+ ```
+
+ For the given SCAPI resource path:
+
+ ```
+ BASE_PATH/product/shopper-products/v1/organizations/ORG_ID/categories/root?siteId=YourShopHere
+ ```
+
+ RemoteInclude object can be constructed in a script like following:
+
+ ```
+ let include = dw.system.RESTResponseMgr.createScapiRemoteInclude("product", "shopper-products", "v1", "categories/root",
+ dw.web.URLParameter("siteId", "YourShopHere"));
+ ```
+
+ Please notice that **'BASE\_PATH'** and **'ORG\_ID'** are automatically resolved.
+
+
+ **Parameters:**
+ - apiFamily - an API Family name. **Example:** 'product'.
+ - apiName - an API Name. **Example:** 'shopper-products'.
+ - apiVersion - an API Version. **Example:** 'v1'.
+ - resourcePath - a Resource path. **Example:** 'categories/root'
+ - params - a query parameters _(optional)_
+
+ **Returns:**
+ - a new instance of [RemoteInclude](dw.system.RemoteInclude.md).
+
+
+---
+
+### createStorefrontControllerRemoteInclude(URLAction, URLParameter...)
+- static createStorefrontControllerRemoteInclude(action: [URLAction](dw.web.URLAction.md), params: [URLParameter...](dw.web.URLParameter.md)): [RemoteInclude](dw.system.RemoteInclude.md)
+ - : Constructs a new [RemoteInclude](dw.system.RemoteInclude.md) object specific for the Storefront Controller include path.
+
+ **Parameters:**
+ - action - a container to specify target controller. Hostnames in URL actions are ignored.
+ - params - a query parameters _(optional)_.
+
+ **Returns:**
+ - a new instance of [RemoteInclude](dw.system.RemoteInclude.md).
+
+
+---
+
+### createSuccess(Object)
+- static createSuccess(body: [Object](TopLevel.Object.md)): [RESTSuccessResponse](dw.system.RESTSuccessResponse.md)
+ - : Constructs a new [RESTSuccessResponse](dw.system.RESTSuccessResponse.md) object. HTTP status code of the response will be defaulted to 200.
+
+ **Parameters:**
+ - body - The body of the successful response. This should always be a valid JavaScript JSON object.
+
+ **Returns:**
+ - A new [RESTSuccessResponse](dw.system.RESTSuccessResponse.md) object.
+
+
+---
+
+### createSuccess(Object, Number)
+- static createSuccess(body: [Object](TopLevel.Object.md), statusCode: [Number](TopLevel.Number.md)): [RESTSuccessResponse](dw.system.RESTSuccessResponse.md)
+ - : Constructs a new [RESTSuccessResponse](dw.system.RESTSuccessResponse.md) object.
+
+ **Parameters:**
+ - body - The body of the successful response. This should always be a valid JavaScript JSON object.
+ - statusCode - The http status code of the response. The statusCode parameter should conform to RFC standards for a success.
+
+ **Returns:**
+ - A new [RESTSuccessResponse](dw.system.RESTSuccessResponse.md) object.
+
+ **Throws:**
+ - IllegalArgumentException - If the statusCode is not in the (100..299) range.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.system.RESTSuccessResponse.md b/packages/b2c-tooling-sdk/data/script-api/dw.system.RESTSuccessResponse.md
new file mode 100644
index 00000000..31da2c0f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.system.RESTSuccessResponse.md
@@ -0,0 +1,62 @@
+
+# Class RESTSuccessResponse
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.system.RESTSuccessResponse](dw.system.RESTSuccessResponse.md)
+
+This class represents a REST success response that is compliant with the RFC standards. It can only be instantiated
+using the `createSuccess` methods in [RESTResponseMgr](dw.system.RESTResponseMgr.md).
+
+
+Here is an example:
+
+`
+ var body = {"hello": "world"}
+
+ var success = RESTResponseMgr.createSuccess(body);
+
+ success.render();
+
+ `
+
+The above script would result in an HTTP response with status code 200 and the following body:
+
+`
+ {
+
+ "hello": "world"
+
+ }
+
+ `
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [render](dw.system.RESTSuccessResponse.md#render)() | Sends the [RESTSuccessResponse](dw.system.RESTSuccessResponse.md) object as an HTTP response to the client. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### render()
+- render(): void
+ - : Sends the [RESTSuccessResponse](dw.system.RESTSuccessResponse.md) object as an HTTP response to the client. This sets the "Content-Type"
+ header to "application/json" and expects the body to be a valid JavaScript JSON object.
+
+
+ **Throws:**
+ - IllegalStateException - If the RESTSuccessResponse object is already rendered.
+ - Exception - If there is an error while serializing the body.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.system.RemoteInclude.md b/packages/b2c-tooling-sdk/data/script-api/dw.system.RemoteInclude.md
new file mode 100644
index 00000000..f5b6d366
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.system.RemoteInclude.md
@@ -0,0 +1,146 @@
+
+# Class RemoteInclude
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.system.RemoteInclude](dw.system.RemoteInclude.md)
+
+The class represents a remote include value that can be assigned to JSON Object properties.
+
+
+**Important notes:**
+
+- Authentication and authorization checks are performed only for the top level request, but NOT for remote include requests.
+- The `RestResponseMgr`method `createScapiRemoteInclude()`allows only SCAPI URLs.
+- The `RestResponseMgr`method `createStorefrontControllerRemoteInclude()`allows only Controller URLs.
+- Correct rendering of RemoteInclude-containing objects is only performed when processed by `dw.system.RESTSuccessResponse.render()`method. Please check the provided examples.
+
+
+
+
+
+**Example 1. Specify remote include properties.**
+
+
+```
+function specifyRemoteIncludeProperties() {
+ var includeValue0 = dw.system.RESTResponseMgr.createScapiRemoteInclude("custom", "sample", "v1", "resource/path/0", dw.web.URLParameter("siteId", "TestWapi"));
+ var includeValue1 = dw.system.RESTResponseMgr.createScapiRemoteInclude("custom", "sample", "v1", "resource/path/1", dw.web.URLParameter("siteId", "TestWapi"));
+ var greeting = { "hello": "world", "includeProperty0": includeValue0, "includeProperty1": includeValue1 };
+
+ dw.system.RESTResponseMgr.createSuccess(greeting).render();
+}
+```
+
+
+
+
+
+**Example 2. Specify array of remote include properties.**
+
+
+```
+function specifyArrayOfRemoteIncludes() {
+ var includeValue0 = dw.system.RESTResponseMgr.createScapiRemoteInclude("custom", "sample", "v1", "resource/path/0", dw.web.URLParameter("siteId", "TestWapi"));
+ var includeValue1 = dw.system.RESTResponseMgr.createScapiRemoteInclude("custom", "sample", "v1", "resource/path/1", dw.web.URLParameter("siteId", "TestWapi"));
+ var greeting = { "hello": "world", "includeArray": [includeValue0, includeValue1] };
+
+ dw.system.RESTResponseMgr.createSuccess(greeting).render();
+}
+```
+
+
+
+
+
+**Example 3. Storefront controller remote include.**
+
+
+```
+function storefrontRemoteInclude()
+{
+ let remoteInclude = dw.system.RESTResponseMgr.createStorefrontControllerRemoteInclude(new URLAction("Category-Show", "Sites-MyShop-Site", dw.web.URLParameter("cid", "root")));
+ let json = {
+ status: "JSONOK",
+ include: remoteInclude
+ };
+ dw.system.RESTResponseMgr.createSuccess(json).render();
+}
+```
+
+
+
+
+
+**Error handling:**
+
+**SCAPI:**
+
+
+- In case of 404 response received on included resource, an empty JSON object '{}' will be supplied in final JSON.
+- In case of 201..299, 3xx, 4xx (excluding 404), 5xx response from included resource, final response status will be 500 'Internal Server Error'
+
+**Controllers:**
+
+
+- In case of any non 200 response from the included resource an empty string will be included.
+- Note: In case your response format is JSON be aware that this can result in invalid JSON.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [url](#url): [String](TopLevel.String.md) `(read-only)` | Returns the URL string value specified for the current instance. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getUrl](dw.system.RemoteInclude.md#geturl)() | Returns the URL string value specified for the current instance. |
+| [toString](dw.system.RemoteInclude.md#tostring)() | Returns the URL string value specified for the current instance, same as [getUrl()](dw.system.RemoteInclude.md#geturl). |
+| [valueOf](dw.system.RemoteInclude.md#valueof)() | Returns the URL string value specified for the current instance, same as [getUrl()](dw.system.RemoteInclude.md#geturl). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### url
+- url: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the URL string value specified for the current instance.
+
+
+---
+
+## Method Details
+
+### getUrl()
+- getUrl(): [String](TopLevel.String.md)
+ - : Returns the URL string value specified for the current instance.
+
+
+---
+
+### toString()
+- toString(): [String](TopLevel.String.md)
+ - : Returns the URL string value specified for the current instance, same as
+ [getUrl()](dw.system.RemoteInclude.md#geturl).
+
+
+
+---
+
+### valueOf()
+- valueOf(): [Object](TopLevel.Object.md)
+ - : Returns the URL string value specified for the current instance, same as
+ [getUrl()](dw.system.RemoteInclude.md#geturl).
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.system.Request.md b/packages/b2c-tooling-sdk/data/script-api/dw.system.Request.md
new file mode 100644
index 00000000..25fb01ce
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.system.Request.md
@@ -0,0 +1,781 @@
+
+# Class Request
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.system.Request](dw.system.Request.md)
+
+Represents a request in Commerce Cloud Digital. Each pipeline dictionary contains a CurrentRequest object, which is of
+type dw.system.Request. Most requests are HTTP requests, so you can use this object to get information about the HTTP
+request, such as the HTTP headers. You can also get a list of cookies, if any, associated with the request. If the
+request is issued from a job, the request is not an HTTP request, so HTTP-related methods return null.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [SCAPI](#scapi): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns whether the request originated in SCAPI. |
+| [SCAPIPathParameters](#scapipathparameters): [Map](dw.util.Map.md) `(read-only)` | Returns a map containing all path parameters of current SCAPI request in the following way:
+ - title - Human-readable summary of the error type.
+
+ **Returns:**
+ - A new [RESTErrorResponse](dw.system.RESTErrorResponse.md) object.
+
+ **Throws:**
+ - IllegalArgumentException - If the statusCode is not in the (400..599) range or if the error type is not a valid URI or conflicts with SYSTEM error type namespace.
+
+
+---
+
+### createError(Number, String, String, String)
+- static createError(statusCode: [Number](TopLevel.Number.md), type: [String](TopLevel.String.md), title: [String](TopLevel.String.md), detail: [String](TopLevel.String.md)): [RESTErrorResponse](dw.system.RESTErrorResponse.md)
+ - : Constructs a new [RESTErrorResponse](dw.system.RESTErrorResponse.md) object. This method can be used to construct error responses with
+ valid 'statusCode', 'type', 'title' and 'detail'. If you want to omit title or detail, you can pass in
+ `null`.
+
+
+ **Parameters:**
+ - statusCode - The error code of the response. The statusCode parameter should conform to RFC standards for an error.
+ - type - Type of the error according to RFC 9457. We enforce the following restrictions on top of the RFC:
+
+ **Returns:**
+ - the newly created item or this item
+
+ **Throws:**
+ - IllegalArgumentException - if quantity is greater than [getQuantity()](dw.order.ShippingOrderItem.md#getquantity)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.SumItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.SumItem.md
new file mode 100644
index 00000000..e0cb1837
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.SumItem.md
@@ -0,0 +1,158 @@
+
+# Class SumItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.SumItem](dw.order.SumItem.md)
+
+Container used to represent an subtotal or grandtotal item which contains various prices and a tax breakdown
+held in a collection of tax-items.
+
+
+**Usage example:**
+
+```
+var invoice : Invoice = ...;
+var productNet = invoice.productSubTotal.netPrice;
+var serviceNet = invoice.serviceSubTotal.netPrice;
+var grandNet = invoice.grandTotal.netPrice;
+var grandTax = invoice.grandTotal.tax;
+var grandGross = invoice.grandTotal.grossPrice;
+
+# tax breakdown
+for each(taxItem : TaxItem in invoice.grandTotal.taxItems) {
+ var tax : Money = taxItem.amount;
+ var taxGroup : TaxGroup = taxItem.taxGroup;
+ var rate : Double = taxGroup.rate;
+ var caption :String = taxGroup.caption;
+ var taxType :String = taxGroup.taxType;
+}
+```
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [grossPrice](#grossprice): [Money](dw.value.Money.md) `(read-only)` | Gross price of SumItem. |
+| [netPrice](#netprice): [Money](dw.value.Money.md) `(read-only)` | Net price of SumItem. |
+| [tax](#tax): [Money](dw.value.Money.md) `(read-only)` | Total tax for SumItem. |
+| [taxBasis](#taxbasis): [Money](dw.value.Money.md) `(read-only)` | Price of entire SumItem on which tax calculation is based. |
+| [taxItems](#taxitems): [Collection](dw.util.Collection.md) `(read-only)` | Tax items representing a tax breakdown for the SumItem. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getGrossPrice](dw.order.SumItem.md#getgrossprice)() | Gross price of SumItem. |
+| [getNetPrice](dw.order.SumItem.md#getnetprice)() | Net price of SumItem. |
+| [getTax](dw.order.SumItem.md#gettax)() | Total tax for SumItem. |
+| [getTaxBasis](dw.order.SumItem.md#gettaxbasis)() | Price of entire SumItem on which tax calculation is based. |
+| [getTaxItems](dw.order.SumItem.md#gettaxitems)() | Tax items representing a tax breakdown for the SumItem. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### grossPrice
+- grossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Gross price of SumItem.
+
+
+---
+
+### netPrice
+- netPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Net price of SumItem.
+
+
+---
+
+### tax
+- tax: [Money](dw.value.Money.md) `(read-only)`
+ - : Total tax for SumItem.
+
+
+---
+
+### taxBasis
+- taxBasis: [Money](dw.value.Money.md) `(read-only)`
+ - : Price of entire SumItem on which tax calculation is based. Same as [getNetPrice()](dw.order.SumItem.md#getnetprice)
+ or [getGrossPrice()](dw.order.SumItem.md#getgrossprice) depending on whether the order is based on net or gross prices.
+
+
+
+---
+
+### taxItems
+- taxItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Tax items representing a tax breakdown for the SumItem.
+
+ **See Also:**
+ - [TaxItem](dw.order.TaxItem.md)
+
+
+---
+
+## Method Details
+
+### getGrossPrice()
+- getGrossPrice(): [Money](dw.value.Money.md)
+ - : Gross price of SumItem.
+
+ **Returns:**
+ - Gross price of SumItem.
+
+
+---
+
+### getNetPrice()
+- getNetPrice(): [Money](dw.value.Money.md)
+ - : Net price of SumItem.
+
+ **Returns:**
+ - Net price of SumItem.
+
+
+---
+
+### getTax()
+- getTax(): [Money](dw.value.Money.md)
+ - : Total tax for SumItem.
+
+ **Returns:**
+ - Total tax for SumItem.
+
+
+---
+
+### getTaxBasis()
+- getTaxBasis(): [Money](dw.value.Money.md)
+ - : Price of entire SumItem on which tax calculation is based. Same as [getNetPrice()](dw.order.SumItem.md#getnetprice)
+ or [getGrossPrice()](dw.order.SumItem.md#getgrossprice) depending on whether the order is based on net or gross prices.
+
+
+ **Returns:**
+ - Price of entire item on which tax calculation is based
+
+
+---
+
+### getTaxItems()
+- getTaxItems(): [Collection](dw.util.Collection.md)
+ - : Tax items representing a tax breakdown for the SumItem.
+
+ **Returns:**
+ - tax items representing a tax breakdown for the SumItem
+
+ **See Also:**
+ - [TaxItem](dw.order.TaxItem.md)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.TaxGroup.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.TaxGroup.md
new file mode 100644
index 00000000..e8fde1eb
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.TaxGroup.md
@@ -0,0 +1,128 @@
+
+# Class TaxGroup
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.TaxGroup](dw.order.TaxGroup.md)
+
+Contains the formal definition of a tax including a type (it's just the key), a [percentage value](dw.order.TaxGroup.md#getrate)
+if provided, a [caption](dw.order.TaxGroup.md#getcaption) and a [description](dw.order.TaxGroup.md#getdescription).
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [caption](#caption): [String](TopLevel.String.md) `(read-only)` | Gets the caption. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Gets the description. |
+| [rate](#rate): [Number](TopLevel.Number.md) `(read-only)` | Gets the percentage amount of the rate. |
+| [taxType](#taxtype): [String](TopLevel.String.md) `(read-only)` | Gets the tax type. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [create](dw.order.TaxGroup.md#createstring-string-string-decimal)([String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Decimal](dw.util.Decimal.md)) | Creates a TaxGroup. |
+| [getCaption](dw.order.TaxGroup.md#getcaption)() | Gets the caption. |
+| [getDescription](dw.order.TaxGroup.md#getdescription)() | Gets the description. |
+| [getRate](dw.order.TaxGroup.md#getrate)() | Gets the percentage amount of the rate. |
+| [getTaxType](dw.order.TaxGroup.md#gettaxtype)() | Gets the tax type. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### caption
+- caption: [String](TopLevel.String.md) `(read-only)`
+ - : Gets the caption.
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Gets the description.
+
+
+---
+
+### rate
+- rate: [Number](TopLevel.Number.md) `(read-only)`
+ - : Gets the percentage amount of the rate.
+
+
+---
+
+### taxType
+- taxType: [String](TopLevel.String.md) `(read-only)`
+ - : Gets the tax type.
+
+
+---
+
+## Method Details
+
+### create(String, String, String, Decimal)
+- static create(taxType: [String](TopLevel.String.md), caption: [String](TopLevel.String.md), description: [String](TopLevel.String.md), taxRate: [Decimal](dw.util.Decimal.md)): [TaxGroup](dw.order.TaxGroup.md)
+ - : Creates a TaxGroup.
+
+ This TaxGroup can be used for example in [ReturnItem.addTaxItem(Decimal, TaxGroup)](dw.order.ReturnItem.md#addtaxitemdecimal-taxgroup).
+
+
+ **Parameters:**
+ - taxType - the tax type
+ - caption - the caption
+ - description - the description
+ - taxRate - the tax rate as floating point. `1.0` means 100 %.
+
+ **Returns:**
+ - the tax group
+
+
+---
+
+### getCaption()
+- getCaption(): [String](TopLevel.String.md)
+ - : Gets the caption.
+
+ **Returns:**
+ - the caption
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Gets the description.
+
+ **Returns:**
+ - the description
+
+
+---
+
+### getRate()
+- getRate(): [Number](TopLevel.Number.md)
+ - : Gets the percentage amount of the rate.
+
+ **Returns:**
+ - the tax rate percentage value
+
+
+---
+
+### getTaxType()
+- getTaxType(): [String](TopLevel.String.md)
+ - : Gets the tax type.
+
+ **Returns:**
+ - the tax type
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.TaxItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.TaxItem.md
new file mode 100644
index 00000000..29b5be89
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.TaxItem.md
@@ -0,0 +1,74 @@
+
+# Class TaxItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.TaxItem](dw.order.TaxItem.md)
+
+An item containing tax information allowing a tax breakdown between a number of [TaxGroup](dw.order.TaxGroup.md)s.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [amount](#amount): [Money](dw.value.Money.md) `(read-only)` | Gets the amount. |
+| [taxGroup](#taxgroup): [TaxGroup](dw.order.TaxGroup.md) `(read-only)` | Returns the [tax group](dw.order.TaxGroup.md). |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAmount](dw.order.TaxItem.md#getamount)() | Gets the amount. |
+| [getTaxGroup](dw.order.TaxItem.md#gettaxgroup)() | Returns the [tax group](dw.order.TaxGroup.md). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### amount
+- amount: [Money](dw.value.Money.md) `(read-only)`
+ - : Gets the amount.
+
+
+---
+
+### taxGroup
+- taxGroup: [TaxGroup](dw.order.TaxGroup.md) `(read-only)`
+ - : Returns the [tax group](dw.order.TaxGroup.md).
+
+ **See Also:**
+ - [TaxGroup](dw.order.TaxGroup.md)
+
+
+---
+
+## Method Details
+
+### getAmount()
+- getAmount(): [Money](dw.value.Money.md)
+ - : Gets the amount.
+
+ **Returns:**
+ - the amount
+
+
+---
+
+### getTaxGroup()
+- getTaxGroup(): [TaxGroup](dw.order.TaxGroup.md)
+ - : Returns the [tax group](dw.order.TaxGroup.md).
+
+ **Returns:**
+ - the tax rate
+
+ **See Also:**
+ - [TaxGroup](dw.order.TaxGroup.md)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.TaxMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.TaxMgr.md
new file mode 100644
index 00000000..f42129c6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.TaxMgr.md
@@ -0,0 +1,260 @@
+
+# Class TaxMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.TaxMgr](dw.order.TaxMgr.md)
+
+Provides methods to access the tax table.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [TAX_POLICY_GROSS](#tax_policy_gross): [Number](TopLevel.Number.md) = 0 | Constant representing the gross taxation policy. |
+| [TAX_POLICY_NET](#tax_policy_net): [Number](TopLevel.Number.md) = 1 | Constant representing the net taxation policy. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [customRateTaxClassID](#customratetaxclassid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the tax class that represents items with a custom tax rate. |
+| [defaultTaxClassID](#defaulttaxclassid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the default tax class defined for the site. |
+| [defaultTaxJurisdictionID](#defaulttaxjurisdictionid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the default tax jurisdiction defined for the site. |
+| [taxExemptTaxClassID](#taxexempttaxclassid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the tax class that represents tax exempt items. |
+| [taxationPolicy](#taxationpolicy): [Number](TopLevel.Number.md) `(read-only)` | Returns the taxation policy (net/gross) configured for the current site. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [applyExternalTax](dw.order.TaxMgr.md#applyexternaltaxbasket)([Basket](dw.order.Basket.md)) | Applies externally set tax rates to the given [Basket](dw.order.Basket.md). |
+| static [getCustomRateTaxClassID](dw.order.TaxMgr.md#getcustomratetaxclassid)() | Returns the ID of the tax class that represents items with a custom tax rate. |
+| static [getDefaultTaxClassID](dw.order.TaxMgr.md#getdefaulttaxclassid)() | Returns the ID of the default tax class defined for the site. |
+| static [getDefaultTaxJurisdictionID](dw.order.TaxMgr.md#getdefaulttaxjurisdictionid)() | Returns the ID of the default tax jurisdiction defined for the site. |
+| static [getTaxExemptTaxClassID](dw.order.TaxMgr.md#gettaxexempttaxclassid)() | Returns the ID of the tax class that represents tax exempt items. |
+| static [getTaxJurisdictionID](dw.order.TaxMgr.md#gettaxjurisdictionidshippinglocation)([ShippingLocation](dw.order.ShippingLocation.md)) | Returns the ID of the tax jurisdiction for the specified address. |
+| static [getTaxRate](dw.order.TaxMgr.md#gettaxratestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns the tax rate defined for the specified combination of tax class and tax jurisdiction. |
+| static [getTaxationPolicy](dw.order.TaxMgr.md#gettaxationpolicy)() | Returns the taxation policy (net/gross) configured for the current site. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### TAX_POLICY_GROSS
+
+- TAX_POLICY_GROSS: [Number](TopLevel.Number.md) = 0
+ - : Constant representing the gross taxation policy.
+
+
+---
+
+### TAX_POLICY_NET
+
+- TAX_POLICY_NET: [Number](TopLevel.Number.md) = 1
+ - : Constant representing the net taxation policy.
+
+
+---
+
+## Property Details
+
+### customRateTaxClassID
+- customRateTaxClassID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the tax class that represents items with a custom tax rate. The standard order calculation
+ process assumes that such line items are initialized with a tax rate and a being ignored during the tax rate
+ lookup sequence of the calculation process.
+
+
+ Note that this tax class does not appear in the Business Manager tax module.
+
+
+
+---
+
+### defaultTaxClassID
+- defaultTaxClassID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the default tax class defined for the site. This class might be used in case a product or
+ service does not define a tax class.
+
+ If no default tax class is defined, the method returns null.
+
+
+
+---
+
+### defaultTaxJurisdictionID
+- defaultTaxJurisdictionID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the default tax jurisdiction defined for the site. This jurisdiction might be used in case no
+ jurisdiction is defined for a specific address.
+
+ If no default tax jurisdiction is defined, this method returns null.
+
+
+
+---
+
+### taxExemptTaxClassID
+- taxExemptTaxClassID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the tax class that represents tax exempt items. The tax manager will return a tax rate of 0.0
+ for this tax class.
+
+
+ Note that this tax class does not appear in the Business Manager tax module.
+
+
+
+---
+
+### taxationPolicy
+- taxationPolicy: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the taxation policy (net/gross) configured for the current site.
+
+ **See Also:**
+ - [TAX_POLICY_GROSS](dw.order.TaxMgr.md#tax_policy_gross)
+ - [TAX_POLICY_NET](dw.order.TaxMgr.md#tax_policy_net)
+
+
+---
+
+## Method Details
+
+### applyExternalTax(Basket)
+- static applyExternalTax(basket: [Basket](dw.order.Basket.md)): void
+ - : Applies externally set tax rates to the given [Basket](dw.order.Basket.md). Only use when
+ [LineItemCtnr.isExternallyTaxed()](dw.order.LineItemCtnr.md#isexternallytaxed) returns true. Note: a basket can only be created in EXTERNAL
+ tax mode using SCAPI.
+
+
+ Typical usage in tax calculation:
+
+
+ ```
+ var TaxMgr = require('dw/order/TaxMgr');
+
+ calculateTaxes: function () {
+ Basket basket = BasketMgr.getCurrentBasket();
+ if ( basket.isExternallyTaxed() )
+ {
+ TaxMgr.applyExternalTaxation( basket );
+ }
+ else
+ {
+ // calculation with tax tables or customization
+ }
+ }
+ ```
+
+
+ **Parameters:**
+ - basket - apply external taxation to this basket
+
+
+---
+
+### getCustomRateTaxClassID()
+- static getCustomRateTaxClassID(): [String](TopLevel.String.md)
+ - : Returns the ID of the tax class that represents items with a custom tax rate. The standard order calculation
+ process assumes that such line items are initialized with a tax rate and a being ignored during the tax rate
+ lookup sequence of the calculation process.
+
+
+ Note that this tax class does not appear in the Business Manager tax module.
+
+
+
+---
+
+### getDefaultTaxClassID()
+- static getDefaultTaxClassID(): [String](TopLevel.String.md)
+ - : Returns the ID of the default tax class defined for the site. This class might be used in case a product or
+ service does not define a tax class.
+
+ If no default tax class is defined, the method returns null.
+
+
+ **Returns:**
+ - the ID of the default tax class defined for the site or null.
+
+
+---
+
+### getDefaultTaxJurisdictionID()
+- static getDefaultTaxJurisdictionID(): [String](TopLevel.String.md)
+ - : Returns the ID of the default tax jurisdiction defined for the site. This jurisdiction might be used in case no
+ jurisdiction is defined for a specific address.
+
+ If no default tax jurisdiction is defined, this method returns null.
+
+
+ **Returns:**
+ - the ID of the default tax jurisdiction defined for the site or null.
+
+
+---
+
+### getTaxExemptTaxClassID()
+- static getTaxExemptTaxClassID(): [String](TopLevel.String.md)
+ - : Returns the ID of the tax class that represents tax exempt items. The tax manager will return a tax rate of 0.0
+ for this tax class.
+
+
+ Note that this tax class does not appear in the Business Manager tax module.
+
+
+
+---
+
+### getTaxJurisdictionID(ShippingLocation)
+- static getTaxJurisdictionID(location: [ShippingLocation](dw.order.ShippingLocation.md)): [String](TopLevel.String.md)
+ - : Returns the ID of the tax jurisdiction for the specified address. If no tax jurisdiction defined for the site
+ matches the specified address, this method returns null.
+
+
+ **Parameters:**
+ - location - The shipping location
+
+ **Returns:**
+ - the ID of the tax jurisdiction for the specified address or null.
+
+
+---
+
+### getTaxRate(String, String)
+- static getTaxRate(taxClassID: [String](TopLevel.String.md), taxJurisdictionID: [String](TopLevel.String.md)): [Number](TopLevel.Number.md)
+ - : Returns the tax rate defined for the specified combination of tax class and tax jurisdiction.
+
+ Method returns null if no tax rate is defined.
+
+ Method returns 0.0 of 'nontaxable' tax rate is specified (see method 'getNontaxableTaxClassID'.
+
+
+ **Parameters:**
+ - taxClassID - ID of the tax class
+ - taxJurisdictionID - ID of tax jusrisdiction
+
+ **Returns:**
+ - the tax rate defined for the specified combination of tax class and tax jurisdiction.
+
+
+---
+
+### getTaxationPolicy()
+- static getTaxationPolicy(): [Number](TopLevel.Number.md)
+ - : Returns the taxation policy (net/gross) configured for the current site.
+
+ **Returns:**
+ - Taxation policy configured for current site
+
+ **See Also:**
+ - [TAX_POLICY_GROSS](dw.order.TaxMgr.md#tax_policy_gross)
+ - [TAX_POLICY_NET](dw.order.TaxMgr.md#tax_policy_net)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.TrackingInfo.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.TrackingInfo.md
new file mode 100644
index 00000000..871e1d31
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.TrackingInfo.md
@@ -0,0 +1,261 @@
+
+# Class TrackingInfo
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.TrackingInfo](dw.order.TrackingInfo.md)
+
+Provides basic information about a tracking info. An instance is identified by an ID and can be referenced from n ShippingOrderItems
+using [TrackingRef](dw.order.TrackingRef.md)s. This also allows one [ShippingOrderItem](dw.order.ShippingOrderItem.md) to be associated with n TrackingInfo.
+
+
+**See Also:**
+- [ShippingOrder.addTrackingInfo(String)](dw.order.ShippingOrder.md#addtrackinginfostring)
+- [ShippingOrderItem.addTrackingRef(String, Quantity)](dw.order.ShippingOrderItem.md#addtrackingrefstring-quantity)
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Get the mandatory identifier for this tracking information. |
+| [carrier](#carrier): [String](TopLevel.String.md) | Get the Carrier. |
+| [carrierService](#carrierservice): [String](TopLevel.String.md) | Get the service(ship method) of the used carrier. |
+| [shipDate](#shipdate): [Date](TopLevel.Date.md) | Get the ship date. |
+| [shippingOrder](#shippingorder): [ShippingOrder](dw.order.ShippingOrder.md) `(read-only)` | Gets the shipping order. |
+| [trackingNumber](#trackingnumber): [String](TopLevel.String.md) | Get the tracking number. |
+| [trackingRefs](#trackingrefs): [Collection](dw.util.Collection.md) `(read-only)` | Gets the tracking refs (shipping order items) which are assigned to this tracking info. |
+| [warehouseID](#warehouseid): [String](TopLevel.String.md) | Get the id of the shipping warehouse. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCarrier](dw.order.TrackingInfo.md#getcarrier)() | Get the Carrier. |
+| [getCarrierService](dw.order.TrackingInfo.md#getcarrierservice)() | Get the service(ship method) of the used carrier. |
+| [getID](dw.order.TrackingInfo.md#getid)() | Get the mandatory identifier for this tracking information. |
+| [getShipDate](dw.order.TrackingInfo.md#getshipdate)() | Get the ship date. |
+| [getShippingOrder](dw.order.TrackingInfo.md#getshippingorder)() | Gets the shipping order. |
+| [getTrackingNumber](dw.order.TrackingInfo.md#gettrackingnumber)() | Get the tracking number. |
+| [getTrackingRefs](dw.order.TrackingInfo.md#gettrackingrefs)() | Gets the tracking refs (shipping order items) which are assigned to this tracking info. |
+| [getWarehouseID](dw.order.TrackingInfo.md#getwarehouseid)() | Get the id of the shipping warehouse. |
+| [setCarrier](dw.order.TrackingInfo.md#setcarrierstring)([String](TopLevel.String.md)) | Set the Carrier. |
+| [setCarrierService](dw.order.TrackingInfo.md#setcarrierservicestring)([String](TopLevel.String.md)) | Set the service(ship method) of the used carrier. |
+| [setShipDate](dw.order.TrackingInfo.md#setshipdatedate)([Date](TopLevel.Date.md)) | Set the ship date. |
+| [setTrackingNumber](dw.order.TrackingInfo.md#settrackingnumberstring)([String](TopLevel.String.md)) | Set the TrackingNumber. |
+| [setWarehouseID](dw.order.TrackingInfo.md#setwarehouseidstring)([String](TopLevel.String.md)) | Set the id of the shipping warehouse. |
+
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Get the mandatory identifier for this tracking information. The id allows the tracking information to be referenced from
+ [TrackingRef](dw.order.TrackingRef.md)s. To support short shipping a shipping-order-item can manage a list of
+ TrackingRefs, each with an optional quantity value allowing individual items to ship in multiple
+ parcels with known item quantity in each.
+
+
+ **See Also:**
+ - [ShippingOrder.addTrackingInfo(String)](dw.order.ShippingOrder.md#addtrackinginfostring)
+
+
+---
+
+### carrier
+- carrier: [String](TopLevel.String.md)
+ - : Get the Carrier.
+
+
+---
+
+### carrierService
+- carrierService: [String](TopLevel.String.md)
+ - : Get the service(ship method) of the used carrier.
+
+
+---
+
+### shipDate
+- shipDate: [Date](TopLevel.Date.md)
+ - : Get the ship date.
+
+
+---
+
+### shippingOrder
+- shippingOrder: [ShippingOrder](dw.order.ShippingOrder.md) `(read-only)`
+ - : Gets the shipping order.
+
+
+---
+
+### trackingNumber
+- trackingNumber: [String](TopLevel.String.md)
+ - : Get the tracking number.
+
+
+---
+
+### trackingRefs
+- trackingRefs: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Gets the tracking refs (shipping order items) which are assigned to this tracking info.
+
+
+---
+
+### warehouseID
+- warehouseID: [String](TopLevel.String.md)
+ - : Get the id of the shipping warehouse.
+
+
+---
+
+## Method Details
+
+### getCarrier()
+- getCarrier(): [String](TopLevel.String.md)
+ - : Get the Carrier.
+
+ **Returns:**
+ - the Carrier
+
+
+---
+
+### getCarrierService()
+- getCarrierService(): [String](TopLevel.String.md)
+ - : Get the service(ship method) of the used carrier.
+
+ **Returns:**
+ - the carrier service (ship method)
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Get the mandatory identifier for this tracking information. The id allows the tracking information to be referenced from
+ [TrackingRef](dw.order.TrackingRef.md)s. To support short shipping a shipping-order-item can manage a list of
+ TrackingRefs, each with an optional quantity value allowing individual items to ship in multiple
+ parcels with known item quantity in each.
+
+
+ **Returns:**
+ - the id
+
+ **See Also:**
+ - [ShippingOrder.addTrackingInfo(String)](dw.order.ShippingOrder.md#addtrackinginfostring)
+
+
+---
+
+### getShipDate()
+- getShipDate(): [Date](TopLevel.Date.md)
+ - : Get the ship date.
+
+ **Returns:**
+ - the ship date
+
+
+---
+
+### getShippingOrder()
+- getShippingOrder(): [ShippingOrder](dw.order.ShippingOrder.md)
+ - : Gets the shipping order.
+
+ **Returns:**
+ - the shipping order
+
+
+---
+
+### getTrackingNumber()
+- getTrackingNumber(): [String](TopLevel.String.md)
+ - : Get the tracking number.
+
+ **Returns:**
+ - the TrackingNumber
+
+
+---
+
+### getTrackingRefs()
+- getTrackingRefs(): [Collection](dw.util.Collection.md)
+ - : Gets the tracking refs (shipping order items) which are assigned to this tracking info.
+
+ **Returns:**
+ - the tracking refs (shipping order items) which are assigned to this tracking info.
+
+
+---
+
+### getWarehouseID()
+- getWarehouseID(): [String](TopLevel.String.md)
+ - : Get the id of the shipping warehouse.
+
+ **Returns:**
+ - the id of the shipping warehouse
+
+
+---
+
+### setCarrier(String)
+- setCarrier(carrier: [String](TopLevel.String.md)): void
+ - : Set the Carrier.
+
+ **Parameters:**
+ - carrier - the Carrier
+
+
+---
+
+### setCarrierService(String)
+- setCarrierService(carrierService: [String](TopLevel.String.md)): void
+ - : Set the service(ship method) of the used carrier.
+
+ **Parameters:**
+ - carrierService - the carrier service, eg. the ship method
+
+
+---
+
+### setShipDate(Date)
+- setShipDate(shipDate: [Date](TopLevel.Date.md)): void
+ - : Set the ship date.
+
+ **Parameters:**
+ - shipDate - the ship date
+
+
+---
+
+### setTrackingNumber(String)
+- setTrackingNumber(trackingNumber: [String](TopLevel.String.md)): void
+ - : Set the TrackingNumber.
+
+ **Parameters:**
+ - trackingNumber - the TrackingNumber
+
+
+---
+
+### setWarehouseID(String)
+- setWarehouseID(warehouseID: [String](TopLevel.String.md)): void
+ - : Set the id of the shipping warehouse.
+
+ **Parameters:**
+ - warehouseID - the id of the shipping warehouse
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.TrackingRef.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.TrackingRef.md
new file mode 100644
index 00000000..f4a164af
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.TrackingRef.md
@@ -0,0 +1,108 @@
+
+# Class TrackingRef
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.TrackingRef](dw.order.TrackingRef.md)
+
+Provides basic information about the [TrackingInfo](dw.order.TrackingInfo.md) a
+[ShippingOrderItem](dw.order.ShippingOrderItem.md) is contained.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [quantity](#quantity): [Quantity](dw.value.Quantity.md) | Gets the quantity, the shipping order item is assigned to the tracking info. |
+| [shippingOrderItem](#shippingorderitem): [ShippingOrderItem](dw.order.ShippingOrderItem.md) `(read-only)` | Gets the shipping order item which is assigned to the tracking info. |
+| [trackingInfo](#trackinginfo): [TrackingInfo](dw.order.TrackingInfo.md) `(read-only)` | Gets the tracking info, the shipping order item is assigned to. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getQuantity](dw.order.TrackingRef.md#getquantity)() | Gets the quantity, the shipping order item is assigned to the tracking info. |
+| [getShippingOrderItem](dw.order.TrackingRef.md#getshippingorderitem)() | Gets the shipping order item which is assigned to the tracking info. |
+| [getTrackingInfo](dw.order.TrackingRef.md#gettrackinginfo)() | Gets the tracking info, the shipping order item is assigned to. |
+| [setQuantity](dw.order.TrackingRef.md#setquantityquantity)([Quantity](dw.value.Quantity.md)) | Sets the quantity, the shipping order item is assigned to the tracking info. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### quantity
+- quantity: [Quantity](dw.value.Quantity.md)
+ - : Gets the quantity, the shipping order item is assigned to the tracking
+ info.
+
+
+
+---
+
+### shippingOrderItem
+- shippingOrderItem: [ShippingOrderItem](dw.order.ShippingOrderItem.md) `(read-only)`
+ - : Gets the shipping order item which is assigned to the tracking info.
+
+
+---
+
+### trackingInfo
+- trackingInfo: [TrackingInfo](dw.order.TrackingInfo.md) `(read-only)`
+ - : Gets the tracking info, the shipping order item is assigned to.
+
+
+---
+
+## Method Details
+
+### getQuantity()
+- getQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Gets the quantity, the shipping order item is assigned to the tracking
+ info.
+
+
+ **Returns:**
+ - the quantity the shipping order item is assigned to the tracking
+ info.
+
+
+
+---
+
+### getShippingOrderItem()
+- getShippingOrderItem(): [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+ - : Gets the shipping order item which is assigned to the tracking info.
+
+ **Returns:**
+ - the shipping order item
+
+
+---
+
+### getTrackingInfo()
+- getTrackingInfo(): [TrackingInfo](dw.order.TrackingInfo.md)
+ - : Gets the tracking info, the shipping order item is assigned to.
+
+ **Returns:**
+ - the tracking info
+
+
+---
+
+### setQuantity(Quantity)
+- setQuantity(quantity: [Quantity](dw.value.Quantity.md)): void
+ - : Sets the quantity, the shipping order item is assigned to the tracking
+ info.
+
+
+ **Parameters:**
+ - quantity - the quantity, the shipping order item is assigned to the tracking info.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.BasketMergeHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.BasketMergeHooks.md
new file mode 100644
index 00000000..07bbcef1
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.BasketMergeHooks.md
@@ -0,0 +1,87 @@
+
+# Class BasketMergeHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.hooks.BasketMergeHooks](dw.order.hooks.BasketMergeHooks.md)
+
+This interface represents all script hooks that can be registered to merge baskets. It contains the extension points
+(hook names), and the functions that are called by each extension point. A function must be defined inside a
+JavaScript source and must be exported. The script with the exported hook function must be located inside a site
+cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+```
+"hooks": [
+ {"name": "dw.order.mergeBasket", "script": "./mergeBasket.js"}
+]
+```
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointMerge](#extensionpointmerge): [String](TopLevel.String.md) = "dw.order.mergeBasket" | The extension point name dw.order.mergeBasket. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [mergeBasket](dw.order.hooks.BasketMergeHooks.md#mergebasketbasket-basket)([Basket](dw.order.Basket.md), [Basket](dw.order.Basket.md)) | Merges content from a source basket (typically a former registered shopper's basket) into the current basket (usually a former guest shopper's basket that was transferred to the registered shopper). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointMerge
+
+- extensionPointMerge: [String](TopLevel.String.md) = "dw.order.mergeBasket"
+ - : The extension point name dw.order.mergeBasket.
+
+
+---
+
+## Method Details
+
+### mergeBasket(Basket, Basket)
+- mergeBasket(source: [Basket](dw.order.Basket.md), currentBasket: [Basket](dw.order.Basket.md)): [Status](dw.system.Status.md)
+ - : Merges content from a source basket (typically a former registered shopper's basket) into the current basket
+ (usually a former guest shopper's basket that was transferred to the registered shopper).
+
+
+ If no override script is registered, the system defaults to the platform's standard basket merging logic.
+
+
+ This method is automatically invoked after a successful execution of the /transfer REST API with the query
+ parameter merge=true, if either the guest or the registered users had baskets assigned. The registered shopper's
+ basket will be the source for the merge, and the transferred guest shopper's basket will be the current basket.
+
+
+ **Parameters:**
+ - source - the basket from which data will be merged into the current basket. Will be `null` if the former guest shopper did not have an assigned basket.
+ - currentBasket - the current basket to merge data into
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.CalculateHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.CalculateHooks.md
new file mode 100644
index 00000000..a0d206f8
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.CalculateHooks.md
@@ -0,0 +1,139 @@
+
+# Class CalculateHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.hooks.CalculateHooks](dw.order.hooks.CalculateHooks.md)
+
+This interface represents all script hooks that can be registered to customize the order and basket calculation
+functionality. It contains the extension points (hook names), and the functions that are called by each extension
+point. A function must be defined inside a JavaScript source and must be exported. The script with the exported hook
+function must be located inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks'
+entry must exist.
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+```
+"hooks": [
+ {"name": "dw.order.calculate", "script": "./calculate.js"}
+]
+```
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointCalculate](#extensionpointcalculate): [String](TopLevel.String.md) = "dw.order.calculate" | The extension point name dw.order.calculate. |
+| [extensionPointCalculateShipping](#extensionpointcalculateshipping): [String](TopLevel.String.md) = "dw.order.calculateShipping" | The extension point name dw.order.calculateShipping. |
+| [extensionPointCalculateTax](#extensionpointcalculatetax): [String](TopLevel.String.md) = "dw.order.calculateTax" | The extension point name dw.order.calculateTax. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [calculate](dw.order.hooks.CalculateHooks.md#calculatelineitemctnr)([LineItemCtnr](dw.order.LineItemCtnr.md)) | The function is called by extension point [extensionPointCalculate](dw.order.hooks.CalculateHooks.md#extensionpointcalculate). |
+| [calculateShipping](dw.order.hooks.CalculateHooks.md#calculateshippinglineitemctnr)([LineItemCtnr](dw.order.LineItemCtnr.md)) | The function is called by extension point [extensionPointCalculateShipping](dw.order.hooks.CalculateHooks.md#extensionpointcalculateshipping). |
+| [calculateTax](dw.order.hooks.CalculateHooks.md#calculatetaxlineitemctnr)([LineItemCtnr](dw.order.LineItemCtnr.md)) | The function is called by extension point [extensionPointCalculateTax](dw.order.hooks.CalculateHooks.md#extensionpointcalculatetax). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointCalculate
+
+- extensionPointCalculate: [String](TopLevel.String.md) = "dw.order.calculate"
+ - : The extension point name dw.order.calculate.
+
+
+---
+
+### extensionPointCalculateShipping
+
+- extensionPointCalculateShipping: [String](TopLevel.String.md) = "dw.order.calculateShipping"
+ - : The extension point name dw.order.calculateShipping.
+
+
+---
+
+### extensionPointCalculateTax
+
+- extensionPointCalculateTax: [String](TopLevel.String.md) = "dw.order.calculateTax"
+ - : The extension point name dw.order.calculateTax.
+
+
+---
+
+## Method Details
+
+### calculate(LineItemCtnr)
+- calculate(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointCalculate](dw.order.hooks.CalculateHooks.md#extensionpointcalculate). It provides a single place for
+ the line item container calculation.
+
+
+ To provide a fallback for existing implementations, the default implementation calls the hook
+ dw.ocapi.shop.basket.calculate. However, this hook is deprecated, and calling it will create entries in the
+ deprecated API usage logs. You should override this function to use dw.order.calculate instead.
+
+
+
+
+ If you provide your own implementation, you should provide and use the following hooks. Best practice is
+ to use the hook manager to retrieve them in the calculate hook, and avoid calling them directly.
+
+
+
+ - [extensionPointCalculateTax](dw.order.hooks.CalculateHooks.md#extensionpointcalculatetax)for tax calculation
+ - [extensionPointCalculateShipping](dw.order.hooks.CalculateHooks.md#extensionpointcalculateshipping)for shipping calculation
+
+
+ **Parameters:**
+ - lineItemCtnr - the line item container to be (re)calculated.
+
+
+---
+
+### calculateShipping(LineItemCtnr)
+- calculateShipping(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointCalculateShipping](dw.order.hooks.CalculateHooks.md#extensionpointcalculateshipping). It provides a single
+ place for shipping calculation during the line item container calculation.
+
+
+ **Parameters:**
+ - lineItemCtnr - the line item container to be (re)calculated.
+
+
+---
+
+### calculateTax(LineItemCtnr)
+- calculateTax(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointCalculateTax](dw.order.hooks.CalculateHooks.md#extensionpointcalculatetax). It provides a single place
+ for tax calculation during the line item container calculation.
+
+
+ **Parameters:**
+ - lineItemCtnr - the line item container to be (re)calculated.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.CheckoutHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.CheckoutHooks.md
new file mode 100644
index 00000000..b9cad364
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.CheckoutHooks.md
@@ -0,0 +1,88 @@
+
+# Class CheckoutHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.hooks.CheckoutHooks](dw.order.hooks.CheckoutHooks.md)
+
+This interface represents script hooks that can be registered to populate customer details into a basket. It contains
+the extension points (hook names), and the functions that are called by each extension point. A function must be
+defined inside a JavaScript source and must be exported. The script with the exported hook function must be located
+inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+```
+"hooks": [
+ {"name": "dw.order.populateCustomerDetails", "script": "./populateCustomerDetails.js"}
+]
+```
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointPopulateCustomerDetails](#extensionpointpopulatecustomerdetails): [String](TopLevel.String.md) = "dw.order.populateCustomerDetails" | The extension point name dw.order.populateCustomerDetails. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [populateCustomerDetails](dw.order.hooks.CheckoutHooks.md#populatecustomerdetailsbasket-customer)([Basket](dw.order.Basket.md), [Customer](dw.customer.Customer.md)) | Populates registered customer details into a basket. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointPopulateCustomerDetails
+
+- extensionPointPopulateCustomerDetails: [String](TopLevel.String.md) = "dw.order.populateCustomerDetails"
+ - : The extension point name dw.order.populateCustomerDetails.
+
+
+---
+
+## Method Details
+
+### populateCustomerDetails(Basket, Customer)
+- populateCustomerDetails(basket: [Basket](dw.order.Basket.md), customer: [Customer](dw.customer.Customer.md)): [Status](dw.system.Status.md)
+ - : Populates registered customer details into a basket. This includes the default shipping address and default
+ payment instrument from the registered customer's profile.
+
+
+ If no override script is registered, the system defaults to the platform's standard population logic which copies
+ the customer's default or first address to the basket's default shipment and billing address, then creates a
+ payment instrument from the customer's default or first payment instrument.
+
+
+ This method is automatically invoked when the populateCustomerDetails query parameter is set to
+ true on createBasket and transferBasket endpoints.
+
+
+ **Parameters:**
+ - basket - the basket to populate with customer details
+ - customer - the registered customer whose details should be populated into the basket
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.OrderHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.OrderHooks.md
new file mode 100644
index 00000000..294d45f7
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.OrderHooks.md
@@ -0,0 +1,96 @@
+
+# Class OrderHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.hooks.OrderHooks](dw.order.hooks.OrderHooks.md)
+
+This interface represents all script hooks that can be registered to customize the order logic. It contains the
+extension points (hook names), and the functions that are called by each extension point. A function must be defined
+inside a JavaScript source and must be exported. The script with the exported hook function must be located inside a
+site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+"hooks": "./hooks.json"
+
+
+The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks
+inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.order.createOrderNo", "script": "./orders.ds"},
+]
+```
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointCreateOrderNo](#extensionpointcreateorderno): [String](TopLevel.String.md) = "dw.order.createOrderNo" | The extension point name dw.order.createOrderNo. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createOrderNo](dw.order.hooks.OrderHooks.md#createorderno)() | This hook is responsible for creating a new order number. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointCreateOrderNo
+
+- extensionPointCreateOrderNo: [String](TopLevel.String.md) = "dw.order.createOrderNo"
+ - : The extension point name dw.order.createOrderNo.
+
+
+---
+
+## Method Details
+
+### createOrderNo()
+- createOrderNo(): [String](TopLevel.String.md)
+ - : This hook is responsible for creating a new order number.
+
+
+ By default order numbers are generated by using [OrderMgr.createOrderSequenceNo()](dw.order.OrderMgr.md#createordersequenceno). Use this hook
+ to customize the order number generation. E.g. a prefix or suffix could be added.
+
+ ```
+ exports.createOrderNo = function(){
+ var orderSeqNo = OrderMgr.createOrderSequenceNo();
+ var prefix = Site.getCurrent().getSiteId();
+ return prefix + "_"+orderSeqNo;
+ };
+ ```
+
+ If the method returns `null` or an blank string order number generation will fall
+ back to [OrderMgr.createOrderSequenceNo()](dw.order.OrderMgr.md#createordersequenceno).
+
+
+ The maximum length of the order number is 50 characters.
+
+
+ **Returns:**
+ - the order number
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.PaymentHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.PaymentHooks.md
new file mode 100644
index 00000000..68e410d2
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.PaymentHooks.md
@@ -0,0 +1,325 @@
+
+# Class PaymentHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.hooks.PaymentHooks](dw.order.hooks.PaymentHooks.md)
+
+This interface represents all script hooks that can be registered to
+customize the order center payment functionality. It contains the extension
+points (hook names), and the functions that are called by each extension
+point. A function must be defined inside a JavaScript source and must be
+exported. The script with the exported hook function must be located inside a
+site cartridge. Inside the site cartridge a 'package.json' file with a
+'hooks' entry must exist.
+
+
+"hooks": "./hooks.json"
+
+
+The hooks entry links to a json file, relative to the 'package.json' file.
+This file lists all registered hooks inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.order.payment.authorize", "script": "./authorize.js"},
+ {"name": "dw.order.payment.validateAuthorization", "script": "./validateAuthorization.js"},
+]
+```
+
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointAuthorize](#extensionpointauthorize): [String](TopLevel.String.md) = "dw.order.payment.authorize" | The extension point name dw.order.payment.authorize. |
+| [extensionPointAuthorizeCreditCard](#extensionpointauthorizecreditcard): [String](TopLevel.String.md) = "dw.order.payment.authorizeCreditCard" | The extension point name dw.order.payment.authorizeCreditCard. |
+| [extensionPointCapture](#extensionpointcapture): [String](TopLevel.String.md) = "dw.order.payment.capture" | The extension point name dw.order.payment.capture. |
+| [extensionPointReauthorize](#extensionpointreauthorize): [String](TopLevel.String.md) = "dw.order.payment.reauthorize" | The extension point name dw.order.payment.reauthorize. |
+| [extensionPointRefund](#extensionpointrefund): [String](TopLevel.String.md) = "dw.order.payment.refund" | The extension point name dw.order.payment.refund. |
+| [extensionPointReleaseAuthorization](#extensionpointreleaseauthorization): [String](TopLevel.String.md) = "dw.order.payment.releaseAuthorization" | The extension point name dw.order.payment.releaseAuthorization. |
+| [extensionPointValidateAuthorization](#extensionpointvalidateauthorization): [String](TopLevel.String.md) = "dw.order.payment.validateAuthorization" | The extension point name dw.order.payment.validateAuthorization. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [authorize](dw.order.hooks.PaymentHooks.md#authorizeorder-orderpaymentinstrument)([Order](dw.order.Order.md), [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)) | The function is called by extension point [extensionPointAuthorize](dw.order.hooks.PaymentHooks.md#extensionpointauthorize). |
+| [authorizeCreditCard](dw.order.hooks.PaymentHooks.md#authorizecreditcardorder-orderpaymentinstrument-string)([Order](dw.order.Order.md), [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), [String](TopLevel.String.md)) | The function is called by extension point [extensionPointAuthorizeCreditCard](dw.order.hooks.PaymentHooks.md#extensionpointauthorizecreditcard). |
+| [capture](dw.order.hooks.PaymentHooks.md#captureinvoice)([Invoice](dw.order.Invoice.md)) | The function is called by extension point [extensionPointCapture](dw.order.hooks.PaymentHooks.md#extensionpointcapture). |
+| [reauthorize](dw.order.hooks.PaymentHooks.md#reauthorizeorder)([Order](dw.order.Order.md)) | The function is called by extension point [extensionPointReauthorize](dw.order.hooks.PaymentHooks.md#extensionpointreauthorize). |
+| [refund](dw.order.hooks.PaymentHooks.md#refundinvoice)([Invoice](dw.order.Invoice.md)) | The function is called by extension point [extensionPointRefund](dw.order.hooks.PaymentHooks.md#extensionpointrefund). |
+| [releaseAuthorization](dw.order.hooks.PaymentHooks.md#releaseauthorizationorder)([Order](dw.order.Order.md)) | The function is called by extension point [extensionPointReleaseAuthorization](dw.order.hooks.PaymentHooks.md#extensionpointreleaseauthorization). |
+| [validateAuthorization](dw.order.hooks.PaymentHooks.md#validateauthorizationorder)([Order](dw.order.Order.md)) | The function is called by extension point [extensionPointValidateAuthorization](dw.order.hooks.PaymentHooks.md#extensionpointvalidateauthorization). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointAuthorize
+
+- extensionPointAuthorize: [String](TopLevel.String.md) = "dw.order.payment.authorize"
+ - : The extension point name dw.order.payment.authorize.
+
+ This hook is optional.
+
+
+
+---
+
+### extensionPointAuthorizeCreditCard
+
+- extensionPointAuthorizeCreditCard: [String](TopLevel.String.md) = "dw.order.payment.authorizeCreditCard"
+ - : The extension point name dw.order.payment.authorizeCreditCard.
+
+ This hook is optional.
+
+
+
+---
+
+### extensionPointCapture
+
+- extensionPointCapture: [String](TopLevel.String.md) = "dw.order.payment.capture"
+ - : The extension point name dw.order.payment.capture.
+
+
+---
+
+### extensionPointReauthorize
+
+- extensionPointReauthorize: [String](TopLevel.String.md) = "dw.order.payment.reauthorize"
+ - : The extension point name dw.order.payment.reauthorize.
+
+
+---
+
+### extensionPointRefund
+
+- extensionPointRefund: [String](TopLevel.String.md) = "dw.order.payment.refund"
+ - : The extension point name dw.order.payment.refund.
+
+
+---
+
+### extensionPointReleaseAuthorization
+
+- extensionPointReleaseAuthorization: [String](TopLevel.String.md) = "dw.order.payment.releaseAuthorization"
+ - : The extension point name dw.order.payment.releaseAuthorization.
+
+
+---
+
+### extensionPointValidateAuthorization
+
+- extensionPointValidateAuthorization: [String](TopLevel.String.md) = "dw.order.payment.validateAuthorization"
+ - : The extension point name dw.order.payment.validateAuthorization.
+
+
+---
+
+## Method Details
+
+### authorize(Order, OrderPaymentInstrument)
+- authorize(order: [Order](dw.order.Order.md), paymentDetails: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointAuthorize](dw.order.hooks.PaymentHooks.md#extensionpointauthorize). Custom payment authorization - modify the
+ order as needed.
+
+
+ - Prerequisite: An order has been created using the data api or via the storefront.
+ - Return Status.OK: Corresponding payment transaction is marked as authorized (usually a custom property is used for this).
+ - Return Status.ERROR: Order is held, authorization needs to be repeated.
+
+
+ **Parameters:**
+ - order - the order
+ - paymentDetails - specified payment details
+
+ **Returns:**
+ -
+ - Status.OK successful authorization.
+ - Status.ERROR authorization failed.
+
+
+
+---
+
+### authorizeCreditCard(Order, OrderPaymentInstrument, String)
+- authorizeCreditCard(order: [Order](dw.order.Order.md), paymentDetails: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md), cvn: [String](TopLevel.String.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point
+ [extensionPointAuthorizeCreditCard](dw.order.hooks.PaymentHooks.md#extensionpointauthorizecreditcard). Custom payment authorization
+ of a credit card - modify the order as needed.
+
+
+
+ - Prerequisite: An order has been created using the data api or via the storefront.
+ - Return Status.OK: Corresponding payment transaction is marked as authorized (usually a custom property is used for this).
+ - Return Status.ERROR: Order is held, authorization needs to be repeated.
+
+
+ **Parameters:**
+ - order - the order
+ - paymentDetails - specified payment details
+ - cvn - the credit card verification number
+
+ **Returns:**
+ -
+ - Status.OK successful authorization.
+ - Status.ERROR authorization failed.
+
+
+
+---
+
+### capture(Invoice)
+- capture(invoice: [Invoice](dw.order.Invoice.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointCapture](dw.order.hooks.PaymentHooks.md#extensionpointcapture). Custom payment capture - modify the order as needed.
+
+
+
+ - Prerequisite:
+ \[ either \] As a result of shipping (or part-shipping) a shipping -order the warehouse updates the status of the shipping-order resulting in the creation of an unpaid debit invoice (the creation of the invoice is usually handled in [ShippingOrderHooks.changeStatus(ShippingOrder, ShippingOrderWO)](dw.order.hooks.ShippingOrderHooks.md#changestatusshippingorder-shippingorderwo)).
+ \[ or \] A unpaid debit invoice has been created using the data api.
+ - Context: An unpaid debit invoice is passed to the payment system for capture. The capture attempt can either succeed (complete invoice amount captured) or fail. As a result the invoice status is updated by ordercenter for further processing. See [Invoice](dw.order.Invoice.md).
+ - Hook responsibility: The hook should attempt to capture the amount located in invoice.grandTotal.grossPrice. When successful, the capture hook should also update the invoice by calling [Invoice.addCaptureTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addcapturetransactionorderpaymentinstrument-money)which serves to record the capturedAmount and associate the invoice with the payment-transaction.
+ - Return Status.OK: Indicates capture succeeded: Order Center sets the Invoice status to [Invoice.STATUS_PAID](dw.order.Invoice.md#status_paid).
+ - Return Status.ERROR: Indicates capture failed: Order Center sets the Invoice status to [Invoice.STATUS_FAILED](dw.order.Invoice.md#status_failed)for further processing.
+ - Post processing: When the capture hook returns with success, order center not only sets the relevant invoice status, but also sets the relevant capturedAmount values on the invoice item. Returning success means the entire invoice total has been captured, so each item within the invoice can also be marked as completely captured. Note the script implementing the hook can take responsibility for this if desired order center will not overwrite existing values, but normally the standard implementation fits. As a result each invoice item and the related order item can return a capturedAmount, useful for calculating possible refunds.
+
+
+ **Parameters:**
+ - invoice - the invoice
+
+ **Returns:**
+ -
+ - Status.OK for successful capture of entire invoice amount.
+ - Status.ERROR capture failed
+
+
+
+---
+
+### reauthorize(Order)
+- reauthorize(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointReauthorize](dw.order.hooks.PaymentHooks.md#extensionpointreauthorize). Custom payment authorization - modify the
+ order as needed.
+
+
+ - Prerequisite:
+ \[ either \] Based on a selected [Order](dw.order.Order.md), a [ShippingOrder](dw.order.ShippingOrder.md)(which represents the whole or part of the order which can be shipped) is to be created ready for export to the warehouse system.
+ \[ or \] A [ShippingOrder](dw.order.ShippingOrder.md)is to be directly created using the data api.
+ - Context: The related order is passed to the payment hook to check its authorization has not become invalid. Two hooks are called:
+ a. [validateAuthorization(Order)](dw.order.hooks.PaymentHooks.md#validateauthorizationorder)is used to check the orders authorization is still valid
+ b. [reauthorize(Order)](dw.order.hooks.PaymentHooks.md#reauthorizeorder)is called if step a. returns Error
+ - Return Status.OK: Corresponding payment transaction is marked as authorized (usually a custom property is used for this). If the order had been previously authorized, the custom property values may be overwritten during reauthorization.
+ - Return Status.ERROR: Order is held, authorization needs to be repeated.
+
+
+ **Parameters:**
+ - order - the order
+
+ **Returns:**
+ -
+ - Status.OK successful authorization.
+ - Status.ERROR authorization failed
+
+
+
+---
+
+### refund(Invoice)
+- refund(invoice: [Invoice](dw.order.Invoice.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointRefund](dw.order.hooks.PaymentHooks.md#extensionpointrefund). Custom payment refund - modify the order as needed.
+
+
+
+ - Prerequisite:
+ \[ either \] Goods returned by the customer result in the creation of one or more return documents, resulting in the creation of an unpaid customer credit invoice (the creation of the invoice is usually handled in [ReturnHooks.changeStatus(Return, ReturnWO)](dw.order.hooks.ReturnHooks.md#changestatusreturn-returnwo)).
+ \[ or \] An unpaid customer credit invoice is created using the data api (perhaps as a result of the creation of a customer appeasement).
+ - Context: An unpaid credit invoice is passed to the payment system for refund. The refund attempt can either succeed (complete invoice amount refunded) or fail. As a result the invoice status is updated by ordercenter for further processing. See [Invoice](dw.order.Invoice.md).
+ - Hook responsibility: The hook should attempt to refund the amount located in invoice.grandTotal.grossPrice. When successful, the refund hook should also update the invoice by calling [Invoice.addRefundTransaction(OrderPaymentInstrument, Money)](dw.order.Invoice.md#addrefundtransactionorderpaymentinstrument-money)which serves to record the refundedAmount and associate the invoice with the payment-transaction.
+ - Return Status.OK: Indicates refund succeeded: Order Center sets the Invoice status to [Invoice.STATUS_PAID](dw.order.Invoice.md#status_paid).
+ - Return Status.ERROR: Indicates refund failed: Order Center sets the Invoice status to [Invoice.STATUS_FAILED](dw.order.Invoice.md#status_failed)for further processing.
+ - Post processing: When the refund hook returns with success, order center not only sets the relevant invoice status, but also sets the relevant refundAmount values on the invoice item. Returning success means the entire invoice total has been refunded, so each item within the invoice can also be marked as completely refunded. Note the script implementing the hook can take responsibility for this if desired order center will not overwrite existing values, but normally the standard implementation fits. As a result each invoice item and the related order item can return a refundedAmount, useful for calculating further possible refunds.
+
+
+ **Parameters:**
+ - invoice - the invoice
+
+ **Returns:**
+ -
+ - Status.OK for successful refund of entire invoice amount.
+ - Status.ERROR refund failed
+
+
+
+---
+
+### releaseAuthorization(Order)
+- releaseAuthorization(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointReleaseAuthorization](dw.order.hooks.PaymentHooks.md#extensionpointreleaseauthorization).
+ Custom payment release authorization - modify the order as needed.
+
+
+
+ - Prerequisite: an authorized order is updated resulting in a need to release the remaining authorization. This happens when:
+ - order is cancelled
+ - order is complete after remaining order items are cancelled.
+ - Return Status.OK - successful release authorization
+ - Return Status.ERROR - failed release authorization
+
+
+ **Parameters:**
+ - order - the order
+
+ **Returns:**
+ -
+ - Status.OK for successful release authorization.
+ - Status.ERROR failed release authorization
+
+
+
+---
+
+### validateAuthorization(Order)
+- validateAuthorization(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointValidateAuthorization](dw.order.hooks.PaymentHooks.md#extensionpointvalidateauthorization). Custom payment authorization - modify the
+ order as needed.
+
+
+ - Context: This hook is called to validate whether a payment authorization exists for the order. It should usually check:
+ - Whether the authorize or reauthorize hook was previously successfully executed for the order, e.g. by checking whether custom property has been previously set.
+ - Whether an existing authorization has expired e.g. by comparing a timestamp set on authorization with the current time.
+ - Return Status.OK: indicates the order has a valid payment authorization.
+ - Return Status.ERROR: indicates [reauthorize(Order)](dw.order.hooks.PaymentHooks.md#reauthorizeorder)should be called.
+ See [reauthorize(Order)](dw.order.hooks.PaymentHooks.md#reauthorizeorder) for more details.
+
+
+ **Parameters:**
+ - order - the order
+
+ **Returns:**
+ -
+ - Status.OK order has a valid payment authorization.
+ - Status.ERROR order has no valid payment authorization, [reauthorize(Order)](dw.order.hooks.PaymentHooks.md#reauthorizeorder)should be called
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.ReturnHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.ReturnHooks.md
new file mode 100644
index 00000000..3131961d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.ReturnHooks.md
@@ -0,0 +1,395 @@
+
+# Class ReturnHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.hooks.ReturnHooks](dw.order.hooks.ReturnHooks.md)
+
+This interface represents all script hooks that can be registered to
+customizing the order center return resource. It contains the extension
+points (hook names), and the functions that are called by each extension
+point. A function must be defined inside a JavaScript source and must be
+exported. The script with the exported hook function must be located inside a
+site cartridge. Inside the site cartridge a 'package.json' file with a
+'hooks' entry must exist.
+
+
+"hooks": "./hooks.json"
+
+
+The hooks entry links to a json file, relative to the 'package.json' file.
+This file lists all registered hooks inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.order.return.createReturn", "script": "./returns.ds"},
+ {"name": "dw.order.return.addReturnItem", "script": "./returns.ds"},
+ {"name": "dw.order.return.changeStatus", "script": "./returns.ds"},
+]
+```
+
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+Overview Return Functionality Business objects
+[ReturnCase](dw.order.ReturnCase.md) All returns exist in the context of a
+[ReturnCase](dw.order.ReturnCase.md), each [Order](dw.order.Order.md) can have any number
+of [ReturnCase](dw.order.ReturnCase.md)s.
+
+A [ReturnCase](dw.order.ReturnCase.md) has [ReturnCaseItem](dw.order.ReturnCaseItem.md)s, each of
+which is associated with an [OrderItem](dw.order.OrderItem.md) (an extension to
+either a [ProductLineItem](dw.order.ProductLineItem.md) or a
+[ShippingLineItem](dw.order.ShippingLineItem.md)).
+
+Each [ReturnCaseItem](dw.order.ReturnCaseItem.md) defines an
+[ReturnCaseItem.getAuthorizedQuantity()](dw.order.ReturnCaseItem.md#getauthorizedquantity) representing the
+maximum quantity expected to be returned. A [ReturnCaseItem](dw.order.ReturnCaseItem.md)
+may be associated with 0..n [ReturnItem](dw.order.ReturnItem.md)s -
+[ReturnItem](dw.order.ReturnItem.md)s are added to the [ReturnCaseItem](dw.order.ReturnCaseItem.md)
+when [Return](dw.order.Return.md)s are created.
+
+
+_Either_ - a [ReturnCase](dw.order.ReturnCase.md) may be used as an RMA, in which
+case they are created when a customer first shows a wish to return item(s).
+The customer then includes the RMA number with the returned item(s). The
+[Return](dw.order.Return.md) created as a result is then associated with the
+existing [ReturnCase](dw.order.ReturnCase.md).
+
+_Or_ - a [ReturnCase](dw.order.ReturnCase.md) is automatically created as part of
+the return creation, i.e. the customer returns some item(s) leading to a
+creation of both a [Return](dw.order.Return.md) and an associated
+[ReturnCase](dw.order.ReturnCase.md).
+
+
+
+
+The scripting api allows access to the [ReturnCase](dw.order.ReturnCase.md)s, whether
+the [ReturnCase](dw.order.ReturnCase.md) is an RMA or not, and the
+[ReturnCase](dw.order.ReturnCase.md) status. Both the [ReturnCaseItem](dw.order.ReturnCaseItem.md)s
+and any [Return](dw.order.Return.md)s associated with the
+[ReturnCase](dw.order.ReturnCase.md) can be accessed.
+
+
+A [ReturnCase](dw.order.ReturnCase.md) has one of these status values:
+
+- New - the [ReturnCase](dw.order.ReturnCase.md)has been created and can be edited previous to its authorization
+- CONFIRMED - the [ReturnCase](dw.order.ReturnCase.md)is CONFIRMED, can no longer be edited, no [Return](dw.order.Return.md)s have been associated with it. Only an New- [ReturnCase](dw.order.ReturnCase.md)can be CONFIRMED
+- PARTIAL\_RETURNED - the [ReturnCase](dw.order.ReturnCase.md)has been associated with at least one [Return](dw.order.Return.md), but is not yet complete. Only an CONFIRMED- [ReturnCase](dw.order.ReturnCase.md)can be set to PARTIAL\_RETURNED
+- RETURNED - the [ReturnCase](dw.order.ReturnCase.md)has been associated with [Return](dw.order.Return.md)s which match the expected authorized quantity. Only an CONFIRMED- or PARTIAL\_RETURNED- return-case can be set to RETURNED
+- Cancelled - the [ReturnCase](dw.order.ReturnCase.md)has been cancelled (only a New- or CONFIRMED- [ReturnCase](dw.order.ReturnCase.md)can be cancelled)
+
+
+[Return](dw.order.Return.md)
+A [Return](dw.order.Return.md) represents a physical customer return, and contains
+1..n [ReturnItem](dw.order.ReturnItem.md)s. A [Return](dw.order.Return.md) is associated
+with one [ReturnCase](dw.order.ReturnCase.md), and each [ReturnItem](dw.order.ReturnItem.md) is
+associated with one [ReturnCaseItem](dw.order.ReturnCaseItem.md) and (via the
+[ReturnCaseItem](dw.order.ReturnCaseItem.md)) a single [OrderItem](dw.order.OrderItem.md) usually
+representing an [Order](dw.order.Order.md) [ProductLineItem](dw.order.ProductLineItem.md).
+
+A [ReturnItem](dw.order.ReturnItem.md) records the quantity returned.
+
+A [Return](dw.order.Return.md) can have one of these status values:
+
+- NEW - the [Return](dw.order.Return.md)is new, i.e. needs to undergo a check before it can be marked as COMPLETED
+- COMPLETED - the return is complete, this is a precondition for refunding the customer for a return.
+
+Credit Invoice
+As a result of making a [Return](dw.order.Return.md), the customer may be
+refunded. The refund amount is held in a credit [Invoice](dw.order.Invoice.md)
+which may be associated _either_ with one [Return](dw.order.Return.md)
+_or_ with one [ReturnCase](dw.order.ReturnCase.md). The [Invoice](dw.order.Invoice.md)
+is passed to the _refund_ payment hook allowing custom code to handle
+the payment refund.
+
+Process overview
+Create [ReturnCase](dw.order.ReturnCase.md)
+The creation of [ReturnCase](dw.order.ReturnCase.md)s is supported using the data-api.
+The api supports, within the context of an [Order](dw.order.Order.md), the
+specification of an (optional) RMA-number and addition of
+[ReturnCaseItem](dw.order.ReturnCaseItem.md)s for a given order-item and quantity.
+Authorize [ReturnCase](dw.order.ReturnCase.md)
+Following its creation, a [ReturnCase](dw.order.ReturnCase.md) needs to be CONFIRMED -
+an CONFIRMED [ReturnCase](dw.order.ReturnCase.md) cannot be modified.
+Cancel [ReturnCase](dw.order.ReturnCase.md)
+Following its creation or authorization, a [ReturnCase](dw.order.ReturnCase.md) may be
+cancelled.
+Create [Return](dw.order.Return.md)
+[Return](dw.order.Return.md)s may be imported or created via the data-api. These
+apis specify an (optional) RMA allowing a [Return](dw.order.Return.md) to be
+associated with a [ReturnCase](dw.order.ReturnCase.md), and
+[ReturnItem](dw.order.ReturnItem.md)s with a quantity and a key allowing them to be
+associated with an order-item. The process is delegated to custom scripts
+which control the creation of the [Return](dw.order.Return.md) and the addition of
+the [ReturnItem](dw.order.ReturnItem.md)s:
+
+Hook [extensionPointCreateReturn](dw.order.hooks.ReturnHooks.md#extensionpointcreatereturn)
+The creation of the new [Return](dw.order.Return.md) is delegated to the custom
+script when this hook is called, passing the order, and details of the
+[Return](dw.order.Return.md) to be created to the script. Typically the script
+accesses the [ReturnCase](dw.order.ReturnCase.md) from the order and creates the
+return with the provided return-number. It may also update the
+[Order](dw.order.Order.md), [ReturnCase](dw.order.ReturnCase.md) or
+[Return](dw.order.Return.md) using custom values passed in the
+[Return](dw.order.Return.md) details.
+
+`
+
+exports.createReturn = function (order:Order, returnDetails) {
+
+ var returnNumber=returnDetails.returnNumber;
+
+ var returnCase = order.getReturnCase(returnDetails.returnCaseNumber);
+
+ var newReturn = returnCase.createReturn(returnNumber);
+
+ return newReturn;
+
+}`
+
+Hook [extensionPointAddReturnItem](dw.order.hooks.ReturnHooks.md#extensionpointaddreturnitem)
+This call delegates the creation of individual [ReturnItem](dw.order.ReturnItem.md)s
+to a custom script, passing the [Order](dw.order.Order.md), returnNumber,
+returnCaseItemId and return-item-details. Typically the script will access
+the [ReturnCaseItem](dw.order.ReturnCaseItem.md) from the order and create a new
+[ReturnItem](dw.order.ReturnItem.md) for it.
+
+`exports.addReturnItem = function (retrn:Return, returnItemDetails) {
+
+ var returnCaseItem = order.getReturnCaseItem(returnCaseItemId);
+
+ var item = returnCaseItem.createReturnItem(returnNr);
+
+`
+
+Hook [extensionPointChangeStatus](dw.order.hooks.ReturnHooks.md#extensionpointchangestatus)
+This call delegates the update of the return-status to a custom script,
+passing the [Order](dw.order.Order.md), returnNumber and new status. The custom
+script is responsible for setting the status and taking any other actions
+necessary, including the possibility of creating a credit invoice:
+
+`changeStatus = function (retrn:Return, status) {
+
+ retrn.status=status;
+
+`
+
+Hook [extensionPointAfterStatusChange](dw.order.hooks.ReturnHooks.md#extensionpointafterstatuschange)
+This call delegates the update of the return-status to a custom script,
+passing the [Order](dw.order.Order.md), returnNumber and new status. The custom
+script is responsible for setting the status and taking any other actions
+necessary, including the possibility of creating a credit invoice:
+
+`changeStatus = function (retrn:Return, status) {
+
+ retrn.status=status;
+
+`
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointAddReturnItem](#extensionpointaddreturnitem): [String](TopLevel.String.md) = "dw.order.return.addReturnItem" | The extension point name dw.order.return.addReturnItem. |
+| [extensionPointAfterStatusChange](#extensionpointafterstatuschange): [String](TopLevel.String.md) = "dw.order.return.afterStatusChange" | The extension point name dw.order.return.afterStatusChange. |
+| [extensionPointChangeStatus](#extensionpointchangestatus): [String](TopLevel.String.md) = "dw.order.return.changeStatus" | The extension point name dw.order.return.changeStatus. |
+| [extensionPointCreateReturn](#extensionpointcreatereturn): [String](TopLevel.String.md) = "dw.order.return.createReturn" | The extension point name dw.order.return.createReturn. |
+| [extensionPointNotifyStatusChange](#extensionpointnotifystatuschange): [String](TopLevel.String.md) = "dw.order.return.notifyStatusChange" | The extension point name dw.order.return.notifyStatusChange. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addReturnItem](dw.order.hooks.ReturnHooks.md#addreturnitemreturn-returnitemwo)([Return](dw.order.Return.md), ReturnItemWO) | The hook provides customization in the process of assigning the returned amount, quantity etc. |
+| [afterStatusChange](dw.order.hooks.ReturnHooks.md#afterstatuschangereturn)([Return](dw.order.Return.md)) | Called after method [changeStatus(Return, ReturnWO)](dw.order.hooks.ReturnHooks.md#changestatusreturn-returnwo) returns Status.OK. |
+| [changeStatus](dw.order.hooks.ReturnHooks.md#changestatusreturn-returnwo)([Return](dw.order.Return.md), ReturnWO) | Responsible to change the status of a [Return](dw.order.Return.md): the custom script is responsible for setting the new status using [Return.setStatus(String)](dw.order.Return.md#setstatusstring). |
+| [createReturn](dw.order.hooks.ReturnHooks.md#createreturnreturnwo)(ReturnWO) | This hook is responsible for creating a new [Return](dw.order.Return.md), based on a [ReturnCase](dw.order.ReturnCase.md). |
+| [notifyStatusChange](dw.order.hooks.ReturnHooks.md#notifystatuschangereturn)([Return](dw.order.Return.md)) | Called after method [changeStatus(Return, ReturnWO)](dw.order.hooks.ReturnHooks.md#changestatusreturn-returnwo) returns Status.OK (and after method [afterStatusChange(Return)](dw.order.hooks.ReturnHooks.md#afterstatuschangereturn)) to inform of a successful status change. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointAddReturnItem
+
+- extensionPointAddReturnItem: [String](TopLevel.String.md) = "dw.order.return.addReturnItem"
+ - : The extension point name dw.order.return.addReturnItem.
+
+
+---
+
+### extensionPointAfterStatusChange
+
+- extensionPointAfterStatusChange: [String](TopLevel.String.md) = "dw.order.return.afterStatusChange"
+ - : The extension point name dw.order.return.afterStatusChange.
+
+
+---
+
+### extensionPointChangeStatus
+
+- extensionPointChangeStatus: [String](TopLevel.String.md) = "dw.order.return.changeStatus"
+ - : The extension point name dw.order.return.changeStatus.
+
+
+---
+
+### extensionPointCreateReturn
+
+- extensionPointCreateReturn: [String](TopLevel.String.md) = "dw.order.return.createReturn"
+ - : The extension point name dw.order.return.createReturn.
+
+
+---
+
+### extensionPointNotifyStatusChange
+
+- extensionPointNotifyStatusChange: [String](TopLevel.String.md) = "dw.order.return.notifyStatusChange"
+ - : The extension point name dw.order.return.notifyStatusChange.
+
+
+---
+
+## Method Details
+
+### addReturnItem(Return, ReturnItemWO)
+- addReturnItem(retrn: [Return](dw.order.Return.md), inputData: ReturnItemWO): [Status](dw.system.Status.md)
+ - : The hook provides customization in the process of assigning the returned
+ amount, quantity etc. Here it is possible to refund differently based on
+ the return reason code for example. Also one could correct the inventory
+ based on the return information. Utilize
+ [ReturnCaseItem.createReturnItem(String)](dw.order.ReturnCaseItem.md#createreturnitemstring) to create a new
+ [ReturnItem](dw.order.ReturnItem.md).
+
+
+ **Parameters:**
+ - retrn - the return for which an return item should be created
+ - returnCaseItemID - the return case item ID
+ - inputData - the return item
+
+ **Returns:**
+ -
+ - Status.OK return item is successfully added
+ - Status.ERROR return item addition failed.
+
+
+
+---
+
+### afterStatusChange(Return)
+- afterStatusChange(retrn: [Return](dw.order.Return.md)): [Status](dw.system.Status.md)
+ - : Called after method [changeStatus(Return, ReturnWO)](dw.order.hooks.ReturnHooks.md#changestatusreturn-returnwo) returns
+ Status.OK. The call is made in a separate database transaction allowing
+ the script implementation to make an independent remote call if desired.
+
+
+ **Parameters:**
+ - retrn - the return
+ - fromStatus - status from which was changed. The new status can be accessed from retrn directly
+
+ **Returns:**
+ -
+ - Status.OK status successful
+ - Status.ERROR on failure
+
+
+
+---
+
+### changeStatus(Return, ReturnWO)
+- changeStatus(retrn: [Return](dw.order.Return.md), inputData: ReturnWO): [Status](dw.system.Status.md)
+ - : Responsible to change the status of a [Return](dw.order.Return.md): the custom
+ script is responsible for setting the new status using
+ [Return.setStatus(String)](dw.order.Return.md#setstatusstring).
+
+
+
+ The invoice handling should be implemented here using
+ [Return.createInvoice(String)](dw.order.Return.md#createinvoicestring) or
+ [ReturnCase.createInvoice(String)](dw.order.ReturnCase.md#createinvoicestring). For example create an
+ [Invoice](dw.order.Invoice.md) for a [Return](dw.order.Return.md) moving to status
+ [Return.STATUS_COMPLETED](dw.order.Return.md#status_completed).
+
+
+ **Parameters:**
+ - retrn - the return which status should change
+ - inputData - the data in which the new status is included
+
+ **Returns:**
+ -
+ - Status.OK status successfully changed
+ - Status.ERROR status not changed.
+
+
+
+---
+
+### createReturn(ReturnWO)
+- createReturn(inputData: ReturnWO): [Return](dw.order.Return.md)
+ - : This hook is responsible for creating a new [Return](dw.order.Return.md),
+ based on a [ReturnCase](dw.order.ReturnCase.md). 2 basic workflows are supported:
+
+ - On-the-fly return: create the parent [ReturnCase](dw.order.ReturnCase.md)using [Order.createReturnCase(String, Boolean)](dw.order.Order.md#createreturncasestring-boolean).
+ - Return-merchandise-authorization (RMA) workflow: resolve an existing [ReturnCase](dw.order.ReturnCase.md)using [Order.getReturnCase(String)](dw.order.Order.md#getreturncasestring).
+
+ In both cases use [this method](dw.order.ReturnCase.md#createreturnstring) to create the [Return](dw.order.Return.md) based on the inputData.
+
+
+ Additional functionality like creating history entry, handling the return
+ fees or the shipping cost credit can be implemented in the hook after the
+ [Return](dw.order.Return.md) is created.
+
+
+ **Parameters:**
+ - inputData - the return
+
+ **Returns:**
+ - the created return
+
+
+---
+
+### notifyStatusChange(Return)
+- notifyStatusChange(retrn: [Return](dw.order.Return.md)): [Status](dw.system.Status.md)
+ - : Called after method [changeStatus(Return, ReturnWO)](dw.order.hooks.ReturnHooks.md#changestatusreturn-returnwo) returns
+ Status.OK (and after method [afterStatusChange(Return)](dw.order.hooks.ReturnHooks.md#afterstatuschangereturn))
+ to inform of a successful status change. The call is made outside any
+ database transaction. This is the best hook in which to send customer
+ notifications as the status change has already been successfully written
+ to the database
+
+
+ **Parameters:**
+ - retrn - the return
+ - fromStatus - status from which was changed. The new status can be accessed from retrn directly
+
+ **Returns:**
+ -
+ - Status.OK status successful
+ - Status.ERROR on failure
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.ShippingOrderHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.ShippingOrderHooks.md
new file mode 100644
index 00000000..a0931926
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.ShippingOrderHooks.md
@@ -0,0 +1,426 @@
+
+# Class ShippingOrderHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.hooks.ShippingOrderHooks](dw.order.hooks.ShippingOrderHooks.md)
+
+This interface represents all script hooks that can be registered around
+shipping order lifecycle. It contains the extension points (hook names), and
+the functions that are called by each extension point. A function must be
+defined inside a JavaScript source and must be exported. The script with the
+exported hook function must be located inside a site cartridge. Inside the
+site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+"hooks": "./hooks.json"
+
+
+The hooks entry links to a json file, relative to the 'package.json' file.
+This file lists all registered hooks inside the hooks property:
+
+
+
+
+```
+"hooks": [
+ {"name": "dw.order.shippingorder.updateShippingOrderItem", "script": "./shippingOrderUpdate.ds"},
+]
+```
+
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointAfterStatusChange](#extensionpointafterstatuschange): [String](TopLevel.String.md) = "dw.order.shippingorder.afterStatusChange" | The extension point name dw.order.shippingorder.afterStatusChange. |
+| [extensionPointChangeStatus](#extensionpointchangestatus): [String](TopLevel.String.md) = "dw.order.shippingorder.changeStatus" | The extension point name dw.order.shippingorder.changeStatus. |
+| [extensionPointCreateShippingOrders](#extensionpointcreateshippingorders): [String](TopLevel.String.md) = "dw.order.shippingorder.createShippingOrders" | The extension point name dw.order.shippingorder.createShippingOrders. |
+| [extensionPointNotifyStatusChange](#extensionpointnotifystatuschange): [String](TopLevel.String.md) = "dw.order.shippingorder.notifyStatusChange" | The extension point name dw.order.shippingorder.notifyStatusChange. |
+| [extensionPointPrepareCreateShippingOrders](#extensionpointpreparecreateshippingorders): [String](TopLevel.String.md) = "dw.order.shippingorder.prepareCreateShippingOrders" | The extension point name dw.order.shippingorder.prepareCreateShippingOrders. |
+| [extensionPointResolveShippingOrder](#extensionpointresolveshippingorder): [String](TopLevel.String.md) = "dw.order.shippingorder.resolveShippingOrder" | The extension point name dw.order.shippingorder.resolveShippingOrder . |
+| [extensionPointShippingOrderCancelled](#extensionpointshippingordercancelled): [String](TopLevel.String.md) = "dw.order.shippingorder.setShippingOrderCancelled" | The extension point name dw.order.shippingorder.setShippingOrderCancelled. |
+| [extensionPointShippingOrderShipped](#extensionpointshippingordershipped): [String](TopLevel.String.md) = "dw.order.shippingorder.setShippingOrderShipped" | The extension point name dw.order.shippingorder.setShippingOrderShipped. |
+| [extensionPointShippingOrderWarehouse](#extensionpointshippingorderwarehouse): [String](TopLevel.String.md) = "dw.order.shippingorder.setShippingOrderWarehouse" | The extension point name dw.order.shippingorder.setShippingOrderWarehouse. |
+| [extensionPointUpdateShippingOrderItem](#extensionpointupdateshippingorderitem): [String](TopLevel.String.md) = "dw.order.shippingorder.updateShippingOrderItem" | The extension point name dw.order.shippingorder.updateShippingOrderItem. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [afterStatusChange](dw.order.hooks.ShippingOrderHooks.md#afterstatuschangeshippingorder)([ShippingOrder](dw.order.ShippingOrder.md)) | After Status change hook. |
+| [changeStatus](dw.order.hooks.ShippingOrderHooks.md#changestatusshippingorder-shippingorderwo)([ShippingOrder](dw.order.ShippingOrder.md), ShippingOrderWO) | Change the status of a shipping order. |
+| [createShippingOrders](dw.order.hooks.ShippingOrderHooks.md#createshippingordersorder)([Order](dw.order.Order.md)) | Called during shipping order creation for an order. |
+| [notifyStatusChange](dw.order.hooks.ShippingOrderHooks.md#notifystatuschangeshippingorder)([ShippingOrder](dw.order.ShippingOrder.md)) | Notify Status change hook. |
+| [prepareCreateShippingOrders](dw.order.hooks.ShippingOrderHooks.md#preparecreateshippingordersorder)([Order](dw.order.Order.md)) | Called before shipping order creation for an order takes place. |
+| [resolveShippingOrder](dw.order.hooks.ShippingOrderHooks.md#resolveshippingordershippingorderwo)(ShippingOrderWO) | Resolve the shipping order. |
+| [setShippingOrderCancelled](dw.order.hooks.ShippingOrderHooks.md#setshippingordercancelledshippingorderwo)(ShippingOrderWO) | Change the status of a shipping order to cancelled. |
+| [setShippingOrderShipped](dw.order.hooks.ShippingOrderHooks.md#setshippingordershippedshippingorderwo)(ShippingOrderWO) | Change the status of a shipping order to shipped. |
+| [setShippingOrderWarehouse](dw.order.hooks.ShippingOrderHooks.md#setshippingorderwarehouseshippingorderwo)(ShippingOrderWO) | Change the status of a shipping order to warehouse. |
+| [updateShippingOrderItem](dw.order.hooks.ShippingOrderHooks.md#updateshippingorderitemshippingorder-shippingorderitemwo)([ShippingOrder](dw.order.ShippingOrder.md), ShippingOrderItemWO) | Updates the status of a shipping order item. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointAfterStatusChange
+
+- extensionPointAfterStatusChange: [String](TopLevel.String.md) = "dw.order.shippingorder.afterStatusChange"
+ - : The extension point name dw.order.shippingorder.afterStatusChange.
+
+
+---
+
+### extensionPointChangeStatus
+
+- extensionPointChangeStatus: [String](TopLevel.String.md) = "dw.order.shippingorder.changeStatus"
+ - : The extension point name dw.order.shippingorder.changeStatus.
+
+
+---
+
+### extensionPointCreateShippingOrders
+
+- extensionPointCreateShippingOrders: [String](TopLevel.String.md) = "dw.order.shippingorder.createShippingOrders"
+ - : The extension point name dw.order.shippingorder.createShippingOrders.
+
+
+---
+
+### extensionPointNotifyStatusChange
+
+- extensionPointNotifyStatusChange: [String](TopLevel.String.md) = "dw.order.shippingorder.notifyStatusChange"
+ - : The extension point name dw.order.shippingorder.notifyStatusChange.
+
+
+---
+
+### extensionPointPrepareCreateShippingOrders
+
+- extensionPointPrepareCreateShippingOrders: [String](TopLevel.String.md) = "dw.order.shippingorder.prepareCreateShippingOrders"
+ - : The extension point name
+ dw.order.shippingorder.prepareCreateShippingOrders.
+
+
+
+---
+
+### extensionPointResolveShippingOrder
+
+- extensionPointResolveShippingOrder: [String](TopLevel.String.md) = "dw.order.shippingorder.resolveShippingOrder"
+ - : The extension point name dw.order.shippingorder.resolveShippingOrder .
+
+
+---
+
+### extensionPointShippingOrderCancelled
+
+- extensionPointShippingOrderCancelled: [String](TopLevel.String.md) = "dw.order.shippingorder.setShippingOrderCancelled"
+ - : The extension point name dw.order.shippingorder.setShippingOrderCancelled.
+
+
+---
+
+### extensionPointShippingOrderShipped
+
+- extensionPointShippingOrderShipped: [String](TopLevel.String.md) = "dw.order.shippingorder.setShippingOrderShipped"
+ - : The extension point name dw.order.shippingorder.setShippingOrderShipped.
+
+
+---
+
+### extensionPointShippingOrderWarehouse
+
+- extensionPointShippingOrderWarehouse: [String](TopLevel.String.md) = "dw.order.shippingorder.setShippingOrderWarehouse"
+ - : The extension point name dw.order.shippingorder.setShippingOrderWarehouse.
+
+
+---
+
+### extensionPointUpdateShippingOrderItem
+
+- extensionPointUpdateShippingOrderItem: [String](TopLevel.String.md) = "dw.order.shippingorder.updateShippingOrderItem"
+ - : The extension point name dw.order.shippingorder.updateShippingOrderItem.
+
+
+---
+
+## Method Details
+
+### afterStatusChange(ShippingOrder)
+- afterStatusChange(shippingOrder: [ShippingOrder](dw.order.ShippingOrder.md)): [Status](dw.system.Status.md)
+ - : After Status change hook.
+
+
+ The function is called by extension point
+ [extensionPointAfterStatusChange](dw.order.hooks.ShippingOrderHooks.md#extensionpointafterstatuschange).
+
+ The implementation of this hook is optional. If defined the hook is
+ called after [extensionPointChangeStatus](dw.order.hooks.ShippingOrderHooks.md#extensionpointchangestatus) or respectively after
+ [extensionPointShippingOrderShipped](dw.order.hooks.ShippingOrderHooks.md#extensionpointshippingordershipped),
+ [extensionPointShippingOrderCancelled](dw.order.hooks.ShippingOrderHooks.md#extensionpointshippingordercancelled) or
+ [extensionPointShippingOrderWarehouse](dw.order.hooks.ShippingOrderHooks.md#extensionpointshippingorderwarehouse)
+
+ Runs inside of a transaction.
+
+
+ **Parameters:**
+ - shippingOrder - the shipping order to be updated
+
+ **Returns:**
+ - the resulting status
+
+
+---
+
+### changeStatus(ShippingOrder, ShippingOrderWO)
+- changeStatus(shippingOrder: [ShippingOrder](dw.order.ShippingOrder.md), updateData: ShippingOrderWO): [Status](dw.system.Status.md)
+ - : Change the status of a shipping order.
+
+
+ The function is called by extension point
+ [extensionPointChangeStatus](dw.order.hooks.ShippingOrderHooks.md#extensionpointchangestatus).
+
+ Runs inside a transaction together with the hooks
+ [extensionPointResolveShippingOrder](dw.order.hooks.ShippingOrderHooks.md#extensionpointresolveshippingorder)
+ [extensionPointUpdateShippingOrderItem](dw.order.hooks.ShippingOrderHooks.md#extensionpointupdateshippingorderitem).
+
+
+ Runs after the iteration over the input's items collection as the last
+ step in this transaction. The implementation of this hook is mandatory.
+
+
+ **Parameters:**
+ - shippingOrder - the shipping order to be updated
+ - updateData - the input data
+
+ **Returns:**
+ - the resulting status
+
+
+---
+
+### createShippingOrders(Order)
+- createShippingOrders(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - : Called during shipping order creation for an order.
+
+
+ The function is called by extension point
+ [extensionPointCreateShippingOrders](dw.order.hooks.ShippingOrderHooks.md#extensionpointcreateshippingorders). It is responsible for
+ creating shipping orders and its items for the order. Preparations for
+ shipping order creation can be done before in hook
+ [extensionPointPrepareCreateShippingOrders](dw.order.hooks.ShippingOrderHooks.md#extensionpointpreparecreateshippingorders).
+
+ Runs inside of a transaction. The implementation of this hook is
+ mandatory.
+
+
+ **Parameters:**
+ - order - the order to create shipping orders for
+
+ **Returns:**
+ - the resulting status
+
+
+---
+
+### notifyStatusChange(ShippingOrder)
+- notifyStatusChange(shippingOrder: [ShippingOrder](dw.order.ShippingOrder.md)): [Status](dw.system.Status.md)
+ - : Notify Status change hook.
+
+
+ The function is called by extension point
+ [extensionPointNotifyStatusChange](dw.order.hooks.ShippingOrderHooks.md#extensionpointnotifystatuschange).
+
+ The implementation of this hook is optional. If defined the hook is
+ called after [extensionPointAfterStatusChange](dw.order.hooks.ShippingOrderHooks.md#extensionpointafterstatuschange) as the last step
+ in the shipping order update process.
+
+ Runs outside of a transaction.
+
+
+ **Parameters:**
+ - shippingOrder - the shipping order to be updated
+
+ **Returns:**
+ - the resulting status
+
+
+---
+
+### prepareCreateShippingOrders(Order)
+- prepareCreateShippingOrders(order: [Order](dw.order.Order.md)): [Status](dw.system.Status.md)
+ - : Called before shipping order creation for an order takes place. Typically
+ the hook is used to check the payment authorization status of the order.
+
+
+ The function is called by extension point
+ [extensionPointPrepareCreateShippingOrders](dw.order.hooks.ShippingOrderHooks.md#extensionpointpreparecreateshippingorders).
+
+ Runs inside its own transaction. The value of the return status is used
+ to control whether hook [createShippingOrders(Order)](dw.order.hooks.ShippingOrderHooks.md#createshippingordersorder) is called
+ for the order or not. The implementation of this hook is mandatory.
+
+
+ **Parameters:**
+ - order - the order to create shipping orders for
+
+ **Returns:**
+ -
+ - Status.OK successful preparation - continue with shipping order creation for this order.
+ - Status.ERROR failed preparation - skip shipping order creation for this order.
+
+
+
+---
+
+### resolveShippingOrder(ShippingOrderWO)
+- resolveShippingOrder(updateData: ShippingOrderWO): [ShippingOrder](dw.order.ShippingOrder.md)
+ - : Resolve the shipping order. Will be called as first step of the update.
+
+
+ The function is called by extension point
+ [extensionPointResolveShippingOrder](dw.order.hooks.ShippingOrderHooks.md#extensionpointresolveshippingorder).
+
+ Runs inside a transaction together with the hooks
+
+ [extensionPointUpdateShippingOrderItem](dw.order.hooks.ShippingOrderHooks.md#extensionpointupdateshippingorderitem)
+ [extensionPointChangeStatus](dw.order.hooks.ShippingOrderHooks.md#extensionpointchangestatus). The implementation of this hook is
+ mandatory.
+
+
+ **Parameters:**
+ - updateData - the input data
+
+ **Returns:**
+ - the shipping order to update
+
+
+---
+
+### setShippingOrderCancelled(ShippingOrderWO)
+- setShippingOrderCancelled(updateData: ShippingOrderWO): [Order](dw.order.Order.md)
+ - : Change the status of a shipping order to cancelled.
+
+
+ The function is called by extension point
+ [extensionPointShippingOrderCancelled](dw.order.hooks.ShippingOrderHooks.md#extensionpointshippingordercancelled).
+
+ This is an optional hook that can be implemented to have full control
+ over status change to destination status Cancelled. The following hooks
+ will be skipped if an implementation for this hook is registered:
+ [extensionPointResolveShippingOrder](dw.order.hooks.ShippingOrderHooks.md#extensionpointresolveshippingorder),
+ [extensionPointUpdateShippingOrderItem](dw.order.hooks.ShippingOrderHooks.md#extensionpointupdateshippingorderitem),
+ [extensionPointChangeStatus](dw.order.hooks.ShippingOrderHooks.md#extensionpointchangestatus).
+
+ Runs inside of a transaction.
+
+
+ **Parameters:**
+ - updateData - the input data
+
+ **Returns:**
+ - the changed order or {code}null{code}
+
+
+---
+
+### setShippingOrderShipped(ShippingOrderWO)
+- setShippingOrderShipped(updateData: ShippingOrderWO): [Order](dw.order.Order.md)
+ - : Change the status of a shipping order to shipped.
+
+
+ The function is called by extension point
+ [extensionPointShippingOrderShipped](dw.order.hooks.ShippingOrderHooks.md#extensionpointshippingordershipped).
+
+ This is an optional hook that can be implemented to have full control
+ over status change to destination status Shipped. The following hooks
+ will be skipped if an implementation for this hook is registered:
+ [extensionPointResolveShippingOrder](dw.order.hooks.ShippingOrderHooks.md#extensionpointresolveshippingorder)
+ [extensionPointUpdateShippingOrderItem](dw.order.hooks.ShippingOrderHooks.md#extensionpointupdateshippingorderitem),
+ [extensionPointChangeStatus](dw.order.hooks.ShippingOrderHooks.md#extensionpointchangestatus).
+
+ Runs inside of a transaction.
+
+
+ **Parameters:**
+ - updateData - the input data
+
+ **Returns:**
+ - the changed order or {code}null{code}
+
+
+---
+
+### setShippingOrderWarehouse(ShippingOrderWO)
+- setShippingOrderWarehouse(updateData: ShippingOrderWO): [Order](dw.order.Order.md)
+ - : Change the status of a shipping order to warehouse.
+
+
+ The function is called by extension point
+ [extensionPointShippingOrderWarehouse](dw.order.hooks.ShippingOrderHooks.md#extensionpointshippingorderwarehouse).
+
+ This is an optional hook that can be implemented to have full control
+ over status change to destination status Warehouse. The following hooks
+ will be skipped if an implementation for this hook is registered:
+ [extensionPointResolveShippingOrder](dw.order.hooks.ShippingOrderHooks.md#extensionpointresolveshippingorder),
+ [extensionPointUpdateShippingOrderItem](dw.order.hooks.ShippingOrderHooks.md#extensionpointupdateshippingorderitem),
+ [extensionPointChangeStatus](dw.order.hooks.ShippingOrderHooks.md#extensionpointchangestatus).
+
+ Runs inside of a transaction.
+
+
+ **Parameters:**
+ - updateData - the input data
+
+ **Returns:**
+ - the changed order or {code}null{code}
+
+
+---
+
+### updateShippingOrderItem(ShippingOrder, ShippingOrderItemWO)
+- updateShippingOrderItem(shippingOrder: [ShippingOrder](dw.order.ShippingOrder.md), updateItem: ShippingOrderItemWO): [Status](dw.system.Status.md)
+ - : Updates the status of a shipping order item.
+
+
+ The function is called by extension point
+ [extensionPointUpdateShippingOrderItem](dw.order.hooks.ShippingOrderHooks.md#extensionpointupdateshippingorderitem).
+
+ Runs inside a transaction together with the hooks
+
+ [extensionPointResolveShippingOrder](dw.order.hooks.ShippingOrderHooks.md#extensionpointresolveshippingorder)
+ [extensionPointChangeStatus](dw.order.hooks.ShippingOrderHooks.md#extensionpointchangestatus). The implementation of this hook is
+ mandatory.
+
+
+ **Parameters:**
+ - shippingOrder - the shipping order
+ - updateItem - the input data
+
+ **Returns:**
+ - the resulting status
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.md
new file mode 100644
index 00000000..ec5a2752
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.hooks.md
@@ -0,0 +1,12 @@
+# Package dw.order.hooks
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [BasketMergeHooks](dw.order.hooks.BasketMergeHooks.md) | This interface represents all script hooks that can be registered to merge baskets. |
+| [CalculateHooks](dw.order.hooks.CalculateHooks.md) | This interface represents all script hooks that can be registered to customize the order and basket calculation functionality. |
+| [CheckoutHooks](dw.order.hooks.CheckoutHooks.md) | This interface represents script hooks that can be registered to populate customer details into a basket. |
+| [OrderHooks](dw.order.hooks.OrderHooks.md) | This interface represents all script hooks that can be registered to customize the order logic. |
+| [PaymentHooks](dw.order.hooks.PaymentHooks.md) | This interface represents all script hooks that can be registered to customize the order center payment functionality. |
+| [ReturnHooks](dw.order.hooks.ReturnHooks.md) | This interface represents all script hooks that can be registered to customizing the order center return resource. |
+| [ShippingOrderHooks](dw.order.hooks.ShippingOrderHooks.md) | This interface represents all script hooks that can be registered around shipping order lifecycle. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.md
new file mode 100644
index 00000000..b09a3638
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.md
@@ -0,0 +1,64 @@
+# Package dw.order
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [AbstractItem](dw.order.AbstractItem.md) | An item which references, or in other words is based upon, an [OrderItem](dw.order.OrderItem.md). |
+| [AbstractItemCtnr](dw.order.AbstractItemCtnr.md) | Basis for item-based objects stemming from a single [Order](dw.order.Order.md), with these common properties (Invoice is used as an example):
+ - publicKey - A Base64 encoded form of the public key to be used to encrypt this credit card number. Must be a valid, non-blank key.
+
+ **Returns:**
+ - the Base64 encoded representation of the credit card number.
+
+ **Throws:**
+ - IllegalArgumentException - If `algorithm` is not a valid known algorithm.
+ - IllegalArgumentException - If `publicKey` is a null, empty or blank string.
+
+ **See Also:**
+ - [isPermanentlyMasked()](dw.order.PaymentInstrument.md#ispermanentlymasked)
+
+ **Deprecated:**
+:::warning
+Please use [getEncryptedCreditCardNumber(String, CertificateRef)](dw.order.PaymentInstrument.md#getencryptedcreditcardnumberstring-certificateref) instead.
+:::
+
+---
+
+### getGiftCertificateCode()
+- getGiftCertificateCode(): [String](TopLevel.String.md)
+ - : Returns the Gift Certificate code for this Payment Instrument.
+
+ **Returns:**
+ - the Gift Certificate code or null if not set.
+
+
+---
+
+### getGiftCertificateID()
+- ~~getGiftCertificateID(): [String](TopLevel.String.md)~~
+ - : Returns the Gift Certificate ID for this Payment Instrument.
+
+ **Returns:**
+ - the Gift Certificate ID or null if not set.
+
+ **Deprecated:**
+:::warning
+Use [getGiftCertificateCode()](dw.order.PaymentInstrument.md#getgiftcertificatecode)
+:::
+
+---
+
+### getMaskedBankAccountDriversLicense()
+- getMaskedBankAccountDriversLicense(): [String](TopLevel.String.md)
+ - : Returns the decrypted driver's license number of the bank account with
+ all but the last 4 characters replaced with a '\*' character.
+
+ If the driver's license number is empty,
+ it will be returned without an exception.
+
+
+ **Returns:**
+ - the decrypted driver's license number with
+ all but the last 4 characters replaced with a '\*' character.
+
+
+
+---
+
+### getMaskedBankAccountDriversLicense(Number)
+- getMaskedBankAccountDriversLicense(ignore: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the decrypted driver's license number of the bank account with
+ all but the specified number characters replaced with a '\*' character.
+
+ If the driver's license number is empty (i.e. "" or null),
+ it will be returned without an exception.
+
+ Note that `ignore` is limited to 4 in an unsecure environment,
+ and if account information for this payment instrument has been masked
+ due to the data retention security policy for the site.
+
+
+ **Parameters:**
+ - ignore - the number of characters to leave unmasked.
+
+ **Returns:**
+ - the decrypted driver's license number with
+ all but the specified number characters replaced with a '\*' character.
+
+
+ **See Also:**
+ - [isPermanentlyMasked()](dw.order.PaymentInstrument.md#ispermanentlymasked)
+
+
+---
+
+### getMaskedBankAccountNumber()
+- getMaskedBankAccountNumber(): [String](TopLevel.String.md)
+ - : Returns the decrypted bank account number with
+ all but the last 4 characters replaced with a '\*' character.
+
+ If the number is empty (i.e. "" or null),
+ it will be returned without an exception.
+
+
+ **Returns:**
+ - the decrypted bank account number with
+ all but the last 4 characters replaced with a '\*' character.
+
+
+
+---
+
+### getMaskedBankAccountNumber(Number)
+- getMaskedBankAccountNumber(ignore: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the decrypted bank account number with
+ all but the specified number characters replaced with a '\*' character.
+
+ If the card number is empty (i.e. "" or null),
+ it will be returned without an exception.
+
+ Note that `ignore` is limited to 4 in an unsecure environment,
+ and if account information for this payment instrument has been masked
+ due to the data retention security policy for the site.
+
+
+ **Parameters:**
+ - ignore - the number of characters to leave unmasked
+
+ **Returns:**
+ - the decrypted bank account number with
+ all but the specified number of characters replaced with a '\*' character.
+
+
+ **See Also:**
+ - [isPermanentlyMasked()](dw.order.PaymentInstrument.md#ispermanentlymasked)
+
+
+---
+
+### getMaskedCreditCardNumber()
+- getMaskedCreditCardNumber(): [String](TopLevel.String.md)
+ - : Returns the decrypted credit card number with
+ all but the last 4 characters replaced with a '\*' character.
+
+ If the number is empty,
+ it will be returned without an exception.
+
+
+ **Returns:**
+ - the decrypted credit card number with
+ all but the last 4 characters replaced with a '\*' character.
+
+
+
+---
+
+### getMaskedCreditCardNumber(Number)
+- getMaskedCreditCardNumber(ignore: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the decrypted credit card number with
+ all but the specified number characters replaced with a '\*' character.
+
+ If the card number is empty (i.e. "" or null),
+ it will be returned without an exception.
+
+ Note that `ignore` is limited to 4 in an unsecure environment,
+ and if account information for this payment instrument has been masked
+ due to the data retention security policy for the site.
+
+
+ **Parameters:**
+ - ignore - the number of characters to leave unmasked.
+
+ **Returns:**
+ - the decrypted credit card number with
+ all but the specified number characters replaced with a '\*' character.
+
+
+ **See Also:**
+ - [isPermanentlyMasked()](dw.order.PaymentInstrument.md#ispermanentlymasked)
+
+
+---
+
+### getMaskedGiftCertificateCode()
+- getMaskedGiftCertificateCode(): [String](TopLevel.String.md)
+ - : Returns the masked gift certificate code with
+ all but the last 4 characters replaced with a '\*' character.
+
+
+ **Returns:**
+ - the masked gift certificate code.
+
+
+---
+
+### getMaskedGiftCertificateCode(Number)
+- getMaskedGiftCertificateCode(ignore: [Number](TopLevel.Number.md)): [String](TopLevel.String.md)
+ - : Returns the masked gift certificate code with
+ all but the specified number of characters replaced with a '\*' character.
+
+
+ **Parameters:**
+ - ignore - the number of characters to leave unmasked.
+
+ **Returns:**
+ - the masked gift certificate code.
+
+ **Throws:**
+ - IllegalArgumentException - if ignore is negative.
+
+
+---
+
+### getPaymentMethod()
+- getPaymentMethod(): [String](TopLevel.String.md)
+ - : Returns the identifier of the payment method represented by this
+ payment instrument.
+
+
+ **Returns:**
+ - the identifier of the payment method represented by this
+ payment instrument.
+
+
+
+---
+
+### isCreditCardExpired()
+- isCreditCardExpired(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this payment instrument represents an expired credit
+ card. This check is only logical if the credit card expiration month and
+ year are set. If either of these attributes are not set, then this method
+ always returns false.
+
+
+ **Returns:**
+ - true if this payment instrument represents an expired credit
+ card, false otherwise
+
+
+
+---
+
+### isPermanentlyMasked()
+- isPermanentlyMasked(): [Boolean](TopLevel.Boolean.md)
+ - : Returns `true` if the account information for this Payment Instrument
+ has been permanently masked as a result of the data retention security policy
+ for the site or a creditcard tokenization, and `false` otherwise.
+
+ When account information is masked only the last 4 digits of the credit card
+ or bank account number are recoverable. The bank account driver's license number
+ and bank routing number are completely masked.
+
+
+ **Returns:**
+ - whether or not the account information has been masked
+
+
+---
+
+### setBankAccountDriversLicense(String)
+- setBankAccountDriversLicense(license: [String](TopLevel.String.md)): void
+ - : Set the driver's license number associated with a bank account payment instrument.
+
+ **Parameters:**
+ - license - the bank account holder driver's license.
+
+
+---
+
+### setBankAccountDriversLicenseStateCode(String)
+- setBankAccountDriversLicenseStateCode(stateCode: [String](TopLevel.String.md)): void
+ - : Set the driver's license state code associated with a bank account payment instrument.
+
+ **Parameters:**
+ - stateCode - the state in which the bank account driver's license was issued.
+
+
+---
+
+### setBankAccountHolder(String)
+- setBankAccountHolder(holder: [String](TopLevel.String.md)): void
+ - : Set the full name of the holder of a bank account payment instrument.
+
+ **Parameters:**
+ - holder - the bank account holder's full name.
+
+
+---
+
+### setBankAccountNumber(String)
+- setBankAccountNumber(accountNumber: [String](TopLevel.String.md)): void
+ - : Set the bank account number of a bank account payment instrument.
+
+ **Parameters:**
+ - accountNumber - the bank account number.
+
+
+---
+
+### setBankRoutingNumber(String)
+- setBankRoutingNumber(routingNumber: [String](TopLevel.String.md)): void
+ - : Set the bank routing number of a bank account payment instrument.
+
+ **Parameters:**
+ - routingNumber - the bank account rounting number.
+
+
+---
+
+### setCreditCardExpirationMonth(Number)
+- setCreditCardExpirationMonth(aValue: [Number](TopLevel.Number.md)): void
+ - : Sets the month of the year in which the credit card
+ expires. Permissible values are from 1 to 12.
+
+
+ **Parameters:**
+ - aValue - the month of the year in which the credit card expires. Permissible values are from 1 to 12.
+
+
+---
+
+### setCreditCardExpirationYear(Number)
+- setCreditCardExpirationYear(aValue: [Number](TopLevel.Number.md)): void
+ - : Sets the year in which the credit card
+ expires, such as '2004'.
+
+
+ **Parameters:**
+ - aValue - the year in which the credit card expires.
+
+
+---
+
+### setCreditCardHolder(String)
+- setCreditCardHolder(aValue: [String](TopLevel.String.md)): void
+ - : Sets the name of the credit card owner.
+
+ **Parameters:**
+ - aValue - the name of the credit card owner.
+
+
+---
+
+### setCreditCardIssueNumber(String)
+- setCreditCardIssueNumber(aValue: [String](TopLevel.String.md)): void
+ - : Set the credit card issue number. This attribute is only used by
+ specific credit/debit card processors such as Solo and Switch in the UK.
+
+
+ **Parameters:**
+ - aValue - the credit card issue number
+
+
+---
+
+### setCreditCardNumber(String)
+- setCreditCardNumber(aValue: [String](TopLevel.String.md)): void
+ - : Sets the credit card number for this payment.
+
+ **Parameters:**
+ - aValue - the new value of the credit card number.
+
+
+---
+
+### setCreditCardToken(String)
+- setCreditCardToken(token: [String](TopLevel.String.md)): void
+ - : Secure credit card data can be replaced by a token by utilizing a
+ tokenization provider, which securely stores the credit card data using
+ the token as a key. The stored data can later reused by including the
+ token in a request. In this way credit card processes such as
+ authorization and capture can be implemented without being responsible
+ for persisting the credit card data.
+
+
+ An Exception will be thrown when the token is null or blank.
+
+
+ When setting a credit card token, the account information (including the
+ creditcard number) is masked and all creditcard attributes are frozen and
+ an attempt to change will be result in an exception.
+
+
+ **Parameters:**
+ - token - the token
+
+ **See Also:**
+ - [isPermanentlyMasked()](dw.order.PaymentInstrument.md#ispermanentlymasked)
+
+
+---
+
+### setCreditCardType(String)
+- setCreditCardType(aValue: [String](TopLevel.String.md)): void
+ - : Sets the type of the credit card.
+
+ **Parameters:**
+ - aValue - the type of the credit card.
+
+
+---
+
+### setCreditCardValidFromMonth(Number)
+- setCreditCardValidFromMonth(aValue: [Number](TopLevel.Number.md)): void
+ - : Sets the month of the year in which the credit card became valid (1-12).
+ This attribute is not used by all credit card types
+
+
+ **Parameters:**
+ - aValue - the month of the year in which the credit card became valid (1-12).
+
+
+---
+
+### setCreditCardValidFromYear(Number)
+- setCreditCardValidFromYear(aValue: [Number](TopLevel.Number.md)): void
+ - : Sets the year in which the credit card became valid, such as '2001'.
+ This attribute is not used by all credit card types.
+
+
+ **Parameters:**
+ - aValue - the year in which the credit card became valid
+
+
+---
+
+### setGiftCertificateCode(String)
+- setGiftCertificateCode(giftCertificateCode: [String](TopLevel.String.md)): void
+ - : Sets the Gift Certificate code for this Payment Instrument.
+
+ **Parameters:**
+ - giftCertificateCode - the Gift Certificate code.
+
+
+---
+
+### setGiftCertificateID(String)
+- ~~setGiftCertificateID(giftCertificateID: [String](TopLevel.String.md)): void~~
+ - : Sets the Gift Certificate ID for this Payment Instrument.
+
+ **Parameters:**
+ - giftCertificateID - the Gift Certificate ID.
+
+ **Deprecated:**
+:::warning
+Use [setGiftCertificateCode(String)](dw.order.PaymentInstrument.md#setgiftcertificatecodestring)
+:::
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentMethod.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentMethod.md
new file mode 100644
index 00000000..56aaec28
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentMethod.md
@@ -0,0 +1,257 @@
+
+# Class PaymentMethod
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.PaymentMethod](dw.order.PaymentMethod.md)
+
+The PaymentMethod class represents a logical type of payment a customer can
+make in the storefront. This class provides methods to access the payment
+method attributes, status, and (for card-based payment methods) the related
+payment cards.
+
+
+A typical storefront presents the customer a list of payment methods that a
+customer can choose from after he has entered his billing address during the
+checkout.
+[PaymentMgr.getApplicablePaymentMethods(Customer, String, Number)](dw.order.PaymentMgr.md#getapplicablepaymentmethodscustomer-string-number)
+is used to determine the PaymentMethods that are relevant for the customer
+based on the amount of his order, his customer groups, and his shipping
+address.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the unique ID of the payment method. |
+| [active](#active): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if payment method is active (enabled), otherwise 'false' is returned. |
+| [activePaymentCards](#activepaymentcards): [List](dw.util.List.md) `(read-only)` | Returns enabled payment cards that are assigned to this payment method, regardless of current customer, country or payment amount restrictions. |
+| [description](#description): [MarkupText](dw.content.MarkupText.md) `(read-only)` | Returns the description of the payment method. |
+| [image](#image): [MediaFile](dw.content.MediaFile.md) `(read-only)` | Returns the reference to the payment method image. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Returns the name of the payment method. |
+| [paymentProcessor](#paymentprocessor): [PaymentProcessor](dw.order.PaymentProcessor.md) `(read-only)` | Returns the payment processor associated to this payment method. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getActivePaymentCards](dw.order.PaymentMethod.md#getactivepaymentcards)() | Returns enabled payment cards that are assigned to this payment method, regardless of current customer, country or payment amount restrictions. |
+| [getApplicablePaymentCards](dw.order.PaymentMethod.md#getapplicablepaymentcardscustomer-string-number)([Customer](dw.customer.Customer.md), [String](TopLevel.String.md), [Number](TopLevel.Number.md)) | Returns the sorted list of all enabled payment cards of this payment method applicable for the specified customer, country, payment amount and the session currency The payment cards are sorted as defined in the Business Manager. |
+| [getDescription](dw.order.PaymentMethod.md#getdescription)() | Returns the description of the payment method. |
+| [getID](dw.order.PaymentMethod.md#getid)() | Returns the unique ID of the payment method. |
+| [getImage](dw.order.PaymentMethod.md#getimage)() | Returns the reference to the payment method image. |
+| [getName](dw.order.PaymentMethod.md#getname)() | Returns the name of the payment method. |
+| [getPaymentProcessor](dw.order.PaymentMethod.md#getpaymentprocessor)() | Returns the payment processor associated to this payment method. |
+| [isActive](dw.order.PaymentMethod.md#isactive)() | Returns 'true' if payment method is active (enabled), otherwise 'false' is returned. |
+| [isApplicable](dw.order.PaymentMethod.md#isapplicablecustomer-string-number)([Customer](dw.customer.Customer.md), [String](TopLevel.String.md), [Number](TopLevel.Number.md)) | Returns 'true' if this payment method is applicable for the specified customer, country and payment amount and the session currency. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique ID of the payment method.
+
+
+---
+
+### active
+- active: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if payment method is active (enabled), otherwise 'false' is returned.
+
+
+---
+
+### activePaymentCards
+- activePaymentCards: [List](dw.util.List.md) `(read-only)`
+ - : Returns enabled payment cards that are assigned to this payment method, regardless
+ of current customer, country or payment amount restrictions.
+ The payment cards are sorted as defined in the Business Manager.
+
+
+
+---
+
+### description
+- description: [MarkupText](dw.content.MarkupText.md) `(read-only)`
+ - : Returns the description of the payment method.
+
+
+---
+
+### image
+- image: [MediaFile](dw.content.MediaFile.md) `(read-only)`
+ - : Returns the reference to the payment method image.
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the payment method.
+
+
+---
+
+### paymentProcessor
+- paymentProcessor: [PaymentProcessor](dw.order.PaymentProcessor.md) `(read-only)`
+ - : Returns the payment processor associated to this payment method.
+
+
+---
+
+## Method Details
+
+### getActivePaymentCards()
+- getActivePaymentCards(): [List](dw.util.List.md)
+ - : Returns enabled payment cards that are assigned to this payment method, regardless
+ of current customer, country or payment amount restrictions.
+ The payment cards are sorted as defined in the Business Manager.
+
+
+ **Returns:**
+ - List of enabled payment cards of current site
+
+
+---
+
+### getApplicablePaymentCards(Customer, String, Number)
+- getApplicablePaymentCards(customer: [Customer](dw.customer.Customer.md), countryCode: [String](TopLevel.String.md), paymentAmount: [Number](TopLevel.Number.md)): [List](dw.util.List.md)
+ - : Returns the sorted list of all enabled payment cards of this payment
+ method applicable for the specified customer, country, payment amount and the session currency
+ The payment cards are sorted as defined in the Business Manager.
+
+
+ A payment card is applicable if
+
+ - the card is restricted by customer group, and at least one of the groups of the specified customer is assigned to the card
+ - the card is restricted by billing country, and the specified country code is assigned to the card
+ - the card is restricted by payment amount for the session currency, and the specified payment amount is within the limits of the min/max payment amount defined for the method and the session currency
+ - the card is restricted by currency code, and the specified currency code matches session currency.
+
+
+ All parameters are optional, and if not specified, the respective
+ restriction won't be validated. For example, if a card is restricted
+ by billing country, but no country code is specified, this card will
+ be returned, unless it is filtered out by customer group or payment
+ amount.
+
+
+ **Parameters:**
+ - customer - Customer or null
+ - countryCode - Billing country code or null
+ - paymentAmount - Payment amount or null
+
+ **Returns:**
+ - List of applicable payment cards of this payment method
+
+
+---
+
+### getDescription()
+- getDescription(): [MarkupText](dw.content.MarkupText.md)
+ - : Returns the description of the payment method.
+
+ **Returns:**
+ - Description of the payment method.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the unique ID of the payment method.
+
+ **Returns:**
+ - ID of the payment method.
+
+
+---
+
+### getImage()
+- getImage(): [MediaFile](dw.content.MediaFile.md)
+ - : Returns the reference to the payment method image.
+
+ **Returns:**
+ - Image of the payment method.
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Returns the name of the payment method.
+
+ **Returns:**
+ - Name of the payment method.
+
+
+---
+
+### getPaymentProcessor()
+- getPaymentProcessor(): [PaymentProcessor](dw.order.PaymentProcessor.md)
+ - : Returns the payment processor associated to this payment method.
+
+ **Returns:**
+ - the payment processor associated to this payment method.
+
+
+---
+
+### isActive()
+- isActive(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if payment method is active (enabled), otherwise 'false' is returned.
+
+ **Returns:**
+ - true if payment method is active, otherwise false.
+
+
+---
+
+### isApplicable(Customer, String, Number)
+- isApplicable(customer: [Customer](dw.customer.Customer.md), countryCode: [String](TopLevel.String.md), paymentAmount: [Number](TopLevel.Number.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if this payment method is applicable for the specified
+ customer, country and payment amount and the session currency.
+
+
+
+ The payment method is applicable if
+
+ - the method is restricted by customer group, and at least one of the groups of the specified customer is assigned to the method
+ - the method is restricted by billing country, and the specified country code is assigned to the method
+ - the method is restricted by payment amount for the session currency, and the specified payment amount is within the limits of the min/max payment amount defined for the method and the session currency
+ - the method is restricted by currency code, and the specified currency code matches session currency.
+
+
+ All parameters are optional, and if not specified, the respective
+ restriction won't be validated. For example, if a method is restricted by
+ billing country, but no country code is specified, this method will be
+ returned, unless it is filtered out by customer group or payment amount.
+
+
+ **Parameters:**
+ - customer - Customer or null
+ - countryCode - Billing country code or null
+ - paymentAmount - Payment amount or null
+
+ **Returns:**
+ - true if payment method is applicable, false otherwise
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentMgr.md
new file mode 100644
index 00000000..b7617fed
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentMgr.md
@@ -0,0 +1,138 @@
+
+# Class PaymentMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.PaymentMgr](dw.order.PaymentMgr.md)
+
+[PaymentMgr](dw.order.PaymentMgr.md) is used to access payment methods and payment
+cards of the current site.
+
+
+To access payment methods and payment cards explicitly, use methods
+[getPaymentMethod(String)](dw.order.PaymentMgr.md#getpaymentmethodstring) and [getPaymentCard(String)](dw.order.PaymentMgr.md#getpaymentcardstring).
+
+
+
+To access active payment methods use method [getActivePaymentMethods()](dw.order.PaymentMgr.md#getactivepaymentmethods).
+
+
+
+To access applicable payment methods for a customer, country and/or payment
+amount use method [getApplicablePaymentMethods(Customer, String, Number)](dw.order.PaymentMgr.md#getapplicablepaymentmethodscustomer-string-number).
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [activePaymentMethods](#activepaymentmethods): [List](dw.util.List.md) `(read-only)` | Returns the sorted list of all enabled payment methods of the current site, regardless of any customer group, country, payment amount or currency restrictions. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getActivePaymentMethods](dw.order.PaymentMgr.md#getactivepaymentmethods)() | Returns the sorted list of all enabled payment methods of the current site, regardless of any customer group, country, payment amount or currency restrictions. |
+| static [getApplicablePaymentMethods](dw.order.PaymentMgr.md#getapplicablepaymentmethodscustomer-string-number)([Customer](dw.customer.Customer.md), [String](TopLevel.String.md), [Number](TopLevel.Number.md)) | Returns the sorted list of all enabled payment methods of the current site applicable for the session currency, specified customer, country and payment amount. |
+| static [getPaymentCard](dw.order.PaymentMgr.md#getpaymentcardstring)([String](TopLevel.String.md)) | Returns the payment card for the specified cardType or null if no such card exists in the current site. |
+| static [getPaymentMethod](dw.order.PaymentMgr.md#getpaymentmethodstring)([String](TopLevel.String.md)) | Returns the payment method for the specified ID or null if no such method exists in the current site. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### activePaymentMethods
+- activePaymentMethods: [List](dw.util.List.md) `(read-only)`
+ - : Returns the sorted list of all enabled payment methods of the current
+ site, regardless of any customer group, country, payment amount or currency
+ restrictions. The payment methods are sorted as defined in the Business
+ Manager.
+
+
+
+---
+
+## Method Details
+
+### getActivePaymentMethods()
+- static getActivePaymentMethods(): [List](dw.util.List.md)
+ - : Returns the sorted list of all enabled payment methods of the current
+ site, regardless of any customer group, country, payment amount or currency
+ restrictions. The payment methods are sorted as defined in the Business
+ Manager.
+
+
+ **Returns:**
+ - List of enabled payment methods of current site
+
+
+---
+
+### getApplicablePaymentMethods(Customer, String, Number)
+- static getApplicablePaymentMethods(customer: [Customer](dw.customer.Customer.md), countryCode: [String](TopLevel.String.md), paymentAmount: [Number](TopLevel.Number.md)): [List](dw.util.List.md)
+ - : Returns the sorted list of all enabled payment methods of the current
+ site applicable for the session currency, specified customer, country and payment amount.
+ The payment methods are sorted as defined in the Business Manager.
+
+
+ A payment method is applicable if
+
+ - the method is restricted by customer group, and at least one of the groups of the specified customer is assigned to the method
+ - the method is restricted by billing country, and the specified country code is assigned to the method
+ - the method is restricted by payment amount for the session currency, and the specified payment amount is within the limits of the min/max payment amount defined for the method and the session currency
+ - the method is restricted by currency code, and the specified currency code matches session currency.
+
+
+ All parameters are optional, and if not specified, the respective
+ restriction won't be validated. For example, if a method is restricted
+ by billing country, but no country code is specified, this method will
+ be returned, unless it is filtered out by customer group or payment
+ amount.
+
+
+ **Parameters:**
+ - customer - Customer or null
+ - countryCode - Billing country code or null
+ - paymentAmount - Payment amount or null
+
+ **Returns:**
+ - List of applicable payment methods of current site
+
+
+---
+
+### getPaymentCard(String)
+- static getPaymentCard(cardType: [String](TopLevel.String.md)): [PaymentCard](dw.order.PaymentCard.md)
+ - : Returns the payment card for the specified cardType or null if no such
+ card exists in the current site.
+
+
+ **Parameters:**
+ - cardType - PaymentCard type
+
+ **Returns:**
+ - PaymentCard or null
+
+
+---
+
+### getPaymentMethod(String)
+- static getPaymentMethod(id: [String](TopLevel.String.md)): [PaymentMethod](dw.order.PaymentMethod.md)
+ - : Returns the payment method for the specified ID or null if no such method
+ exists in the current site.
+
+
+ **Parameters:**
+ - id - PaymentMethod ID
+
+ **Returns:**
+ - PaymentMethod or null
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentProcessor.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentProcessor.md
new file mode 100644
index 00000000..e4a3f405
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentProcessor.md
@@ -0,0 +1,106 @@
+
+# Class PaymentProcessor
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.PaymentProcessor](dw.order.PaymentProcessor.md)
+
+A PaymentProcessor represents an entity that processes payments of one or more types. In the B2C Commerce system, a
+payment processor is just a container for configuration values, which describe, for example, the parameters (URL,
+merchant ID, password, etc) required for connecting to a payment gateway.
+
+
+The system has several built in PaymentProcessors. These are:
+
+- BASIC\_CREDIT
+- BASIC\_GIFT\_CERTIFICATE
+- CYBERSOURCE\_CREDIT
+- CYBERSOURCE\_BML
+- PAYPAL\_CREDIT
+- PAYPAL\_EXPRESS
+- VERISIGN\_CREDIT
+
+The first two of these are merely placeholders with no associated preference values. The remaining system payment
+processors define preference values which are maintained in the Business Manager and are used in conjunction with
+built-in B2C Commerce payment integrations. Preferences of system PaymentProcessors are not intended to be read
+programmatically.
+
+
+Merchants may also define custom payment processors. This is done by defining a payment processor with an arbitrary
+ID in the Business Manager, and then configuring an attribute group with the same ID on the
+[SitePreferences](dw.system.SitePreferences.md) system object. Attributes added to the group will be considered preferences of the
+payment processor and will be readable through [getPreferenceValue(String)](dw.order.PaymentProcessor.md#getpreferencevaluestring). Merchants can design their
+checkout process to read these preferences at run time for connecting to their payment gateways.
+
+
+Every [PaymentMethod](dw.order.PaymentMethod.md) in the system is associated with at most one PaymentProcessor. This basically
+represents the physical payment gateway which processes the (logical) payment method. Each payment processor may be
+associated with an arbitrary number of payment methods. Also, each payment transaction has one PaymentProcessor which
+is set by custom code during the checkout process.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the 'ID' of this processor. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getID](dw.order.PaymentProcessor.md#getid)() | Returns the 'ID' of this processor. |
+| [getPreferenceValue](dw.order.PaymentProcessor.md#getpreferencevaluestring)([String](TopLevel.String.md)) | Returns the value of the specified preference for this payment processor. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the 'ID' of this processor.
+
+
+---
+
+## Method Details
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the 'ID' of this processor.
+
+ **Returns:**
+ - the 'ID' of this processor, e.g. "BASIC\_CREDIT".
+
+
+---
+
+### getPreferenceValue(String)
+- getPreferenceValue(name: [String](TopLevel.String.md)): [Object](TopLevel.Object.md)
+ - : Returns the value of the specified preference for this payment processor.
+ If the preference name is invalid (or null) or no preference value is
+ defined for this payment processor, null is returned.
+
+
+ **Parameters:**
+ - name - preference name. Typically an attribute defined on SitePreferences contained in an attribute group whose name is the same as this.ID.
+
+ **Returns:**
+ - preference value, or null.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentStatusCodes.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentStatusCodes.md
new file mode 100644
index 00000000..097e94e3
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentStatusCodes.md
@@ -0,0 +1,70 @@
+
+# Class PaymentStatusCodes
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.PaymentStatusCodes](dw.order.PaymentStatusCodes.md)
+
+Helper class containing status codes for the various errors that can occur
+when validating a payment card. One of these codes is returned as part of a
+Status object when a unsuccessful call to the `VerifyPaymentCard`
+or `VerifyCreditCard` pipelet is made. The same codes are used
+when calling [PaymentCard.verify(Number, Number, String)](dw.order.PaymentCard.md#verifynumber-number-string) or
+[PaymentCard.verify(Number, Number, String, String)](dw.order.PaymentCard.md#verifynumber-number-string-string).
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [CREDITCARD_INVALID_CARD_NUMBER](#creditcard_invalid_card_number): [String](TopLevel.String.md) = "CREDITCARD_INVALID_CARD_NUMBER" | The code indicates that the credit card number is incorrect. |
+| [CREDITCARD_INVALID_EXPIRATION_DATE](#creditcard_invalid_expiration_date): [String](TopLevel.String.md) = "CREDITCARD_INVALID_EXPIRATION_DATE" | The code indicates that the credit card is expired. |
+| [CREDITCARD_INVALID_SECURITY_CODE](#creditcard_invalid_security_code): [String](TopLevel.String.md) = "CREDITCARD_INVALID_SECURITY_CODE" | The code indicates that the credit card security code length is invalid. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [PaymentStatusCodes](#paymentstatuscodes)() | |
+
+## Method Summary
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### CREDITCARD_INVALID_CARD_NUMBER
+
+- CREDITCARD_INVALID_CARD_NUMBER: [String](TopLevel.String.md) = "CREDITCARD_INVALID_CARD_NUMBER"
+ - : The code indicates that the credit card number is incorrect.
+
+
+---
+
+### CREDITCARD_INVALID_EXPIRATION_DATE
+
+- CREDITCARD_INVALID_EXPIRATION_DATE: [String](TopLevel.String.md) = "CREDITCARD_INVALID_EXPIRATION_DATE"
+ - : The code indicates that the credit card is expired.
+
+
+---
+
+### CREDITCARD_INVALID_SECURITY_CODE
+
+- CREDITCARD_INVALID_SECURITY_CODE: [String](TopLevel.String.md) = "CREDITCARD_INVALID_SECURITY_CODE"
+ - : The code indicates that the credit card security code length is invalid.
+
+
+---
+
+## Constructor Details
+
+### PaymentStatusCodes()
+- PaymentStatusCodes()
+ - :
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentTransaction.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentTransaction.md
new file mode 100644
index 00000000..fb4bf17d
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.PaymentTransaction.md
@@ -0,0 +1,291 @@
+
+# Class PaymentTransaction
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.PaymentTransaction](dw.order.PaymentTransaction.md)
+
+The PaymentTransaction class represents a payment transaction.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [TYPE_AUTH](#type_auth): [String](TopLevel.String.md) = "AUTH" | Constant representing the authorization type of payment transaction. |
+| [TYPE_AUTH_REVERSAL](#type_auth_reversal): [String](TopLevel.String.md) = "AUTH_REVERSAL" | Constant representing the authorization reversal type of payment transaction. |
+| [TYPE_CAPTURE](#type_capture): [String](TopLevel.String.md) = "CAPTURE" | Constant representing the capture type of payment transaction. |
+| [TYPE_CREDIT](#type_credit): [String](TopLevel.String.md) = "CREDIT" | Constant representing the credit type of payment transaction. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [accountID](#accountid): [String](TopLevel.String.md) | Returns the payment service-specific account id. |
+| [accountType](#accounttype): [String](TopLevel.String.md) | Returns the payment service-specific account type. |
+| [amount](#amount): [Money](dw.value.Money.md) | Returns the amount of the transaction. |
+| [paymentInstrument](#paymentinstrument): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md) `(read-only)` | Returns the payment instrument related to this payment transaction. |
+| [paymentProcessor](#paymentprocessor): [PaymentProcessor](dw.order.PaymentProcessor.md) | Returns the payment processor related to this payment transaction. |
+| [transactionID](#transactionid): [String](TopLevel.String.md) | Returns the payment service-specific transaction id. |
+| [type](#type): [EnumValue](dw.value.EnumValue.md) | Returns the value of the transaction type where the value is one of TYPE\_AUTH, TYPE\_AUTH\_REVERSAL, TYPE\_CAPTURE or TYPE\_CREDIT. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAccountID](dw.order.PaymentTransaction.md#getaccountid)() | Returns the payment service-specific account id. |
+| [getAccountType](dw.order.PaymentTransaction.md#getaccounttype)() | Returns the payment service-specific account type. |
+| [getAmount](dw.order.PaymentTransaction.md#getamount)() | Returns the amount of the transaction. |
+| [getPaymentInstrument](dw.order.PaymentTransaction.md#getpaymentinstrument)() | Returns the payment instrument related to this payment transaction. |
+| [getPaymentProcessor](dw.order.PaymentTransaction.md#getpaymentprocessor)() | Returns the payment processor related to this payment transaction. |
+| [getTransactionID](dw.order.PaymentTransaction.md#gettransactionid)() | Returns the payment service-specific transaction id. |
+| [getType](dw.order.PaymentTransaction.md#gettype)() | Returns the value of the transaction type where the value is one of TYPE\_AUTH, TYPE\_AUTH\_REVERSAL, TYPE\_CAPTURE or TYPE\_CREDIT. |
+| [setAccountID](dw.order.PaymentTransaction.md#setaccountidstring)([String](TopLevel.String.md)) | Sets the payment service-specific account id. |
+| [setAccountType](dw.order.PaymentTransaction.md#setaccounttypestring)([String](TopLevel.String.md)) | Sets the payment service-specific account type. |
+| [setAmount](dw.order.PaymentTransaction.md#setamountmoney)([Money](dw.value.Money.md)) | Sets the amount of the transaction. |
+| [setPaymentProcessor](dw.order.PaymentTransaction.md#setpaymentprocessorpaymentprocessor)([PaymentProcessor](dw.order.PaymentProcessor.md)) | Sets the payment processor related to this payment transaction. |
+| [setTransactionID](dw.order.PaymentTransaction.md#settransactionidstring)([String](TopLevel.String.md)) | Sets the payment service-specific transaction id. |
+| [setType](dw.order.PaymentTransaction.md#settypestring)([String](TopLevel.String.md)) | Sets the value of the transaction type where permissible values are TYPE\_AUTH, TYPE\_AUTH\_REVERSAL, TYPE\_CAPTURE or TYPE\_CREDIT. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### TYPE_AUTH
+
+- TYPE_AUTH: [String](TopLevel.String.md) = "AUTH"
+ - : Constant representing the authorization type of payment transaction.
+
+
+---
+
+### TYPE_AUTH_REVERSAL
+
+- TYPE_AUTH_REVERSAL: [String](TopLevel.String.md) = "AUTH_REVERSAL"
+ - : Constant representing the authorization reversal type of payment transaction.
+
+
+---
+
+### TYPE_CAPTURE
+
+- TYPE_CAPTURE: [String](TopLevel.String.md) = "CAPTURE"
+ - : Constant representing the capture type of payment transaction.
+
+
+---
+
+### TYPE_CREDIT
+
+- TYPE_CREDIT: [String](TopLevel.String.md) = "CREDIT"
+ - : Constant representing the credit type of payment transaction.
+
+
+---
+
+## Property Details
+
+### accountID
+- accountID: [String](TopLevel.String.md)
+ - : Returns the payment service-specific account id.
+
+
+---
+
+### accountType
+- accountType: [String](TopLevel.String.md)
+ - : Returns the payment service-specific account type.
+
+
+---
+
+### amount
+- amount: [Money](dw.value.Money.md)
+ - : Returns the amount of the transaction.
+
+
+---
+
+### paymentInstrument
+- paymentInstrument: [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md) `(read-only)`
+ - : Returns the payment instrument related to this payment transaction.
+
+
+---
+
+### paymentProcessor
+- paymentProcessor: [PaymentProcessor](dw.order.PaymentProcessor.md)
+ - : Returns the payment processor related to this payment transaction.
+
+
+---
+
+### transactionID
+- transactionID: [String](TopLevel.String.md)
+ - : Returns the payment service-specific transaction id.
+
+
+---
+
+### type
+- type: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the value of the transaction type where the
+ value is one of TYPE\_AUTH, TYPE\_AUTH\_REVERSAL, TYPE\_CAPTURE
+ or TYPE\_CREDIT.
+
+
+
+---
+
+## Method Details
+
+### getAccountID()
+- getAccountID(): [String](TopLevel.String.md)
+ - : Returns the payment service-specific account id.
+
+ **Returns:**
+ - the payment service-specific account id.
+
+
+---
+
+### getAccountType()
+- getAccountType(): [String](TopLevel.String.md)
+ - : Returns the payment service-specific account type.
+
+ **Returns:**
+ - the payment service-specific account type.
+
+
+---
+
+### getAmount()
+- getAmount(): [Money](dw.value.Money.md)
+ - : Returns the amount of the transaction.
+
+ **Returns:**
+ - the amount of the transaction.
+
+
+---
+
+### getPaymentInstrument()
+- getPaymentInstrument(): [OrderPaymentInstrument](dw.order.OrderPaymentInstrument.md)
+ - : Returns the payment instrument related to this payment transaction.
+
+ **Returns:**
+ - the order payment instrument related to this payment transaction.
+
+
+---
+
+### getPaymentProcessor()
+- getPaymentProcessor(): [PaymentProcessor](dw.order.PaymentProcessor.md)
+ - : Returns the payment processor related to this payment transaction.
+
+ **Returns:**
+ - the payment processor related to this payment transaction.
+
+
+---
+
+### getTransactionID()
+- getTransactionID(): [String](TopLevel.String.md)
+ - : Returns the payment service-specific transaction id.
+
+ **Returns:**
+ - the payment service-specific transaction id.
+
+
+---
+
+### getType()
+- getType(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the value of the transaction type where the
+ value is one of TYPE\_AUTH, TYPE\_AUTH\_REVERSAL, TYPE\_CAPTURE
+ or TYPE\_CREDIT.
+
+
+ **Returns:**
+ - the value of the transaction type where the
+ value is one of TYPE\_AUTH, TYPE\_AUTH\_REVERSAL, TYPE\_CAPTURE
+ or TYPE\_CREDIT.
+
+
+
+---
+
+### setAccountID(String)
+- setAccountID(accountID: [String](TopLevel.String.md)): void
+ - : Sets the payment service-specific account id.
+
+ **Parameters:**
+ - accountID - the payment service-specific account id.
+
+
+---
+
+### setAccountType(String)
+- setAccountType(accountType: [String](TopLevel.String.md)): void
+ - : Sets the payment service-specific account type.
+
+ **Parameters:**
+ - accountType - the payment service-specific account type.
+
+
+---
+
+### setAmount(Money)
+- setAmount(amount: [Money](dw.value.Money.md)): void
+ - : Sets the amount of the transaction.
+
+ **Parameters:**
+ - amount - the amount of the transaction.
+
+
+---
+
+### setPaymentProcessor(PaymentProcessor)
+- setPaymentProcessor(paymentProcessor: [PaymentProcessor](dw.order.PaymentProcessor.md)): void
+ - : Sets the payment processor related to this payment transaction.
+
+ **Parameters:**
+ - paymentProcessor - the payment processor related to this payment transaction.
+
+
+---
+
+### setTransactionID(String)
+- setTransactionID(transactionID: [String](TopLevel.String.md)): void
+ - : Sets the payment service-specific transaction id.
+
+ **Parameters:**
+ - transactionID - the payment service-specific transaction id.
+
+
+---
+
+### setType(String)
+- setType(type: [String](TopLevel.String.md)): void
+ - : Sets the value of the transaction type where permissible
+ values are TYPE\_AUTH, TYPE\_AUTH\_REVERSAL, TYPE\_CAPTURE or TYPE\_CREDIT.
+
+
+ **Parameters:**
+ - type - the value of the transaction type where the value is one of TYPE\_AUTH, TYPE\_AUTH\_REVERSAL, TYPE\_CAPTURE or TYPE\_CREDIT.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.PriceAdjustment.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.PriceAdjustment.md
new file mode 100644
index 00000000..bf19c724
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.PriceAdjustment.md
@@ -0,0 +1,745 @@
+
+# Class PriceAdjustment
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.LineItem](dw.order.LineItem.md)
+ - [dw.order.PriceAdjustment](dw.order.PriceAdjustment.md)
+
+The PriceAdjustment class represents an adjustment to the price of an order. A PriceAdjustment can apply to a
+ProductLineItem, ShippingLineItem, ProductShippingLineItem, or a LineItemCtnr, and are generally categorized as
+product-level, shipping-level, or order-level. PriceAdjustments are generated by the B2C Commerce promotions engine
+when applying discounts. See [PromotionMgr.applyDiscounts(DiscountPlan)](dw.campaign.PromotionMgr.md#applydiscountsdiscountplan). They may also be
+generated by custom code through the API. See for example
+[ProductLineItem.createPriceAdjustment(String)](dw.order.ProductLineItem.md#createpriceadjustmentstring). In the latter case, the PriceAdjustment is called
+"custom"; in the former case, it is called "system". System price adjustments are associated with the promotion that
+triggered their creation. If the promotion was coupon-based, then the price adjustment will additionally be
+associated with a coupon line item in the LineItemCtnr.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ABTest](#abtest): [ABTest](dw.campaign.ABTest.md) `(read-only)` | Returns the B2C Commerce AB-test this price adjustment is associated with. |
+| [ABTestID](#abtestid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the AB-test related to this price adjustment. |
+| [ABTestSegment](#abtestsegment): [ABTestSegment](dw.campaign.ABTestSegment.md) `(read-only)` | Returns the B2C Commerce AB-test segment this price adjustment is associated with. |
+| [ABTestSegmentID](#abtestsegmentid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the AB-test segment related to this price adjustment. |
+| [appliedDiscount](#applieddiscount): [Discount](dw.campaign.Discount.md) `(read-only)` | A `Discount` instance describing the discount applied to obtain this price-adjustment. |
+| [basedOnABTest](#basedonabtest): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a promotion assigned to an AB-test. |
+| ~~[basedOnCampaign](#basedoncampaign): [Boolean](TopLevel.Boolean.md)~~ `(read-only)` | Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a promotion assigned to a Campaign or an AB-test. |
+| [basedOnCoupon](#basedoncoupon): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the promotion line item results from a coupon. |
+| [campaign](#campaign): [Campaign](dw.campaign.Campaign.md) `(read-only)` | Returns the B2C Commerce campaign this price adjustment is associated with. |
+| [campaignID](#campaignid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the campaign the price adjustment was based on. |
+| [couponLineItem](#couponlineitem): [CouponLineItem](dw.order.CouponLineItem.md) `(read-only)` | Returns the coupon line item related to this price adjustment. |
+| [createdBy](#createdby): [String](TopLevel.String.md) `(read-only)` | Returns the name of the user who created the price adjustment. |
+| [custom](#custom): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if this PriceAdjustment was created by custom script code. |
+| [manual](#manual): [Boolean](TopLevel.Boolean.md) | Returns true if this PriceAdjustment was added manually by a user. |
+| [promotion](#promotion): [Promotion](dw.campaign.Promotion.md) `(read-only)` | Returns the promotion associated with this price adjustment. |
+| [promotionID](#promotionid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the promotion related to this price adjustment. |
+| [proratedPrices](#proratedprices): [Map](dw.util.Map.md) `(read-only)` | Returns a map representing the product line items to which this price adjustment is "related" (in the sense defined below) and the portion of this adjustment's price which applies to each after discount prorating is performed. |
+| [quantity](#quantity): [Number](TopLevel.Number.md) `(read-only)` | Returns the number of items this price adjustment applies to. |
+| [reasonCode](#reasoncode): [EnumValue](dw.value.EnumValue.md) | Returns the reason code of the price adjustment. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getABTest](dw.order.PriceAdjustment.md#getabtest)() | Returns the B2C Commerce AB-test this price adjustment is associated with. |
+| [getABTestID](dw.order.PriceAdjustment.md#getabtestid)() | Returns the ID of the AB-test related to this price adjustment. |
+| [getABTestSegment](dw.order.PriceAdjustment.md#getabtestsegment)() | Returns the B2C Commerce AB-test segment this price adjustment is associated with. |
+| [getABTestSegmentID](dw.order.PriceAdjustment.md#getabtestsegmentid)() | Returns the ID of the AB-test segment related to this price adjustment. |
+| [getAppliedDiscount](dw.order.PriceAdjustment.md#getapplieddiscount)() | A `Discount` instance describing the discount applied to obtain this price-adjustment. |
+| [getCampaign](dw.order.PriceAdjustment.md#getcampaign)() | Returns the B2C Commerce campaign this price adjustment is associated with. |
+| [getCampaignID](dw.order.PriceAdjustment.md#getcampaignid)() | Returns the ID of the campaign the price adjustment was based on. |
+| [getCouponLineItem](dw.order.PriceAdjustment.md#getcouponlineitem)() | Returns the coupon line item related to this price adjustment. |
+| [getCreatedBy](dw.order.PriceAdjustment.md#getcreatedby)() | Returns the name of the user who created the price adjustment. |
+| [getPromotion](dw.order.PriceAdjustment.md#getpromotion)() | Returns the promotion associated with this price adjustment. |
+| [getPromotionID](dw.order.PriceAdjustment.md#getpromotionid)() | Returns the ID of the promotion related to this price adjustment. |
+| [getProratedPrices](dw.order.PriceAdjustment.md#getproratedprices)() | Returns a map representing the product line items to which this price adjustment is "related" (in the sense defined below) and the portion of this adjustment's price which applies to each after discount prorating is performed. |
+| [getQuantity](dw.order.PriceAdjustment.md#getquantity)() | Returns the number of items this price adjustment applies to. |
+| [getReasonCode](dw.order.PriceAdjustment.md#getreasoncode)() | Returns the reason code of the price adjustment. |
+| [isBasedOnABTest](dw.order.PriceAdjustment.md#isbasedonabtest)() | Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a promotion assigned to an AB-test. |
+| ~~[isBasedOnCampaign](dw.order.PriceAdjustment.md#isbasedoncampaign)()~~ | Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a promotion assigned to a Campaign or an AB-test. |
+| [isBasedOnCoupon](dw.order.PriceAdjustment.md#isbasedoncoupon)() | Identifies if the promotion line item results from a coupon. |
+| [isCustom](dw.order.PriceAdjustment.md#iscustom)() | Returns true if this PriceAdjustment was created by custom script code. |
+| [isManual](dw.order.PriceAdjustment.md#ismanual)() | Returns true if this PriceAdjustment was added manually by a user. |
+| [setManual](dw.order.PriceAdjustment.md#setmanualboolean)([Boolean](TopLevel.Boolean.md)) | Marks the current PriceAdjustment as manual/non-manual. |
+| [setReasonCode](dw.order.PriceAdjustment.md#setreasoncodestring)([String](TopLevel.String.md)) | Set the reason code, using the internal non-localizable value. |
+
+### Methods inherited from class LineItem
+
+[getBasePrice](dw.order.LineItem.md#getbaseprice), [getGrossPrice](dw.order.LineItem.md#getgrossprice), [getLineItemCtnr](dw.order.LineItem.md#getlineitemctnr), [getLineItemText](dw.order.LineItem.md#getlineitemtext), [getNetPrice](dw.order.LineItem.md#getnetprice), [getPrice](dw.order.LineItem.md#getprice), [getPriceValue](dw.order.LineItem.md#getpricevalue), [getTax](dw.order.LineItem.md#gettax), [getTaxBasis](dw.order.LineItem.md#gettaxbasis), [getTaxClassID](dw.order.LineItem.md#gettaxclassid), [getTaxRate](dw.order.LineItem.md#gettaxrate), [setBasePrice](dw.order.LineItem.md#setbasepricemoney), [setGrossPrice](dw.order.LineItem.md#setgrosspricemoney), [setLineItemText](dw.order.LineItem.md#setlineitemtextstring), [setNetPrice](dw.order.LineItem.md#setnetpricemoney), [setPriceValue](dw.order.LineItem.md#setpricevaluenumber), [setTax](dw.order.LineItem.md#settaxmoney), [setTaxClassID](dw.order.LineItem.md#settaxclassidstring), [setTaxRate](dw.order.LineItem.md#settaxratenumber), [updatePrice](dw.order.LineItem.md#updatepricemoney), [updateTax](dw.order.LineItem.md#updatetaxnumber), [updateTax](dw.order.LineItem.md#updatetaxnumber-money), [updateTaxAmount](dw.order.LineItem.md#updatetaxamountmoney)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ABTest
+- ABTest: [ABTest](dw.campaign.ABTest.md) `(read-only)`
+ - : Returns the B2C Commerce AB-test this price adjustment is associated with. The associated AB-test is determined
+ from the ABTestID attribute which is set by the promotions engine when applying discounts.
+
+
+ If the AB-test has been removed from the system since this price adjustment was created, this method returns
+ null. This method always returns null for custom price adjustments.
+
+
+
+---
+
+### ABTestID
+- ABTestID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the AB-test related to this price adjustment.
+
+
+---
+
+### ABTestSegment
+- ABTestSegment: [ABTestSegment](dw.campaign.ABTestSegment.md) `(read-only)`
+ - : Returns the B2C Commerce AB-test segment this price adjustment is associated with. The associated AB-test segment
+ is determined from the ABTestSegmentID attribute which is set by the promotions engine when applying discounts.
+
+
+ If the AB-test, or this segment, has been removed from the system since this price adjustment was created, this
+ method returns null. This method always returns null for custom price adjustments.
+
+
+
+---
+
+### ABTestSegmentID
+- ABTestSegmentID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the AB-test segment related to this price adjustment.
+
+
+---
+
+### appliedDiscount
+- appliedDiscount: [Discount](dw.campaign.Discount.md) `(read-only)`
+ - : A `Discount` instance describing the discount applied to
+ obtain this price-adjustment. This method only returns a non-null value
+ if the price-adjustment was created
+
+ - when a discount-plan was applied to a basket, or
+ - as a _custom_price-adjustment using one of the methods [ProductLineItem.createPriceAdjustment(String, Discount)](dw.order.ProductLineItem.md#createpriceadjustmentstring-discount), [ShippingLineItem.createShippingPriceAdjustment(String, Discount)](dw.order.ShippingLineItem.md#createshippingpriceadjustmentstring-discount)or [LineItemCtnr.createPriceAdjustment(String, Discount)](dw.order.LineItemCtnr.md#createpriceadjustmentstring-discount).
+
+
+ Note an instance of the [Discount](dw.campaign.Discount.md) subclasses is
+ returned, such as [AmountDiscount](dw.campaign.AmountDiscount.md) or
+ [PriceBookPriceDiscount](dw.campaign.PriceBookPriceDiscount.md), use
+ [Discount.getType()](dw.campaign.Discount.md#gettype) and the constants in
+ [Discount](dw.campaign.Discount.md) to distinguish between types. Each subclass
+ provides access to specific properties.
+
+
+
+---
+
+### basedOnABTest
+- basedOnABTest: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a
+ promotion assigned to an AB-test.
+
+
+
+---
+
+### basedOnCampaign
+- ~~basedOnCampaign: [Boolean](TopLevel.Boolean.md)~~ `(read-only)`
+ - : Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a
+ promotion assigned to a Campaign or an AB-test.
+
+
+ **Deprecated:**
+:::warning
+The method has been deprecated since the name implies that there is a related Campaign, which may not
+ be true. Use `!isCustom()` instead.
+
+:::
+
+---
+
+### basedOnCoupon
+- basedOnCoupon: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the promotion line item results from a coupon.
+
+
+---
+
+### campaign
+- campaign: [Campaign](dw.campaign.Campaign.md) `(read-only)`
+ - : Returns the B2C Commerce campaign this price adjustment is associated with. The associated campaign is determined
+ from the campaignID attribute which is set by the promotions engine when applying discounts.
+
+
+ If the campaign has been removed from the system since this price adjustment was created, this method returns
+ null. This method always returns null for custom price adjustments.
+
+
+ Note: If the price adjustment was generated by a B2C Commerce promotion as part of an AB-test, then a Campaign
+ object will be returned, but it is a mock implementation, and not a true Campaign. This behavior is required for
+ backwards compatibility and should not be relied upon as it may change in future releases.
+
+
+
+---
+
+### campaignID
+- campaignID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the campaign the price adjustment was based on.
+
+
+ Note:If the price adjustment was generated by a B2C Commerce promotion as part of an AB-test, then an ID will be
+ returned but it is not the ID of a true campaign. This behavior is required for backwards compatibility and
+ should not be relied upon as it may change in future releases.
+
+
+
+---
+
+### couponLineItem
+- couponLineItem: [CouponLineItem](dw.order.CouponLineItem.md) `(read-only)`
+ - : Returns the coupon line item related to this price adjustment.
+ If the price adjustment is not based on a coupon, null is returned.
+
+
+
+---
+
+### createdBy
+- createdBy: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the user who created the price adjustment.
+ This method returns a value if the price-adjustment was
+ created as a _custom_ price-adjustment using one of the methods
+ [ProductLineItem.createPriceAdjustment(String, Discount)](dw.order.ProductLineItem.md#createpriceadjustmentstring-discount),
+ [ShippingLineItem.createShippingPriceAdjustment(String, Discount)](dw.order.ShippingLineItem.md#createshippingpriceadjustmentstring-discount)
+ or [LineItemCtnr.createPriceAdjustment(String, Discount)](dw.order.LineItemCtnr.md#createpriceadjustmentstring-discount).
+
+
+ If an agent user has created the price adjustment, the agent user's name
+ is returned. Otherwise "Customer" is returned.
+
+
+
+---
+
+### custom
+- custom: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if this PriceAdjustment was created by custom script code.
+
+
+---
+
+### manual
+- manual: [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this PriceAdjustment was added manually by a user.
+
+
+ A manual PriceAdjustment is one which has been added as a result of
+ a user interaction e.g. by a user editing an order.
+
+
+ A non-manual PriceAdjustment is one which has been added for a different
+ reason, e.g. by custom logic which automatically adjusts the price of
+ particular products when certain conditions are met.
+
+
+
+---
+
+### promotion
+- promotion: [Promotion](dw.campaign.Promotion.md) `(read-only)`
+ - : Returns the promotion associated with this price adjustment. The
+ associated promotion is determined from the promotionID and campaignID
+ attributes which are set by the promotions engine when applying
+ discounts. Alternatively if the promotion applied as part of an AB-test,
+ then the associated promotion is determined from the promotionID
+ attribute and the hidden attributes, abTestID and abTestGroupID.
+
+
+ If the promotion has been removed from the system since this price
+ adjustment was created, or if the promotion still exists but is not
+ assigned to any campaign or AB-test, this method returns null. If the
+ promotion has been reassigned to a different campaign or AB-test since
+ this price adjustment was created, then the system will return an
+ appropriate Promotion instance. This method always returns null for
+ custom price adjustments.
+
+
+
+---
+
+### promotionID
+- promotionID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the promotion related to this price adjustment.
+
+
+---
+
+### proratedPrices
+- proratedPrices: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns a map representing the product line items to which this price
+ adjustment is "related" (in the sense defined below) and the portion of
+ this adjustment's price which applies to each after discount prorating is
+ performed. This information is sometimes useful to display in the
+ storefront but is more often useful for integrating with backend
+ order-management and accounting systems which require all discounts to be
+ itemized.
+
+
+ The definition of "related" product line items depends on the type of
+ promotion which generated this price adjustment:
+
+
+ - For order promotions, price adjustments are prorated across all product line items which are not explicitly excluded by the promotion. Custom order price adjustments apply to all items in the LineItemCtnr.
+ - For Buy-X-Get-Y product promotions, price adjustments are prorated across all items all product line items that are involved in the promotion, meaning that the PLI has one or more items contributing to the qualifying product count (i.e. the item is one of the X) or receiving the discount (i.e. the item is one of the Y).
+ - Other product promotions are not prorated and simply adjust the parent product line item, and so the returned map is of size 1.
+ - For shipping promotions, this method returns an empty map.
+
+
+ Buy-X-Get-Y product promotions are prorated as follows: Each price
+ adjustment generated by the promotion is sequentially prorated upon the
+ related items according to the items' adjusted prices after all non-BOGO
+ product promotions are considered, but before order promotions are
+ considered.
+
+
+ Order promotions are prorated sequentially upon non-excluded items
+ according to the order in which they applied during promotion processing.
+
+
+ The values in the map are inclusive of tax if this price adjustment is
+ based on gross pricing, and exclusive of tax otherwise. The sum of the
+ prorated prices always equals the price of this price adjustment.
+
+
+
+---
+
+### quantity
+- quantity: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the number of items this price adjustment applies to. This value
+ is always equal to 1 for price adjustments generated by order or shipping
+ promotions. For price adjustments generated by product promotions, this
+ value represents the number of units of the parent product line item to
+ which the adjustment applies. Because promotions may have a maximum
+ number of applications this value may be less than the product line item
+ quantity.
+
+
+ For custom price adjustments, not generated by the promotions engine,
+ this method always returns 0.
+
+
+
+---
+
+### reasonCode
+- reasonCode: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the reason code of the price adjustment. The list of available
+ reason codes is editable system meta-data. An example for using the
+ reason code is that in a call center application the CSR will explain
+ why he gave a discount to the customer.
+
+
+
+---
+
+## Method Details
+
+### getABTest()
+- getABTest(): [ABTest](dw.campaign.ABTest.md)
+ - : Returns the B2C Commerce AB-test this price adjustment is associated with. The associated AB-test is determined
+ from the ABTestID attribute which is set by the promotions engine when applying discounts.
+
+
+ If the AB-test has been removed from the system since this price adjustment was created, this method returns
+ null. This method always returns null for custom price adjustments.
+
+
+ **Returns:**
+ - the B2C Commerce AB-test the price adjustment was based on, or `null` if it was not based on
+ an AB-test.
+
+
+
+---
+
+### getABTestID()
+- getABTestID(): [String](TopLevel.String.md)
+ - : Returns the ID of the AB-test related to this price adjustment.
+
+ **Returns:**
+ - ID of related AB-test, or null.
+
+
+---
+
+### getABTestSegment()
+- getABTestSegment(): [ABTestSegment](dw.campaign.ABTestSegment.md)
+ - : Returns the B2C Commerce AB-test segment this price adjustment is associated with. The associated AB-test segment
+ is determined from the ABTestSegmentID attribute which is set by the promotions engine when applying discounts.
+
+
+ If the AB-test, or this segment, has been removed from the system since this price adjustment was created, this
+ method returns null. This method always returns null for custom price adjustments.
+
+
+ **Returns:**
+ - the B2C Commerce AB-test segment the price adjustment was based on, or `null` if it was not
+ based on an AB-test.
+
+
+
+---
+
+### getABTestSegmentID()
+- getABTestSegmentID(): [String](TopLevel.String.md)
+ - : Returns the ID of the AB-test segment related to this price adjustment.
+
+ **Returns:**
+ - ID of related AB-test segment, or null.
+
+
+---
+
+### getAppliedDiscount()
+- getAppliedDiscount(): [Discount](dw.campaign.Discount.md)
+ - : A `Discount` instance describing the discount applied to
+ obtain this price-adjustment. This method only returns a non-null value
+ if the price-adjustment was created
+
+ - when a discount-plan was applied to a basket, or
+ - as a _custom_price-adjustment using one of the methods [ProductLineItem.createPriceAdjustment(String, Discount)](dw.order.ProductLineItem.md#createpriceadjustmentstring-discount), [ShippingLineItem.createShippingPriceAdjustment(String, Discount)](dw.order.ShippingLineItem.md#createshippingpriceadjustmentstring-discount)or [LineItemCtnr.createPriceAdjustment(String, Discount)](dw.order.LineItemCtnr.md#createpriceadjustmentstring-discount).
+
+
+ Note an instance of the [Discount](dw.campaign.Discount.md) subclasses is
+ returned, such as [AmountDiscount](dw.campaign.AmountDiscount.md) or
+ [PriceBookPriceDiscount](dw.campaign.PriceBookPriceDiscount.md), use
+ [Discount.getType()](dw.campaign.Discount.md#gettype) and the constants in
+ [Discount](dw.campaign.Discount.md) to distinguish between types. Each subclass
+ provides access to specific properties.
+
+
+ **Returns:**
+ - null or the discount applied
+
+
+---
+
+### getCampaign()
+- getCampaign(): [Campaign](dw.campaign.Campaign.md)
+ - : Returns the B2C Commerce campaign this price adjustment is associated with. The associated campaign is determined
+ from the campaignID attribute which is set by the promotions engine when applying discounts.
+
+
+ If the campaign has been removed from the system since this price adjustment was created, this method returns
+ null. This method always returns null for custom price adjustments.
+
+
+ Note: If the price adjustment was generated by a B2C Commerce promotion as part of an AB-test, then a Campaign
+ object will be returned, but it is a mock implementation, and not a true Campaign. This behavior is required for
+ backwards compatibility and should not be relied upon as it may change in future releases.
+
+
+ **Returns:**
+ - the B2C Commerce campaign the price adjustment was based on, or `null` if it was not based on
+ a campaign.
+
+
+
+---
+
+### getCampaignID()
+- getCampaignID(): [String](TopLevel.String.md)
+ - : Returns the ID of the campaign the price adjustment was based on.
+
+
+ Note:If the price adjustment was generated by a B2C Commerce promotion as part of an AB-test, then an ID will be
+ returned but it is not the ID of a true campaign. This behavior is required for backwards compatibility and
+ should not be relied upon as it may change in future releases.
+
+
+ **Returns:**
+ - the ID of the B2C Commerce campaign the price adjustment was based on, or `null` if it was not
+ based on a campaign.
+
+
+
+---
+
+### getCouponLineItem()
+- getCouponLineItem(): [CouponLineItem](dw.order.CouponLineItem.md)
+ - : Returns the coupon line item related to this price adjustment.
+ If the price adjustment is not based on a coupon, null is returned.
+
+
+ **Returns:**
+ - Coupon line item or null.
+
+
+---
+
+### getCreatedBy()
+- getCreatedBy(): [String](TopLevel.String.md)
+ - : Returns the name of the user who created the price adjustment.
+ This method returns a value if the price-adjustment was
+ created as a _custom_ price-adjustment using one of the methods
+ [ProductLineItem.createPriceAdjustment(String, Discount)](dw.order.ProductLineItem.md#createpriceadjustmentstring-discount),
+ [ShippingLineItem.createShippingPriceAdjustment(String, Discount)](dw.order.ShippingLineItem.md#createshippingpriceadjustmentstring-discount)
+ or [LineItemCtnr.createPriceAdjustment(String, Discount)](dw.order.LineItemCtnr.md#createpriceadjustmentstring-discount).
+
+
+ If an agent user has created the price adjustment, the agent user's name
+ is returned. Otherwise "Customer" is returned.
+
+
+ **Returns:**
+ - the name of the user who created the price adjustment
+
+
+---
+
+### getPromotion()
+- getPromotion(): [Promotion](dw.campaign.Promotion.md)
+ - : Returns the promotion associated with this price adjustment. The
+ associated promotion is determined from the promotionID and campaignID
+ attributes which are set by the promotions engine when applying
+ discounts. Alternatively if the promotion applied as part of an AB-test,
+ then the associated promotion is determined from the promotionID
+ attribute and the hidden attributes, abTestID and abTestGroupID.
+
+
+ If the promotion has been removed from the system since this price
+ adjustment was created, or if the promotion still exists but is not
+ assigned to any campaign or AB-test, this method returns null. If the
+ promotion has been reassigned to a different campaign or AB-test since
+ this price adjustment was created, then the system will return an
+ appropriate Promotion instance. This method always returns null for
+ custom price adjustments.
+
+
+ **Returns:**
+ - the associated promotion, or null.
+
+
+---
+
+### getPromotionID()
+- getPromotionID(): [String](TopLevel.String.md)
+ - : Returns the ID of the promotion related to this price adjustment.
+
+ **Returns:**
+ - ID of related promotion.
+
+
+---
+
+### getProratedPrices()
+- getProratedPrices(): [Map](dw.util.Map.md)
+ - : Returns a map representing the product line items to which this price
+ adjustment is "related" (in the sense defined below) and the portion of
+ this adjustment's price which applies to each after discount prorating is
+ performed. This information is sometimes useful to display in the
+ storefront but is more often useful for integrating with backend
+ order-management and accounting systems which require all discounts to be
+ itemized.
+
+
+ The definition of "related" product line items depends on the type of
+ promotion which generated this price adjustment:
+
+
+ - For order promotions, price adjustments are prorated across all product line items which are not explicitly excluded by the promotion. Custom order price adjustments apply to all items in the LineItemCtnr.
+ - For Buy-X-Get-Y product promotions, price adjustments are prorated across all items all product line items that are involved in the promotion, meaning that the PLI has one or more items contributing to the qualifying product count (i.e. the item is one of the X) or receiving the discount (i.e. the item is one of the Y).
+ - Other product promotions are not prorated and simply adjust the parent product line item, and so the returned map is of size 1.
+ - For shipping promotions, this method returns an empty map.
+
+
+ Buy-X-Get-Y product promotions are prorated as follows: Each price
+ adjustment generated by the promotion is sequentially prorated upon the
+ related items according to the items' adjusted prices after all non-BOGO
+ product promotions are considered, but before order promotions are
+ considered.
+
+
+ Order promotions are prorated sequentially upon non-excluded items
+ according to the order in which they applied during promotion processing.
+
+
+ The values in the map are inclusive of tax if this price adjustment is
+ based on gross pricing, and exclusive of tax otherwise. The sum of the
+ prorated prices always equals the price of this price adjustment.
+
+
+ **Returns:**
+ - map of ProductLineItems to Money instances representing the
+ product line items across which this price adjustment is prorated
+ and the portion of this adjustment which applies towards each.
+
+
+
+---
+
+### getQuantity()
+- getQuantity(): [Number](TopLevel.Number.md)
+ - : Returns the number of items this price adjustment applies to. This value
+ is always equal to 1 for price adjustments generated by order or shipping
+ promotions. For price adjustments generated by product promotions, this
+ value represents the number of units of the parent product line item to
+ which the adjustment applies. Because promotions may have a maximum
+ number of applications this value may be less than the product line item
+ quantity.
+
+
+ For custom price adjustments, not generated by the promotions engine,
+ this method always returns 0.
+
+
+ **Returns:**
+ - The number of items this price adjustment applies to.
+
+
+---
+
+### getReasonCode()
+- getReasonCode(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the reason code of the price adjustment. The list of available
+ reason codes is editable system meta-data. An example for using the
+ reason code is that in a call center application the CSR will explain
+ why he gave a discount to the customer.
+
+
+ **Returns:**
+ - reason code of the price adjustment
+
+
+---
+
+### isBasedOnABTest()
+- isBasedOnABTest(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a
+ promotion assigned to an AB-test.
+
+
+ **Returns:**
+ - true if the price adjustment was generated by the B2C Commerce promotions engine when applying a
+ promotion assigned to an AB-test, false otherwise.
+
+
+
+---
+
+### isBasedOnCampaign()
+- ~~isBasedOnCampaign(): [Boolean](TopLevel.Boolean.md)~~
+ - : Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a
+ promotion assigned to a Campaign or an AB-test.
+
+
+ **Returns:**
+ - true if the price adjustment was generated by the B2C Commerce promotions engine, false otherwise.
+
+ **Deprecated:**
+:::warning
+The method has been deprecated since the name implies that there is a related Campaign, which may not
+ be true. Use `!isCustom()` instead.
+
+:::
+
+---
+
+### isBasedOnCoupon()
+- isBasedOnCoupon(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the promotion line item results from a coupon.
+
+ **Returns:**
+ - true if the promotion line item results from a coupon, false otherwise.
+
+
+---
+
+### isCustom()
+- isCustom(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this PriceAdjustment was created by custom script code.
+
+ **Returns:**
+ - true if this PriceAdjustment was created by custom script code, or false if it was created by B2C
+ Commerce promotions engine.
+
+
+
+---
+
+### isManual()
+- isManual(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this PriceAdjustment was added manually by a user.
+
+
+ A manual PriceAdjustment is one which has been added as a result of
+ a user interaction e.g. by a user editing an order.
+
+
+ A non-manual PriceAdjustment is one which has been added for a different
+ reason, e.g. by custom logic which automatically adjusts the price of
+ particular products when certain conditions are met.
+
+
+ **Returns:**
+ - true if this PriceAdjustment was added manually by a user,
+ otherwise - false
+
+
+
+---
+
+### setManual(Boolean)
+- setManual(aFlag: [Boolean](TopLevel.Boolean.md)): void
+ - : Marks the current PriceAdjustment as manual/non-manual.
+
+
+ Note that only custom PriceAdjustment can be marked as manual/non-manual.
+
+
+ A manual PriceAdjustment is one which has been added as a result of
+ a user interaction e.g. by a user editing an order.
+
+
+ A non-manual PriceAdjustment is one which has been added for a different
+ reason, e.g. by custom logic which automatically adjusts the price of
+ particular products when certain conditions are met.
+
+
+ **Parameters:**
+ - aFlag - the manual flag to set
+
+ **Throws:**
+ - IllegalArgumentException - if the adjustment is not custom
+
+
+---
+
+### setReasonCode(String)
+- setReasonCode(reasonCode: [String](TopLevel.String.md)): void
+ - : Set the reason code, using the internal non-localizable value. Standard values are 'PRICE\_MATCH',
+ 'BACKORDER' and 'EVEN\_EXCHANGE', but the available list is editable system meta-data.
+
+
+ **Parameters:**
+ - reasonCode - reason code
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.PriceAdjustmentLimitTypes.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.PriceAdjustmentLimitTypes.md
new file mode 100644
index 00000000..f9384741
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.PriceAdjustmentLimitTypes.md
@@ -0,0 +1,61 @@
+
+# Class PriceAdjustmentLimitTypes
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.PriceAdjustmentLimitTypes](dw.order.PriceAdjustmentLimitTypes.md)
+
+Helper class containing price adjustment limit types.
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [TYPE_ITEM](#type_item): [String](TopLevel.String.md) = "ITEM" | Constant for Price Adjustment Limit Type Item. The price adjustment limit was created at the item level. |
+| [TYPE_ORDER](#type_order): [String](TopLevel.String.md) = "ORDER" | Constant for Price Adjustment Limit Type Order. The price adjustment limit was created at the order level. |
+| [TYPE_SHIPPING](#type_shipping): [String](TopLevel.String.md) = "SHIPPING" | Constant for Price Adjustment Limit Type Shipping. The price adjustment limit was created at the shipping item level. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### TYPE_ITEM
+
+- TYPE_ITEM: [String](TopLevel.String.md) = "ITEM"
+ - : Constant for Price Adjustment Limit Type Item.
+
+ The price adjustment limit was created at the item level.
+
+
+
+---
+
+### TYPE_ORDER
+
+- TYPE_ORDER: [String](TopLevel.String.md) = "ORDER"
+ - : Constant for Price Adjustment Limit Type Order.
+
+ The price adjustment limit was created at the order level.
+
+
+
+---
+
+### TYPE_SHIPPING
+
+- TYPE_SHIPPING: [String](TopLevel.String.md) = "SHIPPING"
+ - : Constant for Price Adjustment Limit Type Shipping.
+
+ The price adjustment limit was created at the shipping item level.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductLineItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductLineItem.md
new file mode 100644
index 00000000..03ccb4a0
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductLineItem.md
@@ -0,0 +1,1749 @@
+
+# Class ProductLineItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.LineItem](dw.order.LineItem.md)
+ - [dw.order.ProductLineItem](dw.order.ProductLineItem.md)
+
+Represents a specific product line item.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [adjustedGrossPrice](#adjustedgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the gross price of the product line item after applying all product-level adjustments. |
+| [adjustedNetPrice](#adjustednetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the net price of the product line item after applying all product-level adjustments. |
+| [adjustedPrice](#adjustedprice): [Money](dw.value.Money.md) `(read-only)` | Returns the price of the product line item after applying all product-level adjustments. |
+| [adjustedTax](#adjustedtax): [Money](dw.value.Money.md) `(read-only)` | Returns the tax of the unit after applying adjustments, in the purchase currency. |
+| [bonusDiscountLineItem](#bonusdiscountlineitem): [BonusDiscountLineItem](dw.order.BonusDiscountLineItem.md) `(read-only)` | Returns the parent bonus discount line item of this line item. |
+| [bonusProductLineItem](#bonusproductlineitem): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the product line item represents a bonus line item. |
+| [bundledProductLineItem](#bundledproductlineitem): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the product line item represents a bundled line item. |
+| [bundledProductLineItems](#bundledproductlineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection containing the bundled product line items. |
+| [catalogProduct](#catalogproduct): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if the product line item represents a catalog product. |
+| [category](#category): [Category](dw.catalog.Category.md) | Returns the category the product line item is associated with. |
+| [categoryID](#categoryid): [String](TopLevel.String.md) | Returns the ID of the category the product line item is associated with. |
+| [externalLineItemStatus](#externallineitemstatus): [String](TopLevel.String.md) | Returns the value set for the external line item status or null if no value set. |
+| [externalLineItemText](#externallineitemtext): [String](TopLevel.String.md) | Returns the value set for the external line item text or null if no value set. |
+| [gift](#gift): [Boolean](TopLevel.Boolean.md) | Returns true if this line item represents a gift, false otherwise. |
+| [giftMessage](#giftmessage): [String](TopLevel.String.md) | Returns the value set for gift message or null if no value set. |
+| [manufacturerName](#manufacturername): [String](TopLevel.String.md) | Returns the name of the manfacturer of the product. |
+| [manufacturerSKU](#manufacturersku): [String](TopLevel.String.md) | Returns the name of the manfacturer's SKU of this product line item. |
+| [minOrderQuantity](#minorderquantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the minimal order quantity allowed for the product represented by the ProductLineItem (copied from product on initialization). |
+| [minOrderQuantityValue](#minorderquantityvalue): [Number](TopLevel.Number.md) | Return the value portion of getMinOrderQuantity(). |
+| [optionID](#optionid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the product option this product line item represents. |
+| [optionModel](#optionmodel): [ProductOptionModel](dw.catalog.ProductOptionModel.md) `(read-only)` | Returns the product option model for a product line item representing an option product. |
+| [optionProductLineItem](#optionproductlineitem): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if the product line item represents an option line item. |
+| [optionProductLineItems](#optionproductlineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns a collection containing option product line items. |
+| [optionValueID](#optionvalueid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the product option value this product line item represents. |
+| [orderItem](#orderitem): [OrderItem](dw.order.OrderItem.md) `(read-only)` | Returns the [order-item extension](dw.order.OrderItem.md) for this item, or null. |
+| [parent](#parent): [ProductLineItem](dw.order.ProductLineItem.md) `(read-only)` | Returns the parent line item of this line item or null if the line item is independent. |
+| [position](#position): [Number](TopLevel.Number.md) | Returns the position within the line item container assigned to the ProductLineItem upon its creation, may be used as a sort-order. |
+| [priceAdjustments](#priceadjustments): [Collection](dw.util.Collection.md) `(read-only)` | Returns an iterator of price adjustments that have been applied to this product line item such as promotions on the purchase price (i.e. |
+| [product](#product): [Product](dw.catalog.Product.md) `(read-only)` | Returns the product associated with the product line item. |
+| [productID](#productid): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the related product. |
+| [productInventoryList](#productinventorylist): [ProductInventoryList](dw.catalog.ProductInventoryList.md) | Returns the inventory list the product line item is associated with. |
+| [productInventoryListID](#productinventorylistid): [String](TopLevel.String.md) | Returns the ID of the inventory list the product line item is associated with. |
+| [productListItem](#productlistitem): [ProductListItem](dw.customer.ProductListItem.md) `(read-only)` | Returns the associated ProductListItem. |
+| [productName](#productname): [String](TopLevel.String.md) | Returns the name of the product that was copied when product was added to line item container. |
+| [proratedPrice](#proratedprice): [Money](dw.value.Money.md) `(read-only)` | Returns the price of this product line item after considering all dependent price adjustments and prorating all Buy-X-Get-Y and order-level discounts, according to the scheme described in [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices). |
+| [proratedPriceAdjustmentPrices](#proratedpriceadjustmentprices): [Map](dw.util.Map.md) `(read-only)` | Returns a Map of PriceAdjustment to Money instances. |
+| [qualifyingProductLineItemForBonusProduct](#qualifyingproductlineitemforbonusproduct): [ProductLineItem](dw.order.ProductLineItem.md) `(read-only)` | Returns the ProductLineItem that qualified the basket for this bonus product. |
+| [quantity](#quantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns the quantity of the product represented by this ProductLineItem. |
+| [quantityValue](#quantityvalue): [Number](TopLevel.Number.md) | Returns the value of the quantity of this ProductLineItem. |
+| [relatedBonusProductLineItems](#relatedbonusproductlineitems): [Collection](dw.util.Collection.md) `(read-only)` | Returns all bonus product line items for which this line item is a qualifying product line item. |
+| [reserved](#reserved): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns if the product line item is reserved. |
+| [shipment](#shipment): [Shipment](dw.order.Shipment.md) | Returns the associated Shipment. |
+| [shippingLineItem](#shippinglineitem): [ProductShippingLineItem](dw.order.ProductShippingLineItem.md) `(read-only)` | Returns the dependent shipping line item of this line item. |
+| [stepQuantity](#stepquantity): [Quantity](dw.value.Quantity.md) `(read-only)` | Returns step quantity allowed for the product represented by the ProductLineItem (copied from product on initialization). |
+| [stepQuantityValue](#stepquantityvalue): [Number](TopLevel.Number.md) | Return the value portion of getStepQuantity(). |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createPriceAdjustment](dw.order.ProductLineItem.md#createpriceadjustmentstring)([String](TopLevel.String.md)) | Creates a product price adjustment. |
+| [createPriceAdjustment](dw.order.ProductLineItem.md#createpriceadjustmentstring-discount)([String](TopLevel.String.md), [Discount](dw.campaign.Discount.md)) | Creates a product price adjustment representing a specific discount. |
+| [createShippingLineItem](dw.order.ProductLineItem.md#createshippinglineitem)() | Creates the dependent shipping line item for this line item. |
+| [getAdjustedGrossPrice](dw.order.ProductLineItem.md#getadjustedgrossprice)() | Returns the gross price of the product line item after applying all product-level adjustments. |
+| [getAdjustedNetPrice](dw.order.ProductLineItem.md#getadjustednetprice)() | Returns the net price of the product line item after applying all product-level adjustments. |
+| [getAdjustedPrice](dw.order.ProductLineItem.md#getadjustedprice)() | Returns the price of the product line item after applying all product-level adjustments. |
+| [getAdjustedPrice](dw.order.ProductLineItem.md#getadjustedpriceboolean)([Boolean](TopLevel.Boolean.md)) | Returns the price of this product line item after considering all dependent price adjustments and optionally prorating all order-level price adjustments. |
+| [getAdjustedTax](dw.order.ProductLineItem.md#getadjustedtax)() | Returns the tax of the unit after applying adjustments, in the purchase currency. |
+| [getBonusDiscountLineItem](dw.order.ProductLineItem.md#getbonusdiscountlineitem)() | Returns the parent bonus discount line item of this line item. |
+| [getBundledProductLineItems](dw.order.ProductLineItem.md#getbundledproductlineitems)() | Returns a collection containing the bundled product line items. |
+| [getCategory](dw.order.ProductLineItem.md#getcategory)() | Returns the category the product line item is associated with. |
+| [getCategoryID](dw.order.ProductLineItem.md#getcategoryid)() | Returns the ID of the category the product line item is associated with. |
+| [getExternalLineItemStatus](dw.order.ProductLineItem.md#getexternallineitemstatus)() | Returns the value set for the external line item status or null if no value set. |
+| [getExternalLineItemText](dw.order.ProductLineItem.md#getexternallineitemtext)() | Returns the value set for the external line item text or null if no value set. |
+| [getGiftMessage](dw.order.ProductLineItem.md#getgiftmessage)() | Returns the value set for gift message or null if no value set. |
+| [getManufacturerName](dw.order.ProductLineItem.md#getmanufacturername)() | Returns the name of the manfacturer of the product. |
+| [getManufacturerSKU](dw.order.ProductLineItem.md#getmanufacturersku)() | Returns the name of the manfacturer's SKU of this product line item. |
+| [getMinOrderQuantity](dw.order.ProductLineItem.md#getminorderquantity)() | Returns the minimal order quantity allowed for the product represented by the ProductLineItem (copied from product on initialization). |
+| [getMinOrderQuantityValue](dw.order.ProductLineItem.md#getminorderquantityvalue)() | Return the value portion of getMinOrderQuantity(). |
+| [getOptionID](dw.order.ProductLineItem.md#getoptionid)() | Returns the ID of the product option this product line item represents. |
+| [getOptionModel](dw.order.ProductLineItem.md#getoptionmodel)() | Returns the product option model for a product line item representing an option product. |
+| [getOptionProductLineItems](dw.order.ProductLineItem.md#getoptionproductlineitems)() | Returns a collection containing option product line items. |
+| [getOptionValueID](dw.order.ProductLineItem.md#getoptionvalueid)() | Returns the ID of the product option value this product line item represents. |
+| [getOrderItem](dw.order.ProductLineItem.md#getorderitem)() | Returns the [order-item extension](dw.order.OrderItem.md) for this item, or null. |
+| [getParent](dw.order.ProductLineItem.md#getparent)() | Returns the parent line item of this line item or null if the line item is independent. |
+| [getPosition](dw.order.ProductLineItem.md#getposition)() | Returns the position within the line item container assigned to the ProductLineItem upon its creation, may be used as a sort-order. |
+| [getPriceAdjustmentByPromotionID](dw.order.ProductLineItem.md#getpriceadjustmentbypromotionidstring)([String](TopLevel.String.md)) | Returns the first price adjustment associated to the specified promotion ID. |
+| [getPriceAdjustmentByPromotionIDAndCouponCode](dw.order.ProductLineItem.md#getpriceadjustmentbypromotionidandcouponcodestring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Returns the price adjustment associated to the specified promotion ID and coupon code combination. |
+| [getPriceAdjustments](dw.order.ProductLineItem.md#getpriceadjustments)() | Returns an iterator of price adjustments that have been applied to this product line item such as promotions on the purchase price (i.e. |
+| [getPriceAdjustmentsByPromotionID](dw.order.ProductLineItem.md#getpriceadjustmentsbypromotionidstring)([String](TopLevel.String.md)) | Returns the collection of price adjustments associated to the specified promotion ID. |
+| [getProduct](dw.order.ProductLineItem.md#getproduct)() | Returns the product associated with the product line item. |
+| [getProductID](dw.order.ProductLineItem.md#getproductid)() | Returns the ID of the related product. |
+| [getProductInventoryList](dw.order.ProductLineItem.md#getproductinventorylist)() | Returns the inventory list the product line item is associated with. |
+| [getProductInventoryListID](dw.order.ProductLineItem.md#getproductinventorylistid)() | Returns the ID of the inventory list the product line item is associated with. |
+| [getProductListItem](dw.order.ProductLineItem.md#getproductlistitem)() | Returns the associated ProductListItem. |
+| [getProductName](dw.order.ProductLineItem.md#getproductname)() | Returns the name of the product that was copied when product was added to line item container. |
+| [getProratedPrice](dw.order.ProductLineItem.md#getproratedprice)() | Returns the price of this product line item after considering all dependent price adjustments and prorating all Buy-X-Get-Y and order-level discounts, according to the scheme described in [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices). |
+| [getProratedPriceAdjustmentPrices](dw.order.ProductLineItem.md#getproratedpriceadjustmentprices)() | Returns a Map of PriceAdjustment to Money instances. |
+| [getQualifyingProductLineItemForBonusProduct](dw.order.ProductLineItem.md#getqualifyingproductlineitemforbonusproduct)() | Returns the ProductLineItem that qualified the basket for this bonus product. |
+| [getQuantity](dw.order.ProductLineItem.md#getquantity)() | Returns the quantity of the product represented by this ProductLineItem. |
+| [getQuantityValue](dw.order.ProductLineItem.md#getquantityvalue)() | Returns the value of the quantity of this ProductLineItem. |
+| [getRelatedBonusProductLineItems](dw.order.ProductLineItem.md#getrelatedbonusproductlineitems)() | Returns all bonus product line items for which this line item is a qualifying product line item. |
+| [getShipment](dw.order.ProductLineItem.md#getshipment)() | Returns the associated Shipment. |
+| [getShippingLineItem](dw.order.ProductLineItem.md#getshippinglineitem)() | Returns the dependent shipping line item of this line item. |
+| [getStepQuantity](dw.order.ProductLineItem.md#getstepquantity)() | Returns step quantity allowed for the product represented by the ProductLineItem (copied from product on initialization). |
+| [getStepQuantityValue](dw.order.ProductLineItem.md#getstepquantityvalue)() | Return the value portion of getStepQuantity(). |
+| [isBonusProductLineItem](dw.order.ProductLineItem.md#isbonusproductlineitem)() | Identifies if the product line item represents a bonus line item. |
+| [isBundledProductLineItem](dw.order.ProductLineItem.md#isbundledproductlineitem)() | Identifies if the product line item represents a bundled line item. |
+| [isCatalogProduct](dw.order.ProductLineItem.md#iscatalogproduct)() | Returns true if the product line item represents a catalog product. |
+| [isGift](dw.order.ProductLineItem.md#isgift)() | Returns true if this line item represents a gift, false otherwise. |
+| [isOptionProductLineItem](dw.order.ProductLineItem.md#isoptionproductlineitem)() | Identifies if the product line item represents an option line item. |
+| [isReserved](dw.order.ProductLineItem.md#isreserved)() | Returns if the product line item is reserved. |
+| [removePriceAdjustment](dw.order.ProductLineItem.md#removepriceadjustmentpriceadjustment)([PriceAdjustment](dw.order.PriceAdjustment.md)) | Removes the specified price adjustment from the product line item. |
+| [removeShippingLineItem](dw.order.ProductLineItem.md#removeshippinglineitem)() | Removes the dependent shipping line item for this line item. |
+| [replaceProduct](dw.order.ProductLineItem.md#replaceproductproduct)([Product](dw.catalog.Product.md)) | Replaces the current product of the product line item with the product specified in parameter _newProduct_. |
+| [setCategory](dw.order.ProductLineItem.md#setcategorycategory)([Category](dw.catalog.Category.md)) | Sets the specified category as the product line item category context. |
+| [setCategoryID](dw.order.ProductLineItem.md#setcategoryidstring)([String](TopLevel.String.md)) | Sets the ID of the category the product line item is associated with. |
+| [setExternalLineItemStatus](dw.order.ProductLineItem.md#setexternallineitemstatusstring)([String](TopLevel.String.md)) | Sets the value to set for the external line item status. |
+| [setExternalLineItemText](dw.order.ProductLineItem.md#setexternallineitemtextstring)([String](TopLevel.String.md)) | Sets the value to set for the external line item text. |
+| [setGift](dw.order.ProductLineItem.md#setgiftboolean)([Boolean](TopLevel.Boolean.md)) | Controls if this line item is a gift or not. |
+| [setGiftMessage](dw.order.ProductLineItem.md#setgiftmessagestring)([String](TopLevel.String.md)) | Sets the value to set for the gift message. |
+| [setManufacturerName](dw.order.ProductLineItem.md#setmanufacturernamestring)([String](TopLevel.String.md)) | Sets the name of the manufacturer of this product. |
+| [setManufacturerSKU](dw.order.ProductLineItem.md#setmanufacturerskustring)([String](TopLevel.String.md)) | Sets the SKU of the manufacturer of this product. |
+| [setMinOrderQuantityValue](dw.order.ProductLineItem.md#setminorderquantityvaluenumber)([Number](TopLevel.Number.md)) | Set the minimum order quantity value for this object. |
+| [setPosition](dw.order.ProductLineItem.md#setpositionnumber)([Number](TopLevel.Number.md)) | Sets the position within the line item container. |
+| [setPriceValue](dw.order.ProductLineItem.md#setpricevaluenumber)([Number](TopLevel.Number.md)) | Sets price attributes of the line item based on the current purchase currency, taxation policy and line item quantity. |
+| [setProductInventoryList](dw.order.ProductLineItem.md#setproductinventorylistproductinventorylist)([ProductInventoryList](dw.catalog.ProductInventoryList.md)) | Sets the specified inventory list as the product line item inventory context. |
+| [setProductInventoryListID](dw.order.ProductLineItem.md#setproductinventorylistidstring)([String](TopLevel.String.md)) | Sets the ID of the inventory list the product line item is associated with. |
+| [setProductName](dw.order.ProductLineItem.md#setproductnamestring)([String](TopLevel.String.md)) | Sets the name of the product. |
+| [setQuantityValue](dw.order.ProductLineItem.md#setquantityvaluenumber)([Number](TopLevel.Number.md)) | Updates the quantity value of the product line item. |
+| [setShipment](dw.order.ProductLineItem.md#setshipmentshipment)([Shipment](dw.order.Shipment.md)) | Associates the specified product line item with the specified shipment. |
+| [setStepQuantityValue](dw.order.ProductLineItem.md#setstepquantityvaluenumber)([Number](TopLevel.Number.md)) | Set the step quantity value for this object. |
+| [updateOptionPrice](dw.order.ProductLineItem.md#updateoptionprice)() | Determines and sets the price of a option line item based on the selected option value this line item represents. |
+| [updateOptionValue](dw.order.ProductLineItem.md#updateoptionvalueproductoptionvalue)([ProductOptionValue](dw.catalog.ProductOptionValue.md)) | Updates an option line item with a new option value. |
+| ~~[updatePrice](dw.order.ProductLineItem.md#updatepricemoney)([Money](dw.value.Money.md))~~ | Updates the price attributes of the line item based on the specified price. |
+| ~~[updateQuantity](dw.order.ProductLineItem.md#updatequantitynumber)([Number](TopLevel.Number.md))~~ | Updates the quantity value of the product line item and all its dependent product line items. |
+
+### Methods inherited from class LineItem
+
+[getBasePrice](dw.order.LineItem.md#getbaseprice), [getGrossPrice](dw.order.LineItem.md#getgrossprice), [getLineItemCtnr](dw.order.LineItem.md#getlineitemctnr), [getLineItemText](dw.order.LineItem.md#getlineitemtext), [getNetPrice](dw.order.LineItem.md#getnetprice), [getPrice](dw.order.LineItem.md#getprice), [getPriceValue](dw.order.LineItem.md#getpricevalue), [getTax](dw.order.LineItem.md#gettax), [getTaxBasis](dw.order.LineItem.md#gettaxbasis), [getTaxClassID](dw.order.LineItem.md#gettaxclassid), [getTaxRate](dw.order.LineItem.md#gettaxrate), [setBasePrice](dw.order.LineItem.md#setbasepricemoney), [setGrossPrice](dw.order.LineItem.md#setgrosspricemoney), [setLineItemText](dw.order.LineItem.md#setlineitemtextstring), [setNetPrice](dw.order.LineItem.md#setnetpricemoney), [setPriceValue](dw.order.LineItem.md#setpricevaluenumber), [setTax](dw.order.LineItem.md#settaxmoney), [setTaxClassID](dw.order.LineItem.md#settaxclassidstring), [setTaxRate](dw.order.LineItem.md#settaxratenumber), [updatePrice](dw.order.LineItem.md#updatepricemoney), [updateTax](dw.order.LineItem.md#updatetaxnumber), [updateTax](dw.order.LineItem.md#updatetaxnumber-money), [updateTaxAmount](dw.order.LineItem.md#updatetaxamountmoney)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### adjustedGrossPrice
+- adjustedGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the gross price of the product line item after applying all product-level
+ adjustments.
+
+
+ **See Also:**
+ - [getAdjustedNetPrice()](dw.order.ProductLineItem.md#getadjustednetprice)
+ - [getAdjustedPrice()](dw.order.ProductLineItem.md#getadjustedprice)
+
+
+---
+
+### adjustedNetPrice
+- adjustedNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the net price of the product line item after applying all product-level
+ adjustments.
+
+
+ **See Also:**
+ - [getAdjustedGrossPrice()](dw.order.ProductLineItem.md#getadjustedgrossprice)
+ - [getAdjustedPrice()](dw.order.ProductLineItem.md#getadjustedprice)
+
+
+---
+
+### adjustedPrice
+- adjustedPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the price of the product line item after applying all product-level
+ adjustments. For net pricing the adjusted net price is returned
+ (see [getAdjustedNetPrice()](dw.order.ProductLineItem.md#getadjustednetprice)). For gross pricing, the adjusted
+ gross price is returned (see [getAdjustedGrossPrice()](dw.order.ProductLineItem.md#getadjustedgrossprice)).
+
+
+ **See Also:**
+ - [getAdjustedGrossPrice()](dw.order.ProductLineItem.md#getadjustedgrossprice)
+ - [getAdjustedNetPrice()](dw.order.ProductLineItem.md#getadjustednetprice)
+
+
+---
+
+### adjustedTax
+- adjustedTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the tax of the unit after applying adjustments, in the purchase currency.
+
+
+---
+
+### bonusDiscountLineItem
+- bonusDiscountLineItem: [BonusDiscountLineItem](dw.order.BonusDiscountLineItem.md) `(read-only)`
+ - : Returns the parent bonus discount line item of this line item. Only
+ bonus product line items that have been selected by the customer as
+ part of a BONUS\_CHOICE discount have one of these.
+
+
+
+---
+
+### bonusProductLineItem
+- bonusProductLineItem: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the product line item represents a bonus line item.
+
+
+---
+
+### bundledProductLineItem
+- bundledProductLineItem: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the product line item represents a bundled line item.
+
+
+---
+
+### bundledProductLineItems
+- bundledProductLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection containing the bundled product line items.
+
+
+---
+
+### catalogProduct
+- catalogProduct: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if the product line item represents a catalog product.
+
+
+ That flag is determined during product line item creation with
+ [LineItemCtnr.createProductLineItem(String, Shipment)](dw.order.LineItemCtnr.md#createproductlineitemstring-shipment), stored at the line item container and can
+ be accessed as productLineItem.catalogProduct. It represents what can be evaluated with
+
+
+ ```
+ dw.catalog.ProductMgr.getProduct( productID ) != null
+ && dw.catalog.ProductMgr.getProduct( productID ).isAssignedToSiteCatalog()
+ ```
+
+
+ If the product is not available during product line item creation it is considered a non catalog product line item without
+ connection to a product.
+
+
+ **See Also:**
+ - [getProduct()](dw.order.ProductLineItem.md#getproduct)
+
+
+---
+
+### category
+- category: [Category](dw.catalog.Category.md)
+ - : Returns the category the product line item is associated with. If the
+ line item is not associated with a category, or the category does not
+ exist in the site catalog, the method returns null.
+
+
+
+---
+
+### categoryID
+- categoryID: [String](TopLevel.String.md)
+ - : Returns the ID of the category the product line item is associated with.
+
+
+---
+
+### externalLineItemStatus
+- externalLineItemStatus: [String](TopLevel.String.md)
+ - : Returns the value set for the external line item status
+ or null if no value set.
+
+
+
+---
+
+### externalLineItemText
+- externalLineItemText: [String](TopLevel.String.md)
+ - : Returns the value set for the external line item text
+ or null if no value set.
+
+
+
+---
+
+### gift
+- gift: [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this line item represents a gift, false otherwise.
+
+
+---
+
+### giftMessage
+- giftMessage: [String](TopLevel.String.md)
+ - : Returns the value set for gift message or null if no value set.
+
+
+---
+
+### manufacturerName
+- manufacturerName: [String](TopLevel.String.md)
+ - : Returns the name of the manfacturer of the product.
+
+
+---
+
+### manufacturerSKU
+- manufacturerSKU: [String](TopLevel.String.md)
+ - : Returns the name of the manfacturer's SKU of this product line item.
+
+
+---
+
+### minOrderQuantity
+- minOrderQuantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the minimal order quantity allowed for the product represented by the
+ ProductLineItem (copied from product on initialization).
+ Note: the quantity of a ProductLineItem must obey the limits set by the
+ ProductLineItem's attributes 'MinOrderQuantity' and 'StepQuantity', i.e.
+ for a 'MinOrderQuantity' of 2.0 and a 'StepQuantity' of 2.5 then values
+ 2.0, 4.5, 7.0... are allowed values.
+
+
+
+---
+
+### minOrderQuantityValue
+- minOrderQuantityValue: [Number](TopLevel.Number.md)
+ - : Return the value portion of getMinOrderQuantity().
+
+
+---
+
+### optionID
+- optionID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the product option this product line item
+ represents. If the product line item does not represent an option,
+ null is returned.
+
+
+
+---
+
+### optionModel
+- optionModel: [ProductOptionModel](dw.catalog.ProductOptionModel.md) `(read-only)`
+ - : Returns the product option model for a product line item representing an option product.
+
+
+ The returned option model has preselected values based on the dependent option line items of this product line
+ item. Null is returned if this line item does not represent an option product.
+
+
+
+---
+
+### optionProductLineItem
+- optionProductLineItem: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if the product line item represents an option line item.
+ Option line items do not represent true products but rather options of
+ products. An option line item always has a parent product line item
+ representing a true product.
+
+
+
+---
+
+### optionProductLineItems
+- optionProductLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection containing option product line items.
+
+
+---
+
+### optionValueID
+- optionValueID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the product option value this product line item
+ represents. If the product line item does not represent an option,
+ null is returned.
+
+
+
+---
+
+### orderItem
+- orderItem: [OrderItem](dw.order.OrderItem.md) `(read-only)`
+ - : Returns the [order-item extension](dw.order.OrderItem.md) for this item, or null. An order-item
+ extension will only exist for a ProductLineItem which belongs to an [Order](dw.order.Order.md).
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### parent
+- parent: [ProductLineItem](dw.order.ProductLineItem.md) `(read-only)`
+ - : Returns the parent line item of this line item or null if the line item
+ is independent.
+
+
+
+---
+
+### position
+- position: [Number](TopLevel.Number.md)
+ - : Returns the position within the line item container assigned to the ProductLineItem upon its creation, may be
+ used as a sort-order.
+
+
+ The position is updated in the following way:
+
+ - When a ProductLineItem is added to the LineItemCtnr, it is assigned the next available position, based on the current count
+ - When a ProductLineItem is removed from the LineItemCtnr then LineItemCtnr method reassignPositions is called, so that the 'gap' left by the removed line-item is refilled. This method is dependent on no 2 ProductLineItem having the same position.
+ - When a LineItemCtnr is copied (e.g. when a PlacedOrder is created from a Basket), no special position handling is necessary as the ProductLineItems are added according to their current position ordering in the source LineItemCtnr.
+
+
+
+---
+
+### priceAdjustments
+- priceAdjustments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns an iterator of price adjustments that have been applied to this
+ product line item such as promotions on the purchase price
+ (i.e. $10 Off or 10% Off).
+
+
+
+---
+
+### product
+- product: [Product](dw.catalog.Product.md) `(read-only)`
+ - : Returns the product associated with the product line item.
+
+
+ The product line item might not be related to an actual catalog product, for example if it represents an option,
+ or was not created from a catalog product, or if the product does not exist in the catalog anymore. In these
+ cases, the method returns null.
+
+
+ **See Also:**
+ - [isCatalogProduct()](dw.order.ProductLineItem.md#iscatalogproduct)
+
+
+---
+
+### productID
+- productID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the related product.
+
+
+ Returns empty if no product is related.
+
+
+ **See Also:**
+ - [isCatalogProduct()](dw.order.ProductLineItem.md#iscatalogproduct)
+ - [getProduct()](dw.order.ProductLineItem.md#getproduct)
+
+
+---
+
+### productInventoryList
+- productInventoryList: [ProductInventoryList](dw.catalog.ProductInventoryList.md)
+ - : Returns the inventory list the product line item is associated with. If the
+ line item is not associated with a inventory list, or the inventory list does not
+ exist, the method returns null.
+
+
+
+---
+
+### productInventoryListID
+- productInventoryListID: [String](TopLevel.String.md)
+ - : Returns the ID of the inventory list the product line item is associated with.
+
+
+---
+
+### productListItem
+- productListItem: [ProductListItem](dw.customer.ProductListItem.md) `(read-only)`
+ - : Returns the associated ProductListItem.
+
+
+---
+
+### productName
+- productName: [String](TopLevel.String.md)
+ - : Returns the name of the product that was copied when
+ product was added to line item container.
+
+
+
+---
+
+### proratedPrice
+- proratedPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the price of this product line item after considering all
+ dependent price adjustments and prorating all Buy-X-Get-Y
+ and order-level discounts, according to the scheme described in
+ [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices). For net pricing the
+ net price is returned. For gross pricing, the gross price is returned.
+
+
+
+---
+
+### proratedPriceAdjustmentPrices
+- proratedPriceAdjustmentPrices: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns a Map of PriceAdjustment to Money instances. They keys to this
+ map are the price adjustments that apply to this ProductLineItem either
+ directly or indirectly when discounts are prorated according to the
+ scheme described in [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices).
+ The values in the map are the portion of the adjustment which applies to
+ this particular product line item.
+
+
+
+---
+
+### qualifyingProductLineItemForBonusProduct
+- qualifyingProductLineItemForBonusProduct: [ProductLineItem](dw.order.ProductLineItem.md) `(read-only)`
+ - : Returns the ProductLineItem that qualified the basket for this bonus product.
+
+
+ This method is only applicable if the product line item is a bonus product line item, and if the promotion is a
+ product promotion with number of qualifying products granting a bonus-product discount. If these conditions
+ aren't met, the method returns null. If there are multiple product line items that triggered this bonus product,
+ this method returns the last one by position within the order.
+
+
+
+---
+
+### quantity
+- quantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns the quantity of the product represented by this ProductLineItem.
+
+
+---
+
+### quantityValue
+- quantityValue: [Number](TopLevel.Number.md)
+ - : Returns the value of the quantity of this ProductLineItem.
+
+
+---
+
+### relatedBonusProductLineItems
+- relatedBonusProductLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all bonus product line items for which this line item is a
+ qualifying product line item. This method is usually called when
+ rendering the cart so that bonus products can be shown next to the
+ products that triggered their creation.
+
+
+
+---
+
+### reserved
+- reserved: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns if the product line item is reserved.
+
+
+ Reservations for the basket can be created with e.g. [Basket.reserveInventory(Number)](dw.order.Basket.md#reserveinventorynumber).
+
+
+ Method must only be called for basket product line items. Exception is thrown if called for order product line
+ item.
+
+
+
+---
+
+### shipment
+- shipment: [Shipment](dw.order.Shipment.md)
+ - : Returns the associated Shipment.
+
+
+---
+
+### shippingLineItem
+- shippingLineItem: [ProductShippingLineItem](dw.order.ProductShippingLineItem.md) `(read-only)`
+ - : Returns the dependent shipping line item of this line item.
+ The shipping line item can define product-specific shipping
+ costs for this product line item.
+
+
+
+---
+
+### stepQuantity
+- stepQuantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : Returns step quantity allowed for the product represented by the ProductLineItem
+ (copied from product on initialization).
+ Note: the quantity of a ProductLineItem must obey the limits set by the
+ ProductLineItem's attributes 'MinOrderQuantity' and 'StepQuantity', i.e.
+ for a 'MinOrderQuantity' of 2.0 and a 'StepQuantity' of 2.5 then values
+ 2.0, 4.5, 7.0... are allowed values.
+
+
+
+---
+
+### stepQuantityValue
+- stepQuantityValue: [Number](TopLevel.Number.md)
+ - : Return the value portion of getStepQuantity().
+
+
+---
+
+## Method Details
+
+### createPriceAdjustment(String)
+- createPriceAdjustment(promotionID: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Creates a product price adjustment.
+
+
+ The price adjustment line item is being initialized with the tax class code and tax rate of the product line
+ item. The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce. If
+ there already exists a price adjustment for the same promotionID, an exception is thrown.
+
+
+ **Parameters:**
+ - promotionID - Promotion ID
+
+ **Returns:**
+ - The new price adjustment
+
+
+---
+
+### createPriceAdjustment(String, Discount)
+- createPriceAdjustment(promotionID: [String](TopLevel.String.md), discount: [Discount](dw.campaign.Discount.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Creates a product price adjustment representing a specific discount. The price adjustment line item is
+ initialized with the tax class code and tax rate of the product line item.
+
+
+ The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce. If a price
+ adjustment already exists for the same promotionID, an exception is thrown.
+
+
+
+
+ The possible discounts are [FixedPriceDiscount](dw.campaign.FixedPriceDiscount.md), [AmountDiscount](dw.campaign.AmountDiscount.md),
+ [PercentageDiscount](dw.campaign.PercentageDiscount.md). Example:
+
+
+
+
+ ```
+ var myProductItem : dw.order.ProductLineItem; // assume known
+ var paFixedUnitPrice100 : dw.order.PriceAdjustment = myProductItem.createPriceAdjustment("myPromotionID1", new FixedPriceDiscount(100.00));
+ var paTenPercent : dw.order.PriceAdjustment = myProductItem.createPriceAdjustment("myPromotionID2", new PercentageDiscount(10));
+ var paReduceBy20 : dw.order.PriceAdjustment = myProductItem.createPriceAdjustment("myPromotionID3", new AmountDiscount(20.00);
+ ```
+
+
+ **Parameters:**
+ - promotionID - Unique custom promotion ID, not null
+ - discount - The desired discount, not null
+
+ **Returns:**
+ - The new custom price adjustment
+
+
+---
+
+### createShippingLineItem()
+- createShippingLineItem(): [ProductShippingLineItem](dw.order.ProductShippingLineItem.md)
+ - : Creates the dependent shipping line item for this line item.
+ The shipping line item can define product-specific shipping
+ costs for this product line item.
+ This method has replace semantics: If there is an existing
+ shipping line item it will be replaced
+ with a new shipping line item.
+
+
+ **Returns:**
+ - the created shipping line item
+
+
+---
+
+### getAdjustedGrossPrice()
+- getAdjustedGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the gross price of the product line item after applying all product-level
+ adjustments.
+
+
+ **Returns:**
+ - gross price after applying product-level adjustments
+
+ **See Also:**
+ - [getAdjustedNetPrice()](dw.order.ProductLineItem.md#getadjustednetprice)
+ - [getAdjustedPrice()](dw.order.ProductLineItem.md#getadjustedprice)
+
+
+---
+
+### getAdjustedNetPrice()
+- getAdjustedNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the net price of the product line item after applying all product-level
+ adjustments.
+
+
+ **Returns:**
+ - net price after applying product-level adjustments
+
+ **See Also:**
+ - [getAdjustedGrossPrice()](dw.order.ProductLineItem.md#getadjustedgrossprice)
+ - [getAdjustedPrice()](dw.order.ProductLineItem.md#getadjustedprice)
+
+
+---
+
+### getAdjustedPrice()
+- getAdjustedPrice(): [Money](dw.value.Money.md)
+ - : Returns the price of the product line item after applying all product-level
+ adjustments. For net pricing the adjusted net price is returned
+ (see [getAdjustedNetPrice()](dw.order.ProductLineItem.md#getadjustednetprice)). For gross pricing, the adjusted
+ gross price is returned (see [getAdjustedGrossPrice()](dw.order.ProductLineItem.md#getadjustedgrossprice)).
+
+
+ **Returns:**
+ - Adjusted net or gross price
+
+ **See Also:**
+ - [getAdjustedGrossPrice()](dw.order.ProductLineItem.md#getadjustedgrossprice)
+ - [getAdjustedNetPrice()](dw.order.ProductLineItem.md#getadjustednetprice)
+
+
+---
+
+### getAdjustedPrice(Boolean)
+- getAdjustedPrice(applyOrderLevelAdjustments: [Boolean](TopLevel.Boolean.md)): [Money](dw.value.Money.md)
+ - : Returns the price of this product line item after considering all
+ dependent price adjustments and optionally prorating all order-level
+ price adjustments. For net pricing the net price is returned. For gross
+ pricing, the gross price is returned.
+
+
+ **Parameters:**
+ - applyOrderLevelAdjustments - If true, order-level adjustments will be applied to line item price.
+
+ **Returns:**
+ - Adjusted net or gross price
+
+ **See Also:**
+ - [getAdjustedPrice()](dw.order.ProductLineItem.md#getadjustedprice)
+
+
+---
+
+### getAdjustedTax()
+- getAdjustedTax(): [Money](dw.value.Money.md)
+ - : Returns the tax of the unit after applying adjustments, in the purchase currency.
+
+ **Returns:**
+ - the tax of the unit after applying adjustments, in the purchase currency.
+
+
+---
+
+### getBonusDiscountLineItem()
+- getBonusDiscountLineItem(): [BonusDiscountLineItem](dw.order.BonusDiscountLineItem.md)
+ - : Returns the parent bonus discount line item of this line item. Only
+ bonus product line items that have been selected by the customer as
+ part of a BONUS\_CHOICE discount have one of these.
+
+
+ **Returns:**
+ - the bonus discount line item of this line item or null
+
+
+---
+
+### getBundledProductLineItems()
+- getBundledProductLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing the bundled product line items.
+
+ **Returns:**
+ - a collection containing the bundled product line items.
+
+
+---
+
+### getCategory()
+- getCategory(): [Category](dw.catalog.Category.md)
+ - : Returns the category the product line item is associated with. If the
+ line item is not associated with a category, or the category does not
+ exist in the site catalog, the method returns null.
+
+
+ **Returns:**
+ - Category or null
+
+
+---
+
+### getCategoryID()
+- getCategoryID(): [String](TopLevel.String.md)
+ - : Returns the ID of the category the product line item is associated with.
+
+ **Returns:**
+ - Category ID or null.
+
+
+---
+
+### getExternalLineItemStatus()
+- getExternalLineItemStatus(): [String](TopLevel.String.md)
+ - : Returns the value set for the external line item status
+ or null if no value set.
+
+
+ **Returns:**
+ - the value set for the external line item status
+ or null if no value set.
+
+
+
+---
+
+### getExternalLineItemText()
+- getExternalLineItemText(): [String](TopLevel.String.md)
+ - : Returns the value set for the external line item text
+ or null if no value set.
+
+
+ **Returns:**
+ - the value set for the external line item text
+ or null if no value set.
+
+
+
+---
+
+### getGiftMessage()
+- getGiftMessage(): [String](TopLevel.String.md)
+ - : Returns the value set for gift message or null if no value set.
+
+ **Returns:**
+ - the value set for gift message or null if no value set.
+
+
+---
+
+### getManufacturerName()
+- getManufacturerName(): [String](TopLevel.String.md)
+ - : Returns the name of the manfacturer of the product.
+
+ **Returns:**
+ - The name of the manfacturer of the product.
+
+
+---
+
+### getManufacturerSKU()
+- getManufacturerSKU(): [String](TopLevel.String.md)
+ - : Returns the name of the manfacturer's SKU of this product line item.
+
+ **Returns:**
+ - the name of the manfacturer's SKU of this product line item.
+
+
+---
+
+### getMinOrderQuantity()
+- getMinOrderQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the minimal order quantity allowed for the product represented by the
+ ProductLineItem (copied from product on initialization).
+ Note: the quantity of a ProductLineItem must obey the limits set by the
+ ProductLineItem's attributes 'MinOrderQuantity' and 'StepQuantity', i.e.
+ for a 'MinOrderQuantity' of 2.0 and a 'StepQuantity' of 2.5 then values
+ 2.0, 4.5, 7.0... are allowed values.
+
+
+ **Returns:**
+ - the minimal order quantity allowed for the product.
+
+
+---
+
+### getMinOrderQuantityValue()
+- getMinOrderQuantityValue(): [Number](TopLevel.Number.md)
+ - : Return the value portion of getMinOrderQuantity().
+
+ **Returns:**
+ - the minimal order quantity value allowed for the product.
+
+
+---
+
+### getOptionID()
+- getOptionID(): [String](TopLevel.String.md)
+ - : Returns the ID of the product option this product line item
+ represents. If the product line item does not represent an option,
+ null is returned.
+
+
+ **Returns:**
+ - the ID of the product option this product line item represents.
+
+
+---
+
+### getOptionModel()
+- getOptionModel(): [ProductOptionModel](dw.catalog.ProductOptionModel.md)
+ - : Returns the product option model for a product line item representing an option product.
+
+
+ The returned option model has preselected values based on the dependent option line items of this product line
+ item. Null is returned if this line item does not represent an option product.
+
+
+ **Returns:**
+ - the product option model for a product line item representing an option product.
+
+
+---
+
+### getOptionProductLineItems()
+- getOptionProductLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns a collection containing option product line items.
+
+ **Returns:**
+ - a collection containing option product line items.
+
+
+---
+
+### getOptionValueID()
+- getOptionValueID(): [String](TopLevel.String.md)
+ - : Returns the ID of the product option value this product line item
+ represents. If the product line item does not represent an option,
+ null is returned.
+
+
+ **Returns:**
+ - the ID of the product option value this product line item represents.
+
+
+---
+
+### getOrderItem()
+- getOrderItem(): [OrderItem](dw.order.OrderItem.md)
+ - : Returns the [order-item extension](dw.order.OrderItem.md) for this item, or null. An order-item
+ extension will only exist for a ProductLineItem which belongs to an [Order](dw.order.Order.md).
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - null or the order-item extension
+
+
+---
+
+### getParent()
+- getParent(): [ProductLineItem](dw.order.ProductLineItem.md)
+ - : Returns the parent line item of this line item or null if the line item
+ is independent.
+
+
+ **Returns:**
+ - the parent line item of this line item or null if the line item
+ is independent.
+
+
+
+---
+
+### getPosition()
+- getPosition(): [Number](TopLevel.Number.md)
+ - : Returns the position within the line item container assigned to the ProductLineItem upon its creation, may be
+ used as a sort-order.
+
+
+ The position is updated in the following way:
+
+ - When a ProductLineItem is added to the LineItemCtnr, it is assigned the next available position, based on the current count
+ - When a ProductLineItem is removed from the LineItemCtnr then LineItemCtnr method reassignPositions is called, so that the 'gap' left by the removed line-item is refilled. This method is dependent on no 2 ProductLineItem having the same position.
+ - When a LineItemCtnr is copied (e.g. when a PlacedOrder is created from a Basket), no special position handling is necessary as the ProductLineItems are added according to their current position ordering in the source LineItemCtnr.
+
+
+ **Returns:**
+ - the position within the line item container assigned to the ProductLineItem upon its creation.
+
+
+---
+
+### getPriceAdjustmentByPromotionID(String)
+- getPriceAdjustmentByPromotionID(promotionID: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Returns the first price adjustment associated to the specified promotion ID. It is highly recommended to use
+ [getPriceAdjustmentsByPromotionID(String)](dw.order.ProductLineItem.md#getpriceadjustmentsbypromotionidstring) instead. If there are multiple price adjustments for the same
+ promotion, this method will return the first found. Alternatively, to uniquely identify a price adjustment using
+ its promotion id and coupon code, use [getPriceAdjustmentByPromotionIDAndCouponCode(String, String)](dw.order.ProductLineItem.md#getpriceadjustmentbypromotionidandcouponcodestring-string)
+
+
+ **Parameters:**
+ - promotionID - Promotion id
+
+ **Returns:**
+ - The price adjustment associated with the promotion ID or null
+
+
+---
+
+### getPriceAdjustmentByPromotionIDAndCouponCode(String, String)
+- getPriceAdjustmentByPromotionIDAndCouponCode(promotionID: [String](TopLevel.String.md), couponCode: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Returns the price adjustment associated to the specified promotion ID and coupon code combination.
+
+ **Parameters:**
+ - promotionID - Promotion id
+ - couponCode - the code of the coupon used to apply the promotion, or null if the promotion is not coupon based.
+
+ **Returns:**
+ - The price adjustment associated with the promotion ID and coupon code combination, or null
+
+
+---
+
+### getPriceAdjustments()
+- getPriceAdjustments(): [Collection](dw.util.Collection.md)
+ - : Returns an iterator of price adjustments that have been applied to this
+ product line item such as promotions on the purchase price
+ (i.e. $10 Off or 10% Off).
+
+
+ **Returns:**
+ - a collection of price adjustments that have been applied to this
+ product line item.
+
+
+
+---
+
+### getPriceAdjustmentsByPromotionID(String)
+- getPriceAdjustmentsByPromotionID(promotionID: [String](TopLevel.String.md)): [Collection](dw.util.Collection.md)
+ - : Returns the collection of price adjustments associated to the specified promotion ID. If only one coupon code is
+ allowed per order, then the collection should only ever have a single entry in it. The multiple coupon code
+ feature can cause multiple price adjustments to be returned.
+
+
+ **Parameters:**
+ - promotionID - Promotion id
+
+ **Returns:**
+ - The collection of price adjustments associated with the promotion ID or null if the promotionID was null.
+ If there are no price adjustments for the passed promotion, the collection will be empty.
+
+
+
+---
+
+### getProduct()
+- getProduct(): [Product](dw.catalog.Product.md)
+ - : Returns the product associated with the product line item.
+
+
+ The product line item might not be related to an actual catalog product, for example if it represents an option,
+ or was not created from a catalog product, or if the product does not exist in the catalog anymore. In these
+ cases, the method returns null.
+
+
+ **Returns:**
+ - the product of the line item, or null
+
+ **See Also:**
+ - [isCatalogProduct()](dw.order.ProductLineItem.md#iscatalogproduct)
+
+
+---
+
+### getProductID()
+- getProductID(): [String](TopLevel.String.md)
+ - : Returns the ID of the related product.
+
+
+ Returns empty if no product is related.
+
+
+ **Returns:**
+ - the ID of the related product.
+
+ **See Also:**
+ - [isCatalogProduct()](dw.order.ProductLineItem.md#iscatalogproduct)
+ - [getProduct()](dw.order.ProductLineItem.md#getproduct)
+
+
+---
+
+### getProductInventoryList()
+- getProductInventoryList(): [ProductInventoryList](dw.catalog.ProductInventoryList.md)
+ - : Returns the inventory list the product line item is associated with. If the
+ line item is not associated with a inventory list, or the inventory list does not
+ exist, the method returns null.
+
+
+ **Returns:**
+ - ProductInventoryList or null
+
+
+---
+
+### getProductInventoryListID()
+- getProductInventoryListID(): [String](TopLevel.String.md)
+ - : Returns the ID of the inventory list the product line item is associated with.
+
+ **Returns:**
+ - ProductInventoryList ID or null.
+
+
+---
+
+### getProductListItem()
+- getProductListItem(): [ProductListItem](dw.customer.ProductListItem.md)
+ - : Returns the associated ProductListItem.
+
+ **Returns:**
+ - item or null.
+
+
+---
+
+### getProductName()
+- getProductName(): [String](TopLevel.String.md)
+ - : Returns the name of the product that was copied when
+ product was added to line item container.
+
+
+ **Returns:**
+ - the name of the product.
+
+
+---
+
+### getProratedPrice()
+- getProratedPrice(): [Money](dw.value.Money.md)
+ - : Returns the price of this product line item after considering all
+ dependent price adjustments and prorating all Buy-X-Get-Y
+ and order-level discounts, according to the scheme described in
+ [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices). For net pricing the
+ net price is returned. For gross pricing, the gross price is returned.
+
+
+ **Returns:**
+ - Adjusted and prorated net or gross price
+
+
+---
+
+### getProratedPriceAdjustmentPrices()
+- getProratedPriceAdjustmentPrices(): [Map](dw.util.Map.md)
+ - : Returns a Map of PriceAdjustment to Money instances. They keys to this
+ map are the price adjustments that apply to this ProductLineItem either
+ directly or indirectly when discounts are prorated according to the
+ scheme described in [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices).
+ The values in the map are the portion of the adjustment which applies to
+ this particular product line item.
+
+
+ **Returns:**
+ - Map of PriceAdjustment to Money instances, representing the
+ prorated adjustments applied to this ProductLineItem.
+
+
+
+---
+
+### getQualifyingProductLineItemForBonusProduct()
+- getQualifyingProductLineItemForBonusProduct(): [ProductLineItem](dw.order.ProductLineItem.md)
+ - : Returns the ProductLineItem that qualified the basket for this bonus product.
+
+
+ This method is only applicable if the product line item is a bonus product line item, and if the promotion is a
+ product promotion with number of qualifying products granting a bonus-product discount. If these conditions
+ aren't met, the method returns null. If there are multiple product line items that triggered this bonus product,
+ this method returns the last one by position within the order.
+
+
+ **Returns:**
+ - the ProductLineItem that qualified the basket for this bonus product. Returns null if this is not a bonus
+ product, or if there was no distinct qualifying product.
+
+
+
+---
+
+### getQuantity()
+- getQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity of the product represented by this ProductLineItem.
+
+ **Returns:**
+ - the quantity of the product.
+
+
+---
+
+### getQuantityValue()
+- getQuantityValue(): [Number](TopLevel.Number.md)
+ - : Returns the value of the quantity of this ProductLineItem.
+
+ **Returns:**
+ - quantity value of product line item
+
+
+---
+
+### getRelatedBonusProductLineItems()
+- getRelatedBonusProductLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns all bonus product line items for which this line item is a
+ qualifying product line item. This method is usually called when
+ rendering the cart so that bonus products can be shown next to the
+ products that triggered their creation.
+
+
+ **Returns:**
+ - the bonus product line items triggered by the addition of this
+ product to the cart.
+
+
+
+---
+
+### getShipment()
+- getShipment(): [Shipment](dw.order.Shipment.md)
+ - : Returns the associated Shipment.
+
+ **Returns:**
+ - The shipment of the product line item
+
+
+---
+
+### getShippingLineItem()
+- getShippingLineItem(): [ProductShippingLineItem](dw.order.ProductShippingLineItem.md)
+ - : Returns the dependent shipping line item of this line item.
+ The shipping line item can define product-specific shipping
+ costs for this product line item.
+
+
+ **Returns:**
+ - the shipping line item of this line item or null
+
+
+---
+
+### getStepQuantity()
+- getStepQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns step quantity allowed for the product represented by the ProductLineItem
+ (copied from product on initialization).
+ Note: the quantity of a ProductLineItem must obey the limits set by the
+ ProductLineItem's attributes 'MinOrderQuantity' and 'StepQuantity', i.e.
+ for a 'MinOrderQuantity' of 2.0 and a 'StepQuantity' of 2.5 then values
+ 2.0, 4.5, 7.0... are allowed values.
+
+
+ **Returns:**
+ - step quantity allowed for the product.
+
+
+---
+
+### getStepQuantityValue()
+- getStepQuantityValue(): [Number](TopLevel.Number.md)
+ - : Return the value portion of getStepQuantity().
+
+ **Returns:**
+ - step quantity value allowed for the product.
+
+
+---
+
+### isBonusProductLineItem()
+- isBonusProductLineItem(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the product line item represents a bonus line item.
+
+ **Returns:**
+ - true if the product line item represents a bonus
+ line item, false otherwise.
+
+
+
+---
+
+### isBundledProductLineItem()
+- isBundledProductLineItem(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the product line item represents a bundled line item.
+
+ **Returns:**
+ - true if the product line item represents a bundled line item.
+
+
+---
+
+### isCatalogProduct()
+- isCatalogProduct(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the product line item represents a catalog product.
+
+
+ That flag is determined during product line item creation with
+ [LineItemCtnr.createProductLineItem(String, Shipment)](dw.order.LineItemCtnr.md#createproductlineitemstring-shipment), stored at the line item container and can
+ be accessed as productLineItem.catalogProduct. It represents what can be evaluated with
+
+
+ ```
+ dw.catalog.ProductMgr.getProduct( productID ) != null
+ && dw.catalog.ProductMgr.getProduct( productID ).isAssignedToSiteCatalog()
+ ```
+
+
+ If the product is not available during product line item creation it is considered a non catalog product line item without
+ connection to a product.
+
+
+ **Returns:**
+ - true if product line item represents catalog product, otherwise false
+
+ **See Also:**
+ - [getProduct()](dw.order.ProductLineItem.md#getproduct)
+
+
+---
+
+### isGift()
+- isGift(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this line item represents a gift, false otherwise.
+
+ **Returns:**
+ - true if this line item represents a gift, false otherwise.
+
+
+---
+
+### isOptionProductLineItem()
+- isOptionProductLineItem(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if the product line item represents an option line item.
+ Option line items do not represent true products but rather options of
+ products. An option line item always has a parent product line item
+ representing a true product.
+
+
+ **Returns:**
+ - true if the product line item represents an option
+ line item, false otherwise.
+
+
+
+---
+
+### isReserved()
+- isReserved(): [Boolean](TopLevel.Boolean.md)
+ - : Returns if the product line item is reserved.
+
+
+ Reservations for the basket can be created with e.g. [Basket.reserveInventory(Number)](dw.order.Basket.md#reserveinventorynumber).
+
+
+ Method must only be called for basket product line items. Exception is thrown if called for order product line
+ item.
+
+
+ **Returns:**
+ - true if line item is reserved, false otherwise.
+
+
+---
+
+### removePriceAdjustment(PriceAdjustment)
+- removePriceAdjustment(priceAdjustmentLineItem: [PriceAdjustment](dw.order.PriceAdjustment.md)): void
+ - : Removes the specified price adjustment from the product line item.
+
+ **Parameters:**
+ - priceAdjustmentLineItem - The price adjustment to remove
+
+
+---
+
+### removeShippingLineItem()
+- removeShippingLineItem(): void
+ - : Removes the dependent shipping line item for this line item.
+
+
+---
+
+### replaceProduct(Product)
+- replaceProduct(newProduct: [Product](dw.catalog.Product.md)): void
+ - : Replaces the current product of the product line item with the product specified in parameter _newProduct_.
+
+
+ The following rules apply:
+
+ - Preserve line item attributes UUID, Quantity, CategoryID, ExternalLineItemStatus, ExternalLineItemText, isGift, GiftMessage, Position, Parent, Shipment
+ - Replace product-specific attributes ProductID, ProductName, MinOrderQuantity, StepQuantity, ManufacturerName, ManufacturerSKU
+ - Remove all price adjustments related to the product line item
+ - Remove the shipping line item related to the product line item
+ - Remove all bundled line items of current product, and add bundled line items if new product is a bundle
+ - Remove all option line items of current product, and add option line items if new product is an option product; use default option selections
+ - Set all price attributes to N/A
+ - Preserve all custom attributes of line item, but override order-required attributes with values from new product
+
+
+
+
+
+ The primary use is to replace one variation product with another, without having to both create a new line item
+ for the replacement and remove the line item for the replaced product.
+
+
+ **Parameters:**
+ - newProduct - The new product of the product line item
+
+
+---
+
+### setCategory(Category)
+- setCategory(category: [Category](dw.catalog.Category.md)): void
+ - : Sets the specified category as the product line item category context.
+
+ **Parameters:**
+ - category - Category instance or null
+
+
+---
+
+### setCategoryID(String)
+- setCategoryID(categoryID: [String](TopLevel.String.md)): void
+ - : Sets the ID of the category the product line item is associated with.
+
+ **Parameters:**
+ - categoryID - the Category ID or null.
+
+
+---
+
+### setExternalLineItemStatus(String)
+- setExternalLineItemStatus(status: [String](TopLevel.String.md)): void
+ - : Sets the value to set for the external line item status.
+
+ **Parameters:**
+ - status - the value to set for the external line item status.
+
+
+---
+
+### setExternalLineItemText(String)
+- setExternalLineItemText(text: [String](TopLevel.String.md)): void
+ - : Sets the value to set for the external line item text.
+
+ **Parameters:**
+ - text - the value to set for the external line item text.
+
+
+---
+
+### setGift(Boolean)
+- setGift(isGift: [Boolean](TopLevel.Boolean.md)): void
+ - : Controls if this line item is a gift or not.
+
+ **Parameters:**
+ - isGift - set to true if you want this line item to represent a gift.
+
+
+---
+
+### setGiftMessage(String)
+- setGiftMessage(message: [String](TopLevel.String.md)): void
+ - : Sets the value to set for the gift message.
+
+ **Parameters:**
+ - message - the value to set for the gift message.
+
+
+---
+
+### setManufacturerName(String)
+- setManufacturerName(name: [String](TopLevel.String.md)): void
+ - : Sets the name of the manufacturer of this product.
+
+ **Parameters:**
+ - name - The name of the manfacturer of this product
+
+
+---
+
+### setManufacturerSKU(String)
+- setManufacturerSKU(sku: [String](TopLevel.String.md)): void
+ - : Sets the SKU of the manufacturer of this product.
+
+ **Parameters:**
+ - sku - The SKU of the manfacturer of this product
+
+
+---
+
+### setMinOrderQuantityValue(Number)
+- setMinOrderQuantityValue(quantityValue: [Number](TopLevel.Number.md)): void
+ - : Set the minimum order quantity value for this object.
+
+
+ This will be used to validate and adjust quantities when setQuantityValue() is called. For typical catalog
+ product line items, it is usually desirable to have this value inherited from the product attributes, but for
+ non-catalog products, it is sometimes desirable to set this value programmatically.
+
+
+
+
+ Null is accepted and represents Quantity.NA. Otherwise, the quantity value must be > 0.
+
+
+ **Parameters:**
+ - quantityValue - The minimal order quantity allowed for the product or null.
+
+
+---
+
+### setPosition(Number)
+- setPosition(aValue: [Number](TopLevel.Number.md)): void
+ - : Sets the position within the line item container. This value may be used as a sort-order.
+
+
+ The position is updated in the following way:
+
+ - When a ProductLineItem is added to the LineItemCtnr, it is assigned the next available position, based on the current count
+ - When a ProductLineItem is removed from the LineItemCtnr then LineItemCtnr method reassignPositions is called, so that the 'gap' left by the removed line-item is refilled. This method is dependent on no 2 ProductLineItem having the same position.
+ - When a LineItemCtnr is copied (e.g. when an Order is created from a Basket), no special position handling is necessary as the ProductLineItems are added according to their current position ordering in the source LineItemCtnr.
+
+
+ **Parameters:**
+ - aValue - the position within the line item container.
+
+
+---
+
+### setPriceValue(Number)
+- setPriceValue(value: [Number](TopLevel.Number.md)): void
+ - : Sets price attributes of the line item based on the current
+ purchase currency, taxation policy and line item quantity.
+
+
+ The method sets the 'basePrice' attribute of the line item.
+ Additionally, it sets the 'netPrice' attribute of the line item
+ if the current taxation policy is 'net', and the 'grossPrice'
+ attribute, if the current taxation policy is 'gross'. The
+ 'netPrice'/'grossPrice' attributes are set by multiplying the
+ specified price value with the line item quantity.
+
+
+
+
+ If null is specified as value, the price attributes are reset to
+ Money.NA.
+
+
+ **Parameters:**
+ - value - Price value or null
+
+
+---
+
+### setProductInventoryList(ProductInventoryList)
+- setProductInventoryList(productInventoryList: [ProductInventoryList](dw.catalog.ProductInventoryList.md)): void
+ - : Sets the specified inventory list as the product line item inventory context.
+
+ **Parameters:**
+ - productInventoryList - ProductInventoryList instance or null
+
+
+---
+
+### setProductInventoryListID(String)
+- setProductInventoryListID(productInventoryListID: [String](TopLevel.String.md)): void
+ - : Sets the ID of the inventory list the product line item is associated with.
+
+ **Parameters:**
+ - productInventoryListID - the ProductInventoryList ID or null.
+
+
+---
+
+### setProductName(String)
+- setProductName(aValue: [String](TopLevel.String.md)): void
+ - : Sets the name of the product.
+
+ **Parameters:**
+ - aValue - the name of the product.
+
+
+---
+
+### setQuantityValue(Number)
+- setQuantityValue(quantityValue: [Number](TopLevel.Number.md)): void
+ - : Updates the quantity value of the product line item.
+
+
+ Validates the specified quantity value against the line item's min order and step quantity and adjusts it if
+ necessary. In particular, if 0 is passed, then the value will be adjusted to the min order quantity, not removed
+ from the line item container.
+
+
+
+
+ Null values or values < 0.0 are not accepted.
+
+
+ **Parameters:**
+ - quantityValue - Quantity value.
+
+
+---
+
+### setShipment(Shipment)
+- setShipment(shipment: [Shipment](dw.order.Shipment.md)): void
+ - : Associates the specified product line item with the specified shipment.
+
+
+ The method is only applicable for independent product line items. If called for any dependent line item (option
+ or bundled line item), the method will throw an exception. The shipment for all dependent line items will be
+ updated automatically by the method. Product line item and shipment must belong to the same line item ctnr.
+
+
+ **Parameters:**
+ - shipment - The new shipment of the product line item
+
+
+---
+
+### setStepQuantityValue(Number)
+- setStepQuantityValue(quantityValue: [Number](TopLevel.Number.md)): void
+ - : Set the step quantity value for this object.
+
+
+ This will be used to validate and adjust quantities when updateQuantity() is called. For typical catalog product
+ line items, it is usually desirable to have this value inherited from the product attributes, but for non-catalog
+ products, it is sometimes desirable to set this value programmatically.
+
+
+
+
+ Null is accepted and represents Quantity.NA. Otherwise, the quantity value must be > 0.
+
+
+ **Parameters:**
+ - quantityValue - The minimal order quantity allowed for the product or null.
+
+
+---
+
+### updateOptionPrice()
+- updateOptionPrice(): void
+ - : Determines and sets the price of a option line item based on the selected option value this line item represents.
+
+
+---
+
+### updateOptionValue(ProductOptionValue)
+- updateOptionValue(optionValue: [ProductOptionValue](dw.catalog.ProductOptionValue.md)): void
+ - : Updates an option line item with a new option value.
+
+ This method will not do anything if the current line item is no
+ option line item, if the specified value does not exist for the
+ current option or if this value is already selected.
+
+ Note, that this method will update the attributes optionValueID,
+ productID, productName and lineItemText. It will not update the price
+ attributes of the line item. To update the price of the line item you
+ need to call [updateOptionPrice()](dw.order.ProductLineItem.md#updateoptionprice) in addition. This is
+ usually done during calculation in the calculate hook.
+
+
+ **Parameters:**
+ - optionValue - The value to update the option line item with
+
+
+---
+
+### updatePrice(Money)
+- ~~updatePrice(price: [Money](dw.value.Money.md)): void~~
+ - : Updates the price attributes of the line item based
+ on the specified price. The base price is set to the specified
+ value. If the line item is based on net pricing then the net price
+ attribute is set. If the line item is based on gross pricing then the
+ gross price attribute is set. Whether or not a line item is based
+ on net or gross pricing is a site-wide configuration parameter.
+ In either case, this price is equal to the product of the base price
+ and the quantity of this line item in its container.
+
+
+ **Parameters:**
+ - price - The price to use when performing the update. This price must not be null and must either be equal to NOT\_AVAIALBLE or must have a currency code equal to that of the parent container.
+
+ **Deprecated:**
+:::warning
+Use [setPriceValue(Number)](dw.order.ProductLineItem.md#setpricevaluenumber)
+:::
+
+---
+
+### updateQuantity(Number)
+- ~~updateQuantity(quantityValue: [Number](TopLevel.Number.md)): [Number](TopLevel.Number.md)~~
+ - : Updates the quantity value of the product line item and all its dependent product line items.
+
+
+ Validates the specified quantity value against the line item's min order and step quantity and adjusts it if
+ necessary. The adjusted quantity value is returned.
+
+
+
+
+ In general, quantity values < 0.0 are not accepted.
+
+
+ **Parameters:**
+ - quantityValue - Numeric quantity value.
+
+ **Returns:**
+ - Adjusted quantity value
+
+ **Deprecated:**
+:::warning
+Use [setQuantityValue(Number)](dw.order.ProductLineItem.md#setquantityvaluenumber) followed by [getQuantity()](dw.order.ProductLineItem.md#getquantity) instead.
+:::
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductShippingCost.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductShippingCost.md
new file mode 100644
index 00000000..6eea6394
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductShippingCost.md
@@ -0,0 +1,101 @@
+
+# Class ProductShippingCost
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.ProductShippingCost](dw.order.ProductShippingCost.md)
+
+Instances of ProductShippingCost represent product specific shipping costs.
+
+
+
+Use [ProductShippingModel.getShippingCost(ShippingMethod)](dw.order.ProductShippingModel.md#getshippingcostshippingmethod) to get
+the shipping cost for a specific product.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [amount](#amount): [Money](dw.value.Money.md) `(read-only)` | Returns the shipping amount. |
+| [fixedPrice](#fixedprice): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if shipping cost is a fixed-price shipping cost, and false if surcharge shipping cost. |
+| [surcharge](#surcharge): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if shipping cost is a surcharge to the shipment shipping cost, and false if fixed-price shipping cost. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAmount](dw.order.ProductShippingCost.md#getamount)() | Returns the shipping amount. |
+| [isFixedPrice](dw.order.ProductShippingCost.md#isfixedprice)() | Returns true if shipping cost is a fixed-price shipping cost, and false if surcharge shipping cost. |
+| [isSurcharge](dw.order.ProductShippingCost.md#issurcharge)() | Returns true if shipping cost is a surcharge to the shipment shipping cost, and false if fixed-price shipping cost. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### amount
+- amount: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the shipping amount.
+
+
+---
+
+### fixedPrice
+- fixedPrice: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if shipping cost is a fixed-price shipping cost,
+ and false if surcharge shipping cost.
+
+
+
+---
+
+### surcharge
+- surcharge: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if shipping cost is a surcharge to the shipment
+ shipping cost, and false if fixed-price shipping cost.
+
+
+
+---
+
+## Method Details
+
+### getAmount()
+- getAmount(): [Money](dw.value.Money.md)
+ - : Returns the shipping amount.
+
+ **Returns:**
+ - Shipping amount
+
+
+---
+
+### isFixedPrice()
+- isFixedPrice(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if shipping cost is a fixed-price shipping cost,
+ and false if surcharge shipping cost.
+
+
+ **Returns:**
+ - true of fixed-price shipping cost, else false
+
+
+---
+
+### isSurcharge()
+- isSurcharge(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if shipping cost is a surcharge to the shipment
+ shipping cost, and false if fixed-price shipping cost.
+
+
+ **Returns:**
+ - true of surcharge shipping cost, else false
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductShippingLineItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductShippingLineItem.md
new file mode 100644
index 00000000..e36c22ee
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductShippingLineItem.md
@@ -0,0 +1,336 @@
+
+# Class ProductShippingLineItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.LineItem](dw.order.LineItem.md)
+ - [dw.order.ProductShippingLineItem](dw.order.ProductShippingLineItem.md)
+
+Represents a specific line item in a shipment. A ProductShippingLineItem defines
+lineitem-specific shipping costs.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| ~~[PRODUCT_SHIPPING_ID](#product_shipping_id): [String](TopLevel.String.md) = "PRODUCT_SHIPPING"~~ | Reserved constant. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [adjustedGrossPrice](#adjustedgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the gross price of the product shipping line item after applying all product-shipping-level adjustments. |
+| [adjustedNetPrice](#adjustednetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the net price of the product shipping line item after applying all product-shipping-level adjustments. |
+| [adjustedPrice](#adjustedprice): [Money](dw.value.Money.md) `(read-only)` | Returns the price of the product shipping line item after applying all pproduct-shipping-level adjustments. |
+| [adjustedTax](#adjustedtax): [Money](dw.value.Money.md) `(read-only)` | Returns the tax of the unit after applying adjustments, in the purchase currency. |
+| [priceAdjustments](#priceadjustments): [Collection](dw.util.Collection.md) `(read-only)` | Returns an iterator of price adjustments that have been applied to this product shipping line item. |
+| [productLineItem](#productlineitem): [ProductLineItem](dw.order.ProductLineItem.md) `(read-only)` | Returns the parent product line item this shipping line item belongs to. |
+| [quantity](#quantity): [Quantity](dw.value.Quantity.md) | Returns the quantity of the shipping cost. |
+| [shipment](#shipment): [Shipment](dw.order.Shipment.md) `(read-only)` | Returns the shipment this shipping line item belongs to. |
+| [surcharge](#surcharge): [Boolean](TopLevel.Boolean.md) | Returns the 'surcharge' flag. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAdjustedGrossPrice](dw.order.ProductShippingLineItem.md#getadjustedgrossprice)() | Returns the gross price of the product shipping line item after applying all product-shipping-level adjustments. |
+| [getAdjustedNetPrice](dw.order.ProductShippingLineItem.md#getadjustednetprice)() | Returns the net price of the product shipping line item after applying all product-shipping-level adjustments. |
+| [getAdjustedPrice](dw.order.ProductShippingLineItem.md#getadjustedprice)() | Returns the price of the product shipping line item after applying all pproduct-shipping-level adjustments. |
+| [getAdjustedTax](dw.order.ProductShippingLineItem.md#getadjustedtax)() | Returns the tax of the unit after applying adjustments, in the purchase currency. |
+| [getPriceAdjustments](dw.order.ProductShippingLineItem.md#getpriceadjustments)() | Returns an iterator of price adjustments that have been applied to this product shipping line item. |
+| [getProductLineItem](dw.order.ProductShippingLineItem.md#getproductlineitem)() | Returns the parent product line item this shipping line item belongs to. |
+| [getQuantity](dw.order.ProductShippingLineItem.md#getquantity)() | Returns the quantity of the shipping cost. |
+| [getShipment](dw.order.ProductShippingLineItem.md#getshipment)() | Returns the shipment this shipping line item belongs to. |
+| [isSurcharge](dw.order.ProductShippingLineItem.md#issurcharge)() | Returns the 'surcharge' flag. |
+| [setPriceValue](dw.order.ProductShippingLineItem.md#setpricevaluenumber)([Number](TopLevel.Number.md)) | Sets price attributes of the line item based on the purchase currency, taxation policy and line item quantity.
+ - certificateRef - A reference to a trusted certificate entry containing the public key in the keystore. Must be non-null.
+
+ **Returns:**
+ - the Base64 encoded representation of the credit card number.
+
+ **Throws:**
+ - IllegalArgumentException - If `algorithm` is not a valid known algorithm.
+ - IllegalArgumentException - If `certificateRef` is `null` or could not be found.
+
+ **See Also:**
+ - [isPermanentlyMasked()](dw.order.PaymentInstrument.md#ispermanentlymasked)
+
+
+---
+
+### getEncryptedCreditCardNumber(String, String)
+- ~~getEncryptedCreditCardNumber(algorithm: [String](TopLevel.String.md), publicKey: [String](TopLevel.String.md)): [String](TopLevel.String.md)~~
+ - : Encrypts the credit card number of this object with the given algorithm and the given public key. Returned is the
+ Base64 encoded representation of the result.
+
+
+ See also [Cipher.encrypt(String, String, String, String, Number)](dw.crypto.Cipher.md#encryptstring-string-string-string-number---variant-2) on how to generate RSA key
+ pairs.
+
+
+ If account information has been masked due to the data retention security policy for the site, the returned value
+ is the Base64 encoded representation of the encrypted form of the masked number.
+
+
+ **Parameters:**
+ - algorithm - The algorithm to be used for the encryption of this credit card number. Must be a valid, non-null algorithm. Currently, only the following algorithms are supported:
|
+| [bankAccountDriversLicenseLastDigits](#bankaccountdriverslicenselastdigits): [String](TopLevel.String.md) `(read-only)` | Returns the last 4 characters of the decrypted driver's license number of the bank account associated with this PaymentInstrument. |
+| [bankAccountDriversLicenseStateCode](#bankaccountdriverslicensestatecode): [String](TopLevel.String.md) | Returns the driver's license state code associated with a bank account payment instrument. |
+| [bankAccountHolder](#bankaccountholder): [String](TopLevel.String.md) | Returns the full name of the holder of a bank account payment instrument. |
+| [bankAccountNumber](#bankaccountnumber): [String](TopLevel.String.md) | Returns the bank account number if the calling context meets the following criteria:
|
+| [bankAccountNumberLastDigits](#bankaccountnumberlastdigits): [String](TopLevel.String.md) `(read-only)` | Returns the last 4 characters of the decrypted bank account number. |
+| [bankRoutingNumber](#bankroutingnumber): [String](TopLevel.String.md) | Returns the bank routing number of a bank account payment instrument. |
+| [creditCardExpirationMonth](#creditcardexpirationmonth): [Number](TopLevel.Number.md) | Returns the month of the year in which the credit card expires (1-12). |
+| [creditCardExpirationYear](#creditcardexpirationyear): [Number](TopLevel.Number.md) | Returns the year in which the credit card expires, such as '2004'. |
+| [creditCardExpired](#creditcardexpired): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if this payment instrument represents an expired credit card. |
+| [creditCardHolder](#creditcardholder): [String](TopLevel.String.md) | Returns the name of the credit card owner. |
+| [creditCardIssueNumber](#creditcardissuenumber): [String](TopLevel.String.md) | Returns the credit card issue number. |
+| [creditCardNumber](#creditcardnumber): [String](TopLevel.String.md) | Returns the decrypted credit card number if the calling context meets the following criteria:
+ - publicKey - A Base64 encoded form of the public key to be used to encrypt this credit card number. Must be a valid, non-blank key.
+
+ **Returns:**
+ - the Base64 encoded representation of the bank account number.
+
+ **Throws:**
+ - IllegalArgumentException - If `algorithm` is not a valid known algorithm.
+ - IllegalArgumentException - If `publicKey` is a null, empty or blank string.
+
+ **See Also:**
+ - [isPermanentlyMasked()](dw.order.PaymentInstrument.md#ispermanentlymasked)
+
+
+---
+
+### getEncryptedCreditCardNumber(String, CertificateRef)
+- getEncryptedCreditCardNumber(algorithm: [String](TopLevel.String.md), certificateRef: [CertificateRef](dw.crypto.CertificateRef.md)): [String](TopLevel.String.md)
+ - : Encrypts the credit card number of this object with the given algorithm and the public key taken from a
+ certificate in the keystore. Returned is the Base64 encoded representation of the result.
+
+
+ See also [Cipher.encrypt(String, CertificateRef, String, String, Number)](dw.crypto.Cipher.md#encryptstring-certificateref-string-string-number---variant-2) on how to generate RSA
+ key pairs.
+
+
+ If account information has been masked due to the data retention security policy for the site, the returned value
+ is the Base64 encoded representation of the encrypted form of the masked number.
+
+
+ **Parameters:**
+ - algorithm - The algorithm to be used for the encryption of this credit card number. Must be a valid, non-null algorithm. Currently, only the following algorithms are supported:
|
+| [getBankAccountDriversLicenseLastDigits](dw.order.PaymentInstrument.md#getbankaccountdriverslicenselastdigits)() | Returns the last 4 characters of the decrypted driver's license number of the bank account associated with this PaymentInstrument. |
+| [getBankAccountDriversLicenseLastDigits](dw.order.PaymentInstrument.md#getbankaccountdriverslicenselastdigitsnumber)([Number](TopLevel.Number.md)) | Returns the last specified number of characters of the decrypted driver's license number of the bank account associated with this PaymentInstrument. |
+| [getBankAccountDriversLicenseStateCode](dw.order.PaymentInstrument.md#getbankaccountdriverslicensestatecode)() | Returns the driver's license state code associated with a bank account payment instrument. |
+| [getBankAccountHolder](dw.order.PaymentInstrument.md#getbankaccountholder)() | Returns the full name of the holder of a bank account payment instrument. |
+| [getBankAccountNumber](dw.order.PaymentInstrument.md#getbankaccountnumber)() | Returns the bank account number if the calling context meets the following criteria:
|
+| [getBankAccountNumberLastDigits](dw.order.PaymentInstrument.md#getbankaccountnumberlastdigits)() | Returns the last 4 characters of the decrypted bank account number. |
+| [getBankAccountNumberLastDigits](dw.order.PaymentInstrument.md#getbankaccountnumberlastdigitsnumber)([Number](TopLevel.Number.md)) | Returns the last specified number of characters of the decrypted bank account card number. |
+| [getBankRoutingNumber](dw.order.PaymentInstrument.md#getbankroutingnumber)() | Returns the bank routing number of a bank account payment instrument. |
+| [getCreditCardExpirationMonth](dw.order.PaymentInstrument.md#getcreditcardexpirationmonth)() | Returns the month of the year in which the credit card expires (1-12). |
+| [getCreditCardExpirationYear](dw.order.PaymentInstrument.md#getcreditcardexpirationyear)() | Returns the year in which the credit card expires, such as '2004'. |
+| [getCreditCardHolder](dw.order.PaymentInstrument.md#getcreditcardholder)() | Returns the name of the credit card owner. |
+| [getCreditCardIssueNumber](dw.order.PaymentInstrument.md#getcreditcardissuenumber)() | Returns the credit card issue number. |
+| [getCreditCardNumber](dw.order.PaymentInstrument.md#getcreditcardnumber)() | Returns the decrypted credit card number if the calling context meets the following criteria:
+ - publicKey - A Base64 encoded form of the public key to be used to encrypt this bank account driver's license number. Must be a valid, non-blank key.
+
+ **Returns:**
+ - the Base64 encoded representation of the bank account driver's license.
+
+ **Throws:**
+ - IllegalArgumentException - If `algorithm` is not a valid known algorithm.
+ - IllegalArgumentException - If `publicKey` is a null, empty or blank string.
+
+
+---
+
+### getEncryptedBankAccountNumber(String, String)
+- getEncryptedBankAccountNumber(algorithm: [String](TopLevel.String.md), publicKey: [String](TopLevel.String.md)): [String](TopLevel.String.md)
+ - : Encrypts the bank account number of this object with the given algorithm and the given public key. Returned is
+ the Base64 encoded representation of the result.
+
+
+ If account information has been masked due to the data retention security policy for the site, the returned value
+ is the Base64 encoded representation of the encrypted form of the masked number.
+
+
+ **Parameters:**
+ - algorithm - The algorithm to be used for the encryption of this credit card number. Must be a valid, non-null algorithm. Currently, only the following algorithms are supported:
The method sets the 'basePrice' attribute of the line item. |
+| [setQuantity](dw.order.ProductShippingLineItem.md#setquantityquantity)([Quantity](dw.value.Quantity.md)) | Sets the quantity of the shipping cost. |
+| [setSurcharge](dw.order.ProductShippingLineItem.md#setsurchargeboolean)([Boolean](TopLevel.Boolean.md)) | Sets the 'surcharge' flag. |
+
+### Methods inherited from class LineItem
+
+[getBasePrice](dw.order.LineItem.md#getbaseprice), [getGrossPrice](dw.order.LineItem.md#getgrossprice), [getLineItemCtnr](dw.order.LineItem.md#getlineitemctnr), [getLineItemText](dw.order.LineItem.md#getlineitemtext), [getNetPrice](dw.order.LineItem.md#getnetprice), [getPrice](dw.order.LineItem.md#getprice), [getPriceValue](dw.order.LineItem.md#getpricevalue), [getTax](dw.order.LineItem.md#gettax), [getTaxBasis](dw.order.LineItem.md#gettaxbasis), [getTaxClassID](dw.order.LineItem.md#gettaxclassid), [getTaxRate](dw.order.LineItem.md#gettaxrate), [setBasePrice](dw.order.LineItem.md#setbasepricemoney), [setGrossPrice](dw.order.LineItem.md#setgrosspricemoney), [setLineItemText](dw.order.LineItem.md#setlineitemtextstring), [setNetPrice](dw.order.LineItem.md#setnetpricemoney), [setPriceValue](dw.order.LineItem.md#setpricevaluenumber), [setTax](dw.order.LineItem.md#settaxmoney), [setTaxClassID](dw.order.LineItem.md#settaxclassidstring), [setTaxRate](dw.order.LineItem.md#settaxratenumber), [updatePrice](dw.order.LineItem.md#updatepricemoney), [updateTax](dw.order.LineItem.md#updatetaxnumber), [updateTax](dw.order.LineItem.md#updatetaxnumber-money), [updateTaxAmount](dw.order.LineItem.md#updatetaxamountmoney)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### PRODUCT_SHIPPING_ID
+
+- ~~PRODUCT_SHIPPING_ID: [String](TopLevel.String.md) = "PRODUCT_SHIPPING"~~
+ - : Reserved constant.
+
+ **Deprecated:**
+:::warning
+this reserved constant is deprecated.
+:::
+
+---
+
+## Property Details
+
+### adjustedGrossPrice
+- adjustedGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the gross price of the product shipping line item after applying
+ all product-shipping-level adjustments.
+
+
+ **See Also:**
+ - [getAdjustedNetPrice()](dw.order.ProductShippingLineItem.md#getadjustednetprice)
+ - [getAdjustedPrice()](dw.order.ProductShippingLineItem.md#getadjustedprice)
+
+
+---
+
+### adjustedNetPrice
+- adjustedNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the net price of the product shipping line item after applying
+ all product-shipping-level adjustments.
+
+
+ **See Also:**
+ - [getAdjustedGrossPrice()](dw.order.ProductShippingLineItem.md#getadjustedgrossprice)
+ - [getAdjustedPrice()](dw.order.ProductShippingLineItem.md#getadjustedprice)
+
+
+---
+
+### adjustedPrice
+- adjustedPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the price of the product shipping line item after applying all
+ pproduct-shipping-level adjustments. For net pricing the adjusted net
+ price is returned (see [getAdjustedNetPrice()](dw.order.ProductShippingLineItem.md#getadjustednetprice)). For gross
+ pricing, the adjusted gross price is returned (see
+ [getAdjustedGrossPrice()](dw.order.ProductShippingLineItem.md#getadjustedgrossprice)).
+
+
+ **See Also:**
+ - [getAdjustedGrossPrice()](dw.order.ProductShippingLineItem.md#getadjustedgrossprice)
+ - [getAdjustedNetPrice()](dw.order.ProductShippingLineItem.md#getadjustednetprice)
+
+
+---
+
+### adjustedTax
+- adjustedTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the tax of the unit after applying adjustments, in the purchase
+ currency.
+
+
+
+---
+
+### priceAdjustments
+- priceAdjustments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns an iterator of price adjustments that have been applied to this
+ product shipping line item.
+
+
+
+---
+
+### productLineItem
+- productLineItem: [ProductLineItem](dw.order.ProductLineItem.md) `(read-only)`
+ - : Returns the parent product line item this shipping line item belongs to.
+
+
+---
+
+### quantity
+- quantity: [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity of the shipping cost.
+
+
+---
+
+### shipment
+- shipment: [Shipment](dw.order.Shipment.md) `(read-only)`
+ - : Returns the shipment this shipping line item belongs to.
+
+
+---
+
+### surcharge
+- surcharge: [Boolean](TopLevel.Boolean.md)
+ - : Returns the 'surcharge' flag.
+
+
+---
+
+## Method Details
+
+### getAdjustedGrossPrice()
+- getAdjustedGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the gross price of the product shipping line item after applying
+ all product-shipping-level adjustments.
+
+
+ **Returns:**
+ - gross price after applying product-shipping-level adjustments
+
+ **See Also:**
+ - [getAdjustedNetPrice()](dw.order.ProductShippingLineItem.md#getadjustednetprice)
+ - [getAdjustedPrice()](dw.order.ProductShippingLineItem.md#getadjustedprice)
+
+
+---
+
+### getAdjustedNetPrice()
+- getAdjustedNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the net price of the product shipping line item after applying
+ all product-shipping-level adjustments.
+
+
+ **Returns:**
+ - net price after applying product-shipping-level adjustments
+
+ **See Also:**
+ - [getAdjustedGrossPrice()](dw.order.ProductShippingLineItem.md#getadjustedgrossprice)
+ - [getAdjustedPrice()](dw.order.ProductShippingLineItem.md#getadjustedprice)
+
+
+---
+
+### getAdjustedPrice()
+- getAdjustedPrice(): [Money](dw.value.Money.md)
+ - : Returns the price of the product shipping line item after applying all
+ pproduct-shipping-level adjustments. For net pricing the adjusted net
+ price is returned (see [getAdjustedNetPrice()](dw.order.ProductShippingLineItem.md#getadjustednetprice)). For gross
+ pricing, the adjusted gross price is returned (see
+ [getAdjustedGrossPrice()](dw.order.ProductShippingLineItem.md#getadjustedgrossprice)).
+
+
+ **Returns:**
+ - Adjusted net or gross price
+
+ **See Also:**
+ - [getAdjustedGrossPrice()](dw.order.ProductShippingLineItem.md#getadjustedgrossprice)
+ - [getAdjustedNetPrice()](dw.order.ProductShippingLineItem.md#getadjustednetprice)
+
+
+---
+
+### getAdjustedTax()
+- getAdjustedTax(): [Money](dw.value.Money.md)
+ - : Returns the tax of the unit after applying adjustments, in the purchase
+ currency.
+
+
+ **Returns:**
+ - the tax of the unit after applying adjustments, in the purchase
+ currency.
+
+
+
+---
+
+### getPriceAdjustments()
+- getPriceAdjustments(): [Collection](dw.util.Collection.md)
+ - : Returns an iterator of price adjustments that have been applied to this
+ product shipping line item.
+
+
+ **Returns:**
+ - a collection of price adjustments that have been applied to this
+ product shipping line item.
+
+
+
+---
+
+### getProductLineItem()
+- getProductLineItem(): [ProductLineItem](dw.order.ProductLineItem.md)
+ - : Returns the parent product line item this shipping line item belongs to.
+
+ **Returns:**
+ - the product line item
+
+
+---
+
+### getQuantity()
+- getQuantity(): [Quantity](dw.value.Quantity.md)
+ - : Returns the quantity of the shipping cost.
+
+ **Returns:**
+ - the shipping quantity
+
+
+---
+
+### getShipment()
+- getShipment(): [Shipment](dw.order.Shipment.md)
+ - : Returns the shipment this shipping line item belongs to.
+
+ **Returns:**
+ - the shipment
+
+
+---
+
+### isSurcharge()
+- isSurcharge(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the 'surcharge' flag.
+
+ **Returns:**
+ - true if this is a surcharge shipping cost, false if fixed shipping cost
+
+
+---
+
+### setPriceValue(Number)
+- setPriceValue(value: [Number](TopLevel.Number.md)): void
+ - : Sets price attributes of the line item based on the
+ purchase currency, taxation policy and line item quantity.
+
+
+ The method sets the 'basePrice' attribute of the line item.
+ Additionally, it sets the 'netPrice' attribute of the line item
+ if the current taxation policy is 'net', and the 'grossPrice'
+ attribute, if the current taxation policy is 'gross'. The
+ 'netPrice'/'grossPrice' attributes are set by multiplying the
+ specified price value with the line item quantity.
+
+
+ If null is specified as value, the price attributes are reset to
+ Money.NA.
+
+
+ **Parameters:**
+ - value - Price value or null
+
+
+---
+
+### setQuantity(Quantity)
+- setQuantity(quantity: [Quantity](dw.value.Quantity.md)): void
+ - : Sets the quantity of the shipping cost.
+
+ **Parameters:**
+ - quantity - the shipping quantity
+
+
+---
+
+### setSurcharge(Boolean)
+- setSurcharge(flag: [Boolean](TopLevel.Boolean.md)): void
+ - : Sets the 'surcharge' flag.
+
+ **Parameters:**
+ - flag - true if this is a surcharge shipping cost, false if this is a fixed shipping cost.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductShippingModel.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductShippingModel.md
new file mode 100644
index 00000000..0cd67e14
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ProductShippingModel.md
@@ -0,0 +1,143 @@
+
+# Class ProductShippingModel
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.ProductShippingModel](dw.order.ProductShippingModel.md)
+
+Instances of ProductShippingModel provide access to product-level
+shipping information, such as applicable or inapplicable shipping methods
+and shipping cost defined for the product for a specified shipping
+method.
+
+
+Use [ShippingMgr.getProductShippingModel(Product)](dw.order.ShippingMgr.md#getproductshippingmodelproduct) to get
+the shipping model for a specific product.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [applicableShippingMethods](#applicableshippingmethods): [Collection](dw.util.Collection.md) `(read-only)` | Returns the active applicable shipping methods for the product related to this shipping model, i.e. |
+| [inapplicableShippingMethods](#inapplicableshippingmethods): [Collection](dw.util.Collection.md) `(read-only)` | Returns the active inapplicable shipping methods for the product related to this shipping model, i.e. |
+| [shippingMethodsWithShippingCost](#shippingmethodswithshippingcost): [Collection](dw.util.Collection.md) `(read-only)` | Returns the active shipping methods for which either any fixed-price or surcharge product-level shipping cost is defined for the specified product. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getApplicableShippingMethods](dw.order.ProductShippingModel.md#getapplicableshippingmethods)() | Returns the active applicable shipping methods for the product related to this shipping model, i.e. |
+| [getInapplicableShippingMethods](dw.order.ProductShippingModel.md#getinapplicableshippingmethods)() | Returns the active inapplicable shipping methods for the product related to this shipping model, i.e. |
+| [getShippingCost](dw.order.ProductShippingModel.md#getshippingcostshippingmethod)([ShippingMethod](dw.order.ShippingMethod.md)) | Returns the shipping cost object for the related product and the specified shipping method, or null if no product-level fixed-price or surcharge shipping cost are defined for the specified product. |
+| [getShippingMethodsWithShippingCost](dw.order.ProductShippingModel.md#getshippingmethodswithshippingcost)() | Returns the active shipping methods for which either any fixed-price or surcharge product-level shipping cost is defined for the specified product. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### applicableShippingMethods
+- applicableShippingMethods: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the active applicable shipping methods for the product related
+ to this shipping model, i.e. shipping methods the product can be shipped
+ with. A product can be shipping with a shipping methods if the shipping
+ method is not explicitely marked as inapplicable for this product.
+
+
+
+---
+
+### inapplicableShippingMethods
+- inapplicableShippingMethods: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the active inapplicable shipping methods for the product related
+ to this shipping model, i.e. shipping methods the product cannot be
+ shipped with. A product cannot be shipping with a shipping methods if the
+ shipping method is explicitely marked as inapplicable for this product.
+
+
+
+---
+
+### shippingMethodsWithShippingCost
+- shippingMethodsWithShippingCost: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the active shipping methods for which either any fixed-price or
+ surcharge product-level shipping cost is defined for the specified product.
+
+ Note that this can include inapplicable shipping methods
+ (see [getInapplicableShippingMethods()](dw.order.ProductShippingModel.md#getinapplicableshippingmethods)).
+
+
+
+---
+
+## Method Details
+
+### getApplicableShippingMethods()
+- getApplicableShippingMethods(): [Collection](dw.util.Collection.md)
+ - : Returns the active applicable shipping methods for the product related
+ to this shipping model, i.e. shipping methods the product can be shipped
+ with. A product can be shipping with a shipping methods if the shipping
+ method is not explicitely marked as inapplicable for this product.
+
+
+ **Returns:**
+ - Applicable shipping methods for the product
+
+
+---
+
+### getInapplicableShippingMethods()
+- getInapplicableShippingMethods(): [Collection](dw.util.Collection.md)
+ - : Returns the active inapplicable shipping methods for the product related
+ to this shipping model, i.e. shipping methods the product cannot be
+ shipped with. A product cannot be shipping with a shipping methods if the
+ shipping method is explicitely marked as inapplicable for this product.
+
+
+ **Returns:**
+ - Inapplicable shipping methods for the product
+
+
+---
+
+### getShippingCost(ShippingMethod)
+- getShippingCost(shippingMethod: [ShippingMethod](dw.order.ShippingMethod.md)): [ProductShippingCost](dw.order.ProductShippingCost.md)
+ - : Returns the shipping cost object for the related product and
+ the specified shipping method, or null if no product-level fixed-price or
+ surcharge shipping cost are defined for the specified product.
+
+ The following rules apply:
+
+ - if fixed and surcharge shipping cost is defined for a product, the fixed cost takes precedence
+ - if a product is member of multiple shipping cost groups, the lowest shipping cost takes precedence
+
+
+ **Parameters:**
+ - shippingMethod - the shipping method to use.
+
+ **Returns:**
+ - Product shipping cost
+
+
+---
+
+### getShippingMethodsWithShippingCost()
+- getShippingMethodsWithShippingCost(): [Collection](dw.util.Collection.md)
+ - : Returns the active shipping methods for which either any fixed-price or
+ surcharge product-level shipping cost is defined for the specified product.
+
+ Note that this can include inapplicable shipping methods
+ (see [getInapplicableShippingMethods()](dw.order.ProductShippingModel.md#getinapplicableshippingmethods)).
+
+
+ **Returns:**
+ - Shipping methods with shipping cost
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.Return.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.Return.md
new file mode 100644
index 00000000..01101fb9
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.Return.md
@@ -0,0 +1,396 @@
+
+# Class Return
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItemCtnr](dw.order.AbstractItemCtnr.md)
+ - [dw.order.Return](dw.order.Return.md)
+
+The Return represents a physical customer return, and contains 1..n
+[ReturnItem](dw.order.ReturnItem.md)s. The Return is associated with one [ReturnCase](dw.order.ReturnCase.md), and each
+ReturnItem is associated with one [ReturnCaseItem](dw.order.ReturnCaseItem.md) and (via the
+ReturnCaseItem) a single [OrderItem](dw.order.OrderItem.md) usually representing an [Order](dw.order.Order.md)
+[ProductLineItem](dw.order.ProductLineItem.md).
+
+The ReturnItem records the quantity returned.
+
+The Return can have one of these status values:
+
+- NEW - the return is new, i.e. needs to undergo a check before it can be marked as COMPLETED
+- COMPLETED - the return is complete, this is a precondition for refunding the customer for a return.
+
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [ORDERBY_ITEMID](#orderby_itemid): [Object](TopLevel.Object.md) | Sorting by item id. |
+| [ORDERBY_ITEMPOSITION](#orderby_itemposition): [Object](TopLevel.Object.md) | Sorting by the position of the related oder item. |
+| [ORDERBY_UNSORTED](#orderby_unsorted): [Object](TopLevel.Object.md) | Unsorted , as it is. |
+| [QUALIFIER_PRODUCTITEMS](#qualifier_productitems): [Object](TopLevel.Object.md) | Selects the product items. |
+| [QUALIFIER_SERVICEITEMS](#qualifier_serviceitems): [Object](TopLevel.Object.md) | Selects for the service items. |
+| [STATUS_COMPLETED](#status_completed): [String](TopLevel.String.md) = "COMPLETED" | Constant for Return Status COMPLETED |
+| [STATUS_NEW](#status_new): [String](TopLevel.String.md) = "NEW" | Constant for Return Status NEW |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [invoice](#invoice): [Invoice](dw.order.Invoice.md) `(read-only)` | Returns null or the previously created [Invoice](dw.order.Invoice.md). |
+| [invoiceNumber](#invoicenumber): [String](TopLevel.String.md) `(read-only)` | Returns null or the invoice-number. |
+| [items](#items): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Returns the [ReturnItem](dw.order.ReturnItem.md)s contained in the Return, created with method [createItem(String)](dw.order.Return.md#createitemstring). |
+| [note](#note): [String](TopLevel.String.md) | A note for the return. |
+| [returnCase](#returncase): [ReturnCase](dw.order.ReturnCase.md) `(read-only)` | Returns the [ReturnCase](dw.order.ReturnCase.md) with which this Return is associated. |
+| [returnNumber](#returnnumber): [String](TopLevel.String.md) `(read-only)` | The return number identifying this return. |
+| [status](#status): [EnumValue](dw.value.EnumValue.md) | Gets the return status. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createInvoice](dw.order.Return.md#createinvoice)() | Creates a new [Invoice](dw.order.Invoice.md) based on this Return. |
+| [createInvoice](dw.order.Return.md#createinvoicestring)([String](TopLevel.String.md)) | Creates a new [Invoice](dw.order.Invoice.md) based on this Return. |
+| [createItem](dw.order.Return.md#createitemstring)([String](TopLevel.String.md)) | Create a [ReturnItem](dw.order.ReturnItem.md) based on a [ReturnCaseItem](dw.order.ReturnCaseItem.md). |
+| [getInvoice](dw.order.Return.md#getinvoice)() | Returns null or the previously created [Invoice](dw.order.Invoice.md). |
+| [getInvoiceNumber](dw.order.Return.md#getinvoicenumber)() | Returns null or the invoice-number. |
+| [getItems](dw.order.Return.md#getitems)() | Returns the [ReturnItem](dw.order.ReturnItem.md)s contained in the Return, created with method [createItem(String)](dw.order.Return.md#createitemstring). |
+| [getNote](dw.order.Return.md#getnote)() | A note for the return. |
+| [getReturnCase](dw.order.Return.md#getreturncase)() | Returns the [ReturnCase](dw.order.ReturnCase.md) with which this Return is associated. |
+| [getReturnNumber](dw.order.Return.md#getreturnnumber)() | The return number identifying this return. |
+| [getStatus](dw.order.Return.md#getstatus)() | Gets the return status. |
+| [setNote](dw.order.Return.md#setnotestring)([String](TopLevel.String.md)) | Sets a note for the return. |
+| [setStatus](dw.order.Return.md#setstatusstring)([String](TopLevel.String.md)) | Sets the return status. |
+
+### Methods inherited from class AbstractItemCtnr
+
+[getCreatedBy](dw.order.AbstractItemCtnr.md#getcreatedby), [getCreationDate](dw.order.AbstractItemCtnr.md#getcreationdate), [getGrandTotal](dw.order.AbstractItemCtnr.md#getgrandtotal), [getItems](dw.order.AbstractItemCtnr.md#getitems), [getLastModified](dw.order.AbstractItemCtnr.md#getlastmodified), [getModifiedBy](dw.order.AbstractItemCtnr.md#getmodifiedby), [getOrder](dw.order.AbstractItemCtnr.md#getorder), [getProductSubtotal](dw.order.AbstractItemCtnr.md#getproductsubtotal), [getServiceSubtotal](dw.order.AbstractItemCtnr.md#getservicesubtotal)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ORDERBY_ITEMID
+
+- ORDERBY_ITEMID: [Object](TopLevel.Object.md)
+ - : Sorting by item id. Use with method [getItems()](dw.order.Return.md#getitems) as an argument to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+---
+
+### ORDERBY_ITEMPOSITION
+
+- ORDERBY_ITEMPOSITION: [Object](TopLevel.Object.md)
+ - : Sorting by the position of the related oder item. Use with method [getItems()](dw.order.Return.md#getitems) as an argument to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+---
+
+### ORDERBY_UNSORTED
+
+- ORDERBY_UNSORTED: [Object](TopLevel.Object.md)
+ - : Unsorted , as it is. Use with method [getItems()](dw.order.Return.md#getitems) as an argument to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+---
+
+### QUALIFIER_PRODUCTITEMS
+
+- QUALIFIER_PRODUCTITEMS: [Object](TopLevel.Object.md)
+ - : Selects the product items. Use with method [getItems()](dw.order.Return.md#getitems) as an argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+---
+
+### QUALIFIER_SERVICEITEMS
+
+- QUALIFIER_SERVICEITEMS: [Object](TopLevel.Object.md)
+ - : Selects for the service items. Use with method [getItems()](dw.order.Return.md#getitems) as an argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+---
+
+### STATUS_COMPLETED
+
+- STATUS_COMPLETED: [String](TopLevel.String.md) = "COMPLETED"
+ - : Constant for Return Status COMPLETED
+
+
+---
+
+### STATUS_NEW
+
+- STATUS_NEW: [String](TopLevel.String.md) = "NEW"
+ - : Constant for Return Status NEW
+
+
+---
+
+## Property Details
+
+### invoice
+- invoice: [Invoice](dw.order.Invoice.md) `(read-only)`
+ - : Returns null or the previously created [Invoice](dw.order.Invoice.md).
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.Return.md#createinvoicestring)
+
+
+---
+
+### invoiceNumber
+- invoiceNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Returns null or the invoice-number.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.Return.md#createinvoicestring)
+
+
+---
+
+### items
+- items: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Returns the [ReturnItem](dw.order.ReturnItem.md)s contained in the Return, created with method
+ [createItem(String)](dw.order.Return.md#createitemstring).
+
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) can be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.Return.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.Return.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.Return.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.Return.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.Return.md#qualifier_serviceitems)
+
+
+ **See Also:**
+ - [ReturnItem](dw.order.ReturnItem.md)
+
+
+---
+
+### note
+- note: [String](TopLevel.String.md)
+ - : A note for the return.
+
+
+---
+
+### returnCase
+- returnCase: [ReturnCase](dw.order.ReturnCase.md) `(read-only)`
+ - : Returns the [ReturnCase](dw.order.ReturnCase.md) with which this Return is associated. The ReturnCase
+ may represent an RMA (return merchandise authorization).
+
+
+
+---
+
+### returnNumber
+- returnNumber: [String](TopLevel.String.md) `(read-only)`
+ - : The return number identifying this return.
+
+
+---
+
+### status
+- status: [EnumValue](dw.value.EnumValue.md)
+ - : Gets the return status.
+
+
+ Possible values are [STATUS_NEW](dw.order.Return.md#status_new), [STATUS_COMPLETED](dw.order.Return.md#status_completed).
+
+
+
+---
+
+## Method Details
+
+### createInvoice()
+- createInvoice(): [Invoice](dw.order.Invoice.md)
+ - : Creates a new [Invoice](dw.order.Invoice.md) based on this Return.
+ The return-number will be used as the invoice-number. The
+ Invoice can then be accessed using [getInvoice()](dw.order.Return.md#getinvoice) or its
+ number using [getInvoiceNumber()](dw.order.Return.md#getinvoicenumber). The method must not be called
+ more than once for a Return, nor may 2 Invoices exist
+ with the same invoice-number.
+
+
+ The new Invoice is a credit-invoice with a [Invoice.STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid) status, and
+ will be passed to the refund payment-hook in a separate database
+ transaction for processing.
+
+
+ **Returns:**
+ - new invoice
+
+
+---
+
+### createInvoice(String)
+- createInvoice(invoiceNumber: [String](TopLevel.String.md)): [Invoice](dw.order.Invoice.md)
+ - : Creates a new [Invoice](dw.order.Invoice.md) based on this Return. The
+ invoice-number must be specified as an argument. The
+ Invoice can then be accessed using [getInvoice()](dw.order.Return.md#getinvoice) or its
+ number using [getInvoiceNumber()](dw.order.Return.md#getinvoicenumber). The method must not be called
+ more than once for a Return, nor may 2 Invoices exist
+ with the same invoice-number.
+
+
+ The new Invoice is a credit-invoice with a [Invoice.STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid) status, and
+ will be passed to the refund payment-hook in a separate database
+ transaction for processing.
+
+
+ **Parameters:**
+ - invoiceNumber - the invoice-number to use
+
+ **Returns:**
+ - the new invoice
+
+
+---
+
+### createItem(String)
+- createItem(returnCaseItemID: [String](TopLevel.String.md)): [ReturnItem](dw.order.ReturnItem.md)
+ - : Create a [ReturnItem](dw.order.ReturnItem.md) based on a [ReturnCaseItem](dw.order.ReturnCaseItem.md).
+
+ **Parameters:**
+ - returnCaseItemID - the id of the return case item
+
+ **Returns:**
+ - the created return item
+
+
+---
+
+### getInvoice()
+- getInvoice(): [Invoice](dw.order.Invoice.md)
+ - : Returns null or the previously created [Invoice](dw.order.Invoice.md).
+
+ **Returns:**
+ - null or the previously created invoice.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.Return.md#createinvoicestring)
+
+
+---
+
+### getInvoiceNumber()
+- getInvoiceNumber(): [String](TopLevel.String.md)
+ - : Returns null or the invoice-number.
+
+ **Returns:**
+ - null or the previously created invoice.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.Return.md#createinvoicestring)
+
+
+---
+
+### getItems()
+- getItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Returns the [ReturnItem](dw.order.ReturnItem.md)s contained in the Return, created with method
+ [createItem(String)](dw.order.Return.md#createitemstring).
+
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) can be sorted / filtered using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.Return.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.Return.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.Return.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.Return.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.Return.md#qualifier_serviceitems)
+
+
+ **Returns:**
+ - the return items
+
+ **See Also:**
+ - [ReturnItem](dw.order.ReturnItem.md)
+
+
+---
+
+### getNote()
+- getNote(): [String](TopLevel.String.md)
+ - : A note for the return.
+
+ **Returns:**
+ - the note or `null`
+
+
+---
+
+### getReturnCase()
+- getReturnCase(): [ReturnCase](dw.order.ReturnCase.md)
+ - : Returns the [ReturnCase](dw.order.ReturnCase.md) with which this Return is associated. The ReturnCase
+ may represent an RMA (return merchandise authorization).
+
+
+ **Returns:**
+ - the return case
+
+
+---
+
+### getReturnNumber()
+- getReturnNumber(): [String](TopLevel.String.md)
+ - : The return number identifying this return.
+
+ **Returns:**
+ - the return number
+
+
+---
+
+### getStatus()
+- getStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Gets the return status.
+
+
+ Possible values are [STATUS_NEW](dw.order.Return.md#status_new), [STATUS_COMPLETED](dw.order.Return.md#status_completed).
+
+
+ **Returns:**
+ - the status
+
+
+---
+
+### setNote(String)
+- setNote(note: [String](TopLevel.String.md)): void
+ - : Sets a note for the return.
+
+ **Parameters:**
+ - note - the note
+
+
+---
+
+### setStatus(String)
+- setStatus(statusName: [String](TopLevel.String.md)): void
+ - : Sets the return status.
+
+
+ Possible values are [STATUS_NEW](dw.order.Return.md#status_new), [STATUS_COMPLETED](dw.order.Return.md#status_completed)
+
+
+ When set to status COMPLETED, only the the custom attributes of the return itself and its return items can be changed.
+
+
+ **Parameters:**
+ - statusName - the status
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ReturnCase.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ReturnCase.md
new file mode 100644
index 00000000..11d5be6a
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ReturnCase.md
@@ -0,0 +1,463 @@
+
+# Class ReturnCase
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItemCtnr](dw.order.AbstractItemCtnr.md)
+ - [dw.order.ReturnCase](dw.order.ReturnCase.md)
+
+All returns exist in the context of a ReturnCase, each [Order](dw.order.Order.md)
+can have any number of ReturnCases.
+
+The ReturnCase has [ReturnCaseItem](dw.order.ReturnCaseItem.md)s, each of which is associated with an
+[OrderItem](dw.order.OrderItem.md) (an extension to either a [ProductLineItem](dw.order.ProductLineItem.md) or a [ShippingLineItem](dw.order.ShippingLineItem.md)).
+
+Each ReturnCaseItem defines [ReturnCaseItem.getAuthorizedQuantity()](dw.order.ReturnCaseItem.md#getauthorizedquantity) representing the maximum
+quantity expected to be returned. The ReturnCaseItem may be associated with
+0..n [ReturnItem](dw.order.ReturnItem.md)s - ReturnItems are added to the ReturnCaseItem when
+[Return](dw.order.Return.md)s are created.
+
+
+_Either_ - a ReturnCase may be used as an RMA, in which case they are
+created when a customer first shows a wish to return item(s). The customer
+then includes the RMA number with the returned item(s). The Return created as
+a result is then associated with the existing ReturnCase.
+
+_Or_ - a ReturnCase is automatically created as part of the return
+creation, i.e. the customer returns some item(s) leading to a creation of
+both a Return and an associated ReturnCase.
+
+
+
+
+The scripting api allows access to the ReturnCases, whether the ReturnCase is an RMA or not,
+and the ReturnCase status. Both the ReturnCaseItems and any Returns
+associated with the ReturnCase can be accessed.
+
+
+A ReturnCase has one of these status values:
+
+- NEW - the ReturnCase has been created and can be edited previous to its authorization
+- CONFIRMED - the ReturnCase is CONFIRMED, can no longer be edited, no Returns have been associated with it. Only a NEW- ReturnCase can be CONFIRMED
+- PARTIAL\_RETURNED - the ReturnCase has been associated with at least one Return, but is not yet complete. Only a CONFIRMED- ReturnCase can be set to PARTIAL\_RETURNED
+- RETURNED - the ReturnCase has been associated with Returns which match the expected authorized quantity. Only an CONFIRMED- or PARTIAL\_RETURNED- return-case can be set to RETURNED
+- CANCELLED - the ReturnCase has been cancelled (only a NEW- or CONFIRMED- ReturnCase can be cancelled)
+
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [ORDERBY_ITEMID](#orderby_itemid): [Object](TopLevel.Object.md) | Sorting by item id. |
+| [ORDERBY_ITEMPOSITION](#orderby_itemposition): [Object](TopLevel.Object.md) | Sorting by the position of the related oder item. |
+| [ORDERBY_UNSORTED](#orderby_unsorted): [Object](TopLevel.Object.md) | Unsorted , as it is. |
+| [QUALIFIER_PRODUCTITEMS](#qualifier_productitems): [Object](TopLevel.Object.md) | Selects the product items. |
+| [QUALIFIER_SERVICEITEMS](#qualifier_serviceitems): [Object](TopLevel.Object.md) | Selects for the service items. |
+| [STATUS_CANCELLED](#status_cancelled): [String](TopLevel.String.md) = "CANCELLED" | constant for ReturnCase Status CANCELLED |
+| [STATUS_CONFIRMED](#status_confirmed): [String](TopLevel.String.md) = "CONFIRMED" | constant for ReturnCase Status CONFIRMED |
+| [STATUS_NEW](#status_new): [String](TopLevel.String.md) = "NEW" | constant for ReturnCase Status NEW |
+| [STATUS_PARTIAL_RETURNED](#status_partial_returned): [String](TopLevel.String.md) = "PARTIAL_RETURNED" | constant for ReturnCase Status PARTIAL RETURNED |
+| [STATUS_RETURNED](#status_returned): [String](TopLevel.String.md) = "RETURNED" | constant for ReturnCase Status RETURNED |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [RMA](#rma): [Boolean](TopLevel.Boolean.md) `(read-only)` | Return whether this is an RMA. |
+| [invoice](#invoice): [Invoice](dw.order.Invoice.md) `(read-only)` | Returns null or the previously created [Invoice](dw.order.Invoice.md). |
+| [invoiceNumber](#invoicenumber): [String](TopLevel.String.md) `(read-only)` | Returns null or the invoice-number. |
+| [items](#items): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Access the collection of [ReturnCaseItem](dw.order.ReturnCaseItem.md)s. |
+| [returnCaseNumber](#returncasenumber): [String](TopLevel.String.md) `(read-only)` | Returns the mandatory return case number identifying this document. |
+| [returns](#returns): [Collection](dw.util.Collection.md) `(read-only)` | Return the collection of [Return](dw.order.Return.md)s associated with this ReturnCase. |
+| [status](#status): [EnumValue](dw.value.EnumValue.md) `(read-only)` | Gets the return case item status. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [confirm](dw.order.ReturnCase.md#confirm)() |
Note that this method returns all shipping price adjustments in this shipment, regardless of which shipping line item they belong to. |
+| [shippingStatus](#shippingstatus): [EnumValue](dw.value.EnumValue.md) | Returns the shipping status. |
+| [shippingTotalGrossPrice](#shippingtotalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the sum of all shipping line items of the shipment, including tax, excluding shipping adjustments. |
+| [shippingTotalNetPrice](#shippingtotalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the sum of all shipping line items of the shipment, excluding tax and adjustments. |
+| [shippingTotalPrice](#shippingtotalprice): [Money](dw.value.Money.md) `(read-only)` | Returns the shipping total price. |
+| [shippingTotalTax](#shippingtotaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the tax of all shipping line items of the shipment before shipping adjustments have been applied. |
+| [standardShippingLineItem](#standardshippinglineitem): [ShippingLineItem](dw.order.ShippingLineItem.md) `(read-only)` | Convenience method. |
+| [totalGrossPrice](#totalgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the total gross price of the shipment in the purchase currency. |
+| [totalNetPrice](#totalnetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the total net price of the shipment in the purchase currency. |
+| [totalTax](#totaltax): [Money](dw.value.Money.md) `(read-only)` | Returns the total tax for the shipment in the purchase currency. |
+| [trackingNumber](#trackingnumber): [String](TopLevel.String.md) | Returns the tracking number of this shipment. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createShippingAddress](dw.order.Shipment.md#createshippingaddress)() | A shipment has initially no shipping address. |
+| [createShippingLineItem](dw.order.Shipment.md#createshippinglineitemstring)([String](TopLevel.String.md)) | Creates a new shipping line item for this shipment. |
+| ~~[createShippingPriceAdjustment](dw.order.Shipment.md#createshippingpriceadjustmentstring)([String](TopLevel.String.md))~~ | Creates a shipping price adjustment to be applied to the shipment. |
+| [getAdjustedMerchandizeTotalGrossPrice](dw.order.Shipment.md#getadjustedmerchandizetotalgrossprice)() | Returns the adjusted total gross price, including tax, in the purchase currency. |
+| [getAdjustedMerchandizeTotalNetPrice](dw.order.Shipment.md#getadjustedmerchandizetotalnetprice)() | Returns the adjusted net price, excluding tax, in the purchase currency. |
+| [getAdjustedMerchandizeTotalPrice](dw.order.Shipment.md#getadjustedmerchandizetotalprice)() | Returns the product total price after all product discounts. |
+| [getAdjustedMerchandizeTotalPrice](dw.order.Shipment.md#getadjustedmerchandizetotalpriceboolean)([Boolean](TopLevel.Boolean.md)) | Returns the total product price including product-level adjustments and, optionally, prorated order-level adjustments. |
+| [getAdjustedMerchandizeTotalTax](dw.order.Shipment.md#getadjustedmerchandizetotaltax)() | Returns the total adjusted product tax in the purchase currency. |
+| [getAdjustedShippingTotalGrossPrice](dw.order.Shipment.md#getadjustedshippingtotalgrossprice)() | Returns the adjusted sum of all shipping line items of the shipment, including shipping adjustuments and tax |
+| [getAdjustedShippingTotalNetPrice](dw.order.Shipment.md#getadjustedshippingtotalnetprice)() | Returns the sum of all shipping line items of the shipment, including shipping adjustments, excluding tax. |
+| [getAdjustedShippingTotalPrice](dw.order.Shipment.md#getadjustedshippingtotalprice)() | Returns the adjusted shipping total price. |
+| [getAdjustedShippingTotalTax](dw.order.Shipment.md#getadjustedshippingtotaltax)() | Returns the tax of all shipping line items of the shipment , including shipping adjustments. |
+| [getAllLineItems](dw.order.Shipment.md#getalllineitems)() | Returns all line items related to the shipment. |
+| [getGiftCertificateLineItems](dw.order.Shipment.md#getgiftcertificatelineitems)() | Returns all gift certificate line items of the shipment. |
+| [getGiftMessage](dw.order.Shipment.md#getgiftmessage)() | Returns the value set for gift message or null if no value set. |
+| [getID](dw.order.Shipment.md#getid)() | Returns the ID of this shipment ("me" for the default shipment). |
+| [getMerchandizeTotalGrossPrice](dw.order.Shipment.md#getmerchandizetotalgrossprice)() | Returns the gross product subtotal in the purchase currency. |
+| [getMerchandizeTotalNetPrice](dw.order.Shipment.md#getmerchandizetotalnetprice)() | Returns the net product subtotal, excluding tax, in the purchase currency. |
+| [getMerchandizeTotalPrice](dw.order.Shipment.md#getmerchandizetotalprice)() | Returns the product total price. |
+| ~~[getMerchandizeTotalPriceAdjustments](dw.order.Shipment.md#getmerchandizetotalpriceadjustments)()~~ | Returns a collection of price adjustments that have been applied to the totals, such as a promotion on the purchase value (i.e. |
+| [getMerchandizeTotalTax](dw.order.Shipment.md#getmerchandizetotaltax)() | Returns the total product tax in the purchase currency. |
+| [getProductLineItems](dw.order.Shipment.md#getproductlineitems)() | Returns a collection of all product line items related to this shipment. |
+| [getProratedMerchandizeTotalPrice](dw.order.Shipment.md#getproratedmerchandizetotalprice)() | Returns the total product price of the shipment, including product-level adjustments and prorating all Buy-X-Get-Y and order-level adjustments, according to the scheme described in [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices). |
+| [getShipmentNo](dw.order.Shipment.md#getshipmentno)() | Returns the shipment number for this shipment. |
+| [getShippingAddress](dw.order.Shipment.md#getshippingaddress)() | Returns the shipping address or null if none is set. |
+| [getShippingLineItem](dw.order.Shipment.md#getshippinglineitemstring)([String](TopLevel.String.md)) | Returns the shipping line item identified by the specified ID, or null if not found. |
+| [getShippingLineItems](dw.order.Shipment.md#getshippinglineitems)() | Returns a collection of all shipping line items of the shipment, excluding any product-level shipping costs that are associated with [ProductLineItem](dw.order.ProductLineItem.md)s of the shipment. |
+| [getShippingMethod](dw.order.Shipment.md#getshippingmethod)() | Returns the shipping method or null if none is set. |
+| [getShippingMethodID](dw.order.Shipment.md#getshippingmethodid)() | Returns the shipping method ID or null if none is set. |
+| ~~[getShippingPriceAdjustmentByPromotionID](dw.order.Shipment.md#getshippingpriceadjustmentbypromotionidstring)([String](TopLevel.String.md))~~ | Returns the shipping price adjustment associated with the specified promotion ID. |
+| [getShippingPriceAdjustments](dw.order.Shipment.md#getshippingpriceadjustments)() | Returns a collection of price adjustments that have been applied to the shipping costs of the shipment, for example by the promotions engine.
Note that this method returns all shipping price adjustments in this shipment, regardless of which shipping line item they belong to. |
+| [getShippingStatus](dw.order.Shipment.md#getshippingstatus)() | Returns the shipping status. |
+| [getShippingTotalGrossPrice](dw.order.Shipment.md#getshippingtotalgrossprice)() | Returns the sum of all shipping line items of the shipment, including tax, excluding shipping adjustments. |
+| [getShippingTotalNetPrice](dw.order.Shipment.md#getshippingtotalnetprice)() | Returns the sum of all shipping line items of the shipment, excluding tax and adjustments. |
+| [getShippingTotalPrice](dw.order.Shipment.md#getshippingtotalprice)() | Returns the shipping total price. |
+| [getShippingTotalTax](dw.order.Shipment.md#getshippingtotaltax)() | Returns the tax of all shipping line items of the shipment before shipping adjustments have been applied. |
+| [getStandardShippingLineItem](dw.order.Shipment.md#getstandardshippinglineitem)() | Convenience method. |
+| [getTotalGrossPrice](dw.order.Shipment.md#gettotalgrossprice)() | Returns the total gross price of the shipment in the purchase currency. |
+| [getTotalNetPrice](dw.order.Shipment.md#gettotalnetprice)() | Returns the total net price of the shipment in the purchase currency. |
+| [getTotalTax](dw.order.Shipment.md#gettotaltax)() | Returns the total tax for the shipment in the purchase currency. |
+| [getTrackingNumber](dw.order.Shipment.md#gettrackingnumber)() | Returns the tracking number of this shipment. |
+| [isDefault](dw.order.Shipment.md#isdefault)() | Return `true` if this shipment is the default shipment (shipment ID "me"). |
+| [isGift](dw.order.Shipment.md#isgift)() | Returns true if this line item represents a gift, false otherwise. |
+| [removeShippingLineItem](dw.order.Shipment.md#removeshippinglineitemshippinglineitem)([ShippingLineItem](dw.order.ShippingLineItem.md)) | Removes the specified shipping line item and any of its dependent shipping price adjustments. |
+| ~~[removeShippingPriceAdjustment](dw.order.Shipment.md#removeshippingpriceadjustmentpriceadjustment)([PriceAdjustment](dw.order.PriceAdjustment.md))~~ | Removes the specified shipping price adjustment from the shipment. |
+| [setGift](dw.order.Shipment.md#setgiftboolean)([Boolean](TopLevel.Boolean.md)) | Controls if this line item is a gift or not. |
+| [setGiftMessage](dw.order.Shipment.md#setgiftmessagestring)([String](TopLevel.String.md)) | Sets the value to set for the gift message. |
+| [setShippingMethod](dw.order.Shipment.md#setshippingmethodshippingmethod)([ShippingMethod](dw.order.ShippingMethod.md)) | Set the specified shipping method for the specified shipment. |
+| [setShippingStatus](dw.order.Shipment.md#setshippingstatusnumber)([Number](TopLevel.Number.md)) | Sets the shipping status of the shipment. |
+| [setTrackingNumber](dw.order.Shipment.md#settrackingnumberstring)([String](TopLevel.String.md)) | Sets the tracking number of this shipment. |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### SHIPMENT_NOTSHIPPED
+
+- ~~SHIPMENT_NOTSHIPPED: [Number](TopLevel.Number.md) = 0~~
+ - : Shipment shipping status representing 'Not shipped'.
+
+ **Deprecated:**
+:::warning
+Use [SHIPPING_STATUS_NOTSHIPPED](dw.order.Shipment.md#shipping_status_notshipped) instead.
+:::
+
+---
+
+### SHIPMENT_SHIPPED
+
+- ~~SHIPMENT_SHIPPED: [Number](TopLevel.Number.md) = 2~~
+ - : Shipment shipping status representing 'Shipped'.
+
+ **Deprecated:**
+:::warning
+Use [SHIPPING_STATUS_SHIPPED](dw.order.Shipment.md#shipping_status_shipped) instead.
+:::
+
+---
+
+### SHIPPING_STATUS_NOTSHIPPED
+
+- SHIPPING_STATUS_NOTSHIPPED: [Number](TopLevel.Number.md) = 0
+ - : Shipment shipping status representing 'Not shipped'.
+
+
+---
+
+### SHIPPING_STATUS_SHIPPED
+
+- SHIPPING_STATUS_SHIPPED: [Number](TopLevel.Number.md) = 2
+ - : Shipment shipping status representing 'Shipped'.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of this shipment ("me" for the default shipment).
+
+
+---
+
+### adjustedMerchandizeTotalGrossPrice
+- adjustedMerchandizeTotalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the adjusted total gross price, including tax, in the purchase currency. The adjusted total gross price
+ represents the sum of product prices and adjustments including tax, excluding services.
+
+
+
+---
+
+### adjustedMerchandizeTotalNetPrice
+- adjustedMerchandizeTotalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the adjusted net price, excluding tax, in the purchase currency. The adjusted net price represents the
+ the sum of product prices and adjustments, excluding services and tax.
+
+
+
+---
+
+### adjustedMerchandizeTotalPrice
+- adjustedMerchandizeTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the product total price after all product discounts. If the line item container is based on net pricing
+ the adjusted product total net price is returned. If the line item container is based on gross pricing the
+ adjusted product total gross price is returned.
+
+
+
+---
+
+### adjustedMerchandizeTotalTax
+- adjustedMerchandizeTotalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total adjusted product tax in the purchase currency. The total adjusted product tax represents the
+ tax on products and adjustments, excluding services.
+
+
+
+---
+
+### adjustedShippingTotalGrossPrice
+- adjustedShippingTotalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the adjusted sum of all shipping line items of the shipment, including shipping adjustuments and tax
+
+
+---
+
+### adjustedShippingTotalNetPrice
+- adjustedShippingTotalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of all shipping line items of the shipment, including shipping adjustments, excluding tax.
+
+
+---
+
+### adjustedShippingTotalPrice
+- adjustedShippingTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the adjusted shipping total price. If the line item container is based on net pricing the adjusted
+ shipping total net price is returned. If the line item container is based on gross pricing the adjusted shipping
+ total gross price is returned.
+
+
+
+---
+
+### adjustedShippingTotalTax
+- adjustedShippingTotalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the tax of all shipping line items of the shipment , including shipping adjustments.
+
+
+---
+
+### allLineItems
+- allLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all line items related to the shipment.
+
+
+ The returned collection may include line items of the following types:
+
+ - [ProductLineItem](dw.order.ProductLineItem.md)
+ - [ShippingLineItem](dw.order.ShippingLineItem.md)
+ - [GiftCertificateLineItem](dw.order.GiftCertificateLineItem.md)
+ - [PriceAdjustment](dw.order.PriceAdjustment.md)
+
+ Their common type is [LineItem](dw.order.LineItem.md).
+
+
+ Each [ProductLineItem](dw.order.ProductLineItem.md) in the collection may itself contain bundled or option product line items,
+ as well as a product-level shipping line item.
+
+
+
+---
+
+### default
+- default: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Return `true` if this shipment is the default shipment (shipment ID "me").
+
+
+---
+
+### gift
+- gift: [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this line item represents a gift, false otherwise.
+
+
+---
+
+### giftCertificateLineItems
+- giftCertificateLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns all gift certificate line items of the shipment.
+
+
+---
+
+### giftMessage
+- giftMessage: [String](TopLevel.String.md)
+ - : Returns the value set for gift message or null if no value set.
+
+
+---
+
+### merchandizeTotalGrossPrice
+- merchandizeTotalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the gross product subtotal in the purchase currency. The gross product subtotal represents the sum of
+ product prices including tax, excluding services and adjustments.
+
+
+
+---
+
+### merchandizeTotalNetPrice
+- merchandizeTotalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the net product subtotal, excluding tax, in the purchase currency. The net product subtotal represents
+ the sum of product prices, excluding services, adjustments, and tax.
+
+
+
+---
+
+### merchandizeTotalPrice
+- merchandizeTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the product total price. If the line item container is based on net pricing the product total net
+ price is returned. If the line item container is based on gross pricing the product total gross price is
+ returned.
+
+
+
+---
+
+### merchandizeTotalPriceAdjustments
+- ~~merchandizeTotalPriceAdjustments: [Collection](dw.util.Collection.md)~~ `(read-only)`
+ - : Returns a collection of price adjustments that have been applied to the totals, such as a promotion on the
+ purchase value (i.e. $10 Off or 10% Off).
+
+
+ **Deprecated:**
+:::warning
+Shipments cannot have product price adjustments, therefore this method will always return an
+ empty collection
+
+:::
+
+---
+
+### merchandizeTotalTax
+- merchandizeTotalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total product tax in the purchase currency. The total product tax represents the tax on products,
+ excluding services and adjustments.
+
+
+
+---
+
+### productLineItems
+- productLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all product line items related to this shipment.
+
+
+---
+
+### proratedMerchandizeTotalPrice
+- proratedMerchandizeTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total product price of the shipment, including product-level adjustments and prorating all
+ Buy-X-Get-Y and order-level adjustments, according to the scheme described in
+ [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices). For net pricing the net price is returned. For gross
+ pricing, the gross price is returned.
+
+
+
+---
+
+### shipmentNo
+- shipmentNo: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the shipment number for this shipment.
+
+
+ When an order is placed ([OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder)) shipment number will be filled using a
+ sequence. Before order was placed `null` will be returned.
+
+
+
+---
+
+### shippingAddress
+- shippingAddress: [OrderAddress](dw.order.OrderAddress.md) `(read-only)`
+ - : Returns the shipping address or null if none is set.
+
+
+---
+
+### shippingLineItems
+- shippingLineItems: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of all shipping line items of the shipment, excluding any product-level shipping costs that
+ are associated with [ProductLineItem](dw.order.ProductLineItem.md)s of the shipment.
+
+
+
+---
+
+### shippingMethod
+- shippingMethod: [ShippingMethod](dw.order.ShippingMethod.md)
+ - : Returns the shipping method or null if none is set.
+
+
+---
+
+### shippingMethodID
+- shippingMethodID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the shipping method ID or null if none is set.
+
+
+---
+
+### shippingPriceAdjustments
+- shippingPriceAdjustments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns a collection of price adjustments that have been applied to the shipping costs of the shipment, for
+ example by the promotions engine.
+
+ Note that this method returns all shipping price adjustments in this shipment, regardless of which shipping line
+ item they belong to. Use [ShippingLineItem.getShippingPriceAdjustments()](dw.order.ShippingLineItem.md#getshippingpriceadjustments) to retrieve the shipping
+ price adjustments associated with a specific shipping line item.
+
+
+
+---
+
+### shippingStatus
+- shippingStatus: [EnumValue](dw.value.EnumValue.md)
+ - : Returns the shipping status. Possible values are SHIPMENT\_NOTSHIPPED or SHIPMENT\_SHIPPED.
+
+
+---
+
+### shippingTotalGrossPrice
+- shippingTotalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of all shipping line items of the shipment, including tax, excluding shipping adjustments.
+
+
+---
+
+### shippingTotalNetPrice
+- shippingTotalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the sum of all shipping line items of the shipment, excluding tax and adjustments.
+
+
+---
+
+### shippingTotalPrice
+- shippingTotalPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the shipping total price. If the line item container is based on net pricing the shipping total net price
+ is returned. If the line item container is based on gross pricing the shipping total gross price is returned.
+
+
+
+---
+
+### shippingTotalTax
+- shippingTotalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the tax of all shipping line items of the shipment before shipping adjustments have been applied.
+
+
+---
+
+### standardShippingLineItem
+- standardShippingLineItem: [ShippingLineItem](dw.order.ShippingLineItem.md) `(read-only)`
+ - : Convenience method. Same as `getShippingLineItem(ShippingLineItem.STANDARD_SHIPPING_ID)`
+
+
+---
+
+### totalGrossPrice
+- totalGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total gross price of the shipment in the purchase currency. The total gross price is the sum of
+ product prices, service prices, adjustments, and tax.
+
+
+
+---
+
+### totalNetPrice
+- totalNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total net price of the shipment in the purchase currency. The total net price is the sum of product
+ prices, service prices, and adjustments, excluding tax.
+
+
+
+---
+
+### totalTax
+- totalTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the total tax for the shipment in the purchase currency.
+
+
+---
+
+### trackingNumber
+- trackingNumber: [String](TopLevel.String.md)
+ - : Returns the tracking number of this shipment.
+
+
+---
+
+## Method Details
+
+### createShippingAddress()
+- createShippingAddress(): [OrderAddress](dw.order.OrderAddress.md)
+ - : A shipment has initially no shipping address. This method creates a shipping address for the shipment and
+ replaces an existing shipping address.
+
+
+ **Returns:**
+ - The new shipping address of the shipment
+
+
+---
+
+### createShippingLineItem(String)
+- createShippingLineItem(id: [String](TopLevel.String.md)): [ShippingLineItem](dw.order.ShippingLineItem.md)
+ - : Creates a new shipping line item for this shipment. If the specified ID is already assigned to any of the
+ existing shipping line items of the shipment, the method throws an exception.
+
+
+ **Parameters:**
+ - id - The id to use to locate the new shipping line item.
+
+ **Returns:**
+ - The new shipping line item.
+
+
+---
+
+### createShippingPriceAdjustment(String)
+- ~~createShippingPriceAdjustment(promotionID: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)~~
+ - : Creates a shipping price adjustment to be applied to the shipment. The price adjustment implicitly belongs to the
+ standard shipping line item if this line item exists, otherwise it belongs to the shipment itself.
+
+ The promotion ID is mandatory and must not be the ID of any actual promotion defined in Salesforce B2C
+ Commerce.
+
+ If there already exists a shipping price adjustment line item referring to the specified promotion ID, an
+ exception is thrown.
+
+
+ **Parameters:**
+ - promotionID - Promotion ID
+
+ **Returns:**
+ - The new price adjustment line item.
+
+ **Deprecated:**
+:::warning
+Deprecated in favor of [ShippingLineItem.createShippingPriceAdjustment(String)](dw.order.ShippingLineItem.md#createshippingpriceadjustmentstring), which
+ explicitly relates the price adjustment to a shipping line item.
+
+:::
+
+---
+
+### getAdjustedMerchandizeTotalGrossPrice()
+- getAdjustedMerchandizeTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the adjusted total gross price, including tax, in the purchase currency. The adjusted total gross price
+ represents the sum of product prices and adjustments including tax, excluding services.
+
+
+ **Returns:**
+ - the adjusted total gross price, including tax, in the purchase currency.
+
+
+---
+
+### getAdjustedMerchandizeTotalNetPrice()
+- getAdjustedMerchandizeTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the adjusted net price, excluding tax, in the purchase currency. The adjusted net price represents the
+ the sum of product prices and adjustments, excluding services and tax.
+
+
+ **Returns:**
+ - the adjusted net price, excluding tax, in the purchase currency.
+
+
+---
+
+### getAdjustedMerchandizeTotalPrice()
+- getAdjustedMerchandizeTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the product total price after all product discounts. If the line item container is based on net pricing
+ the adjusted product total net price is returned. If the line item container is based on gross pricing the
+ adjusted product total gross price is returned.
+
+
+ **Returns:**
+ - either the adjusted product total net or gross price.
+
+
+---
+
+### getAdjustedMerchandizeTotalPrice(Boolean)
+- getAdjustedMerchandizeTotalPrice(applyOrderLevelAdjustments: [Boolean](TopLevel.Boolean.md)): [Money](dw.value.Money.md)
+ - : Returns the total product price including product-level adjustments and, optionally, prorated order-level
+ adjustments. For net pricing the net price is returned. For gross pricing, the gross price is returned.
+
+
+ **Parameters:**
+ - applyOrderLevelAdjustments - If true, prorated order-level adjustments will be applied to total price
+
+ **Returns:**
+ - Adjusted net or gross product total price
+
+ **See Also:**
+ - [getAdjustedMerchandizeTotalPrice()](dw.order.Shipment.md#getadjustedmerchandizetotalprice)
+
+
+---
+
+### getAdjustedMerchandizeTotalTax()
+- getAdjustedMerchandizeTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the total adjusted product tax in the purchase currency. The total adjusted product tax represents the
+ tax on products and adjustments, excluding services.
+
+
+ **Returns:**
+ - the total tax in purchase currency.
+
+
+---
+
+### getAdjustedShippingTotalGrossPrice()
+- getAdjustedShippingTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the adjusted sum of all shipping line items of the shipment, including shipping adjustuments and tax
+
+ **Returns:**
+ - the adjusted sum of all shipping line items of the shipment, including shipping adjustuments and tax
+
+
+---
+
+### getAdjustedShippingTotalNetPrice()
+- getAdjustedShippingTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the sum of all shipping line items of the shipment, including shipping adjustments, excluding tax.
+
+ **Returns:**
+ - the sum of all shipping line items of the shipment, including shipping adjustments, excluding tax.
+
+
+---
+
+### getAdjustedShippingTotalPrice()
+- getAdjustedShippingTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the adjusted shipping total price. If the line item container is based on net pricing the adjusted
+ shipping total net price is returned. If the line item container is based on gross pricing the adjusted shipping
+ total gross price is returned.
+
+
+ **Returns:**
+ - either the adjusted shipping total net or gross price
+
+
+---
+
+### getAdjustedShippingTotalTax()
+- getAdjustedShippingTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the tax of all shipping line items of the shipment , including shipping adjustments.
+
+ **Returns:**
+ - the tax of all shipping line items of the shipment , including shipping adjustments.
+
+
+---
+
+### getAllLineItems()
+- getAllLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns all line items related to the shipment.
+
+
+ The returned collection may include line items of the following types:
+
+ - [ProductLineItem](dw.order.ProductLineItem.md)
+ - [ShippingLineItem](dw.order.ShippingLineItem.md)
+ - [GiftCertificateLineItem](dw.order.GiftCertificateLineItem.md)
+ - [PriceAdjustment](dw.order.PriceAdjustment.md)
+
+ Their common type is [LineItem](dw.order.LineItem.md).
+
+
+ Each [ProductLineItem](dw.order.ProductLineItem.md) in the collection may itself contain bundled or option product line items,
+ as well as a product-level shipping line item.
+
+
+ **Returns:**
+ - all line items related to ths shipment.
+
+
+---
+
+### getGiftCertificateLineItems()
+- getGiftCertificateLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns all gift certificate line items of the shipment.
+
+ **Returns:**
+ - A collection of all GiftCertificateLineItems of the shipment.
+
+
+---
+
+### getGiftMessage()
+- getGiftMessage(): [String](TopLevel.String.md)
+ - : Returns the value set for gift message or null if no value set.
+
+ **Returns:**
+ - the value set for gift message or null if no value set.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of this shipment ("me" for the default shipment).
+
+ **Returns:**
+ - the ID of this shipment
+
+
+---
+
+### getMerchandizeTotalGrossPrice()
+- getMerchandizeTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the gross product subtotal in the purchase currency. The gross product subtotal represents the sum of
+ product prices including tax, excluding services and adjustments.
+
+
+ **Returns:**
+ - the total gross price, including tax, in the purchase currency.
+
+
+---
+
+### getMerchandizeTotalNetPrice()
+- getMerchandizeTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the net product subtotal, excluding tax, in the purchase currency. The net product subtotal represents
+ the sum of product prices, excluding services, adjustments, and tax.
+
+
+ **Returns:**
+ - the net price, excluding tax, in the purchase currency.
+
+
+---
+
+### getMerchandizeTotalPrice()
+- getMerchandizeTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the product total price. If the line item container is based on net pricing the product total net
+ price is returned. If the line item container is based on gross pricing the product total gross price is
+ returned.
+
+
+ **Returns:**
+ - either the product total net or gross price
+
+
+---
+
+### getMerchandizeTotalPriceAdjustments()
+- ~~getMerchandizeTotalPriceAdjustments(): [Collection](dw.util.Collection.md)~~
+ - : Returns a collection of price adjustments that have been applied to the totals, such as a promotion on the
+ purchase value (i.e. $10 Off or 10% Off).
+
+
+ **Returns:**
+ - a collection of price adjustments that have been applied to the totals, such as a promotion on the
+ purchase value (i.e. $10 Off or 10% Off).
+
+
+ **Deprecated:**
+:::warning
+Shipments cannot have product price adjustments, therefore this method will always return an
+ empty collection
+
+:::
+
+---
+
+### getMerchandizeTotalTax()
+- getMerchandizeTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the total product tax in the purchase currency. The total product tax represents the tax on products,
+ excluding services and adjustments.
+
+
+ **Returns:**
+ - the total tax in purchase currency.
+
+
+---
+
+### getProductLineItems()
+- getProductLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all product line items related to this shipment.
+
+ **Returns:**
+ - a collection of all product line items related to this shipment.
+
+
+---
+
+### getProratedMerchandizeTotalPrice()
+- getProratedMerchandizeTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the total product price of the shipment, including product-level adjustments and prorating all
+ Buy-X-Get-Y and order-level adjustments, according to the scheme described in
+ [PriceAdjustment.getProratedPrices()](dw.order.PriceAdjustment.md#getproratedprices). For net pricing the net price is returned. For gross
+ pricing, the gross price is returned.
+
+
+ **Returns:**
+ - Adjusted and prorated net or gross product total price
+
+
+---
+
+### getShipmentNo()
+- getShipmentNo(): [String](TopLevel.String.md)
+ - : Returns the shipment number for this shipment.
+
+
+ When an order is placed ([OrderMgr.placeOrder(Order)](dw.order.OrderMgr.md#placeorderorder)) shipment number will be filled using a
+ sequence. Before order was placed `null` will be returned.
+
+
+ **Returns:**
+ - the shipment number for this shipment.
+
+
+---
+
+### getShippingAddress()
+- getShippingAddress(): [OrderAddress](dw.order.OrderAddress.md)
+ - : Returns the shipping address or null if none is set.
+
+ **Returns:**
+ - the shipping address or null if none is set.
+
+
+---
+
+### getShippingLineItem(String)
+- getShippingLineItem(id: [String](TopLevel.String.md)): [ShippingLineItem](dw.order.ShippingLineItem.md)
+ - : Returns the shipping line item identified by the specified ID, or null if not found.
+
+
+ To get the standard shipping line item for this shipment, use the identifier
+ [ShippingLineItem.STANDARD_SHIPPING_ID](dw.order.ShippingLineItem.md#standard_shipping_id).
+
+
+ **Parameters:**
+ - id - the identifier to use to locate the shipping line item.
+
+ **Returns:**
+ - the shipping line item identified by the specified ID, or null if not found.
+
+
+---
+
+### getShippingLineItems()
+- getShippingLineItems(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of all shipping line items of the shipment, excluding any product-level shipping costs that
+ are associated with [ProductLineItem](dw.order.ProductLineItem.md)s of the shipment.
+
+
+ **Returns:**
+ - a collection of all shipping line items of the shipment, excluding any product-level shipping costs.
+
+
+---
+
+### getShippingMethod()
+- getShippingMethod(): [ShippingMethod](dw.order.ShippingMethod.md)
+ - : Returns the shipping method or null if none is set.
+
+ **Returns:**
+ - the shipping method or null if none is set.
+
+
+---
+
+### getShippingMethodID()
+- getShippingMethodID(): [String](TopLevel.String.md)
+ - : Returns the shipping method ID or null if none is set.
+
+ **Returns:**
+ - the shipping method ID or null if none is set.
+
+
+---
+
+### getShippingPriceAdjustmentByPromotionID(String)
+- ~~getShippingPriceAdjustmentByPromotionID(promotionID: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)~~
+ - : Returns the shipping price adjustment associated with the specified promotion ID.
+
+ **Parameters:**
+ - promotionID - the promotion ID
+
+ **Returns:**
+ - The price adjustment associated with the given promotion ID
+
+
+---
+
+### getShippingPriceAdjustments()
+- getShippingPriceAdjustments(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of price adjustments that have been applied to the shipping costs of the shipment, for
+ example by the promotions engine.
+
+ Note that this method returns all shipping price adjustments in this shipment, regardless of which shipping line
+ item they belong to. Use [ShippingLineItem.getShippingPriceAdjustments()](dw.order.ShippingLineItem.md#getshippingpriceadjustments) to retrieve the shipping
+ price adjustments associated with a specific shipping line item.
+
+
+ **Returns:**
+ - a collection of price adjustments that have been applied to the shipping costs of the shipment.
+
+
+---
+
+### getShippingStatus()
+- getShippingStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Returns the shipping status. Possible values are SHIPMENT\_NOTSHIPPED or SHIPMENT\_SHIPPED.
+
+ **Returns:**
+ - the shipping status. Possible values are SHIPMENT\_NOTSHIPPED or SHIPMENT\_SHIPPED.
+
+
+---
+
+### getShippingTotalGrossPrice()
+- getShippingTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the sum of all shipping line items of the shipment, including tax, excluding shipping adjustments.
+
+ **Returns:**
+ - the sum of all shipping line items of the shipment, including tax, excluding shipping adjustments.
+
+
+---
+
+### getShippingTotalNetPrice()
+- getShippingTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the sum of all shipping line items of the shipment, excluding tax and adjustments.
+
+ **Returns:**
+ - the sum of all shipping line items of the shipment, excluding tax and adjustments.
+
+
+---
+
+### getShippingTotalPrice()
+- getShippingTotalPrice(): [Money](dw.value.Money.md)
+ - : Returns the shipping total price. If the line item container is based on net pricing the shipping total net price
+ is returned. If the line item container is based on gross pricing the shipping total gross price is returned.
+
+
+ **Returns:**
+ - either the shipping total net or gross price
+
+
+---
+
+### getShippingTotalTax()
+- getShippingTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the tax of all shipping line items of the shipment before shipping adjustments have been applied.
+
+ **Returns:**
+ - the tax of all shipping line items of the shipment before shipping adjustments have been applied.
+
+
+---
+
+### getStandardShippingLineItem()
+- getStandardShippingLineItem(): [ShippingLineItem](dw.order.ShippingLineItem.md)
+ - : Convenience method. Same as `getShippingLineItem(ShippingLineItem.STANDARD_SHIPPING_ID)`
+
+ **Returns:**
+ - The standard shipping line item, or null if it does not exist.
+
+
+---
+
+### getTotalGrossPrice()
+- getTotalGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the total gross price of the shipment in the purchase currency. The total gross price is the sum of
+ product prices, service prices, adjustments, and tax.
+
+
+ **Returns:**
+ - the grand total price gross of tax for the shipment, in purchase currency.
+
+
+---
+
+### getTotalNetPrice()
+- getTotalNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the total net price of the shipment in the purchase currency. The total net price is the sum of product
+ prices, service prices, and adjustments, excluding tax.
+
+
+ **Returns:**
+ - the grand total price for the shipment net of tax, in purchase currency.
+
+
+---
+
+### getTotalTax()
+- getTotalTax(): [Money](dw.value.Money.md)
+ - : Returns the total tax for the shipment in the purchase currency.
+
+ **Returns:**
+ - the total tax for the shipment, in purchase currency.
+
+
+---
+
+### getTrackingNumber()
+- getTrackingNumber(): [String](TopLevel.String.md)
+ - : Returns the tracking number of this shipment.
+
+ **Returns:**
+ - the tracking number of this shipment.
+
+
+---
+
+### isDefault()
+- isDefault(): [Boolean](TopLevel.Boolean.md)
+ - : Return `true` if this shipment is the default shipment (shipment ID "me").
+
+ **Returns:**
+ - `true` if this shipment is the default shipment
+
+
+---
+
+### isGift()
+- isGift(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this line item represents a gift, false otherwise.
+
+ **Returns:**
+ - true if this line item represents a gift, false otherwise.
+
+
+---
+
+### removeShippingLineItem(ShippingLineItem)
+- removeShippingLineItem(shippingLineItem: [ShippingLineItem](dw.order.ShippingLineItem.md)): void
+ - : Removes the specified shipping line item and any of its dependent shipping price adjustments.
+
+ **Parameters:**
+ - shippingLineItem - The shipping line item to be removed.
+
+
+---
+
+### removeShippingPriceAdjustment(PriceAdjustment)
+- ~~removeShippingPriceAdjustment(priceAdjustment: [PriceAdjustment](dw.order.PriceAdjustment.md)): void~~
+ - : Removes the specified shipping price adjustment from the shipment.
+
+ **Parameters:**
+ - priceAdjustment - The price adjustment line item to remove
+
+ **Deprecated:**
+:::warning
+Deprecated in favor of
+ [ShippingLineItem.removeShippingPriceAdjustment(PriceAdjustment)](dw.order.ShippingLineItem.md#removeshippingpriceadjustmentpriceadjustment) since shipping price
+ adjustments belong to a specific shipping line item.
+
+:::
+
+---
+
+### setGift(Boolean)
+- setGift(isGift: [Boolean](TopLevel.Boolean.md)): void
+ - : Controls if this line item is a gift or not.
+
+ **Parameters:**
+ - isGift - set to true if you want this line item to represent a gift.
+
+
+---
+
+### setGiftMessage(String)
+- setGiftMessage(message: [String](TopLevel.String.md)): void
+ - : Sets the value to set for the gift message.
+
+ **Parameters:**
+ - message - the value to set for the gift message.
+
+
+---
+
+### setShippingMethod(ShippingMethod)
+- setShippingMethod(method: [ShippingMethod](dw.order.ShippingMethod.md)): void
+ - : Set the specified shipping method for the specified shipment.
+
+ **Parameters:**
+ - method - the shipping method to use.
+
+
+---
+
+### setShippingStatus(Number)
+- setShippingStatus(status: [Number](TopLevel.Number.md)): void
+ - : Sets the shipping status of the shipment.
+
+ Possible values are [SHIPPING_STATUS_NOTSHIPPED](dw.order.Shipment.md#shipping_status_notshipped) or [SHIPPING_STATUS_SHIPPED](dw.order.Shipment.md#shipping_status_shipped).
+
+
+ **Parameters:**
+ - status - Shipment shipping status
+
+
+---
+
+### setTrackingNumber(String)
+- setTrackingNumber(aValue: [String](TopLevel.String.md)): void
+ - : Sets the tracking number of this shipment.
+
+ **Parameters:**
+ - aValue - the tracking number of this shipment.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ShipmentShippingCost.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShipmentShippingCost.md
new file mode 100644
index 00000000..2b057c90
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShipmentShippingCost.md
@@ -0,0 +1,54 @@
+
+# Class ShipmentShippingCost
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.ShipmentShippingCost](dw.order.ShipmentShippingCost.md)
+
+Represents shipping cost applied to shipments.
+
+
+Returned by
+[ShipmentShippingModel.getShippingCost(ShippingMethod)](dw.order.ShipmentShippingModel.md#getshippingcostshippingmethod).
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [amount](#amount): [Money](dw.value.Money.md) `(read-only)` | Returns the shipping amount. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAmount](dw.order.ShipmentShippingCost.md#getamount)() | Returns the shipping amount. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### amount
+- amount: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the shipping amount.
+
+
+---
+
+## Method Details
+
+### getAmount()
+- getAmount(): [Money](dw.value.Money.md)
+ - : Returns the shipping amount.
+
+ **Returns:**
+ - Shipping amount
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ShipmentShippingModel.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShipmentShippingModel.md
new file mode 100644
index 00000000..613bc2a3
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShipmentShippingModel.md
@@ -0,0 +1,203 @@
+
+# Class ShipmentShippingModel
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.ShipmentShippingModel](dw.order.ShipmentShippingModel.md)
+
+Instances of ShipmentShippingModel provide access to shipment-level
+shipping information, such as applicable and inapplicable shipping methods
+and shipping cost.
+
+
+Use [ShippingMgr.getShipmentShippingModel(Shipment)](dw.order.ShippingMgr.md#getshipmentshippingmodelshipment) to get
+the shipping model for a specific shipment.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [applicableShippingMethods](#applicableshippingmethods): [Collection](dw.util.Collection.md) `(read-only)` | Returns the active applicable shipping methods for the shipment related to this shipping model. |
+| [inapplicableShippingMethods](#inapplicableshippingmethods): [Collection](dw.util.Collection.md) `(read-only)` | Returns the active inapplicable shipping methods for the shipment related to this shipping model. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getApplicableShippingMethods](dw.order.ShipmentShippingModel.md#getapplicableshippingmethods)() | Returns the active applicable shipping methods for the shipment related to this shipping model. |
+| [getApplicableShippingMethods](dw.order.ShipmentShippingModel.md#getapplicableshippingmethodsobject)([Object](TopLevel.Object.md)) | Returns the active applicable shipping methods for the shipment related to this shipping model and the specified shipping address. |
+| [getInapplicableShippingMethods](dw.order.ShipmentShippingModel.md#getinapplicableshippingmethods)() | Returns the active inapplicable shipping methods for the shipment related to this shipping model. |
+| [getInapplicableShippingMethods](dw.order.ShipmentShippingModel.md#getinapplicableshippingmethodsobject)([Object](TopLevel.Object.md)) | Returns the active inapplicable shipping methods for the shipment related to this shipping model and the specified shipping address. |
+| [getShippingCost](dw.order.ShipmentShippingModel.md#getshippingcostshippingmethod)([ShippingMethod](dw.order.ShippingMethod.md)) | Returns the shipping cost object for the related shipment and the specified shipping method. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### applicableShippingMethods
+- applicableShippingMethods: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the active applicable shipping methods for the shipment related
+ to this shipping model. A shipping method is applicable for a shipment
+ if it does not exclude any of the products in the shipment, and does
+ not exclude the shipment's shipping address, if this is set. Also checks
+ that the the shipment customer belongs to an assigned customer group of the shipment
+ (if any are assigned).
+
+
+
+---
+
+### inapplicableShippingMethods
+- inapplicableShippingMethods: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the active inapplicable shipping methods for the shipment related
+ to this shipping model. A shipping method is inapplicable for a shipment
+ if it is inapplicable for at least one product contained in the
+ shipment, or the shipping address is excluded by the shipping method, or the
+ shipping method is restricted to customer groups that the shipment customer
+ is not a part of.
+
+
+
+---
+
+## Method Details
+
+### getApplicableShippingMethods()
+- getApplicableShippingMethods(): [Collection](dw.util.Collection.md)
+ - : Returns the active applicable shipping methods for the shipment related
+ to this shipping model. A shipping method is applicable for a shipment
+ if it does not exclude any of the products in the shipment, and does
+ not exclude the shipment's shipping address, if this is set. Also checks
+ that the the shipment customer belongs to an assigned customer group of the shipment
+ (if any are assigned).
+
+
+ **Returns:**
+ - Applicable shipping methods for the shipment
+
+
+---
+
+### getApplicableShippingMethods(Object)
+- getApplicableShippingMethods(shippingAddressObj: [Object](TopLevel.Object.md)): [Collection](dw.util.Collection.md)
+ - : Returns the active applicable shipping methods for the shipment related
+ to this shipping model and the specified shipping address. A shipping
+ method is applicable if it does not exclude any of the products in the
+ shipment, it does not exclude the specified shipping address, and the
+ shipment customer belongs to an assigned customer group for the shipment (if
+ any are assigned).
+
+
+ The parameter shippingAddressObj must be a JavaScript literal with the
+ same properties as an OrderAddress object, or alternatively a Map.
+ For example:
+
+
+
+
+ ```
+ model.getApplicableShippingMethods (
+ { countryCode: "US",
+ stateCode: "MA,
+ custom { POBox : true }
+ }
+ )
+ ```
+
+
+ This method is useful when it is needed to retrieve the list of
+ applicable shipping methods for an address before the address is saved to
+ the shipment.
+
+
+ **Parameters:**
+ - shippingAddressObj - A JavaScript object representing an order address, must not be null.
+
+ **Returns:**
+ - Applicable shipping methods for the shipment
+
+
+---
+
+### getInapplicableShippingMethods()
+- getInapplicableShippingMethods(): [Collection](dw.util.Collection.md)
+ - : Returns the active inapplicable shipping methods for the shipment related
+ to this shipping model. A shipping method is inapplicable for a shipment
+ if it is inapplicable for at least one product contained in the
+ shipment, or the shipping address is excluded by the shipping method, or the
+ shipping method is restricted to customer groups that the shipment customer
+ is not a part of.
+
+
+ **Returns:**
+ - Inapplicable shipping methods for the shipment
+
+
+---
+
+### getInapplicableShippingMethods(Object)
+- getInapplicableShippingMethods(shippingAddressObj: [Object](TopLevel.Object.md)): [Collection](dw.util.Collection.md)
+ - : Returns the active inapplicable shipping methods for the shipment related
+ to this shipping model and the specified shipping address. A shipping
+ method is inapplicable if it is inapplicable for at least one product
+ contained in the shipment, or the specified shipping address is excluded
+ by the shipping method, or the shipping method is restricted to customer
+ groups that the shipment customer is not a part of.
+
+
+ The parameter shippingAddressObj must be a JavaScript literal with the
+ same properties as an OrderAddress object, or alternatively a Map.
+ For example:
+
+
+
+
+ ```
+ model.getApplicableShippingMethods (
+ { countryCode: "US",
+ stateCode: "MA,
+ custom { POBox : true }
+ }
+ )
+ ```
+
+
+ This method is useful when it is needed to retrieve the list of
+ applicable shipping methods for an address before the address is saved to
+ the shipment.
+
+
+ **Parameters:**
+ - shippingAddressObj - A JavaScript object representing an order address.
+
+ **Returns:**
+ - Inapplicable shipping methods for the shipment
+
+
+---
+
+### getShippingCost(ShippingMethod)
+- getShippingCost(shippingMethod: [ShippingMethod](dw.order.ShippingMethod.md)): [ShipmentShippingCost](dw.order.ShipmentShippingCost.md)
+ - : Returns the shipping cost object for the related shipment and
+ the specified shipping method. Shipping cost for shipments
+ depended on the merchandise total of the shipment. The method
+ uses the adjusted merchandise total after product and order discounts,
+ and excluding products with product-level fixed-price shipping
+ cost.
+
+
+ **Parameters:**
+ - shippingMethod - the shipping method to use.
+
+ **Returns:**
+ - Product shipping cost
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingLineItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingLineItem.md
new file mode 100644
index 00000000..22fd42f8
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingLineItem.md
@@ -0,0 +1,315 @@
+
+# Class ShippingLineItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.LineItem](dw.order.LineItem.md)
+ - [dw.order.ShippingLineItem](dw.order.ShippingLineItem.md)
+
+Represents a specific line item in a shipment. The ShippingLineItem defines
+the general shipping costs of a shipment.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [STANDARD_SHIPPING_ID](#standard_shipping_id): [String](TopLevel.String.md) = "STANDARD_SHIPPING" | Constant used to get the standard shipping line item. |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of this ShippingLineItem. |
+| [adjustedGrossPrice](#adjustedgrossprice): [Money](dw.value.Money.md) `(read-only)` | Returns the price of this shipping line item including tax after shipping adjustments have been applied. |
+| [adjustedNetPrice](#adjustednetprice): [Money](dw.value.Money.md) `(read-only)` | Returns the price of this shipping line item, excluding tax after shipping adjustments have been applied. |
+| [adjustedPrice](#adjustedprice): [Money](dw.value.Money.md) `(read-only)` | Returns the adjusted price of this shipping line item. |
+| [adjustedTax](#adjustedtax): [Money](dw.value.Money.md) `(read-only)` | Returns the tax of this shipping line item after shipping adjustments have been applied. |
+| [orderItem](#orderitem): [OrderItem](dw.order.OrderItem.md) `(read-only)` | Returns the [order-item extension](dw.order.OrderItem.md) for this item, or `null`. |
+| [shippingPriceAdjustments](#shippingpriceadjustments): [Collection](dw.util.Collection.md) `(read-only)` | Returns the collection of shipping price adjustments that have been applied to this shipping line item. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [createShippingPriceAdjustment](dw.order.ShippingLineItem.md#createshippingpriceadjustmentstring)([String](TopLevel.String.md)) | Creates a shipping price adjustment to be applied to the shipping line item.
The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce.
If there already exists a shipping price adjustment on this shipping line item referring to the specified promotion ID, an exception is thrown. |
+| [createShippingPriceAdjustment](dw.order.ShippingLineItem.md#createshippingpriceadjustmentstring-discount)([String](TopLevel.String.md), [Discount](dw.campaign.Discount.md)) | Creates a shipping price adjustment to be applied to the shipping line item.
The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce. |
+| [getAdjustedGrossPrice](dw.order.ShippingLineItem.md#getadjustedgrossprice)() | Returns the price of this shipping line item including tax after shipping adjustments have been applied. |
+| [getAdjustedNetPrice](dw.order.ShippingLineItem.md#getadjustednetprice)() | Returns the price of this shipping line item, excluding tax after shipping adjustments have been applied. |
+| [getAdjustedPrice](dw.order.ShippingLineItem.md#getadjustedprice)() | Returns the adjusted price of this shipping line item. |
+| [getAdjustedTax](dw.order.ShippingLineItem.md#getadjustedtax)() | Returns the tax of this shipping line item after shipping adjustments have been applied. |
+| [getID](dw.order.ShippingLineItem.md#getid)() | Returns the ID of this ShippingLineItem. |
+| [getOrderItem](dw.order.ShippingLineItem.md#getorderitem)() | Returns the [order-item extension](dw.order.OrderItem.md) for this item, or `null`. |
+| [getShippingPriceAdjustments](dw.order.ShippingLineItem.md#getshippingpriceadjustments)() | Returns the collection of shipping price adjustments that have been applied to this shipping line item. |
+| [removeShippingPriceAdjustment](dw.order.ShippingLineItem.md#removeshippingpriceadjustmentpriceadjustment)([PriceAdjustment](dw.order.PriceAdjustment.md)) | Removes the specified shipping price adjustment from this shipping line item. |
+
+### Methods inherited from class LineItem
+
+[getBasePrice](dw.order.LineItem.md#getbaseprice), [getGrossPrice](dw.order.LineItem.md#getgrossprice), [getLineItemCtnr](dw.order.LineItem.md#getlineitemctnr), [getLineItemText](dw.order.LineItem.md#getlineitemtext), [getNetPrice](dw.order.LineItem.md#getnetprice), [getPrice](dw.order.LineItem.md#getprice), [getPriceValue](dw.order.LineItem.md#getpricevalue), [getTax](dw.order.LineItem.md#gettax), [getTaxBasis](dw.order.LineItem.md#gettaxbasis), [getTaxClassID](dw.order.LineItem.md#gettaxclassid), [getTaxRate](dw.order.LineItem.md#gettaxrate), [setBasePrice](dw.order.LineItem.md#setbasepricemoney), [setGrossPrice](dw.order.LineItem.md#setgrosspricemoney), [setLineItemText](dw.order.LineItem.md#setlineitemtextstring), [setNetPrice](dw.order.LineItem.md#setnetpricemoney), [setPriceValue](dw.order.LineItem.md#setpricevaluenumber), [setTax](dw.order.LineItem.md#settaxmoney), [setTaxClassID](dw.order.LineItem.md#settaxclassidstring), [setTaxRate](dw.order.LineItem.md#settaxratenumber), [updatePrice](dw.order.LineItem.md#updatepricemoney), [updateTax](dw.order.LineItem.md#updatetaxnumber), [updateTax](dw.order.LineItem.md#updatetaxnumber-money), [updateTaxAmount](dw.order.LineItem.md#updatetaxamountmoney)
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### STANDARD_SHIPPING_ID
+
+- STANDARD_SHIPPING_ID: [String](TopLevel.String.md) = "STANDARD_SHIPPING"
+ - : Constant used to get the standard shipping line item.
+
+
+---
+
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of this ShippingLineItem.
+
+
+---
+
+### adjustedGrossPrice
+- adjustedGrossPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the price of this shipping line item including tax after
+ shipping adjustments have been applied.
+
+
+
+---
+
+### adjustedNetPrice
+- adjustedNetPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the price of this shipping line item, excluding tax after
+ shipping adjustments have been applied.
+
+
+
+---
+
+### adjustedPrice
+- adjustedPrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the adjusted price of this shipping line item. If the line item
+ container is based on net pricing, the adjusted net price is returned. If
+ the line item container is based on gross pricing, the adjusted gross
+ price is returned.
+
+
+
+---
+
+### adjustedTax
+- adjustedTax: [Money](dw.value.Money.md) `(read-only)`
+ - : Returns the tax of this shipping line item after shipping adjustments
+ have been applied.
+
+
+
+---
+
+### orderItem
+- orderItem: [OrderItem](dw.order.OrderItem.md) `(read-only)`
+ - : Returns the [order-item extension](dw.order.OrderItem.md) for this item, or `null`.
+ An order-item extension will only exist for a ShippingLineItem which
+ belongs to an [Order](dw.order.Order.md).
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+
+---
+
+### shippingPriceAdjustments
+- shippingPriceAdjustments: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the collection of shipping price adjustments that have been
+ applied to this shipping line item.
+
+
+
+---
+
+## Method Details
+
+### createShippingPriceAdjustment(String)
+- createShippingPriceAdjustment(promotionID: [String](TopLevel.String.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Creates a shipping price adjustment to be applied to the shipping line item.
+
+ The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce.
+
+ If there already exists a shipping price adjustment on this shipping line item referring to the specified
+ promotion ID, an exception is thrown.
+
+
+ **Parameters:**
+ - promotionID - Promotion ID
+
+ **Returns:**
+ - The new price adjustment line item.
+
+
+---
+
+### createShippingPriceAdjustment(String, Discount)
+- createShippingPriceAdjustment(promotionID: [String](TopLevel.String.md), discount: [Discount](dw.campaign.Discount.md)): [PriceAdjustment](dw.order.PriceAdjustment.md)
+ - : Creates a shipping price adjustment to be applied to the shipping line item.
+
+ The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce. If a
+ shipping price adjustment on this shipping line item referring to the specified promotion ID already exists, an
+ exception is thrown.
+
+ The possible values for discount are [PercentageDiscount](dw.campaign.PercentageDiscount.md), [AmountDiscount](dw.campaign.AmountDiscount.md),
+ [FixedPriceShippingDiscount](dw.campaign.FixedPriceShippingDiscount.md).
+
+ Examples:
+
+
+ `
+ var myShippingItem : dw.order.ShippingLineItem; // assume known
+
+ var paFixedShippingPrice12 : dw.order.PriceAdjustment = myShippingItem.createPriceAdjustment("myPromotionID1", new FixedPriceShippingDiscount(12));
+
+ var paTenPercent : dw.order.PriceAdjustment = myShippingItem.createPriceAdjustment("myPromotionID2", new PercentageDiscount(10));
+
+ var paReduceBy2 : dw.order.PriceAdjustment = myShippingItem.createPriceAdjustment("myPromotionID3", new AmountDiscount(2));
+
+ `
+
+
+ **Parameters:**
+ - promotionID - Promotion ID
+ - discount - The desired discount, not null
+
+ **Returns:**
+ - The new price adjustment line item.
+
+
+---
+
+### getAdjustedGrossPrice()
+- getAdjustedGrossPrice(): [Money](dw.value.Money.md)
+ - : Returns the price of this shipping line item including tax after
+ shipping adjustments have been applied.
+
+
+ **Returns:**
+ - the price of this shipping line item, including tax
+ after shipping adjustments have been applied.
+
+
+
+---
+
+### getAdjustedNetPrice()
+- getAdjustedNetPrice(): [Money](dw.value.Money.md)
+ - : Returns the price of this shipping line item, excluding tax after
+ shipping adjustments have been applied.
+
+
+ **Returns:**
+ - the price of this shipping line item, excluding tax after
+ shipping adjustments have been applied.
+
+
+
+---
+
+### getAdjustedPrice()
+- getAdjustedPrice(): [Money](dw.value.Money.md)
+ - : Returns the adjusted price of this shipping line item. If the line item
+ container is based on net pricing, the adjusted net price is returned. If
+ the line item container is based on gross pricing, the adjusted gross
+ price is returned.
+
+
+ **Returns:**
+ - either the adjusted net or gross price of this shipping line
+ item.
+
+
+
+---
+
+### getAdjustedTax()
+- getAdjustedTax(): [Money](dw.value.Money.md)
+ - : Returns the tax of this shipping line item after shipping adjustments
+ have been applied.
+
+
+ **Returns:**
+ - the tax of this shipping line item after shipping adjustments
+ have been applied.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of this ShippingLineItem.
+
+ **Returns:**
+ - ID of this ShippingLineItem
+
+
+---
+
+### getOrderItem()
+- getOrderItem(): [OrderItem](dw.order.OrderItem.md)
+ - : Returns the [order-item extension](dw.order.OrderItem.md) for this item, or `null`.
+ An order-item extension will only exist for a ShippingLineItem which
+ belongs to an [Order](dw.order.Order.md).
+
+
+ Order post-processing APIs (gillian) are now inactive by default and will throw
+ an exception if accessed. Activation needs preliminary approval by Product Management.
+ Please contact support in this case. Existing customers using these APIs are not
+ affected by this change and can use the APIs until further notice.
+
+
+ **Returns:**
+ - null or the order-item
+
+
+---
+
+### getShippingPriceAdjustments()
+- getShippingPriceAdjustments(): [Collection](dw.util.Collection.md)
+ - : Returns the collection of shipping price adjustments that have been
+ applied to this shipping line item.
+
+
+ **Returns:**
+ - the collection of shipping price adjustments that have been
+ applied to this shipping line item.
+
+
+
+---
+
+### removeShippingPriceAdjustment(PriceAdjustment)
+- removeShippingPriceAdjustment(priceAdjustment: [PriceAdjustment](dw.order.PriceAdjustment.md)): void
+ - : Removes the specified shipping price adjustment from this shipping line
+ item.
+
+
+ **Parameters:**
+ - priceAdjustment - The price adjustment line item to remove
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingLocation.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingLocation.md
new file mode 100644
index 00000000..059d0c5f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingLocation.md
@@ -0,0 +1,313 @@
+
+# Class ShippingLocation
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.ShippingLocation](dw.order.ShippingLocation.md)
+
+Represents a specific location for a shipment.
+
+
+**Note:** this class allows access to sensitive personal and private information.
+Pay attention to appropriate legal and regulatory requirements related to this data.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [address1](#address1): [String](TopLevel.String.md) | Returns the shipping location's first address. |
+| [address2](#address2): [String](TopLevel.String.md) | Returns the shipping location's second address. |
+| [city](#city): [String](TopLevel.String.md) | Returns the shipping location's city. |
+| [countryCode](#countrycode): [String](TopLevel.String.md) | Returns the shipping location's country code. |
+| [postBox](#postbox): [String](TopLevel.String.md) | Returns the shipping location's post box. |
+| [postalCode](#postalcode): [String](TopLevel.String.md) | Returns the shipping location's postal code. |
+| [stateCode](#statecode): [String](TopLevel.String.md) | Returns the shipping location's state code. |
+| [suite](#suite): [String](TopLevel.String.md) | Returns the shipping location's suite. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [ShippingLocation](#shippinglocation)() | Constructs a new shipping location. |
+| [ShippingLocation](#shippinglocationcustomeraddress)([CustomerAddress](dw.customer.CustomerAddress.md)) | Constructs a new shipping location and initializes it with the values of the specified address object. |
+| [ShippingLocation](#shippinglocationorderaddress)([OrderAddress](dw.order.OrderAddress.md)) | Constructs a new shipping location and initializes it with the values of the specified address object. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getAddress1](dw.order.ShippingLocation.md#getaddress1)() | Returns the shipping location's first address. |
+| [getAddress2](dw.order.ShippingLocation.md#getaddress2)() | Returns the shipping location's second address. |
+| [getCity](dw.order.ShippingLocation.md#getcity)() | Returns the shipping location's city. |
+| [getCountryCode](dw.order.ShippingLocation.md#getcountrycode)() | Returns the shipping location's country code. |
+| [getPostBox](dw.order.ShippingLocation.md#getpostbox)() | Returns the shipping location's post box. |
+| [getPostalCode](dw.order.ShippingLocation.md#getpostalcode)() | Returns the shipping location's postal code. |
+| [getStateCode](dw.order.ShippingLocation.md#getstatecode)() | Returns the shipping location's state code. |
+| [getSuite](dw.order.ShippingLocation.md#getsuite)() | Returns the shipping location's suite. |
+| [setAddress1](dw.order.ShippingLocation.md#setaddress1string)([String](TopLevel.String.md)) | Sets the shipping location's first address. |
+| [setAddress2](dw.order.ShippingLocation.md#setaddress2string)([String](TopLevel.String.md)) | Sets the shipping location's second address. |
+| [setCity](dw.order.ShippingLocation.md#setcitystring)([String](TopLevel.String.md)) | Sets the shipping location's city. |
+| [setCountryCode](dw.order.ShippingLocation.md#setcountrycodestring)([String](TopLevel.String.md)) | Sets the shipping location's country code. |
+| [setPostBox](dw.order.ShippingLocation.md#setpostboxstring)([String](TopLevel.String.md)) | Sets the shipping location's post box. |
+| [setPostalCode](dw.order.ShippingLocation.md#setpostalcodestring)([String](TopLevel.String.md)) | Sets the shipping location's postal code. |
+| [setStateCode](dw.order.ShippingLocation.md#setstatecodestring)([String](TopLevel.String.md)) | Sets the shipping location's state code. |
+| [setSuite](dw.order.ShippingLocation.md#setsuitestring)([String](TopLevel.String.md)) | Sets the shipping location's suite. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### address1
+- address1: [String](TopLevel.String.md)
+ - : Returns the shipping location's first address.
+
+
+---
+
+### address2
+- address2: [String](TopLevel.String.md)
+ - : Returns the shipping location's second address.
+
+
+---
+
+### city
+- city: [String](TopLevel.String.md)
+ - : Returns the shipping location's city.
+
+
+---
+
+### countryCode
+- countryCode: [String](TopLevel.String.md)
+ - : Returns the shipping location's country code.
+
+
+---
+
+### postBox
+- postBox: [String](TopLevel.String.md)
+ - : Returns the shipping location's post box.
+
+
+---
+
+### postalCode
+- postalCode: [String](TopLevel.String.md)
+ - : Returns the shipping location's postal code.
+
+
+---
+
+### stateCode
+- stateCode: [String](TopLevel.String.md)
+ - : Returns the shipping location's state code.
+
+
+---
+
+### suite
+- suite: [String](TopLevel.String.md)
+ - : Returns the shipping location's suite.
+
+
+---
+
+## Constructor Details
+
+### ShippingLocation()
+- ShippingLocation()
+ - : Constructs a new shipping location.
+
+
+---
+
+### ShippingLocation(CustomerAddress)
+- ShippingLocation(address: [CustomerAddress](dw.customer.CustomerAddress.md))
+ - : Constructs a new shipping location and initializes it with the values of the
+ specified address object.
+
+
+ **Parameters:**
+ - address - the address that the shipping location represents.
+
+
+---
+
+### ShippingLocation(OrderAddress)
+- ShippingLocation(address: [OrderAddress](dw.order.OrderAddress.md))
+ - : Constructs a new shipping location and initializes it with the values of the
+ specified address object.
+
+
+ **Parameters:**
+ - address - the address that the shipping location represents.
+
+
+---
+
+## Method Details
+
+### getAddress1()
+- getAddress1(): [String](TopLevel.String.md)
+ - : Returns the shipping location's first address.
+
+ **Returns:**
+ - the shipping location's first address.
+
+
+---
+
+### getAddress2()
+- getAddress2(): [String](TopLevel.String.md)
+ - : Returns the shipping location's second address.
+
+ **Returns:**
+ - the shipping location's second address.
+
+
+---
+
+### getCity()
+- getCity(): [String](TopLevel.String.md)
+ - : Returns the shipping location's city.
+
+ **Returns:**
+ - the shipping location's city.
+
+
+---
+
+### getCountryCode()
+- getCountryCode(): [String](TopLevel.String.md)
+ - : Returns the shipping location's country code.
+
+ **Returns:**
+ - the shipping location's country code.
+
+
+---
+
+### getPostBox()
+- getPostBox(): [String](TopLevel.String.md)
+ - : Returns the shipping location's post box.
+
+ **Returns:**
+ - the shipping location's post box.
+
+
+---
+
+### getPostalCode()
+- getPostalCode(): [String](TopLevel.String.md)
+ - : Returns the shipping location's postal code.
+
+ **Returns:**
+ - the shipping location's postal code.
+
+
+---
+
+### getStateCode()
+- getStateCode(): [String](TopLevel.String.md)
+ - : Returns the shipping location's state code.
+
+ **Returns:**
+ - the shipping location's state code.
+
+
+---
+
+### getSuite()
+- getSuite(): [String](TopLevel.String.md)
+ - : Returns the shipping location's suite.
+
+ **Returns:**
+ - the shipping location's suite.
+
+
+---
+
+### setAddress1(String)
+- setAddress1(aValue: [String](TopLevel.String.md)): void
+ - : Sets the shipping location's first address.
+
+ **Parameters:**
+ - aValue - the shipping location's first address.
+
+
+---
+
+### setAddress2(String)
+- setAddress2(aValue: [String](TopLevel.String.md)): void
+ - : Sets the shipping location's second address.
+
+ **Parameters:**
+ - aValue - the shipping location's second address.
+
+
+---
+
+### setCity(String)
+- setCity(aValue: [String](TopLevel.String.md)): void
+ - : Sets the shipping location's city.
+
+ **Parameters:**
+ - aValue - the shipping location's city.
+
+
+---
+
+### setCountryCode(String)
+- setCountryCode(aValue: [String](TopLevel.String.md)): void
+ - : Sets the shipping location's country code.
+
+ **Parameters:**
+ - aValue - the shipping location's country code.
+
+
+---
+
+### setPostBox(String)
+- setPostBox(aValue: [String](TopLevel.String.md)): void
+ - : Sets the shipping location's post box.
+
+ **Parameters:**
+ - aValue - the shipping location's post box.
+
+
+---
+
+### setPostalCode(String)
+- setPostalCode(aValue: [String](TopLevel.String.md)): void
+ - : Sets the shipping location's postal code.
+
+ **Parameters:**
+ - aValue - the shipping location's postal code.
+
+
+---
+
+### setStateCode(String)
+- setStateCode(aValue: [String](TopLevel.String.md)): void
+ - : Sets the shipping location's state code.
+
+ **Parameters:**
+ - aValue - the shipping location's state code.
+
+
+---
+
+### setSuite(String)
+- setSuite(aValue: [String](TopLevel.String.md)): void
+ - : Sets the shipping location's suite.
+
+ **Parameters:**
+ - aValue - the shipping location's suite.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingMethod.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingMethod.md
new file mode 100644
index 00000000..4476e9a0
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingMethod.md
@@ -0,0 +1,251 @@
+
+# Class ShippingMethod
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.PersistentObject](dw.object.PersistentObject.md)
+ - [dw.object.ExtensibleObject](dw.object.ExtensibleObject.md)
+ - [dw.order.ShippingMethod](dw.order.ShippingMethod.md)
+
+ShippingMethod represents how the shipment will be shipped.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the ID of the shipping method. |
+| [baseMethod](#basemethod): [ShippingMethod](dw.order.ShippingMethod.md) `(read-only)` | Returns the base shipping method or null if undefined. |
+| [currencyCode](#currencycode): [String](TopLevel.String.md) `(read-only)` | Returns the currency code associated with the shipping method |
+| [customerGroups](#customergroups): [Collection](dw.util.Collection.md) `(read-only)` | Returns the customer groups assigned to the shipping method. |
+| [defaultMethod](#defaultmethod): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if the shipping method is marked as 'default' for the current session's currency. |
+| [dependentMethods](#dependentmethods): [Collection](dw.util.Collection.md) `(read-only)` | Returns the dependent shipping methods of this shipping method, regardless of the online status of the methods. |
+| [description](#description): [String](TopLevel.String.md) `(read-only)` | Returns the description of the shipping method as specified in the current locale or null if it could not be found. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the display name of the shipping method in the current locale or null if it could not be found. |
+| [online](#online): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if shipping method is online, false otherwise |
+| [taxClassID](#taxclassid): [String](TopLevel.String.md) `(read-only)` | Returns the tax class id of the shipping method. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getBaseMethod](dw.order.ShippingMethod.md#getbasemethod)() | Returns the base shipping method or null if undefined. |
+| [getCurrencyCode](dw.order.ShippingMethod.md#getcurrencycode)() | Returns the currency code associated with the shipping method |
+| [getCustomerGroups](dw.order.ShippingMethod.md#getcustomergroups)() | Returns the customer groups assigned to the shipping method. |
+| [getDependentMethods](dw.order.ShippingMethod.md#getdependentmethods)() | Returns the dependent shipping methods of this shipping method, regardless of the online status of the methods. |
+| [getDescription](dw.order.ShippingMethod.md#getdescription)() | Returns the description of the shipping method as specified in the current locale or null if it could not be found. |
+| [getDisplayName](dw.order.ShippingMethod.md#getdisplayname)() | Returns the display name of the shipping method in the current locale or null if it could not be found. |
+| [getID](dw.order.ShippingMethod.md#getid)() | Returns the ID of the shipping method. |
+| [getTaxClassID](dw.order.ShippingMethod.md#gettaxclassid)() | Returns the tax class id of the shipping method. |
+| [isDefaultMethod](dw.order.ShippingMethod.md#isdefaultmethod)() | Returns 'true' if the shipping method is marked as 'default' for the current session's currency. |
+| [isOnline](dw.order.ShippingMethod.md#isonline)() | Returns true if shipping method is online, false otherwise |
+
+### Methods inherited from class ExtensibleObject
+
+[describe](dw.object.ExtensibleObject.md#describe), [getCustom](dw.object.ExtensibleObject.md#getcustom)
+### Methods inherited from class PersistentObject
+
+[getCreationDate](dw.object.PersistentObject.md#getcreationdate), [getLastModified](dw.object.PersistentObject.md#getlastmodified), [getUUID](dw.object.PersistentObject.md#getuuid)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the ID of the shipping method.
+
+
+---
+
+### baseMethod
+- baseMethod: [ShippingMethod](dw.order.ShippingMethod.md) `(read-only)`
+ - : Returns the base shipping method or null if undefined.
+
+
+---
+
+### currencyCode
+- currencyCode: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the currency code associated with the shipping method
+
+
+---
+
+### customerGroups
+- customerGroups: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the customer groups assigned to the shipping method.
+ Assigned ids that do not belong to an existing customer group are ignored.
+
+
+
+---
+
+### defaultMethod
+- defaultMethod: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if the shipping method is marked as 'default' for the current session's currency.
+ Otherwise 'false' is returned.
+
+
+
+---
+
+### dependentMethods
+- dependentMethods: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the dependent shipping methods of this shipping method,
+ regardless of the online status of the methods.
+
+ Dependent shipping methods have this method as their base method.
+
+
+
+---
+
+### description
+- description: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the description of the shipping method as specified in the current locale or
+ null if it could not be found.
+
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name of the shipping method in the current locale or
+ null if it could not be found.
+
+
+
+---
+
+### online
+- online: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if shipping method is online, false otherwise
+
+
+---
+
+### taxClassID
+- taxClassID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the tax class id of the shipping method.
+
+
+---
+
+## Method Details
+
+### getBaseMethod()
+- getBaseMethod(): [ShippingMethod](dw.order.ShippingMethod.md)
+ - : Returns the base shipping method or null if undefined.
+
+ **Returns:**
+ - Base shipping method
+
+
+---
+
+### getCurrencyCode()
+- getCurrencyCode(): [String](TopLevel.String.md)
+ - : Returns the currency code associated with the shipping method
+
+ **Returns:**
+ - currency code
+
+
+---
+
+### getCustomerGroups()
+- getCustomerGroups(): [Collection](dw.util.Collection.md)
+ - : Returns the customer groups assigned to the shipping method.
+ Assigned ids that do not belong to an existing customer group are ignored.
+
+
+ **Returns:**
+ - customer groups
+
+
+---
+
+### getDependentMethods()
+- getDependentMethods(): [Collection](dw.util.Collection.md)
+ - : Returns the dependent shipping methods of this shipping method,
+ regardless of the online status of the methods.
+
+ Dependent shipping methods have this method as their base method.
+
+
+ **Returns:**
+ - Dependent shipping methods
+
+
+---
+
+### getDescription()
+- getDescription(): [String](TopLevel.String.md)
+ - : Returns the description of the shipping method as specified in the current locale or
+ null if it could not be found.
+
+
+ **Returns:**
+ - he description of the shipping method as specified in the current locale or
+ null if it could not be found.
+
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name of the shipping method in the current locale or
+ null if it could not be found.
+
+
+ **Returns:**
+ - the display name of the shipping method or null if it could not be found.
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the ID of the shipping method.
+
+ **Returns:**
+ - the ID of the shipping method.
+
+
+---
+
+### getTaxClassID()
+- getTaxClassID(): [String](TopLevel.String.md)
+ - : Returns the tax class id of the shipping method.
+
+ **Returns:**
+ - the tax class id of the shipping method.
+
+
+---
+
+### isDefaultMethod()
+- isDefaultMethod(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if the shipping method is marked as 'default' for the current session's currency.
+ Otherwise 'false' is returned.
+
+
+ **Returns:**
+ - 'true' if it is the default shipping method of the site
+
+
+---
+
+### isOnline()
+- isOnline(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if shipping method is online, false otherwise
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingMgr.md
new file mode 100644
index 00000000..d54ae2bc
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingMgr.md
@@ -0,0 +1,173 @@
+
+# Class ShippingMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.order.ShippingMgr](dw.order.ShippingMgr.md)
+
+Provides methods to access the shipping information.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [allShippingMethods](#allshippingmethods): [Collection](dw.util.Collection.md) `(read-only)` | Returns the active shipping methods of the current site applicable to the session currency and current customer group. |
+| [defaultShippingMethod](#defaultshippingmethod): [ShippingMethod](dw.order.ShippingMethod.md) `(read-only)` | Returns the default shipping method of the current site applicable to the session currency. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [applyShippingCost](dw.order.ShippingMgr.md#applyshippingcostlineitemctnr)([LineItemCtnr](dw.order.LineItemCtnr.md)) | Applies product and shipment-level shipping cost to the specified line item container. |
+| static [getAllShippingMethods](dw.order.ShippingMgr.md#getallshippingmethods)() | Returns the active shipping methods of the current site applicable to the session currency and current customer group. |
+| static [getDefaultShippingMethod](dw.order.ShippingMgr.md#getdefaultshippingmethod)() | Returns the default shipping method of the current site applicable to the session currency. |
+| static [getProductShippingModel](dw.order.ShippingMgr.md#getproductshippingmodelproduct)([Product](dw.catalog.Product.md)) | Returns the shipping model for the specified product. |
+| static [getShipmentShippingModel](dw.order.ShippingMgr.md#getshipmentshippingmodelshipment)([Shipment](dw.order.Shipment.md)) | Returns the shipping model for the specified shipment. |
+| static [getShippingCost](dw.order.ShippingMgr.md#getshippingcostshippingmethod-money)([ShippingMethod](dw.order.ShippingMethod.md), [Money](dw.value.Money.md)) | Returns the shipping cost amount for the specified shipping method and the specified order value. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### allShippingMethods
+- allShippingMethods: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Returns the active shipping methods of the current site applicable to the session currency and current customer group.
+
+
+---
+
+### defaultShippingMethod
+- defaultShippingMethod: [ShippingMethod](dw.order.ShippingMethod.md) `(read-only)`
+ - : Returns the default shipping method of the current site applicable to the session currency.
+
+ Does an additional check if there is a base method and if their currencies are
+ the same. Returns NULL if the two currencies are different.
+
+
+
+---
+
+## Method Details
+
+### applyShippingCost(LineItemCtnr)
+- static applyShippingCost(lineItemCtnr: [LineItemCtnr](dw.order.LineItemCtnr.md)): void
+ - : Applies product and shipment-level shipping cost to the specified line
+ item container.
+
+
+
+ For each product line item in the specified line item container, a
+ product shipping line item is created if product-level shipping cost is
+ defined for the product. If no product-level shipping cost is defined for
+ the product, an existing product shipping line item is removed.
+
+
+ For each shipment in the specified line item container, shipment-level
+ shipping cost is calculated. This cost is determined based on the
+ merchandise total of the shipment after all product and order discounts.
+ Only products without or with surcharge product-specific shipping cost
+ count towards this merchandise total. Products with fixed
+ product-specific shipping cost don't count towards the merchandise total
+ used to calculate shipment-level shipping cost. The calculated shipping
+ cost is set at the standard shipping line item of the shipment.
+
+
+ If 'net' taxation is configured for the site, the merchandise total
+ before tax is used. If 'gross' taxation is configured for the site, the
+ merchandise total after tax is used.
+
+ If no shipping method is set for a shipment, neither product nor
+ shipment-level shipping cost can be calculated. In this case, the amount
+ of the standard shipment shipping line item will be set to N/A, and
+ shipping line items of product line items in this shipment will be
+ removed from the line item container.
+
+ Special cases for product-level shipping cost:
+
+
+ - if a product is member of multiple shipping cost groups, the lowest shipping cost takes precedence
+ - if fixed and surcharge shipping cost is defined for a product, the fixed cost takes precedence
+ - shipping cost defined for a master product is also defined for all variants of this master
+ - shipping cost is not applied to bundled product line items or options line items
+
+
+ **Parameters:**
+ - lineItemCtnr - the line item container to use.
+
+
+---
+
+### getAllShippingMethods()
+- static getAllShippingMethods(): [Collection](dw.util.Collection.md)
+ - : Returns the active shipping methods of the current site applicable to the session currency and current customer group.
+
+ **Returns:**
+ - the active shipping methods of the current site applicable to the session currency and current customer group.
+
+
+---
+
+### getDefaultShippingMethod()
+- static getDefaultShippingMethod(): [ShippingMethod](dw.order.ShippingMethod.md)
+ - : Returns the default shipping method of the current site applicable to the session currency.
+
+ Does an additional check if there is a base method and if their currencies are
+ the same. Returns NULL if the two currencies are different.
+
+
+ **Returns:**
+ - the default shipping method of the current site applicable to the session currency or null.
+
+
+---
+
+### getProductShippingModel(Product)
+- static getProductShippingModel(product: [Product](dw.catalog.Product.md)): [ProductShippingModel](dw.order.ProductShippingModel.md)
+ - : Returns the shipping model for the specified product.
+
+ **Parameters:**
+ - product - Product
+
+ **Returns:**
+ - Shipping model for specified product
+
+
+---
+
+### getShipmentShippingModel(Shipment)
+- static getShipmentShippingModel(shipment: [Shipment](dw.order.Shipment.md)): [ShipmentShippingModel](dw.order.ShipmentShippingModel.md)
+ - : Returns the shipping model for the specified shipment.
+
+ **Parameters:**
+ - shipment - the shipment to use.
+
+ **Returns:**
+ - Shipping model for specified product
+
+
+---
+
+### getShippingCost(ShippingMethod, Money)
+- static getShippingCost(shippingMethod: [ShippingMethod](dw.order.ShippingMethod.md), orderValue: [Money](dw.value.Money.md)): [Money](dw.value.Money.md)
+ - : Returns the shipping cost amount for the specified shipping method and
+ the specified order value.
+
+ If shipping cost cannot be calculated for any reason, Money.NA is
+ returned.
+
+
+ **Parameters:**
+ - shippingMethod - Selected shipping method
+ - orderValue - Order value
+
+ **Returns:**
+ - Shipping cost
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingOrder.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingOrder.md
new file mode 100644
index 00000000..83d10991
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingOrder.md
@@ -0,0 +1,630 @@
+
+# Class ShippingOrder
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItemCtnr](dw.order.AbstractItemCtnr.md)
+ - [dw.order.ShippingOrder](dw.order.ShippingOrder.md)
+
+A shipping order is used to specify items that should be shipped, and is
+typically exported to, and updated by a back-office warehouse management
+system.
+
+
+An [Order](dw.order.Order.md) can have n shipping orders expressing how the order
+is to be shipped. The creation, export and update of shipping orders is
+largely handled by custom logic in scripts by implementing
+[ShippingOrderHooks](dw.order.hooks.ShippingOrderHooks.md). Use method
+[Order.createShippingOrder()](dw.order.Order.md#createshippingorder) for creation and add items using
+[createShippingOrderItem(OrderItem, Quantity)](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity) - each item is related
+to an order item which in turn represents a product- or shipping- line item
+in the order.
+
+
+A shipping order has a status calculated from its item status, one of
+
+- CONFIRMED - shipping order not yet exported, with 0 items, or all items in status CONFIRMED.
+- WAREHOUSE - shipping order exported, with all items in status WAREHOUSE.
+- SHIPPED - exported shipping order has been updated, with 1-n items in status SHIPPED and 0-n CANCELLED.
+- CANCELLED - exported shipping order has been updated, with all items in status CANCELLED.
+
+
+
+The following status transitions are supported. Every status transition is
+documented by the addition of an order note such as 'Shipping order 123456
+status changed to WAREHOUSE.':
+| From | To | When | Use |
+| --- |--- |--- |--- |
+| CONFIRMED | WAREHOUSE | Shipping order exported | Call [setStatusWarehouse()](dw.order.ShippingOrder.md#setstatuswarehouse) - note this is the only way to set the items to status WAREHOUSE |
+| WAREHOUSE | SHIPPED | One or more items have been SHIPPED | Call [ShippingOrderItem.setStatus(String)](dw.order.ShippingOrderItem.md#setstatusstring) using [ShippingOrderItem.STATUS_SHIPPED](dw.order.ShippingOrderItem.md#status_shipped) |
+| WAREHOUSE | CANCELLED | All items have been CANCELLED | Call [ShippingOrderItem.setStatus(String)](dw.order.ShippingOrderItem.md#setstatusstring) using [ShippingOrderItem.STATUS_CANCELLED](dw.order.ShippingOrderItem.md#status_cancelled) |
+
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [ORDERBY_ITEMID](#orderby_itemid): [Object](TopLevel.Object.md) | Sorting by item id. |
+| [ORDERBY_ITEMPOSITION](#orderby_itemposition): [Object](TopLevel.Object.md) | Sorting by the position of the related oder item. |
+| [ORDERBY_UNSORTED](#orderby_unsorted): [Object](TopLevel.Object.md) | Unsorted , as it is. |
+| [QUALIFIER_PRODUCTITEMS](#qualifier_productitems): [Object](TopLevel.Object.md) | Selects the product items. |
+| [QUALIFIER_SERVICEITEMS](#qualifier_serviceitems): [Object](TopLevel.Object.md) | Selects for the service items. |
+| [STATUS_CANCELLED](#status_cancelled): [String](TopLevel.String.md) = "CANCELLED" | Constant for Shipping Order Status CANCELLED |
+| [STATUS_CONFIRMED](#status_confirmed): [String](TopLevel.String.md) = "CONFIRMED" | Constant for Shipping Order Status CONFIRMED |
+| [STATUS_SHIPPED](#status_shipped): [String](TopLevel.String.md) = "SHIPPED" | Constant for Shipping Order Status SHIPPED |
+| [STATUS_WAREHOUSE](#status_warehouse): [String](TopLevel.String.md) = "WAREHOUSE" | Constant for Shipping Order Status WAREHOUSE |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [invoice](#invoice): [Invoice](dw.order.Invoice.md) `(read-only)` | Returns null or the previously created [Invoice](dw.order.Invoice.md). |
+| [invoiceNumber](#invoicenumber): [String](TopLevel.String.md) `(read-only)` | Returns `null` or the invoice-number. |
+| [items](#items): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | A filtering collection of the shipping order items belonging to the shipping order. |
+| [shipDate](#shipdate): [Date](TopLevel.Date.md) | Gets the shipping date. |
+| [shippingAddress](#shippingaddress): [OrderAddress](dw.order.OrderAddress.md) | Returns the shipping address (optional, can be null). |
+| [shippingMethod](#shippingmethod): [ShippingMethod](dw.order.ShippingMethod.md) `(read-only)` | Returns the shipping method of the shipping order. |
+| [shippingOrderNumber](#shippingordernumber): [String](TopLevel.String.md) `(read-only)` | Gets the shipping order number. |
+| [status](#status): [EnumValue](dw.value.EnumValue.md) `(read-only)` | Gets the status of this shipping order. |
+| [trackingInfos](#trackinginfos): [Collection](dw.util.Collection.md) `(read-only)` | Gets all tracking informations for this shipping order. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addTrackingInfo](dw.order.ShippingOrder.md#addtrackinginfostring)([String](TopLevel.String.md)) | Adds a tracking info to this shipping order with the given ID. |
+| [createInvoice](dw.order.ShippingOrder.md#createinvoice)() | Creates a new [Invoice](dw.order.Invoice.md) based on this ShippingOrder. |
+| [createInvoice](dw.order.ShippingOrder.md#createinvoicestring)([String](TopLevel.String.md)) | Creates a new [Invoice](dw.order.Invoice.md) based on this ShippingOrder. |
+| [createShippingOrderItem](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity)([OrderItem](dw.order.OrderItem.md), [Quantity](dw.value.Quantity.md)) | Create a [ShippingOrderItem](dw.order.ShippingOrderItem.md) in the shipping order with the number `shippingOrderNumber`. |
+| [createShippingOrderItem](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity-boolean)([OrderItem](dw.order.OrderItem.md), [Quantity](dw.value.Quantity.md), [Boolean](TopLevel.Boolean.md)) | Create a [ShippingOrderItem](dw.order.ShippingOrderItem.md) in the shipping order with the number `shippingOrderNumber`. |
+| [getInvoice](dw.order.ShippingOrder.md#getinvoice)() | Returns null or the previously created [Invoice](dw.order.Invoice.md). |
+| [getInvoiceNumber](dw.order.ShippingOrder.md#getinvoicenumber)() | Returns `null` or the invoice-number. |
+| [getItems](dw.order.ShippingOrder.md#getitems)() | A filtering collection of the shipping order items belonging to the shipping order. |
+| [getShipDate](dw.order.ShippingOrder.md#getshipdate)() | Gets the shipping date. |
+| [getShippingAddress](dw.order.ShippingOrder.md#getshippingaddress)() | Returns the shipping address (optional, can be null). |
+| [getShippingMethod](dw.order.ShippingOrder.md#getshippingmethod)() | Returns the shipping method of the shipping order. |
+| [getShippingOrderNumber](dw.order.ShippingOrder.md#getshippingordernumber)() | Gets the shipping order number. |
+| [getStatus](dw.order.ShippingOrder.md#getstatus)() | Gets the status of this shipping order. |
+| [getTrackingInfo](dw.order.ShippingOrder.md#gettrackinginfostring)([String](TopLevel.String.md)) | Gets a tracking info for this shipping order. |
+| [getTrackingInfos](dw.order.ShippingOrder.md#gettrackinginfos)() | Gets all tracking informations for this shipping order. |
+| [setShipDate](dw.order.ShippingOrder.md#setshipdatedate)([Date](TopLevel.Date.md)) | Sets the shipping date. |
+| [setShippingAddress](dw.order.ShippingOrder.md#setshippingaddressorderaddress)([OrderAddress](dw.order.OrderAddress.md)) | Set a shipping address for the shipping order. |
+| [setShippingMethodID](dw.order.ShippingOrder.md#setshippingmethodidstring)([String](TopLevel.String.md)) | Set the id of shipping method. |
+| [setStatusWarehouse](dw.order.ShippingOrder.md#setstatuswarehouse)() | Set a CONFIRMED shipping order (all items in status CONFIRMED) to status WAREHOUSE (all items in status WAREHOUSE).
Note - this method is the only way to transition a shipping order from CONFIRMED to WAREHOUSE. |
+
+### Methods inherited from class AbstractItemCtnr
+
+[getCreatedBy](dw.order.AbstractItemCtnr.md#getcreatedby), [getCreationDate](dw.order.AbstractItemCtnr.md#getcreationdate), [getGrandTotal](dw.order.AbstractItemCtnr.md#getgrandtotal), [getItems](dw.order.AbstractItemCtnr.md#getitems), [getLastModified](dw.order.AbstractItemCtnr.md#getlastmodified), [getModifiedBy](dw.order.AbstractItemCtnr.md#getmodifiedby), [getOrder](dw.order.AbstractItemCtnr.md#getorder), [getProductSubtotal](dw.order.AbstractItemCtnr.md#getproductsubtotal), [getServiceSubtotal](dw.order.AbstractItemCtnr.md#getservicesubtotal)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ORDERBY_ITEMID
+
+- ORDERBY_ITEMID: [Object](TopLevel.Object.md)
+ - : Sorting by item id. Use with method [getItems()](dw.order.ShippingOrder.md#getitems) as an argument to
+ method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+
+---
+
+### ORDERBY_ITEMPOSITION
+
+- ORDERBY_ITEMPOSITION: [Object](TopLevel.Object.md)
+ - : Sorting by the position of the related oder item. Use with method
+ [getItems()](dw.order.ShippingOrder.md#getitems) as an argument to method
+ [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+
+---
+
+### ORDERBY_UNSORTED
+
+- ORDERBY_UNSORTED: [Object](TopLevel.Object.md)
+ - : Unsorted , as it is. Use with method [getItems()](dw.order.ShippingOrder.md#getitems) as an argument
+ to method [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject).
+
+
+
+---
+
+### QUALIFIER_PRODUCTITEMS
+
+- QUALIFIER_PRODUCTITEMS: [Object](TopLevel.Object.md)
+ - : Selects the product items. Use with method [getItems()](dw.order.ShippingOrder.md#getitems) as an
+ argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+
+---
+
+### QUALIFIER_SERVICEITEMS
+
+- QUALIFIER_SERVICEITEMS: [Object](TopLevel.Object.md)
+ - : Selects for the service items. Use with method [getItems()](dw.order.ShippingOrder.md#getitems) as an
+ argument to method [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject).
+
+
+
+---
+
+### STATUS_CANCELLED
+
+- STATUS_CANCELLED: [String](TopLevel.String.md) = "CANCELLED"
+ - : Constant for Shipping Order Status CANCELLED
+
+
+---
+
+### STATUS_CONFIRMED
+
+- STATUS_CONFIRMED: [String](TopLevel.String.md) = "CONFIRMED"
+ - : Constant for Shipping Order Status CONFIRMED
+
+
+---
+
+### STATUS_SHIPPED
+
+- STATUS_SHIPPED: [String](TopLevel.String.md) = "SHIPPED"
+ - : Constant for Shipping Order Status SHIPPED
+
+
+---
+
+### STATUS_WAREHOUSE
+
+- STATUS_WAREHOUSE: [String](TopLevel.String.md) = "WAREHOUSE"
+ - : Constant for Shipping Order Status WAREHOUSE
+
+
+---
+
+## Property Details
+
+### invoice
+- invoice: [Invoice](dw.order.Invoice.md) `(read-only)`
+ - : Returns null or the previously created [Invoice](dw.order.Invoice.md).
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.ShippingOrder.md#createinvoicestring)
+
+
+---
+
+### invoiceNumber
+- invoiceNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Returns `null` or the invoice-number.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.ShippingOrder.md#createinvoicestring)
+
+
+---
+
+### items
+- items: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : A filtering collection of the shipping order items belonging to the
+ shipping order.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) could be sorted / filtered
+ using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.ShippingOrder.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.ShippingOrder.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.ShippingOrder.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.ShippingOrder.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.ShippingOrder.md#qualifier_serviceitems)
+
+
+ **See Also:**
+ - [createShippingOrderItem(OrderItem, Quantity)](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity)
+ - [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+
+
+---
+
+### shipDate
+- shipDate: [Date](TopLevel.Date.md)
+ - : Gets the shipping date.
+
+
+ Returns `null` if this shipping order is not yet shipped.
+
+
+
+---
+
+### shippingAddress
+- shippingAddress: [OrderAddress](dw.order.OrderAddress.md)
+ - : Returns the shipping address (optional, can be null).
+
+
+
+ Note: the shipping address is not copied into the
+ ShippingOrder but is a link to a
+ [OrderAddress](dw.order.OrderAddress.md) held in the [Order](dw.order.Order.md).
+
+
+
+---
+
+### shippingMethod
+- shippingMethod: [ShippingMethod](dw.order.ShippingMethod.md) `(read-only)`
+ - : Returns the shipping method of the shipping order.
+
+
+ Can be `null`.
+
+
+
+---
+
+### shippingOrderNumber
+- shippingOrderNumber: [String](TopLevel.String.md) `(read-only)`
+ - : Gets the shipping order number.
+
+
+---
+
+### status
+- status: [EnumValue](dw.value.EnumValue.md) `(read-only)`
+ - : Gets the status of this shipping order. The status is read-only and
+ calculated from the item status. See class documentation for more
+ details.
+
+ The possible values are [STATUS_CONFIRMED](dw.order.ShippingOrder.md#status_confirmed),
+ [STATUS_WAREHOUSE](dw.order.ShippingOrder.md#status_warehouse), [STATUS_SHIPPED](dw.order.ShippingOrder.md#status_shipped),
+ [STATUS_CANCELLED](dw.order.ShippingOrder.md#status_cancelled).
+
+
+
+---
+
+### trackingInfos
+- trackingInfos: [Collection](dw.util.Collection.md) `(read-only)`
+ - : Gets all tracking informations for this shipping order.
+
+ **See Also:**
+ - [TrackingInfo](dw.order.TrackingInfo.md)
+
+
+---
+
+## Method Details
+
+### addTrackingInfo(String)
+- addTrackingInfo(trackingInfoID: [String](TopLevel.String.md)): [TrackingInfo](dw.order.TrackingInfo.md)
+ - : Adds a tracking info to this shipping order with the given ID.
+
+ **Parameters:**
+ - trackingInfoID - the tracking info id
+
+ **Returns:**
+ - the new tracking info
+
+ **See Also:**
+ - [TrackingInfo](dw.order.TrackingInfo.md)
+
+
+---
+
+### createInvoice()
+- createInvoice(): [Invoice](dw.order.Invoice.md)
+ - : Creates a new [Invoice](dw.order.Invoice.md) based on this
+ ShippingOrder.
+
+
+ The shipping-order-number will be used as the
+ invoice-number. The Invoice can then be accessed using
+ [getInvoice()](dw.order.ShippingOrder.md#getinvoice) or [getInvoiceNumber()](dw.order.ShippingOrder.md#getinvoicenumber) can be used.
+ The method must not be called more than once for a ShippingOrder,
+ nor may 2 Invoices exist with the same invoice-number.
+
+
+ The new Invoice is a debit-invoice with a status
+ [Invoice.STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid), and will be passed to the
+ capture payment-hook in a separate database transaction for processing.
+
+
+ **Returns:**
+ - new invoice
+
+
+---
+
+### createInvoice(String)
+- createInvoice(invoiceNumber: [String](TopLevel.String.md)): [Invoice](dw.order.Invoice.md)
+ - : Creates a new [Invoice](dw.order.Invoice.md) based on this ShippingOrder.
+
+
+ The invoice-number must be specified as an argument.The Invoice can then be accessed using
+ [getInvoice()](dw.order.ShippingOrder.md#getinvoice) or [getInvoiceNumber()](dw.order.ShippingOrder.md#getinvoicenumber) can be used.
+ The method must not be called more than once for a ShippingOrder,
+ nor may 2 Invoices exist with the same invoice-number.
+
+
+ The new Invoice is a debit-invoice with a status [Invoice.STATUS_NOT_PAID](dw.order.Invoice.md#status_not_paid), and
+ will be passed to the capture payment-hook in a separate database
+ transaction for processing.
+
+
+ **Parameters:**
+ - invoiceNumber - the invoice-number to use
+
+ **Returns:**
+ - new invoice
+
+
+---
+
+### createShippingOrderItem(OrderItem, Quantity)
+- createShippingOrderItem(orderItem: [OrderItem](dw.order.OrderItem.md), quantity: [Quantity](dw.value.Quantity.md)): [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+ - : Create a [ShippingOrderItem](dw.order.ShippingOrderItem.md) in the shipping order with
+ the number `shippingOrderNumber`.
+
+
+ The quantity of the new item can be optionally specified. A quantity of
+ `null` indicates the new item should be based on the entire order item and
+ is recommended for [ShippingLineItem](dw.order.ShippingLineItem.md)s. If a quantity is
+ specified for a [ProductLineItem](dw.order.ProductLineItem.md) which is less than
+ [ProductLineItem.getQuantity()](dw.order.ProductLineItem.md#getquantity) the
+ ProductLineItem will be split, creating a new
+ ProductLineItem. The new
+ ShippingOrderItem will be associated with the new
+ ProductLineItem, which will receive the specified
+ quantity.
+ See also [createShippingOrderItem(OrderItem, Quantity, Boolean)](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity-boolean).
+
+
+ **Parameters:**
+ - quantity - the quantity for which the shipping order item will be created
+ - orderItem - the order item for which the shipping order item is to be created
+
+ **Returns:**
+ - the created shipping order item
+
+
+---
+
+### createShippingOrderItem(OrderItem, Quantity, Boolean)
+- createShippingOrderItem(orderItem: [OrderItem](dw.order.OrderItem.md), quantity: [Quantity](dw.value.Quantity.md), splitIfPartial: [Boolean](TopLevel.Boolean.md)): [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+ - : Create a [ShippingOrderItem](dw.order.ShippingOrderItem.md) in the shipping order with
+ the number `shippingOrderNumber`.
+
+
+ The quantity of the new item can be optionally specified. A quantity of
+ `null` indicates the new item should be based on the entire order item and
+ is recommended for [ShippingLineItem](dw.order.ShippingLineItem.md)s.
+ If the specified quantity is less than [ProductLineItem.getQuantity()](dw.order.ProductLineItem.md#getquantity) the
+ ProductLineItem will be split or not depending on `splitIfPartial` parameter.
+ When `split` is `true`, the method is equivalent to
+ [createShippingOrderItem(OrderItem, Quantity)](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity).
+
+
+ **Parameters:**
+ - quantity - the quantity for which the shipping order item will be created, not null
+ - orderItem - the order item for which the shipping order item is to be created
+ - splitIfPartial - the flag whether ProductLineItem should be split when requested quantity is less than ProductLineItem's quantity
+
+ **Returns:**
+ - the created shipping order item
+
+
+---
+
+### getInvoice()
+- getInvoice(): [Invoice](dw.order.Invoice.md)
+ - : Returns null or the previously created [Invoice](dw.order.Invoice.md).
+
+ **Returns:**
+ - null or the previously created invoice.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.ShippingOrder.md#createinvoicestring)
+
+
+---
+
+### getInvoiceNumber()
+- getInvoiceNumber(): [String](TopLevel.String.md)
+ - : Returns `null` or the invoice-number.
+
+ **Returns:**
+ - `null` or the previously created invoice number.
+
+ **See Also:**
+ - [createInvoice(String)](dw.order.ShippingOrder.md#createinvoicestring)
+
+
+---
+
+### getItems()
+- getItems(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : A filtering collection of the shipping order items belonging to the
+ shipping order.
+
+
+ This [FilteringCollection](dw.util.FilteringCollection.md) could be sorted / filtered
+ using:
+
+ - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMID](dw.order.ShippingOrder.md#orderby_itemid) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_ITEMPOSITION](dw.order.ShippingOrder.md#orderby_itemposition) - [FilteringCollection.sort(Object)](dw.util.FilteringCollection.md#sortobject)with [ORDERBY_UNSORTED](dw.order.ShippingOrder.md#orderby_unsorted) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_PRODUCTITEMS](dw.order.ShippingOrder.md#qualifier_productitems) - [FilteringCollection.select(Object)](dw.util.FilteringCollection.md#selectobject)with [QUALIFIER_SERVICEITEMS](dw.order.ShippingOrder.md#qualifier_serviceitems)
+
+
+ **Returns:**
+ - the filtering collection of the shipping items.
+
+ **See Also:**
+ - [createShippingOrderItem(OrderItem, Quantity)](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity)
+ - [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+
+
+---
+
+### getShipDate()
+- getShipDate(): [Date](TopLevel.Date.md)
+ - : Gets the shipping date.
+
+
+ Returns `null` if this shipping order is not yet shipped.
+
+
+ **Returns:**
+ - the shipping date or `null`
+
+
+---
+
+### getShippingAddress()
+- getShippingAddress(): [OrderAddress](dw.order.OrderAddress.md)
+ - : Returns the shipping address (optional, can be null).
+
+
+
+ Note: the shipping address is not copied into the
+ ShippingOrder but is a link to a
+ [OrderAddress](dw.order.OrderAddress.md) held in the [Order](dw.order.Order.md).
+
+
+ **Returns:**
+ - the shipping address or `null`
+
+
+---
+
+### getShippingMethod()
+- getShippingMethod(): [ShippingMethod](dw.order.ShippingMethod.md)
+ - : Returns the shipping method of the shipping order.
+
+
+ Can be `null`.
+
+
+ **Returns:**
+ - the shipping method or `null`
+
+
+---
+
+### getShippingOrderNumber()
+- getShippingOrderNumber(): [String](TopLevel.String.md)
+ - : Gets the shipping order number.
+
+ **Returns:**
+ - the shipping order number
+
+
+---
+
+### getStatus()
+- getStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Gets the status of this shipping order. The status is read-only and
+ calculated from the item status. See class documentation for more
+ details.
+
+ The possible values are [STATUS_CONFIRMED](dw.order.ShippingOrder.md#status_confirmed),
+ [STATUS_WAREHOUSE](dw.order.ShippingOrder.md#status_warehouse), [STATUS_SHIPPED](dw.order.ShippingOrder.md#status_shipped),
+ [STATUS_CANCELLED](dw.order.ShippingOrder.md#status_cancelled).
+
+
+ **Returns:**
+ - the status
+
+
+---
+
+### getTrackingInfo(String)
+- getTrackingInfo(trackingInfoID: [String](TopLevel.String.md)): [TrackingInfo](dw.order.TrackingInfo.md)
+ - : Gets a tracking info for this shipping order.
+
+ **Parameters:**
+ - trackingInfoID - the tracking info id
+
+ **Returns:**
+ - the tracking info or `null`
+
+ **See Also:**
+ - [TrackingInfo](dw.order.TrackingInfo.md)
+
+
+---
+
+### getTrackingInfos()
+- getTrackingInfos(): [Collection](dw.util.Collection.md)
+ - : Gets all tracking informations for this shipping order.
+
+ **Returns:**
+ - all tracking informations for this shipping order
+
+ **See Also:**
+ - [TrackingInfo](dw.order.TrackingInfo.md)
+
+
+---
+
+### setShipDate(Date)
+- setShipDate(date: [Date](TopLevel.Date.md)): void
+ - : Sets the shipping date.
+
+ **Parameters:**
+ - date - the ship date
+
+
+---
+
+### setShippingAddress(OrderAddress)
+- setShippingAddress(address: [OrderAddress](dw.order.OrderAddress.md)): void
+ - : Set a shipping address for the shipping order.
+
+ **Parameters:**
+ - address - the shipping address
+
+ **See Also:**
+ - [getShippingAddress()](dw.order.ShippingOrder.md#getshippingaddress)
+
+
+---
+
+### setShippingMethodID(String)
+- setShippingMethodID(shippingMethodID: [String](TopLevel.String.md)): void
+ - : Set the id of shipping method.
+
+ **Parameters:**
+ - shippingMethodID - the id of the shipping method
+
+ **See Also:**
+ - [ShippingMethod.getID()](dw.order.ShippingMethod.md#getid)
+
+
+---
+
+### setStatusWarehouse()
+- setStatusWarehouse(): void
+ - : Set a CONFIRMED shipping order (all items in status CONFIRMED) to status
+ WAREHOUSE (all items in status WAREHOUSE).
+
+ Note - this method is the only way to transition a shipping order from
+ CONFIRMED to WAREHOUSE.
+
+
+ **Throws:**
+ - IllegalArgumentException - if the shipping order is in a status other than CONFIRMED.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingOrderItem.md b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingOrderItem.md
new file mode 100644
index 00000000..f9a6b280
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.order.ShippingOrderItem.md
@@ -0,0 +1,425 @@
+
+# Class ShippingOrderItem
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.object.Extensible](dw.object.Extensible.md)
+ - [dw.order.AbstractItem](dw.order.AbstractItem.md)
+ - [dw.order.ShippingOrderItem](dw.order.ShippingOrderItem.md)
+
+One or more ShippingOrderItems are contained in a
+[ShippingOrder](dw.order.ShippingOrder.md), created using
+[ShippingOrder.createShippingOrderItem(OrderItem, Quantity)](dw.order.ShippingOrder.md#createshippingorderitemorderitem-quantity)
+and can be retrieved by
+[ShippingOrder.getItems()](dw.order.ShippingOrder.md#getitems). A
+ShippingOrderItem references a single
+[OrderItem](dw.order.OrderItem.md) which in turn references a
+[LineItem](dw.order.LineItem.md) associated with an [Order](dw.order.Order.md).
+
+
+Order post-processing APIs (gillian) are now inactive by default and will throw
+an exception if accessed. Activation needs preliminary approval by Product Management.
+Please contact support in this case. Existing customers using these APIs are not
+affected by this change and can use the APIs until further notice.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [STATUS_CANCELLED](#status_cancelled): [String](TopLevel.String.md) = "CANCELLED" | Constant for Order Item Status CANCELLED |
+| [STATUS_CONFIRMED](#status_confirmed): [String](TopLevel.String.md) = "CONFIRMED" | Constant for Order Item Status CONFIRMED |
+| [STATUS_SHIPPED](#status_shipped): [String](TopLevel.String.md) = "SHIPPED" | Constant for Order Item Status SHIPPED |
+| [STATUS_WAREHOUSE](#status_warehouse): [String](TopLevel.String.md) = "WAREHOUSE" | Constant for Order Item Status WAREHOUSE |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [basePrice](#baseprice): [Money](dw.value.Money.md) `(read-only)` | Price of a single unit before discount application. |
+| [parentItem](#parentitem): [ShippingOrderItem](dw.order.ShippingOrderItem.md) | Returns null or the parent item. |
+| [quantity](#quantity): [Quantity](dw.value.Quantity.md) `(read-only)` | The quantity of the shipping order item. |
+| [shippingOrderNumber](#shippingordernumber): [String](TopLevel.String.md) `(read-only)` | The mandatory shipping order number of the related [ShippingOrder](dw.order.ShippingOrder.md). |
+| [status](#status): [EnumValue](dw.value.EnumValue.md) | Gets the order item status. |
+| [trackingRefs](#trackingrefs): [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)` | Gets the tracking refs (tracking infos) the shipping order item is assigned to. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addTrackingRef](dw.order.ShippingOrderItem.md#addtrackingrefstring-quantity)([String](TopLevel.String.md), [Quantity](dw.value.Quantity.md)) | A shipping order item can be assigned to one or many [tracking infos](dw.order.TrackingInfo.md) with different quantities. |
+| [applyPriceRate](dw.order.ShippingOrderItem.md#applypriceratedecimal-decimal-boolean)([Decimal](dw.util.Decimal.md), [Decimal](dw.util.Decimal.md), [Boolean](TopLevel.Boolean.md)) | Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the nearest cent if necessary. |
+| [getBasePrice](dw.order.ShippingOrderItem.md#getbaseprice)() | Price of a single unit before discount application. |
+| [getParentItem](dw.order.ShippingOrderItem.md#getparentitem)() | Returns null or the parent item. |
+| [getQuantity](dw.order.ShippingOrderItem.md#getquantity)() | The quantity of the shipping order item. |
+| [getShippingOrderNumber](dw.order.ShippingOrderItem.md#getshippingordernumber)() | The mandatory shipping order number of the related [ShippingOrder](dw.order.ShippingOrder.md). |
+| [getStatus](dw.order.ShippingOrderItem.md#getstatus)() | Gets the order item status. |
+| [getTrackingRefs](dw.order.ShippingOrderItem.md#gettrackingrefs)() | Gets the tracking refs (tracking infos) the shipping order item is assigned to. |
+| [setParentItem](dw.order.ShippingOrderItem.md#setparentitemshippingorderitem)([ShippingOrderItem](dw.order.ShippingOrderItem.md)) | Set a parent item. |
+| [setStatus](dw.order.ShippingOrderItem.md#setstatusstring)([String](TopLevel.String.md)) | Sets the status. |
+| [split](dw.order.ShippingOrderItem.md#splitquantity)([Quantity](dw.value.Quantity.md)) | Split the shipping order item. |
+| [split](dw.order.ShippingOrderItem.md#splitquantity-boolean)([Quantity](dw.value.Quantity.md), [Boolean](TopLevel.Boolean.md)) | Split the shipping order item. |
+
+### Methods inherited from class AbstractItem
+
+[getGrossPrice](dw.order.AbstractItem.md#getgrossprice), [getItemID](dw.order.AbstractItem.md#getitemid), [getLineItem](dw.order.AbstractItem.md#getlineitem), [getNetPrice](dw.order.AbstractItem.md#getnetprice), [getOrderItem](dw.order.AbstractItem.md#getorderitem), [getOrderItemID](dw.order.AbstractItem.md#getorderitemid), [getTax](dw.order.AbstractItem.md#gettax), [getTaxBasis](dw.order.AbstractItem.md#gettaxbasis), [getTaxItems](dw.order.AbstractItem.md#gettaxitems)
+### Methods inherited from class Extensible
+
+[describe](dw.object.Extensible.md#describe), [getCustom](dw.object.Extensible.md#getcustom)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### STATUS_CANCELLED
+
+- STATUS_CANCELLED: [String](TopLevel.String.md) = "CANCELLED"
+ - : Constant for Order Item Status CANCELLED
+
+
+---
+
+### STATUS_CONFIRMED
+
+- STATUS_CONFIRMED: [String](TopLevel.String.md) = "CONFIRMED"
+ - : Constant for Order Item Status CONFIRMED
+
+
+---
+
+### STATUS_SHIPPED
+
+- STATUS_SHIPPED: [String](TopLevel.String.md) = "SHIPPED"
+ - : Constant for Order Item Status SHIPPED
+
+
+---
+
+### STATUS_WAREHOUSE
+
+- STATUS_WAREHOUSE: [String](TopLevel.String.md) = "WAREHOUSE"
+ - : Constant for Order Item Status WAREHOUSE
+
+
+---
+
+## Property Details
+
+### basePrice
+- basePrice: [Money](dw.value.Money.md) `(read-only)`
+ - : Price of a single unit before discount application.
+
+
+---
+
+### parentItem
+- parentItem: [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+ - : Returns null or the parent item.
+
+
+---
+
+### quantity
+- quantity: [Quantity](dw.value.Quantity.md) `(read-only)`
+ - : The quantity of the shipping order item.
+
+
+ The [Quantity](dw.value.Quantity.md) is equal to the related line item quantity.
+
+
+
+---
+
+### shippingOrderNumber
+- shippingOrderNumber: [String](TopLevel.String.md) `(read-only)`
+ - : The mandatory shipping order number of the related
+ [ShippingOrder](dw.order.ShippingOrder.md).
+
+
+
+---
+
+### status
+- status: [EnumValue](dw.value.EnumValue.md)
+ - : Gets the order item status.
+
+
+ The possible values are [STATUS_CONFIRMED](dw.order.ShippingOrderItem.md#status_confirmed),
+ [STATUS_WAREHOUSE](dw.order.ShippingOrderItem.md#status_warehouse), [STATUS_SHIPPED](dw.order.ShippingOrderItem.md#status_shipped),
+ [STATUS_CANCELLED](dw.order.ShippingOrderItem.md#status_cancelled).
+
+
+
+---
+
+### trackingRefs
+- trackingRefs: [FilteringCollection](dw.util.FilteringCollection.md) `(read-only)`
+ - : Gets the tracking refs (tracking infos) the shipping order item is
+ assigned to.
+
+
+ **See Also:**
+ - [TrackingRef](dw.order.TrackingRef.md)
+
+
+---
+
+## Method Details
+
+### addTrackingRef(String, Quantity)
+- addTrackingRef(trackingInfoID: [String](TopLevel.String.md), quantity: [Quantity](dw.value.Quantity.md)): [TrackingRef](dw.order.TrackingRef.md)
+ - : A shipping order item can be assigned
+ to one or many [tracking infos](dw.order.TrackingInfo.md) with
+ different quantities. For example an item with quantity 3 may have been
+ shipped in 2 packages, each represented by its own
+ tracking info - 2
+ [TrackingRef](dw.order.TrackingRef.md)s would exist with quantities 1 and 2.
+
+
+ This method creates and adds a new tracking
+ reference to this shipping order item for a given
+ tracking info and quantity. The new
+ instance is returned.
+
+
+ **Parameters:**
+ - trackingInfoID - the id of the tracking info
+ - quantity - the quantity the which is assigned to the tracking info for this shipping order item. Optional (null is allowed).
+
+ **Returns:**
+ - the new tracking reference
+
+ **See Also:**
+ - [TrackingRef](dw.order.TrackingRef.md)
+
+
+---
+
+### applyPriceRate(Decimal, Decimal, Boolean)
+- applyPriceRate(factor: [Decimal](dw.util.Decimal.md), divisor: [Decimal](dw.util.Decimal.md), roundUp: [Boolean](TopLevel.Boolean.md)): void
+ - : Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the
+ nearest cent if necessary.
+
+ _Examples_:
+
+ | TaxBasis before | factor | divisor | roundup | Calculation | TaxBasis after |
+ | --- |--- |--- |--- |--- |--- |
+ | $10.00 | 1 | 2 | true | 10\*1/2= | $5.00 |
+ | $10.00 | 9 | 10 | true | 10\*9/10= | $9.00 |
+ | $10.00 | 1 | 3 | true | 10\*1/3=3.3333= | $3.33 |
+ | $2.47 | 1 | 2 | true | 2.47\*1/2=1.235= | $1.24 |
+ | $2.47 | 1 | 2 | false | 2.47\*1/2=1.235= | $1.23 |
+
+
+ _Which prices are updated?_:
+
+ The rate described above is applied to tax-basis and tax then the net-price and gross-price are recalculated by adding / subtracting
+ depending on whether the order is based on net price.
+
+ _Example (order based on net price)_
+
+ New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis=$10.00, GrossPrice=TaxBasis+Tax=$11.00
+
+ _Example (order based on gross price)_
+
+ New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis-tax=$9.00, GrossPrice=TaxBasis=$10.00
+
+
+ **Parameters:**
+ - factor - factor used to calculate rate
+ - divisor - divisor used to calculate rate
+ - roundUp - whether to round up or down on 0.5
+
+ **See Also:**
+ - [AbstractItem.getTaxBasis()](dw.order.AbstractItem.md#gettaxbasis)
+ - [AbstractItem.getTax()](dw.order.AbstractItem.md#gettax)
+ - [AbstractItem.getNetPrice()](dw.order.AbstractItem.md#getnetprice)
+ - [AbstractItem.getGrossPrice()](dw.order.AbstractItem.md#getgrossprice)
+ - [TaxMgr.getTaxationPolicy()](dw.order.TaxMgr.md#gettaxationpolicy)
+
+
+---
+
+### getBasePrice()
+- getBasePrice(): [Money](dw.value.Money.md)
+ - : Price of a single unit before discount application.
+
+ **Returns:**
+ - Price of a single unit before discount application.
+
+
+---
+
+### getParentItem()
+- getParentItem(): [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+ - : Returns null or the parent item.
+
+ **Returns:**
+ - null or the parent item.
+
+
+---
+
+### getQuantity()
+- getQuantity(): [Quantity](dw.value.Quantity.md)
+ - : The quantity of the shipping order item.
+
+
+ The [Quantity](dw.value.Quantity.md) is equal to the related line item quantity.
+
+
+ **Returns:**
+ - the quantity
+
+
+---
+
+### getShippingOrderNumber()
+- getShippingOrderNumber(): [String](TopLevel.String.md)
+ - : The mandatory shipping order number of the related
+ [ShippingOrder](dw.order.ShippingOrder.md).
+
+
+ **Returns:**
+ - the shipping order number.
+
+
+---
+
+### getStatus()
+- getStatus(): [EnumValue](dw.value.EnumValue.md)
+ - : Gets the order item status.
+
+
+ The possible values are [STATUS_CONFIRMED](dw.order.ShippingOrderItem.md#status_confirmed),
+ [STATUS_WAREHOUSE](dw.order.ShippingOrderItem.md#status_warehouse), [STATUS_SHIPPED](dw.order.ShippingOrderItem.md#status_shipped),
+ [STATUS_CANCELLED](dw.order.ShippingOrderItem.md#status_cancelled).
+
+
+ **Returns:**
+ - the status
+
+
+---
+
+### getTrackingRefs()
+- getTrackingRefs(): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Gets the tracking refs (tracking infos) the shipping order item is
+ assigned to.
+
+
+ **Returns:**
+ - the tracking refs ( tracking infos - [TrackingRef](dw.order.TrackingRef.md)
+ ) the shipping order item is assigned to.
+
+
+ **See Also:**
+ - [TrackingRef](dw.order.TrackingRef.md)
+
+
+---
+
+### setParentItem(ShippingOrderItem)
+- setParentItem(parentItem: [ShippingOrderItem](dw.order.ShippingOrderItem.md)): void
+ - : Set a parent item. The parent item must belong to the same
+ [ShippingOrder](dw.order.ShippingOrder.md). An infinite parent-child loop is disallowed
+ as is a parent-child depth greater than 10. Setting a parent item
+ indicates a dependency of the child item on the parent item, and can be
+ used to form a parallel structure to that accessed using
+ [ProductLineItem.getParent()](dw.order.ProductLineItem.md#getparent).
+
+
+ **Parameters:**
+ - parentItem - The parent item, null is allowed
+
+
+---
+
+### setStatus(String)
+- setStatus(status: [String](TopLevel.String.md)): void
+ - : Sets the status. See [ShippingOrder](dw.order.ShippingOrder.md) for details of
+ shipping order status transitions. Do not use this method to set a
+ shipping order to status WAREHOUSE, instead use
+ [ShippingOrder.setStatusWarehouse()](dw.order.ShippingOrder.md#setstatuswarehouse)
+
+
+ This also triggers the setting of the status of the
+ [LineItem](dw.order.LineItem.md) when appropriate. Setting this status can also have an impact on
+ the order status, accessed using [Order.getStatus()](dw.order.Order.md#getstatus) and the
+ shipping order status, accessed using [ShippingOrder.getStatus()](dw.order.ShippingOrder.md#getstatus).
+
+
+ **Parameters:**
+ - status - the status
+
+ **Throws:**
+ - NullPointerException - if status is `null`
+ - IllegalArgumentException - if the status transition to the status is not allowed
+
+
+---
+
+### split(Quantity)
+- split(quantity: [Quantity](dw.value.Quantity.md)): [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+ - : Split the shipping order item.
+
+
+ This will also lead to a split of the related [LineItem](dw.order.LineItem.md).
+ Split means that for the passed quantity a new item is created with this
+ quantity as an exact copy of this item. The remaining amount will stay in
+ this item.
+
+
+ If quantity is equal to [getQuantity()](dw.order.ShippingOrderItem.md#getquantity) no split is done and this
+ item is returned itself.
+
+
+ This method is equivalent to [split(Quantity, Boolean)](dw.order.ShippingOrderItem.md#splitquantity-boolean) called
+ with `splitOrderItem` equals to `true`.
+
+
+ **Parameters:**
+ - quantity - the quantity for the newly created item
+
+ **Returns:**
+ - the newly created item or this item
+
+ **Throws:**
+ - IllegalArgumentException - if quantity is greater than [getQuantity()](dw.order.ShippingOrderItem.md#getquantity)
+
+
+---
+
+### split(Quantity, Boolean)
+- split(quantity: [Quantity](dw.value.Quantity.md), splitOrderItem: [Boolean](TopLevel.Boolean.md)): [ShippingOrderItem](dw.order.ShippingOrderItem.md)
+ - : Split the shipping order item.
+
+
+ This will also lead to a split of the related [LineItem](dw.order.LineItem.md)
+ when `splitOrderItem` is `true`.
+ Split means that for the passed quantity a new item is created with this
+ quantity as an exact copy of this item. The remaining amount will stay in
+ this item.
+
+
+ If quantity is equal to [getQuantity()](dw.order.ShippingOrderItem.md#getquantity) no split is done and this
+ item is returned itself.
+
+
+ **Parameters:**
+ - quantity - the quantity for the newly created item
+ - splitOrderItem -
+
+ **Returns:**
+ - A new [RESTErrorResponse](dw.system.RESTErrorResponse.md) object.
+
+ **Throws:**
+ - IllegalArgumentException - If the statusCode is not in the (400..599) range or if the error type is not a valid URI or conflicts with the SYSTEM error type namespace.
+
+
+---
+
+### createError(Number, String, String)
+- static createError(statusCode: [Number](TopLevel.Number.md), type: [String](TopLevel.String.md), title: [String](TopLevel.String.md)): [RESTErrorResponse](dw.system.RESTErrorResponse.md)
+ - : Constructs a new [RESTErrorResponse](dw.system.RESTErrorResponse.md) object. This method should be used when you want to omit 'detail' of
+ the error but want to have valid 'statusCode', 'type' and 'title'.
+
+
+ **Parameters:**
+ - statusCode - The error code of the response. The statusCode parameter should conform to RFC standards for an error.
+ - type - Type of the error according to RFC 9457. We enforce the following restrictions on top of the RFC:
Example: The buyer finds any problem with the products but he agrees to preserve them, if he would be compensated, rather than return them.
The Appeasement contains 1..n appeasement items. |
+| [AppeasementItem](dw.order.AppeasementItem.md) | Represents an item of an [Appeasement](dw.order.Appeasement.md) which is associated with one [OrderItem](dw.order.OrderItem.md) usually representing an [Order](dw.order.Order.md) [ProductLineItem](dw.order.ProductLineItem.md). |
+| [Basket](dw.order.Basket.md) | The Basket class represents a shopping cart. |
+| [BasketMgr](dw.order.BasketMgr.md) | Provides static helper methods for managing baskets. |
+| [BonusDiscountLineItem](dw.order.BonusDiscountLineItem.md) | Line item representing an applied [BonusChoiceDiscount](dw.campaign.BonusChoiceDiscount.md) in a LineItemCtnr. |
+| [CouponLineItem](dw.order.CouponLineItem.md) | The CouponLineItem class is used to store redeemed coupons in the Basket. |
+| [CreateAgentBasketLimitExceededException](dw.order.CreateAgentBasketLimitExceededException.md) | This exception is thrown by [BasketMgr.createAgentBasket()](dw.order.BasketMgr.md#createagentbasket) to indicate that the open agent basket limit for the current session customer is already reached, and therefore no new agent basket could be created. |
+| [CreateBasketFromOrderException](dw.order.CreateBasketFromOrderException.md) | This APIException is thrown by method [BasketMgr.createBasketFromOrder(Order)](dw.order.BasketMgr.md#createbasketfromorderorder) to indicate no Basket could be created from the Order. |
+| [CreateCouponLineItemException](dw.order.CreateCouponLineItemException.md) | This exception could be thrown by [LineItemCtnr.createCouponLineItem(String, Boolean)](dw.order.LineItemCtnr.md#createcouponlineitemstring-boolean) when the provided coupon code is invalid. |
+| [CreateOrderException](dw.order.CreateOrderException.md) | This APIException is thrown by method [OrderMgr.createOrder(Basket, String)](dw.order.OrderMgr.md#createorderbasket-string) to indicate no Order could be created from the Basket. |
+| [CreateTemporaryBasketLimitExceededException](dw.order.CreateTemporaryBasketLimitExceededException.md) | This exception is thrown by [BasketMgr.createTemporaryBasket()](dw.order.BasketMgr.md#createtemporarybasket) to indicate that the open temporary basket limit for the current session customer is already reached, and therefore no new temporary basket could be created. |
+| [GiftCertificate](dw.order.GiftCertificate.md) | Represents a Gift Certificate that can be used to purchase products. |
+| [GiftCertificateLineItem](dw.order.GiftCertificateLineItem.md) | Represents a Gift Certificate line item in the cart. |
+| [GiftCertificateMgr](dw.order.GiftCertificateMgr.md) | The GiftCertificateMgr class contains a set of static methods for interacting with GiftCertificates. |
+| [GiftCertificateStatusCodes](dw.order.GiftCertificateStatusCodes.md) | Helper class containing status codes for the various errors that can occur when redeeming a gift certificate. |
+| [Invoice](dw.order.Invoice.md) | The Invoice can be a debit or credit invoice, and is created from custom scripts using one of the methods [ShippingOrder.createInvoice(String)](dw.order.ShippingOrder.md#createinvoicestring), [Appeasement.createInvoice(String)](dw.order.Appeasement.md#createinvoicestring), [ReturnCase.createInvoice(String)](dw.order.ReturnCase.md#createinvoicestring) or [Return.createInvoice(String)](dw.order.Return.md#createinvoicestring). |
+| [InvoiceItem](dw.order.InvoiceItem.md) | Represents a specific item in an [Invoice](dw.order.Invoice.md). |
+| [LineItem](dw.order.LineItem.md) | Common line item base class. |
+| [LineItemCtnr](dw.order.LineItemCtnr.md) | A container for line items, such as ProductLineItems, CouponLineItems, GiftCertificateLineItems. |
+| [Order](dw.order.Order.md) | The Order class represents an order. |
+| [OrderAddress](dw.order.OrderAddress.md) | The Address class represents a customer's address. |
+| [OrderItem](dw.order.OrderItem.md) | Defines _extensions_ to [ProductLineItem](dw.order.ProductLineItem.md)s and [ShippingLineItem](dw.order.ShippingLineItem.md)s belonging to an [order](dw.order.Order.md). |
+| [OrderMgr](dw.order.OrderMgr.md) |
|
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [addCustomSitemapFile](dw.sitemap.SitemapMgr.md#addcustomsitemapfilestring-file)([String](TopLevel.String.md), [File](dw.io.File.md)) | Adds the given [File](dw.io.File.md) to the appservers custom sitemap directory. |
+| static [deleteCustomSitemapFile](dw.sitemap.SitemapMgr.md#deletecustomsitemapfilesitemapfile)([SitemapFile](dw.sitemap.SitemapFile.md)) | Deletes the given custom sitemap file from the appservers shared file system. |
+| static [deleteCustomSitemapFiles](dw.sitemap.SitemapMgr.md#deletecustomsitemapfiles)() | Deletes all custom sitemap files for all hostnames from the appservers shared file system. |
+| static [deleteCustomSitemapFiles](dw.sitemap.SitemapMgr.md#deletecustomsitemapfilesstring)([String](TopLevel.String.md)) | Deletes all custom sitemap files for the given hostname from the appservers shared file system. |
+| static [getCustomSitemapFiles](dw.sitemap.SitemapMgr.md#getcustomsitemapfiles)() | Reads all existing custom sitemap files from files system of the appservers custom sitemap directory into memory and returns them in a Map containing mappings like
|
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### customSitemapFiles
+- customSitemapFiles: [Map](dw.util.Map.md) `(read-only)`
+ - : Reads all existing custom sitemap files from files system of the appservers custom sitemap directory into memory
+ and returns them in a Map containing mappings like
+
+ - Hostname 1 =>\[SitemapFile hostname1\_sitemapfile1, SitemapFile hostname1\_sitemapfile2\]
+ - Hostname 2 =>\[SitemapFile hostname2\_sitemapfile1\]
+
+
+
+---
+
+## Method Details
+
+### addCustomSitemapFile(String, File)
+- static addCustomSitemapFile(hostName: [String](TopLevel.String.md), file: [File](dw.io.File.md)): void
+ - : Adds the given [File](dw.io.File.md) to the appservers custom sitemap directory. All content of the appservers
+ custom sitemap directory is considered by the system job "Create Sitemap Schedule".
+
+
+ The files are added to the directory which is accessible via "Custom Sitemaps" tab under _Merchant Tools_ =>
+ _SEO_ => _Sitemaps - Custom Sitemaps_ in Business Manager. To publish that change, execute job under Merchant Tools => SEO => Sitemaps => Job.
+
+
+ **Parameters:**
+ - hostName - The hostName to copy the `File` to. The hostName must be configured in sites alias file.
+ - file - The `File` to copy.
+
+ **Throws:**
+ - Exception -
+
+
+---
+
+### deleteCustomSitemapFile(SitemapFile)
+- static deleteCustomSitemapFile(sitemapFile: [SitemapFile](dw.sitemap.SitemapFile.md)): void
+ - : Deletes the given custom sitemap file from the appservers shared file system.
+
+
+ The file is deleted from the directory which is accessible via "Custom Sitemaps" tab under _Merchant Tools_
+ => _SEO_ => _Sitemaps - Custom Sitemaps_ in Business Manager. To publish that change, execute job under Merchant Tools => SEO => Sitemaps => Job.
+
+
+ **Parameters:**
+ - sitemapFile - - The sitemapFile to delete.
+
+
+---
+
+### deleteCustomSitemapFiles()
+- static deleteCustomSitemapFiles(): void
+ - : Deletes all custom sitemap files for all hostnames from the appservers shared file system.
+
+
+ The files are deleted from the directory which is accessible via "Custom Sitemaps" tab under _Merchant
+ Tools_ => _SEO_ => _Sitemaps - Custom Sitemaps_ in Business Manager. To publish that change, execute job under Merchant Tools => SEO => Sitemaps => Job.
+
+
+
+---
+
+### deleteCustomSitemapFiles(String)
+- static deleteCustomSitemapFiles(hostName: [String](TopLevel.String.md)): void
+ - : Deletes all custom sitemap files for the given hostname from the appservers shared file system.
+
+
+ The files are deleted from the directory which is accessible via "Custom Sitemaps" tab under _Merchant
+ Tools_ => _SEO_ => _Sitemaps - Custom Sitemaps_ in Business Manager. To publish that change, execute job under Merchant Tools => SEO => Sitemaps => Job.
+
+
+ **Parameters:**
+ - hostName - The hostName to delete the custom sitemap files for.
+
+
+---
+
+### getCustomSitemapFiles()
+- static getCustomSitemapFiles(): [Map](dw.util.Map.md)
+ - : Reads all existing custom sitemap files from files system of the appservers custom sitemap directory into memory
+ and returns them in a Map containing mappings like
+
+ - Hostname 1 =>\[SitemapFile hostname1\_sitemapfile1, SitemapFile hostname1\_sitemapfile2\]
+ - Hostname 2 =>\[SitemapFile hostname2\_sitemapfile1\]
+
+
+ **Returns:**
+ - The created map containing the list of SitemapFiles.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.sitemap.md b/packages/b2c-tooling-sdk/data/script-api/dw.sitemap.md
new file mode 100644
index 00000000..5e51fa5f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.sitemap.md
@@ -0,0 +1,7 @@
+# Package dw.sitemap
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [SitemapFile](dw.sitemap.SitemapFile.md) | Instances of this class represent sitemap files located in the appservers shared file system. |
+| [SitemapMgr](dw.sitemap.SitemapMgr.md) | [SitemapMgr](dw.sitemap.SitemapMgr.md) is used to access and modify custom sitemap files. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.BrandSuggestions.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.BrandSuggestions.md
new file mode 100644
index 00000000..dadb51bc
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.BrandSuggestions.md
@@ -0,0 +1,34 @@
+
+# Class BrandSuggestions
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.Suggestions](dw.suggest.Suggestions.md)
+ - [dw.suggest.BrandSuggestions](dw.suggest.BrandSuggestions.md)
+
+The brands suggestion container provides access to
+brands found using the suggested terms.
+
+
+The method [SearchPhraseSuggestions.getSuggestedPhrases()](dw.suggest.SearchPhraseSuggestions.md#getsuggestedphrases) can be used to
+get the list of found brand names. The brand lookup
+is being executed in the current catalog and locale.
+
+
+Furthermore the list of suggested terms, after processing
+the original user input search query, is accessible
+through [SearchPhraseSuggestions.getSuggestedTerms()](dw.suggest.SearchPhraseSuggestions.md#getsuggestedterms) method.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class Suggestions
+
+[getSearchPhraseSuggestions](dw.suggest.Suggestions.md#getsearchphrasesuggestions), [getSuggestedPhrases](dw.suggest.Suggestions.md#getsuggestedphrases), [getSuggestedTerms](dw.suggest.Suggestions.md#getsuggestedterms), [hasSuggestedPhrases](dw.suggest.Suggestions.md#hassuggestedphrases), [hasSuggestedTerms](dw.suggest.Suggestions.md#hassuggestedterms), [hasSuggestions](dw.suggest.Suggestions.md#hassuggestions)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.CategorySuggestions.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.CategorySuggestions.md
new file mode 100644
index 00000000..91c9326a
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.CategorySuggestions.md
@@ -0,0 +1,76 @@
+
+# Class CategorySuggestions
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.Suggestions](dw.suggest.Suggestions.md)
+ - [dw.suggest.CategorySuggestions](dw.suggest.CategorySuggestions.md)
+
+The category suggestion container provides access to
+categories found using the suggested terms as search criteria.
+The method [getSuggestedCategories()](dw.suggest.CategorySuggestions.md#getsuggestedcategories) can be used to
+get the list of found categories.
+
+
+Furthermore the list of suggested terms, after processing
+the original user input search query, is accessible
+through [SearchPhraseSuggestions.getSuggestedTerms()](dw.suggest.SearchPhraseSuggestions.md#getsuggestedterms) method.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [suggestedCategories](#suggestedcategories): [Iterator](dw.util.Iterator.md) `(read-only)` | This method returns a list of categories which were found using the suggested terms as search criteria. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getSuggestedCategories](dw.suggest.CategorySuggestions.md#getsuggestedcategories)() | This method returns a list of categories which were found using the suggested terms as search criteria. |
+
+### Methods inherited from class Suggestions
+
+[getSearchPhraseSuggestions](dw.suggest.Suggestions.md#getsearchphrasesuggestions), [getSuggestedPhrases](dw.suggest.Suggestions.md#getsuggestedphrases), [getSuggestedTerms](dw.suggest.Suggestions.md#getsuggestedterms), [hasSuggestedPhrases](dw.suggest.Suggestions.md#hassuggestedphrases), [hasSuggestedTerms](dw.suggest.Suggestions.md#hassuggestedterms), [hasSuggestions](dw.suggest.Suggestions.md#hassuggestions)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### suggestedCategories
+- suggestedCategories: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : This method returns a list of categories which were found
+ using the suggested terms as search criteria.
+ The category lookup is being executed in the current catalog and locale.
+
+
+ **See Also:**
+ - [Suggestions.hasSuggestions()](dw.suggest.Suggestions.md#hassuggestions)
+
+
+---
+
+## Method Details
+
+### getSuggestedCategories()
+- getSuggestedCategories(): [Iterator](dw.util.Iterator.md)
+ - : This method returns a list of categories which were found
+ using the suggested terms as search criteria.
+ The category lookup is being executed in the current catalog and locale.
+
+
+ **Returns:**
+ - a iterator containing a [SuggestedCategory](dw.suggest.SuggestedCategory.md) instance for
+ each found category, the iterator might be empty
+
+
+ **See Also:**
+ - [Suggestions.hasSuggestions()](dw.suggest.Suggestions.md#hassuggestions)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.ContentSuggestions.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.ContentSuggestions.md
new file mode 100644
index 00000000..3b717538
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.ContentSuggestions.md
@@ -0,0 +1,76 @@
+
+# Class ContentSuggestions
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.Suggestions](dw.suggest.Suggestions.md)
+ - [dw.suggest.ContentSuggestions](dw.suggest.ContentSuggestions.md)
+
+The content suggestion container provides access to
+content pages found using the suggested terms as search criteria.
+The method [getSuggestedContent()](dw.suggest.ContentSuggestions.md#getsuggestedcontent) can be used to
+get the list of found content pages.
+
+
+Furthermore the list of suggested terms, after processing
+the original user input search query, is accessible
+through [SearchPhraseSuggestions.getSuggestedTerms()](dw.suggest.SearchPhraseSuggestions.md#getsuggestedterms) method.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [suggestedContent](#suggestedcontent): [Iterator](dw.util.Iterator.md) `(read-only)` | This method returns a list of content pages which were found using the suggested terms as search criteria. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getSuggestedContent](dw.suggest.ContentSuggestions.md#getsuggestedcontent)() | This method returns a list of content pages which were found using the suggested terms as search criteria. |
+
+### Methods inherited from class Suggestions
+
+[getSearchPhraseSuggestions](dw.suggest.Suggestions.md#getsearchphrasesuggestions), [getSuggestedPhrases](dw.suggest.Suggestions.md#getsuggestedphrases), [getSuggestedTerms](dw.suggest.Suggestions.md#getsuggestedterms), [hasSuggestedPhrases](dw.suggest.Suggestions.md#hassuggestedphrases), [hasSuggestedTerms](dw.suggest.Suggestions.md#hassuggestedterms), [hasSuggestions](dw.suggest.Suggestions.md#hassuggestions)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### suggestedContent
+- suggestedContent: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : This method returns a list of content pages which were found
+ using the suggested terms as search criteria.
+ The content lookup is being executed in the current library and locale.
+
+
+ **See Also:**
+ - [Suggestions.hasSuggestions()](dw.suggest.Suggestions.md#hassuggestions)
+
+
+---
+
+## Method Details
+
+### getSuggestedContent()
+- getSuggestedContent(): [Iterator](dw.util.Iterator.md)
+ - : This method returns a list of content pages which were found
+ using the suggested terms as search criteria.
+ The content lookup is being executed in the current library and locale.
+
+
+ **Returns:**
+ - a iterator containing a [SuggestedContent](dw.suggest.SuggestedContent.md) instance for
+ each found content, the iterator might be empty
+
+
+ **See Also:**
+ - [Suggestions.hasSuggestions()](dw.suggest.Suggestions.md#hassuggestions)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.CustomSuggestions.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.CustomSuggestions.md
new file mode 100644
index 00000000..3d7e11fb
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.CustomSuggestions.md
@@ -0,0 +1,34 @@
+
+# Class CustomSuggestions
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.Suggestions](dw.suggest.Suggestions.md)
+ - [dw.suggest.CustomSuggestions](dw.suggest.CustomSuggestions.md)
+
+The custom suggestion container provides access to
+merchant provided search phrases
+found using the suggested terms as search criteria.
+
+
+The method [SearchPhraseSuggestions.getSuggestedPhrases()](dw.suggest.SearchPhraseSuggestions.md#getsuggestedphrases) can be used to
+get the list of found search phrases. The custom phrases
+lookup is being executed in the current site.
+
+
+Furthermore the list of suggested terms is accessible
+through [SearchPhraseSuggestions.getSuggestedTerms()](dw.suggest.SearchPhraseSuggestions.md#getsuggestedterms) method.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class Suggestions
+
+[getSearchPhraseSuggestions](dw.suggest.Suggestions.md#getsearchphrasesuggestions), [getSuggestedPhrases](dw.suggest.Suggestions.md#getsuggestedphrases), [getSuggestedTerms](dw.suggest.Suggestions.md#getsuggestedterms), [hasSuggestedPhrases](dw.suggest.Suggestions.md#hassuggestedphrases), [hasSuggestedTerms](dw.suggest.Suggestions.md#hassuggestedterms), [hasSuggestions](dw.suggest.Suggestions.md#hassuggestions)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.ProductSuggestions.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.ProductSuggestions.md
new file mode 100644
index 00000000..09ae79c1
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.ProductSuggestions.md
@@ -0,0 +1,76 @@
+
+# Class ProductSuggestions
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.Suggestions](dw.suggest.Suggestions.md)
+ - [dw.suggest.ProductSuggestions](dw.suggest.ProductSuggestions.md)
+
+The product suggestion container provides access to
+products found using the suggested terms.
+The method [getSuggestedProducts()](dw.suggest.ProductSuggestions.md#getsuggestedproducts) can be used to
+get the list of found products.
+
+
+Furthermore the list of suggested terms, after processing
+the original user input search query, is accessible
+through [SearchPhraseSuggestions.getSuggestedTerms()](dw.suggest.SearchPhraseSuggestions.md#getsuggestedterms) method.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [suggestedProducts](#suggestedproducts): [Iterator](dw.util.Iterator.md) `(read-only)` | This method returns a list of products which were found using the suggested terms as search criteria. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getSuggestedProducts](dw.suggest.ProductSuggestions.md#getsuggestedproducts)() | This method returns a list of products which were found using the suggested terms as search criteria. |
+
+### Methods inherited from class Suggestions
+
+[getSearchPhraseSuggestions](dw.suggest.Suggestions.md#getsearchphrasesuggestions), [getSuggestedPhrases](dw.suggest.Suggestions.md#getsuggestedphrases), [getSuggestedTerms](dw.suggest.Suggestions.md#getsuggestedterms), [hasSuggestedPhrases](dw.suggest.Suggestions.md#hassuggestedphrases), [hasSuggestedTerms](dw.suggest.Suggestions.md#hassuggestedterms), [hasSuggestions](dw.suggest.Suggestions.md#hassuggestions)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### suggestedProducts
+- suggestedProducts: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : This method returns a list of products which were found
+ using the suggested terms as search criteria.
+ The product lookup is being executed in the current catalog and locale.
+
+
+ **See Also:**
+ - [Suggestions.hasSuggestions()](dw.suggest.Suggestions.md#hassuggestions)
+
+
+---
+
+## Method Details
+
+### getSuggestedProducts()
+- getSuggestedProducts(): [Iterator](dw.util.Iterator.md)
+ - : This method returns a list of products which were found
+ using the suggested terms as search criteria.
+ The product lookup is being executed in the current catalog and locale.
+
+
+ **Returns:**
+ - a iterator containing a [SuggestedProduct](dw.suggest.SuggestedProduct.md) instance for
+ each found product, the iterator might be empty
+
+
+ **See Also:**
+ - [Suggestions.hasSuggestions()](dw.suggest.Suggestions.md#hassuggestions)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SearchPhraseSuggestions.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SearchPhraseSuggestions.md
new file mode 100644
index 00000000..1055f7c6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SearchPhraseSuggestions.md
@@ -0,0 +1,126 @@
+
+# Class SearchPhraseSuggestions
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.SearchPhraseSuggestions](dw.suggest.SearchPhraseSuggestions.md)
+
+The search phrase suggestions contain a list of suggested search phrases
+(see [SuggestedPhrase](dw.suggest.SuggestedPhrase.md))
+as well as, for each of the search phrase terms, a list with corrected and
+completed alternative terms.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [suggestedPhrases](#suggestedphrases): [Iterator](dw.util.Iterator.md) `(read-only)` | Returns a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md) objects that relates to the user input search phrase. |
+| [suggestedTerms](#suggestedterms): [Iterator](dw.util.Iterator.md) `(read-only)` | Returns a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) objects. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getSuggestedPhrases](dw.suggest.SearchPhraseSuggestions.md#getsuggestedphrases)() | Returns a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md) objects that relates to the user input search phrase. |
+| [getSuggestedTerms](dw.suggest.SearchPhraseSuggestions.md#getsuggestedterms)() | Returns a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) objects. |
+| [hasSuggestedPhrases](dw.suggest.SearchPhraseSuggestions.md#hassuggestedphrases)() | Returns whether this suggestions container has any suggested phrases. |
+| [hasSuggestedTerms](dw.suggest.SearchPhraseSuggestions.md#hassuggestedterms)() | Returns whether this suggestions container has any suggested terms. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### suggestedPhrases
+- suggestedPhrases: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : Returns a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md) objects that relates to the
+ user input search phrase.
+
+
+ **See Also:**
+ - [hasSuggestedPhrases()](dw.suggest.SearchPhraseSuggestions.md#hassuggestedphrases)
+
+
+---
+
+### suggestedTerms
+- suggestedTerms: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : Returns a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) objects. Each of the returned
+ instances represents a set of terms suggested for a particular single term
+ of the user input search phrase.
+
+
+ **See Also:**
+ - [hasSuggestedTerms()](dw.suggest.SearchPhraseSuggestions.md#hassuggestedterms)
+
+
+---
+
+## Method Details
+
+### getSuggestedPhrases()
+- getSuggestedPhrases(): [Iterator](dw.util.Iterator.md)
+ - : Returns a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md) objects that relates to the
+ user input search phrase.
+
+
+ **Returns:**
+ - a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md)s
+
+ **See Also:**
+ - [hasSuggestedPhrases()](dw.suggest.SearchPhraseSuggestions.md#hassuggestedphrases)
+
+
+---
+
+### getSuggestedTerms()
+- getSuggestedTerms(): [Iterator](dw.util.Iterator.md)
+ - : Returns a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) objects. Each of the returned
+ instances represents a set of terms suggested for a particular single term
+ of the user input search phrase.
+
+
+ **Returns:**
+ - a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) for each term of the user input search phrase
+
+ **See Also:**
+ - [hasSuggestedTerms()](dw.suggest.SearchPhraseSuggestions.md#hassuggestedterms)
+
+
+---
+
+### hasSuggestedPhrases()
+- hasSuggestedPhrases(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether this suggestions container has any suggested phrases.
+
+
+ Note that this method only looks for suggested phrases. It does not account
+ for suggested terms.
+
+
+ **Returns:**
+ - true only if there are phrases available
+
+
+---
+
+### hasSuggestedTerms()
+- hasSuggestedTerms(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether this suggestions container has any suggested terms.
+
+
+ Note that this method checks suggested terms only,
+ but not suggested phrases.
+
+
+ **Returns:**
+ - true only if there are terms available
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestModel.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestModel.md
new file mode 100644
index 00000000..33af3876
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestModel.md
@@ -0,0 +1,471 @@
+
+# Class SuggestModel
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.SuggestModel](dw.suggest.SuggestModel.md)
+
+The Suggest model provides methods and functions
+to access search suggestions.
+
+
+The search suggestion feature basically covers two functional areas.
+First is just to suggest words, based on the users input,
+utilizing spell correction or prediction (also known as auto completion).
+The second functional area is also often referred to as search-as-you-type,
+where, based on the users input, specific items are
+already looked up, before the user actually has completed typing a word
+or even fired up the search.
+
+
+This model combines both functional areas and provides access to both - the
+suggested words and the items found while using the predicted words.
+
+
+This model supports various types of items that are being suggested, like
+products, categories, brands, content pages as well merchant provided search phrases.
+For each type, there is a [Suggestions](dw.suggest.Suggestions.md) implementation
+available and accessible through this model: [ProductSuggestions](dw.suggest.ProductSuggestions.md),
+[CategorySuggestions](dw.suggest.CategorySuggestions.md), [BrandSuggestions](dw.suggest.BrandSuggestions.md), [ContentSuggestions](dw.suggest.ContentSuggestions.md),
+and [CustomSuggestions](dw.suggest.CustomSuggestions.md).
+
+
+For each type of suggestions, the actual suggested items (like
+products) can by obtained, and, on the other hand, a list of terms
+is provided which were used to lookup the found items.
+The terms can be used to present a advanced user experience in the
+storefront, e.g. show auto completed words, spell corrections and so on.
+The SuggestModel script API will always create suggestions with Autocorrections
+regardless of the value of "Search Autocorrections" search preference.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [MAX_SUGGESTIONS](#max_suggestions): [Number](TopLevel.Number.md) = 10 | The maximum number of suggestions that can be obtain from this model: `10` |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [brandSuggestions](#brandsuggestions): [BrandSuggestions](dw.suggest.BrandSuggestions.md) `(read-only)` | Returns a [BrandSuggestions](dw.suggest.BrandSuggestions.md) container for the current search phrase. |
+| [categorySuggestions](#categorysuggestions): [CategorySuggestions](dw.suggest.CategorySuggestions.md) `(read-only)` | Returns a [CategorySuggestions](dw.suggest.CategorySuggestions.md) container for the current search phrase. |
+| [contentSuggestions](#contentsuggestions): [ContentSuggestions](dw.suggest.ContentSuggestions.md) `(read-only)` | Returns a [ContentSuggestions](dw.suggest.ContentSuggestions.md) container for the current search phrase. |
+| [customSuggestions](#customsuggestions): [CustomSuggestions](dw.suggest.CustomSuggestions.md) `(read-only)` | Returns a [CustomSuggestions](dw.suggest.CustomSuggestions.md) container for the current search phrase. |
+| [filteredByFolder](#filteredbyfolder): [Boolean](TopLevel.Boolean.md) | The method returns true, if the search suggestions are filtered by the folder. |
+| [popularSearchPhrases](#popularsearchphrases): [Iterator](dw.util.Iterator.md) `(read-only)` | Use this method to obtain a list of search phrases that currently are very popular among all users across the Site. |
+| [productSuggestions](#productsuggestions): [ProductSuggestions](dw.suggest.ProductSuggestions.md) `(read-only)` | Returns a [ProductSuggestions](dw.suggest.ProductSuggestions.md) container for the current search phrase. |
+| [recentSearchPhrases](#recentsearchphrases): [Iterator](dw.util.Iterator.md) `(read-only)` | Use this method to obtain a list of personalized search phrases that the current user entered recently. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [SuggestModel](#suggestmodel)() | Constructs a new SuggestModel. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addRefinementValues](dw.suggest.SuggestModel.md#addrefinementvaluesstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Adds a refinement for product suggestions. |
+| [getBrandSuggestions](dw.suggest.SuggestModel.md#getbrandsuggestions)() | Returns a [BrandSuggestions](dw.suggest.BrandSuggestions.md) container for the current search phrase. |
+| [getCategorySuggestions](dw.suggest.SuggestModel.md#getcategorysuggestions)() | Returns a [CategorySuggestions](dw.suggest.CategorySuggestions.md) container for the current search phrase. |
+| [getContentSuggestions](dw.suggest.SuggestModel.md#getcontentsuggestions)() | Returns a [ContentSuggestions](dw.suggest.ContentSuggestions.md) container for the current search phrase. |
+| [getCustomSuggestions](dw.suggest.SuggestModel.md#getcustomsuggestions)() | Returns a [CustomSuggestions](dw.suggest.CustomSuggestions.md) container for the current search phrase. |
+| [getPopularSearchPhrases](dw.suggest.SuggestModel.md#getpopularsearchphrases)() | Use this method to obtain a list of search phrases that currently are very popular among all users across the Site. |
+| [getProductSuggestions](dw.suggest.SuggestModel.md#getproductsuggestions)() | Returns a [ProductSuggestions](dw.suggest.ProductSuggestions.md) container for the current search phrase. |
+| [getRecentSearchPhrases](dw.suggest.SuggestModel.md#getrecentsearchphrases)() | Use this method to obtain a list of personalized search phrases that the current user entered recently. |
+| [isFilteredByFolder](dw.suggest.SuggestModel.md#isfilteredbyfolder)() | The method returns true, if the search suggestions are filtered by the folder. |
+| [removeRefinementValues](dw.suggest.SuggestModel.md#removerefinementvaluesstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Removes a refinement. |
+| [setCategoryID](dw.suggest.SuggestModel.md#setcategoryidstring)([String](TopLevel.String.md)) | Apply a category ID to filter product, brand and category suggestions. |
+| [setFilteredByFolder](dw.suggest.SuggestModel.md#setfilteredbyfolderboolean)([Boolean](TopLevel.Boolean.md)) | Set a flag to indicate if the search suggestions filter for elements that do not belong to a folder. |
+| [setMaxSuggestions](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)([Number](TopLevel.Number.md)) | Use this method to setup the maximum number of returned suggested items. |
+| [setRefinementValues](dw.suggest.SuggestModel.md#setrefinementvaluesstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Sets product suggestion refinement values for an attribute. |
+| [setSearchPhrase](dw.suggest.SuggestModel.md#setsearchphrasestring)([String](TopLevel.String.md)) | Sets the user input search phrase. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### MAX_SUGGESTIONS
+
+- MAX_SUGGESTIONS: [Number](TopLevel.Number.md) = 10
+ - : The maximum number of suggestions that can be obtain from this model: `10`
+
+
+---
+
+## Property Details
+
+### brandSuggestions
+- brandSuggestions: [BrandSuggestions](dw.suggest.BrandSuggestions.md) `(read-only)`
+ - : Returns a [BrandSuggestions](dw.suggest.BrandSuggestions.md) container for the current search phrase.
+ The [BrandSuggestions](dw.suggest.BrandSuggestions.md) container provides access to the found brands (if any) and
+ the terms suggested by the system with respect to the known product brands in the catalog.
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### categorySuggestions
+- categorySuggestions: [CategorySuggestions](dw.suggest.CategorySuggestions.md) `(read-only)`
+ - : Returns a [CategorySuggestions](dw.suggest.CategorySuggestions.md) container for the current search phrase.
+ The [CategorySuggestions](dw.suggest.CategorySuggestions.md) container provides access to the found categories (if any) and
+ the terms suggested by the system with respect to the known categories in the catalog.
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### contentSuggestions
+- contentSuggestions: [ContentSuggestions](dw.suggest.ContentSuggestions.md) `(read-only)`
+ - : Returns a [ContentSuggestions](dw.suggest.ContentSuggestions.md) container for the current search phrase.
+ The [ContentSuggestions](dw.suggest.ContentSuggestions.md) container provides access to the found content pages (if any) and
+ the terms suggested by the system with respect to the known content in the library.
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### customSuggestions
+- customSuggestions: [CustomSuggestions](dw.suggest.CustomSuggestions.md) `(read-only)`
+ - : Returns a [CustomSuggestions](dw.suggest.CustomSuggestions.md) container for the current search phrase.
+ The [CustomSuggestions](dw.suggest.CustomSuggestions.md) container provides access to matching
+ custom phrases (if any) and the terms suggested
+ by the system with respect to the merchant provided custom phrases.
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### filteredByFolder
+- filteredByFolder: [Boolean](TopLevel.Boolean.md)
+ - : The method returns true, if the search suggestions are filtered by the folder. If this returns true it is not
+ possible for search suggestions to contain Page Designer content as it belongs to no folder.
+
+
+
+---
+
+### popularSearchPhrases
+- popularSearchPhrases: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : Use this method to obtain a list of search phrases
+ that currently are very popular among all users across the Site.
+
+ The search phrases are specific to the region (based on user's IP address),
+ language (locale) and the user's browser type (agent).
+
+
+
+---
+
+### productSuggestions
+- productSuggestions: [ProductSuggestions](dw.suggest.ProductSuggestions.md) `(read-only)`
+ - : Returns a [ProductSuggestions](dw.suggest.ProductSuggestions.md) container for the current search phrase.
+ The [ProductSuggestions](dw.suggest.ProductSuggestions.md) container provides access to the found products (if any) and
+ the terms suggested by the system with respect to the known products in the catalog.
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### recentSearchPhrases
+- recentSearchPhrases: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : Use this method to obtain a list of personalized search phrases
+ that the current user entered recently.
+
+ The user is being identified by the CQuotient tracking cookie.
+
+
+
+---
+
+## Constructor Details
+
+### SuggestModel()
+- SuggestModel()
+ - : Constructs a new SuggestModel.
+
+
+---
+
+## Method Details
+
+### addRefinementValues(String, String)
+- addRefinementValues(attributeID: [String](TopLevel.String.md), values: [String](TopLevel.String.md)): void
+ - : Adds a refinement for product suggestions.
+ The method can be called to add an additional query
+ parameter specified as name-value pair. The values string may encode
+ multiple values delimited by the pipe symbol ('|').
+
+
+ **Parameters:**
+ - attributeID - The ID of the refinement attribute.
+ - values - the refinement value to set
+
+
+---
+
+### getBrandSuggestions()
+- getBrandSuggestions(): [BrandSuggestions](dw.suggest.BrandSuggestions.md)
+ - : Returns a [BrandSuggestions](dw.suggest.BrandSuggestions.md) container for the current search phrase.
+ The [BrandSuggestions](dw.suggest.BrandSuggestions.md) container provides access to the found brands (if any) and
+ the terms suggested by the system with respect to the known product brands in the catalog.
+
+
+ **Returns:**
+ - a brand suggestions container for the current search phrase,
+ returns `null` for insufficient search input
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### getCategorySuggestions()
+- getCategorySuggestions(): [CategorySuggestions](dw.suggest.CategorySuggestions.md)
+ - : Returns a [CategorySuggestions](dw.suggest.CategorySuggestions.md) container for the current search phrase.
+ The [CategorySuggestions](dw.suggest.CategorySuggestions.md) container provides access to the found categories (if any) and
+ the terms suggested by the system with respect to the known categories in the catalog.
+
+
+ **Returns:**
+ - a category suggestions container for the current search phrase,
+ returns `null` for insufficient search input
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### getContentSuggestions()
+- getContentSuggestions(): [ContentSuggestions](dw.suggest.ContentSuggestions.md)
+ - : Returns a [ContentSuggestions](dw.suggest.ContentSuggestions.md) container for the current search phrase.
+ The [ContentSuggestions](dw.suggest.ContentSuggestions.md) container provides access to the found content pages (if any) and
+ the terms suggested by the system with respect to the known content in the library.
+
+
+ **Returns:**
+ - a content suggestions container for the current search phrase,
+ returns `null` for insufficient search input
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### getCustomSuggestions()
+- getCustomSuggestions(): [CustomSuggestions](dw.suggest.CustomSuggestions.md)
+ - : Returns a [CustomSuggestions](dw.suggest.CustomSuggestions.md) container for the current search phrase.
+ The [CustomSuggestions](dw.suggest.CustomSuggestions.md) container provides access to matching
+ custom phrases (if any) and the terms suggested
+ by the system with respect to the merchant provided custom phrases.
+
+
+ **Returns:**
+ - a custom suggestions container for the current search phrase,
+ returns `null` for insufficient search input
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### getPopularSearchPhrases()
+- getPopularSearchPhrases(): [Iterator](dw.util.Iterator.md)
+ - : Use this method to obtain a list of search phrases
+ that currently are very popular among all users across the Site.
+
+ The search phrases are specific to the region (based on user's IP address),
+ language (locale) and the user's browser type (agent).
+
+
+ **Returns:**
+ - a list of personalized popular search phrases
+
+
+---
+
+### getProductSuggestions()
+- getProductSuggestions(): [ProductSuggestions](dw.suggest.ProductSuggestions.md)
+ - : Returns a [ProductSuggestions](dw.suggest.ProductSuggestions.md) container for the current search phrase.
+ The [ProductSuggestions](dw.suggest.ProductSuggestions.md) container provides access to the found products (if any) and
+ the terms suggested by the system with respect to the known products in the catalog.
+
+
+ **Returns:**
+ - a product suggestions container for the current search phrase,
+ returns `null` for insufficient search input
+
+
+ **See Also:**
+ - [setMaxSuggestions(Number)](dw.suggest.SuggestModel.md#setmaxsuggestionsnumber)
+ - [setSearchPhrase(String)](dw.suggest.SuggestModel.md#setsearchphrasestring)
+
+
+---
+
+### getRecentSearchPhrases()
+- getRecentSearchPhrases(): [Iterator](dw.util.Iterator.md)
+ - : Use this method to obtain a list of personalized search phrases
+ that the current user entered recently.
+
+ The user is being identified by the CQuotient tracking cookie.
+
+
+ **Returns:**
+ - a list of recent search phrases of the current user
+
+
+---
+
+### isFilteredByFolder()
+- isFilteredByFolder(): [Boolean](TopLevel.Boolean.md)
+ - : The method returns true, if the search suggestions are filtered by the folder. If this returns true it is not
+ possible for search suggestions to contain Page Designer content as it belongs to no folder.
+
+
+ **Returns:**
+ - True if search suggestions are filtered by the folder of the content asset.
+
+
+---
+
+### removeRefinementValues(String, String)
+- removeRefinementValues(attributeID: [String](TopLevel.String.md), values: [String](TopLevel.String.md)): void
+ - : Removes a refinement. The method can be called to remove previously added
+ refinement values. The values string may encode multiple values delimited
+ by the pipe symbol ('|').
+
+
+ **Parameters:**
+ - attributeID - The ID of the refinement attribute.
+ - values - the refinement value to remove or null to remove all values
+
+
+---
+
+### setCategoryID(String)
+- setCategoryID(categoryID: [String](TopLevel.String.md)): void
+ - : Apply a category ID to filter product, brand and category suggestions.
+
+
+ Suggested products, brands and categories, as well as corrected and completed
+ terms are specific to the given category or one of it's sub categories.
+
+
+ For example, in the specified category "television", the search term "pla"
+ will be auto completed to "plasma" (instead of e.g. "player") and
+ only televisions will be included in the list of suggested products.
+
+
+ **Parameters:**
+ - categoryID - the category to filter suggestions for
+
+
+---
+
+### setFilteredByFolder(Boolean)
+- setFilteredByFolder(filteredByFolder: [Boolean](TopLevel.Boolean.md)): void
+ - : Set a flag to indicate if the search suggestions filter for elements that do not belong to a folder.
+ Must be set to false to return content assets that do not belong to any folder.
+
+
+ **Parameters:**
+ - filteredByFolder - filter the search suggestions by folder
+
+
+---
+
+### setMaxSuggestions(Number)
+- setMaxSuggestions(maxSuggestions: [Number](TopLevel.Number.md)): void
+ - : Use this method to setup the maximum number of returned suggested
+ items. For example, set this to 3 in order to only retrieve the
+ 3 most relevant suggested products.
+
+
+ The maximum number of suggestions that can be queried are defined as [MAX_SUGGESTIONS](dw.suggest.SuggestModel.md#max_suggestions).
+
+
+ **Parameters:**
+ - maxSuggestions - the number of suggested items to be returned by this model instance
+
+
+---
+
+### setRefinementValues(String, String)
+- setRefinementValues(attributeID: [String](TopLevel.String.md), values: [String](TopLevel.String.md)): void
+ - : Sets product suggestion refinement values for an attribute.
+ The method can be called to set
+ an additional query parameter specified as name-value pair. The value
+ string may encode multiple values delimited by the pipe symbol ('|').
+ Existing refinement values for the attribute will be removed.
+
+
+ **Parameters:**
+ - attributeID - The ID of the refinement attribute.
+ - values - the refinement values to set (delimited by '|') or null to remove all values
+
+
+---
+
+### setSearchPhrase(String)
+- setSearchPhrase(searchPhrase: [String](TopLevel.String.md)): void
+ - : Sets the user input search phrase. This search phrase is being processed
+ by applying auto completion, spell correction and enhancement with alternative
+ similar search terms.
+
+
+ The resulting search phrase is used to lookup the actual items,
+ like products or categories (search-as-you-type).
+
+
+ In order to access the processed terms, one can use the
+ [SearchPhraseSuggestions.getSuggestedTerms()](dw.suggest.SearchPhraseSuggestions.md#getsuggestedterms) method of each of the respective
+ results returned by the methods in this model.
+
+
+ **Parameters:**
+ - searchPhrase - the user input search phrase
+
+ **See Also:**
+ - [SearchPhraseSuggestions.getSuggestedTerms()](dw.suggest.SearchPhraseSuggestions.md#getsuggestedterms)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedCategory.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedCategory.md
new file mode 100644
index 00000000..90740d09
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedCategory.md
@@ -0,0 +1,51 @@
+
+# Class SuggestedCategory
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.SuggestedCategory](dw.suggest.SuggestedCategory.md)
+
+This class represents a suggested catalog category.
+Use [getCategory()](dw.suggest.SuggestedCategory.md#getcategory) method to get access to the actual [Category](dw.catalog.Category.md) object.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [category](#category): [Category](dw.catalog.Category.md) `(read-only)` | This method returns the actual [Category](dw.catalog.Category.md) object corresponding to this suggested category. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCategory](dw.suggest.SuggestedCategory.md#getcategory)() | This method returns the actual [Category](dw.catalog.Category.md) object corresponding to this suggested category. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### category
+- category: [Category](dw.catalog.Category.md) `(read-only)`
+ - : This method returns the actual [Category](dw.catalog.Category.md) object corresponding to this suggested category.
+
+
+---
+
+## Method Details
+
+### getCategory()
+- getCategory(): [Category](dw.catalog.Category.md)
+ - : This method returns the actual [Category](dw.catalog.Category.md) object corresponding to this suggested category.
+
+ **Returns:**
+ - the category object corresponding to this suggested category
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedContent.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedContent.md
new file mode 100644
index 00000000..75ca35e9
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedContent.md
@@ -0,0 +1,51 @@
+
+# Class SuggestedContent
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.SuggestedContent](dw.suggest.SuggestedContent.md)
+
+This class represents a suggested content page.
+Use [getContent()](dw.suggest.SuggestedContent.md#getcontent) method to get access to the actual [Content](dw.content.Content.md) object.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [content](#content): [Content](dw.content.Content.md) `(read-only)` | This method returns the actual [Content](dw.content.Content.md) object corresponding to this suggested content. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getContent](dw.suggest.SuggestedContent.md#getcontent)() | This method returns the actual [Content](dw.content.Content.md) object corresponding to this suggested content. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### content
+- content: [Content](dw.content.Content.md) `(read-only)`
+ - : This method returns the actual [Content](dw.content.Content.md) object corresponding to this suggested content.
+
+
+---
+
+## Method Details
+
+### getContent()
+- getContent(): [Content](dw.content.Content.md)
+ - : This method returns the actual [Content](dw.content.Content.md) object corresponding to this suggested content.
+
+ **Returns:**
+ - the content object corresponding to this suggested content
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedPhrase.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedPhrase.md
new file mode 100644
index 00000000..f562e36b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedPhrase.md
@@ -0,0 +1,70 @@
+
+# Class SuggestedPhrase
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.SuggestedPhrase](dw.suggest.SuggestedPhrase.md)
+
+This class represents a suggested phrase.
+Use [getPhrase()](dw.suggest.SuggestedPhrase.md#getphrase) method to get access to the phrase.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [exactMatch](#exactmatch): [Boolean](TopLevel.Boolean.md) `(read-only)` | This method returns a flag signaling whether this phrase is a exact match. |
+| [phrase](#phrase): [String](TopLevel.String.md) `(read-only)` | This method returns the actual phrase as a string value. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getPhrase](dw.suggest.SuggestedPhrase.md#getphrase)() | This method returns the actual phrase as a string value. |
+| [isExactMatch](dw.suggest.SuggestedPhrase.md#isexactmatch)() | This method returns a flag signaling whether this phrase is a exact match. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### exactMatch
+- exactMatch: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : This method returns a flag signaling whether this phrase is a exact match.
+
+
+---
+
+### phrase
+- phrase: [String](TopLevel.String.md) `(read-only)`
+ - : This method returns the actual phrase as a string value.
+
+
+---
+
+## Method Details
+
+### getPhrase()
+- getPhrase(): [String](TopLevel.String.md)
+ - : This method returns the actual phrase as a string value.
+
+ **Returns:**
+ - the phrase
+
+
+---
+
+### isExactMatch()
+- isExactMatch(): [Boolean](TopLevel.Boolean.md)
+ - : This method returns a flag signaling whether this phrase is a exact match.
+
+ **Returns:**
+ - true if this phrase is a exact match, false otherwise
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedProduct.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedProduct.md
new file mode 100644
index 00000000..9cddf22b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedProduct.md
@@ -0,0 +1,55 @@
+
+# Class SuggestedProduct
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.SuggestedProduct](dw.suggest.SuggestedProduct.md)
+
+This class represents a suggested product.
+Use [getProductSearchHit()](dw.suggest.SuggestedProduct.md#getproductsearchhit) method to get access to the actual [ProductSearchHit](dw.catalog.ProductSearchHit.md) object.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [productSearchHit](#productsearchhit): [ProductSearchHit](dw.catalog.ProductSearchHit.md) `(read-only)` | This method returns the actual [ProductSearchHit](dw.catalog.ProductSearchHit.md) object corresponding to this suggested product. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getProductSearchHit](dw.suggest.SuggestedProduct.md#getproductsearchhit)() | This method returns the actual [ProductSearchHit](dw.catalog.ProductSearchHit.md) object corresponding to this suggested product. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### productSearchHit
+- productSearchHit: [ProductSearchHit](dw.catalog.ProductSearchHit.md) `(read-only)`
+ - : This method returns the actual [ProductSearchHit](dw.catalog.ProductSearchHit.md) object
+ corresponding to this suggested product.
+
+
+
+---
+
+## Method Details
+
+### getProductSearchHit()
+- getProductSearchHit(): [ProductSearchHit](dw.catalog.ProductSearchHit.md)
+ - : This method returns the actual [ProductSearchHit](dw.catalog.ProductSearchHit.md) object
+ corresponding to this suggested product.
+
+
+ **Returns:**
+ - the product search hit corresponding to this suggested product
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedTerm.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedTerm.md
new file mode 100644
index 00000000..1f95c7eb
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedTerm.md
@@ -0,0 +1,143 @@
+
+# Class SuggestedTerm
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.SuggestedTerm](dw.suggest.SuggestedTerm.md)
+
+A single suggested term.
+
+Each user input term of the search phrase
+is being processed separately by the suggestion engine. For each
+original term, a list of terms will be suggested, either completed terms,
+corrected terms or even the exact term if it is known to the engine.
+
+
+Each suggested term is represented by a instance of this class. The list of suggested terms
+belonging to a single original term is represented by a instance of [SuggestedTerms](dw.suggest.SuggestedTerms.md) class.
+
+
+The suggested term value can either be the completed version of the original term,
+the corrected version of the original term or exactly the original term.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [additional](#additional): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns whether this suggested term is a additional term that has no corresponding term in the original search phrase. |
+| [completed](#completed): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns whether this suggested term is a auto completed version of the original term. |
+| [corrected](#corrected): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns whether this suggested term is a corrected version of the original term. |
+| [exactMatch](#exactmatch): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns whether this suggested term is exactly matching the original term. |
+| [value](#value): [String](TopLevel.String.md) `(read-only)` | Returns this suggested term as String value. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getValue](dw.suggest.SuggestedTerm.md#getvalue)() | Returns this suggested term as String value. |
+| [isAdditional](dw.suggest.SuggestedTerm.md#isadditional)() | Returns whether this suggested term is a additional term that has no corresponding term in the original search phrase. |
+| [isCompleted](dw.suggest.SuggestedTerm.md#iscompleted)() | Returns whether this suggested term is a auto completed version of the original term. |
+| [isCorrected](dw.suggest.SuggestedTerm.md#iscorrected)() | Returns whether this suggested term is a corrected version of the original term. |
+| [isExactMatch](dw.suggest.SuggestedTerm.md#isexactmatch)() | Returns whether this suggested term is exactly matching the original term. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### additional
+- additional: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns whether this suggested term is a additional term that has no corresponding term in the original search phrase.
+
+
+---
+
+### completed
+- completed: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns whether this suggested term is a auto completed version of the original term.
+ In other words, this method returns true if the original term is a prefix of this suggested term.
+
+
+
+---
+
+### corrected
+- corrected: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns whether this suggested term is a corrected version of the original term.
+
+
+---
+
+### exactMatch
+- exactMatch: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns whether this suggested term is exactly matching the original term.
+
+
+---
+
+### value
+- value: [String](TopLevel.String.md) `(read-only)`
+ - : Returns this suggested term as String value.
+
+
+---
+
+## Method Details
+
+### getValue()
+- getValue(): [String](TopLevel.String.md)
+ - : Returns this suggested term as String value.
+
+ **Returns:**
+ - the string representation of this suggested term
+
+
+---
+
+### isAdditional()
+- isAdditional(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether this suggested term is a additional term that has no corresponding term in the original search phrase.
+
+ **Returns:**
+ - `true` if this suggested term is a additional term, `false` otherwise
+
+
+---
+
+### isCompleted()
+- isCompleted(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether this suggested term is a auto completed version of the original term.
+ In other words, this method returns true if the original term is a prefix of this suggested term.
+
+
+ **Returns:**
+ - `true` if this suggested term is evaluated by auto completion, `false` otherwise
+
+
+---
+
+### isCorrected()
+- isCorrected(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether this suggested term is a corrected version of the original term.
+
+ **Returns:**
+ - `true` if this suggested term is a corrected version of the original term, `false` otherwise
+
+
+---
+
+### isExactMatch()
+- isExactMatch(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether this suggested term is exactly matching the original term.
+
+ **Returns:**
+ - `true` if this suggested term exactly matches the original term, `false` otherwise
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedTerms.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedTerms.md
new file mode 100644
index 00000000..be2a15a6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.SuggestedTerms.md
@@ -0,0 +1,144 @@
+
+# Class SuggestedTerms
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.SuggestedTerms](dw.suggest.SuggestedTerms.md)
+
+This container represents a list of suggested terms, all belonging to a
+particular single original term of the users input search phrase.
+
+Each user input term of the search phrase
+is being processed separately by the suggestion engine. For each
+original term, a list of terms will be suggested, either completed terms,
+corrected terms or even the exact term if they are known to the engine as they are.
+
+A instance of this class refers to the original unmodified term, as well as
+to a list of [SuggestedTerm](dw.suggest.SuggestedTerm.md)s objects representing a single suggested term.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [empty](#empty): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if this set of suggested terms is empty. |
+| [firstTerm](#firstterm): [SuggestedTerm](dw.suggest.SuggestedTerm.md) `(read-only)` | This method returns the suggested term which is considered best matching with the original term. |
+| [originalTerm](#originalterm): [String](TopLevel.String.md) `(read-only)` | Returns the original term of the user input, for which this instance provides a list of suggested terms. |
+| [terms](#terms): [Iterator](dw.util.Iterator.md) `(read-only)` | Returns the list of [SuggestedTerm](dw.suggest.SuggestedTerm.md)s suggested for the original term. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getFirstTerm](dw.suggest.SuggestedTerms.md#getfirstterm)() | This method returns the suggested term which is considered best matching with the original term. |
+| [getOriginalTerm](dw.suggest.SuggestedTerms.md#getoriginalterm)() | Returns the original term of the user input, for which this instance provides a list of suggested terms. |
+| [getTerms](dw.suggest.SuggestedTerms.md#getterms)() | Returns the list of [SuggestedTerm](dw.suggest.SuggestedTerm.md)s suggested for the original term. |
+| [isEmpty](dw.suggest.SuggestedTerms.md#isempty)() | Returns true if this set of suggested terms is empty. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### empty
+- empty: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if this set of suggested terms is empty.
+
+
+---
+
+### firstTerm
+- firstTerm: [SuggestedTerm](dw.suggest.SuggestedTerm.md) `(read-only)`
+ - : This method returns the suggested term which is considered best matching
+ with the original term. See [getTerms()](dw.suggest.SuggestedTerms.md#getterms) for a note on ordering of
+ suggested terms.
+
+
+ **See Also:**
+ - [getOriginalTerm()](dw.suggest.SuggestedTerms.md#getoriginalterm)
+ - [getTerms()](dw.suggest.SuggestedTerms.md#getterms)
+
+
+---
+
+### originalTerm
+- originalTerm: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the original term of the user input, for which this instance
+ provides a list of suggested terms. Suggested terms can either be corrected,
+ or completed or exact matching.
+
+
+
+---
+
+### terms
+- terms: [Iterator](dw.util.Iterator.md) `(read-only)`
+ - : Returns the list of [SuggestedTerm](dw.suggest.SuggestedTerm.md)s suggested for the original term.
+
+ **See Also:**
+ - [getOriginalTerm()](dw.suggest.SuggestedTerms.md#getoriginalterm)
+ - [isEmpty()](dw.suggest.SuggestedTerms.md#isempty)
+
+
+---
+
+## Method Details
+
+### getFirstTerm()
+- getFirstTerm(): [SuggestedTerm](dw.suggest.SuggestedTerm.md)
+ - : This method returns the suggested term which is considered best matching
+ with the original term. See [getTerms()](dw.suggest.SuggestedTerms.md#getterms) for a note on ordering of
+ suggested terms.
+
+
+ **Returns:**
+ - the best matching term
+
+ **See Also:**
+ - [getOriginalTerm()](dw.suggest.SuggestedTerms.md#getoriginalterm)
+ - [getTerms()](dw.suggest.SuggestedTerms.md#getterms)
+
+
+---
+
+### getOriginalTerm()
+- getOriginalTerm(): [String](TopLevel.String.md)
+ - : Returns the original term of the user input, for which this instance
+ provides a list of suggested terms. Suggested terms can either be corrected,
+ or completed or exact matching.
+
+
+ **Returns:**
+ - the original unmodified term of the user input search phrase
+
+
+---
+
+### getTerms()
+- getTerms(): [Iterator](dw.util.Iterator.md)
+ - : Returns the list of [SuggestedTerm](dw.suggest.SuggestedTerm.md)s suggested for the original term.
+
+ **Returns:**
+ - a iterator of suggested terms, might be empty
+
+ **See Also:**
+ - [getOriginalTerm()](dw.suggest.SuggestedTerms.md#getoriginalterm)
+ - [isEmpty()](dw.suggest.SuggestedTerms.md#isempty)
+
+
+---
+
+### isEmpty()
+- isEmpty(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if this set of suggested terms is empty.
+
+ **Returns:**
+ - true if no suggested term is contained in this set, false otherwise
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.Suggestions.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.Suggestions.md
new file mode 100644
index 00000000..eff4053b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.Suggestions.md
@@ -0,0 +1,206 @@
+
+# Class Suggestions
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.suggest.Suggestions](dw.suggest.Suggestions.md)
+
+This is the base class for suggestions containers.
+For each type of items, a sub class provides methods to
+access the actual items.
+
+
+See the sub classes for more specific information.
+
+
+
+## All Known Subclasses
+[BrandSuggestions](dw.suggest.BrandSuggestions.md), [CategorySuggestions](dw.suggest.CategorySuggestions.md), [ContentSuggestions](dw.suggest.ContentSuggestions.md), [CustomSuggestions](dw.suggest.CustomSuggestions.md), [ProductSuggestions](dw.suggest.ProductSuggestions.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [searchPhraseSuggestions](#searchphrasesuggestions): [SearchPhraseSuggestions](dw.suggest.SearchPhraseSuggestions.md) `(read-only)` | Returns the suggested search phrases that are associated to this suggestions. |
+| ~~[suggestedPhrases](#suggestedphrases): [Iterator](dw.util.Iterator.md)~~ `(read-only)` | Returns a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md) objects that relates to the user input search phrase. |
+| ~~[suggestedTerms](#suggestedterms): [Iterator](dw.util.Iterator.md)~~ `(read-only)` | Returns a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) objects. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getSearchPhraseSuggestions](dw.suggest.Suggestions.md#getsearchphrasesuggestions)() | Returns the suggested search phrases that are associated to this suggestions. |
+| ~~[getSuggestedPhrases](dw.suggest.Suggestions.md#getsuggestedphrases)()~~ | Returns a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md) objects that relates to the user input search phrase. |
+| ~~[getSuggestedTerms](dw.suggest.Suggestions.md#getsuggestedterms)()~~ | Returns a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) objects. |
+| ~~[hasSuggestedPhrases](dw.suggest.Suggestions.md#hassuggestedphrases)()~~ | Returns whether this suggestions container has any suggested phrases. |
+| ~~[hasSuggestedTerms](dw.suggest.Suggestions.md#hassuggestedterms)()~~ | Returns whether this suggestions container has any suggested terms. |
+| [hasSuggestions](dw.suggest.Suggestions.md#hassuggestions)() | Returns whether this suggestions container has any suggested items, i.e. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### searchPhraseSuggestions
+- searchPhraseSuggestions: [SearchPhraseSuggestions](dw.suggest.SearchPhraseSuggestions.md) `(read-only)`
+ - : Returns the suggested search phrases that are associated to this suggestions.
+
+
+ In contrast to the suggested items, the suggested phrases contains the corrected and
+ completed versions of the original search phrase.
+
+
+
+---
+
+### suggestedPhrases
+- ~~suggestedPhrases: [Iterator](dw.util.Iterator.md)~~ `(read-only)`
+ - : Returns a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md) objects that relates to the
+ user input search phrase.
+
+
+ **See Also:**
+ - [hasSuggestedPhrases()](dw.suggest.Suggestions.md#hassuggestedphrases)
+
+ **Deprecated:**
+:::warning
+Please use method [getSearchPhraseSuggestions()](dw.suggest.Suggestions.md#getsearchphrasesuggestions) to obtain the suggested search phrases.
+:::
+
+---
+
+### suggestedTerms
+- ~~suggestedTerms: [Iterator](dw.util.Iterator.md)~~ `(read-only)`
+ - : Returns a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) objects. Each of the returned
+ instances represents a set of terms suggested for a particular single term
+ of the user input search phrase.
+
+
+ **Deprecated:**
+:::warning
+Please use method [getSearchPhraseSuggestions()](dw.suggest.Suggestions.md#getsearchphrasesuggestions) to obtain the suggested search phrases.
+:::
+
+---
+
+## Method Details
+
+### getSearchPhraseSuggestions()
+- getSearchPhraseSuggestions(): [SearchPhraseSuggestions](dw.suggest.SearchPhraseSuggestions.md)
+ - : Returns the suggested search phrases that are associated to this suggestions.
+
+
+ In contrast to the suggested items, the suggested phrases contains the corrected and
+ completed versions of the original search phrase.
+
+
+ **Returns:**
+ - the suggested search phrases for this suggestions
+
+
+---
+
+### getSuggestedPhrases()
+- ~~getSuggestedPhrases(): [Iterator](dw.util.Iterator.md)~~
+ - : Returns a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md) objects that relates to the
+ user input search phrase.
+
+
+ **Returns:**
+ - a list of [SuggestedPhrase](dw.suggest.SuggestedPhrase.md)s
+
+ **See Also:**
+ - [hasSuggestedPhrases()](dw.suggest.Suggestions.md#hassuggestedphrases)
+
+ **Deprecated:**
+:::warning
+Please use method [getSearchPhraseSuggestions()](dw.suggest.Suggestions.md#getsearchphrasesuggestions) to obtain the suggested search phrases.
+:::
+
+---
+
+### getSuggestedTerms()
+- ~~getSuggestedTerms(): [Iterator](dw.util.Iterator.md)~~
+ - : Returns a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) objects. Each of the returned
+ instances represents a set of terms suggested for a particular single term
+ of the user input search phrase.
+
+
+ **Returns:**
+ - a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md) for each term of the user input search phrase
+
+ **Deprecated:**
+:::warning
+Please use method [getSearchPhraseSuggestions()](dw.suggest.Suggestions.md#getsearchphrasesuggestions) to obtain the suggested search phrases.
+:::
+
+---
+
+### hasSuggestedPhrases()
+- ~~hasSuggestedPhrases(): [Boolean](TopLevel.Boolean.md)~~
+ - : Returns whether this suggestions container has any suggested phrases.
+
+
+ Note that this method only looks for suggested phrases. It does not account
+ for suggested terms or suggested objects. In other words,
+ even if there are suggested terms or objects, this method
+ will return false if this suggestions container has no phrases.
+
+
+ **Returns:**
+ - true only if there are phrases available
+
+ **Deprecated:**
+:::warning
+Please use method [getSearchPhraseSuggestions()](dw.suggest.Suggestions.md#getsearchphrasesuggestions) to obtain the suggested search phrases.
+:::
+
+---
+
+### hasSuggestedTerms()
+- ~~hasSuggestedTerms(): [Boolean](TopLevel.Boolean.md)~~
+ - : Returns whether this suggestions container has any suggested terms.
+
+
+ Note that this method checks suggested terms only,
+ but not suggested phrases or suggested objects.
+
+
+ **Returns:**
+ - true only if there are terms available
+
+ **Deprecated:**
+:::warning
+Please use method [getSearchPhraseSuggestions()](dw.suggest.Suggestions.md#getsearchphrasesuggestions) to obtain the suggested search phrases.
+:::
+
+---
+
+### hasSuggestions()
+- hasSuggestions(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether this suggestions container has any suggested items, i.e. products.
+
+
+ Note that this method only looks for concrete suggested items. It does not account
+ for suggested terms. In other words, even if there are suggested terms, this method
+ will return false if no matching items, like products or categories, were found
+ for the suggested terms.
+
+
+ To find out whether there are suggested terms and how they match with respect to
+ the original search phrase, one can use [getSuggestedTerms()](dw.suggest.Suggestions.md#getsuggestedterms) to obtain
+ a list of [SuggestedTerms](dw.suggest.SuggestedTerms.md).
+
+
+ **Returns:**
+ - true only if there are items found using the suggested terms
+
+ **See Also:**
+ - [getSuggestedTerms()](dw.suggest.Suggestions.md#getsuggestedterms)
+ - [SuggestedTerms.isEmpty()](dw.suggest.SuggestedTerms.md#isempty)
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.suggest.md b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.md
new file mode 100644
index 00000000..0bc07023
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.suggest.md
@@ -0,0 +1,19 @@
+# Package dw.suggest
+
+## Classes
+| Class | Description |
+| --- | --- |
+| [BrandSuggestions](dw.suggest.BrandSuggestions.md) | The brands suggestion container provides access to brands found using the suggested terms. |
+| [CategorySuggestions](dw.suggest.CategorySuggestions.md) | The category suggestion container provides access to categories found using the suggested terms as search criteria. |
+| [ContentSuggestions](dw.suggest.ContentSuggestions.md) | The content suggestion container provides access to content pages found using the suggested terms as search criteria. |
+| [CustomSuggestions](dw.suggest.CustomSuggestions.md) | The custom suggestion container provides access to merchant provided search phrases found using the suggested terms as search criteria. |
+| [ProductSuggestions](dw.suggest.ProductSuggestions.md) | The product suggestion container provides access to products found using the suggested terms. |
+| [SearchPhraseSuggestions](dw.suggest.SearchPhraseSuggestions.md) | The search phrase suggestions contain a list of suggested search phrases (see [SuggestedPhrase](dw.suggest.SuggestedPhrase.md)) as well as, for each of the search phrase terms, a list with corrected and completed alternative terms. |
+| [SuggestedCategory](dw.suggest.SuggestedCategory.md) | This class represents a suggested catalog category. |
+| [SuggestedContent](dw.suggest.SuggestedContent.md) | This class represents a suggested content page. |
+| [SuggestedPhrase](dw.suggest.SuggestedPhrase.md) | This class represents a suggested phrase. |
+| [SuggestedProduct](dw.suggest.SuggestedProduct.md) | This class represents a suggested product. |
+| [SuggestedTerm](dw.suggest.SuggestedTerm.md) | A single suggested term. |
+| [SuggestedTerms](dw.suggest.SuggestedTerms.md) | This container represents a list of suggested terms, all belonging to a particular single original term of the users input search phrase. |
+| [Suggestions](dw.suggest.Suggestions.md) | This is the base class for suggestions containers. |
+| [SuggestModel](dw.suggest.SuggestModel.md) | The Suggest model provides methods and functions to access search suggestions. |
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.svc.FTPService.md b/packages/b2c-tooling-sdk/data/script-api/dw.svc.FTPService.md
new file mode 100644
index 00000000..fd2ea1d1
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.svc.FTPService.md
@@ -0,0 +1,140 @@
+
+# Class FTPService
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.svc.Service](dw.svc.Service.md)
+ - [dw.svc.FTPService](dw.svc.FTPService.md)
+
+Represents an FTP or SFTP Service.
+
+
+There are two basic styles of configuration for this service.
+
+
+In the first style, `createRequest` is implemented to call the setOperation method on the Service. This
+will cause the single operation to be performed and returned as the data object in the `parseResponse`
+method. Any error status is set automatically based on the returned value of the operation.
+
+
+In the second style, `execute` is implemented to perform one or more operations using the serviceClient
+available on the Service object. This serviceClient will be either an [FTPClient](dw.net.FTPClient.md) or an
+[SFTPClient](dw.net.SFTPClient.md). The return value of execute will be passed as the data object in the
+`parseResponse` method.
+
+
+Note that the use of the FTP client is deprecated, and SFTP should be used instead.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [autoDisconnect](#autodisconnect): [Boolean](TopLevel.Boolean.md) | Returns the status of whether the underlying FTP connection will be disconnected after the service call. |
+| [client](#client): [Object](TopLevel.Object.md) `(read-only)` | Returns the underlying client object. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getClient](dw.svc.FTPService.md#getclient)() | Returns the underlying client object. |
+| [isAutoDisconnect](dw.svc.FTPService.md#isautodisconnect)() | Returns the status of whether the underlying FTP connection will be disconnected after the service call. |
+| [setAutoDisconnect](dw.svc.FTPService.md#setautodisconnectboolean)([Boolean](TopLevel.Boolean.md)) | Sets the auto-disconnect flag. |
+| [setOperation](dw.svc.FTPService.md#setoperationstring-object)([String](TopLevel.String.md), [Object...](TopLevel.Object.md)) | Sets a single operation to perform during the execute phase of the service. |
+
+### Methods inherited from class Service
+
+[call](dw.svc.Service.md#callobject), [getConfiguration](dw.svc.Service.md#getconfiguration), [getCredentialID](dw.svc.Service.md#getcredentialid), [getRequestData](dw.svc.Service.md#getrequestdata), [getResponse](dw.svc.Service.md#getresponse), [getURL](dw.svc.Service.md#geturl), [isMock](dw.svc.Service.md#ismock), [isThrowOnError](dw.svc.Service.md#isthrowonerror), [setCredentialID](dw.svc.Service.md#setcredentialidstring), [setMock](dw.svc.Service.md#setmock), [setThrowOnError](dw.svc.Service.md#setthrowonerror), [setURL](dw.svc.Service.md#seturlstring)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### autoDisconnect
+- autoDisconnect: [Boolean](TopLevel.Boolean.md)
+ - : Returns the status of whether the underlying FTP connection will be disconnected after the service call.
+
+
+---
+
+### client
+- client: [Object](TopLevel.Object.md) `(read-only)`
+ - : Returns the underlying client object.
+
+
+ This is either an [FTPClient](dw.net.FTPClient.md) or [SFTPClient](dw.net.SFTPClient.md), depending on the protocol.
+
+
+
+---
+
+## Method Details
+
+### getClient()
+- getClient(): [Object](TopLevel.Object.md)
+ - : Returns the underlying client object.
+
+
+ This is either an [FTPClient](dw.net.FTPClient.md) or [SFTPClient](dw.net.SFTPClient.md), depending on the protocol.
+
+
+ **Returns:**
+ - (S)FTP Client object.
+
+
+---
+
+### isAutoDisconnect()
+- isAutoDisconnect(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the status of whether the underlying FTP connection will be disconnected after the service call.
+
+ **Returns:**
+ - The auto-disconnect flag.
+
+
+---
+
+### setAutoDisconnect(Boolean)
+- setAutoDisconnect(b: [Boolean](TopLevel.Boolean.md)): [FTPService](dw.svc.FTPService.md)
+ - : Sets the auto-disconnect flag.
+
+
+ If true, the underlying FTP connection will be disconnected after the service call. If false then it will remain
+ open. The default value is true.
+
+
+ **Parameters:**
+ - b - true to enable auto-disconnect, false otherwise.
+
+ **Returns:**
+ - this FTP or SFTP Service.
+
+
+---
+
+### setOperation(String, Object...)
+- setOperation(name: [String](TopLevel.String.md), args: [Object...](TopLevel.Object.md)): [FTPService](dw.svc.FTPService.md)
+ - : Sets a single operation to perform during the execute phase of the service.
+
+
+ The given arguments make up a method name and arguments on the underlying [getClient()](dw.svc.FTPService.md#getclient) object. This
+ method will be invoked during execution, with the result passed into the callback's parseResponse method.
+
+
+ This is required unless the callback defines an execute method.
+
+
+ **Parameters:**
+ - name - Method name.
+ - args - Method arguments.
+
+ **Returns:**
+ - this FTP or SFTP Service.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.svc.FTPServiceDefinition.md b/packages/b2c-tooling-sdk/data/script-api/dw.svc.FTPServiceDefinition.md
new file mode 100644
index 00000000..d706a2ee
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.svc.FTPServiceDefinition.md
@@ -0,0 +1,97 @@
+
+# Class FTPServiceDefinition
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.svc.ServiceDefinition](dw.svc.ServiceDefinition.md)
+ - [dw.svc.FTPServiceDefinition](dw.svc.FTPServiceDefinition.md)
+
+Represents an FTP or SFTP Service Definition.
+
+
+There are two basic styles of configuration for this service.
+
+
+In the first style, `createRequest` is implemented to call the setOperation method on the Service. This
+will cause the single operation to be performed and returned as the data object in the `parseResponse`
+method. Any error status is set automatically based on the returned value of the operation.
+
+
+In the second style, `execute` is implemented to perform one or more operations using the serviceClient
+available on the Service object. This serviceClient will be either an [FTPClient](dw.net.FTPClient.md) or an
+[SFTPClient](dw.net.SFTPClient.md). The return value of execute will be passed as the data object in the
+`parseResponse` method.
+
+
+**Deprecated:**
+:::warning
+This class is only used with the deprecated [ServiceRegistry](dw.svc.ServiceRegistry.md). Use the [LocalServiceRegistry](dw.svc.LocalServiceRegistry.md)
+ instead, which allows configuration on the [FTPService](dw.svc.FTPService.md) directly.
+
+:::
+**API Version:**
+:::note
+No longer available as of version 19.10.
+:::
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [autoDisconnect](#autodisconnect): [Boolean](TopLevel.Boolean.md) | Returns the status of whether the underlying FTP connection will be disconnected after the service call. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [isAutoDisconnect](dw.svc.FTPServiceDefinition.md#isautodisconnect)() | Returns the status of whether the underlying FTP connection will be disconnected after the service call. |
+| [setAutoDisconnect](dw.svc.FTPServiceDefinition.md#setautodisconnectboolean)([Boolean](TopLevel.Boolean.md)) | Sets the auto-disconnect flag. |
+
+### Methods inherited from class ServiceDefinition
+
+[configure](dw.svc.ServiceDefinition.md#configureobject), [getConfiguration](dw.svc.ServiceDefinition.md#getconfiguration), [getServiceName](dw.svc.ServiceDefinition.md#getservicename), [isMock](dw.svc.ServiceDefinition.md#ismock), [isThrowOnError](dw.svc.ServiceDefinition.md#isthrowonerror), [setMock](dw.svc.ServiceDefinition.md#setmock), [setThrowOnError](dw.svc.ServiceDefinition.md#setthrowonerror)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### autoDisconnect
+- autoDisconnect: [Boolean](TopLevel.Boolean.md)
+ - : Returns the status of whether the underlying FTP connection will be disconnected after the service call.
+
+
+---
+
+## Method Details
+
+### isAutoDisconnect()
+- isAutoDisconnect(): [Boolean](TopLevel.Boolean.md)
+ - : Returns the status of whether the underlying FTP connection will be disconnected after the service call.
+
+ **Returns:**
+ - The auto-disconnect flag.
+
+
+---
+
+### setAutoDisconnect(Boolean)
+- setAutoDisconnect(b: [Boolean](TopLevel.Boolean.md)): [FTPServiceDefinition](dw.svc.FTPServiceDefinition.md)
+ - : Sets the auto-disconnect flag.
+
+
+ If true, the underlying FTP connection will be disconnected after the service call. If false then it will remain
+ open. The default value is true.
+
+
+ **Parameters:**
+ - b - true to enable auto-disconnect, false otherwise.
+
+ **Returns:**
+ - this FTP or SFTP Service Definition.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPFormService.md b/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPFormService.md
new file mode 100644
index 00000000..d9b42b22
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPFormService.md
@@ -0,0 +1,32 @@
+
+# Class HTTPFormService
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.svc.Service](dw.svc.Service.md)
+ - [dw.svc.HTTPService](dw.svc.HTTPService.md)
+ - [dw.svc.HTTPFormService](dw.svc.HTTPFormService.md)
+
+Represents an HTTP Form POST Service.
+
+
+All arguments passed to the [call](dw.svc.Service.md#callobject) method will be URL-encoded and set as name/value
+pairs in the HTTP request body. The HTTP request will be a POST with a content-type of
+`application/x-www-form-urlencoded`.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class HTTPService
+
+[addHeader](dw.svc.HTTPService.md#addheaderstring-string), [addParam](dw.svc.HTTPService.md#addparamstring-string), [getAuthentication](dw.svc.HTTPService.md#getauthentication), [getCachingTTL](dw.svc.HTTPService.md#getcachingttl), [getClient](dw.svc.HTTPService.md#getclient), [getEncoding](dw.svc.HTTPService.md#getencoding), [getHostNameVerification](dw.svc.HTTPService.md#gethostnameverification), [getIdentity](dw.svc.HTTPService.md#getidentity), [getOutFile](dw.svc.HTTPService.md#getoutfile), [getRequestMethod](dw.svc.HTTPService.md#getrequestmethod), [setAuthentication](dw.svc.HTTPService.md#setauthenticationstring), [setCachingTTL](dw.svc.HTTPService.md#setcachingttlnumber), [setEncoding](dw.svc.HTTPService.md#setencodingstring), [setHostNameVerification](dw.svc.HTTPService.md#sethostnameverificationboolean), [setIdentity](dw.svc.HTTPService.md#setidentitykeyref), [setOutFile](dw.svc.HTTPService.md#setoutfilefile), [setRequestMethod](dw.svc.HTTPService.md#setrequestmethodstring)
+### Methods inherited from class Service
+
+[call](dw.svc.Service.md#callobject), [getConfiguration](dw.svc.Service.md#getconfiguration), [getCredentialID](dw.svc.Service.md#getcredentialid), [getRequestData](dw.svc.Service.md#getrequestdata), [getResponse](dw.svc.Service.md#getresponse), [getURL](dw.svc.Service.md#geturl), [isMock](dw.svc.Service.md#ismock), [isThrowOnError](dw.svc.Service.md#isthrowonerror), [setCredentialID](dw.svc.Service.md#setcredentialidstring), [setMock](dw.svc.Service.md#setmock), [setThrowOnError](dw.svc.Service.md#setthrowonerror), [setURL](dw.svc.Service.md#seturlstring)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPFormServiceDefinition.md b/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPFormServiceDefinition.md
new file mode 100644
index 00000000..0ad14f17
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPFormServiceDefinition.md
@@ -0,0 +1,36 @@
+
+# Class HTTPFormServiceDefinition
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.svc.ServiceDefinition](dw.svc.ServiceDefinition.md)
+ - [dw.svc.HTTPServiceDefinition](dw.svc.HTTPServiceDefinition.md)
+ - [dw.svc.HTTPFormServiceDefinition](dw.svc.HTTPFormServiceDefinition.md)
+
+Represents an HTTP Form POST Service Definition.
+
+**Deprecated:**
+:::warning
+This class is only used with the deprecated [ServiceRegistry](dw.svc.ServiceRegistry.md). Use the [LocalServiceRegistry](dw.svc.LocalServiceRegistry.md)
+ instead, which allows configuration on the [HTTPFormService](dw.svc.HTTPFormService.md) directly.
+
+:::
+**API Version:**
+:::note
+No longer available as of version 19.10.
+:::
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+### Methods inherited from class HTTPServiceDefinition
+
+[addHeader](dw.svc.HTTPServiceDefinition.md#addheaderstring-string), [addParam](dw.svc.HTTPServiceDefinition.md#addparamstring-string), [getAuthentication](dw.svc.HTTPServiceDefinition.md#getauthentication), [getCachingTTL](dw.svc.HTTPServiceDefinition.md#getcachingttl), [getEncoding](dw.svc.HTTPServiceDefinition.md#getencoding), [getOutFile](dw.svc.HTTPServiceDefinition.md#getoutfile), [getRequestMethod](dw.svc.HTTPServiceDefinition.md#getrequestmethod), [setAuthentication](dw.svc.HTTPServiceDefinition.md#setauthenticationstring), [setCachingTTL](dw.svc.HTTPServiceDefinition.md#setcachingttlnumber), [setEncoding](dw.svc.HTTPServiceDefinition.md#setencodingstring), [setOutFile](dw.svc.HTTPServiceDefinition.md#setoutfilefile), [setRequestMethod](dw.svc.HTTPServiceDefinition.md#setrequestmethodstring)
+### Methods inherited from class ServiceDefinition
+
+[configure](dw.svc.ServiceDefinition.md#configureobject), [getConfiguration](dw.svc.ServiceDefinition.md#getconfiguration), [getServiceName](dw.svc.ServiceDefinition.md#getservicename), [isMock](dw.svc.ServiceDefinition.md#ismock), [isThrowOnError](dw.svc.ServiceDefinition.md#isthrowonerror), [setMock](dw.svc.ServiceDefinition.md#setmock), [setThrowOnError](dw.svc.ServiceDefinition.md#setthrowonerror)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPService.md b/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPService.md
new file mode 100644
index 00000000..556451a9
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPService.md
@@ -0,0 +1,370 @@
+
+# Class HTTPService
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.svc.Service](dw.svc.Service.md)
+ - [dw.svc.HTTPService](dw.svc.HTTPService.md)
+
+Represents an HTTP Service.
+
+
+The HTTP Service will use the return value of the createRequest callback as the request body (if supported by the
+HTTP method). If this is an array of non-null [HTTPRequestPart](dw.net.HTTPRequestPart.md) objects, then a multi-part request will
+be formed. Otherwise the object is converted to a String and used.
+
+
+See also [XML.toXMLString()](TopLevel.XML.md#toxmlstring) and [JSON.stringify(Object)](TopLevel.JSON.md#stringifyobject), which must be
+explicitly called if needed.
+
+
+
+## All Known Subclasses
+[HTTPFormService](dw.svc.HTTPFormService.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [authentication](#authentication): [String](TopLevel.String.md) | Returns the authentication type. |
+| [cachingTTL](#cachingttl): [Number](TopLevel.Number.md) | Returns the caching time to live value. |
+| [client](#client): [HTTPClient](dw.net.HTTPClient.md) `(read-only)` | Returns the underlying HTTP client object. |
+| [encoding](#encoding): [String](TopLevel.String.md) | Returns the request body encoding to declare. |
+| [hostNameVerification](#hostnameverification): [Boolean](TopLevel.Boolean.md) | Determines whether host name verification is enabled. |
+| [identity](#identity): [KeyRef](dw.crypto.KeyRef.md) | Gets the identity used for mutual TLS (mTLS). |
+| [outFile](#outfile): [File](dw.io.File.md) | Returns the output file, or null if there is none. |
+| [requestMethod](#requestmethod): [String](TopLevel.String.md) | Returns the request method. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addHeader](dw.svc.HTTPService.md#addheaderstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Adds an HTTP Header. |
+| [addParam](dw.svc.HTTPService.md#addparamstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Adds a query parameter that will be appended to the URL. |
+| [getAuthentication](dw.svc.HTTPService.md#getauthentication)() | Returns the authentication type. |
+| [getCachingTTL](dw.svc.HTTPService.md#getcachingttl)() | Returns the caching time to live value. |
+| [getClient](dw.svc.HTTPService.md#getclient)() | Returns the underlying HTTP client object. |
+| [getEncoding](dw.svc.HTTPService.md#getencoding)() | Returns the request body encoding to declare. |
+| [getHostNameVerification](dw.svc.HTTPService.md#gethostnameverification)() | Determines whether host name verification is enabled. |
+| [getIdentity](dw.svc.HTTPService.md#getidentity)() | Gets the identity used for mutual TLS (mTLS). |
+| [getOutFile](dw.svc.HTTPService.md#getoutfile)() | Returns the output file, or null if there is none. |
+| [getRequestMethod](dw.svc.HTTPService.md#getrequestmethod)() | Returns the request method. |
+| [setAuthentication](dw.svc.HTTPService.md#setauthenticationstring)([String](TopLevel.String.md)) | Sets the type of authentication. |
+| [setCachingTTL](dw.svc.HTTPService.md#setcachingttlnumber)([Number](TopLevel.Number.md)) | Enables caching for GET requests. |
+| [setEncoding](dw.svc.HTTPService.md#setencodingstring)([String](TopLevel.String.md)) | Sets the encoding of the request body (if any). |
+| [setHostNameVerification](dw.svc.HTTPService.md#sethostnameverificationboolean)([Boolean](TopLevel.Boolean.md)) | Sets whether certificate host name verification is enabled. |
+| [setIdentity](dw.svc.HTTPService.md#setidentitykeyref)([KeyRef](dw.crypto.KeyRef.md)) | Sets the identity (private key) to use when mutual TLS (mTLS) is configured. |
+| [setOutFile](dw.svc.HTTPService.md#setoutfilefile)([File](dw.io.File.md)) | Sets the output file in which to write the HTTP response body. |
+| [setRequestMethod](dw.svc.HTTPService.md#setrequestmethodstring)([String](TopLevel.String.md)) | Sets the HTTP request method. |
+
+### Methods inherited from class Service
+
+[call](dw.svc.Service.md#callobject), [getConfiguration](dw.svc.Service.md#getconfiguration), [getCredentialID](dw.svc.Service.md#getcredentialid), [getRequestData](dw.svc.Service.md#getrequestdata), [getResponse](dw.svc.Service.md#getresponse), [getURL](dw.svc.Service.md#geturl), [isMock](dw.svc.Service.md#ismock), [isThrowOnError](dw.svc.Service.md#isthrowonerror), [setCredentialID](dw.svc.Service.md#setcredentialidstring), [setMock](dw.svc.Service.md#setmock), [setThrowOnError](dw.svc.Service.md#setthrowonerror), [setURL](dw.svc.Service.md#seturlstring)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### authentication
+- authentication: [String](TopLevel.String.md)
+ - : Returns the authentication type.
+
+
+---
+
+### cachingTTL
+- cachingTTL: [Number](TopLevel.Number.md)
+ - : Returns the caching time to live value.
+
+ **See Also:**
+ - [setCachingTTL(Number)](dw.svc.HTTPService.md#setcachingttlnumber)
+
+
+---
+
+### client
+- client: [HTTPClient](dw.net.HTTPClient.md) `(read-only)`
+ - : Returns the underlying HTTP client object.
+
+
+---
+
+### encoding
+- encoding: [String](TopLevel.String.md)
+ - : Returns the request body encoding to declare.
+
+
+---
+
+### hostNameVerification
+- hostNameVerification: [Boolean](TopLevel.Boolean.md)
+ - : Determines whether host name verification is enabled.
+
+
+---
+
+### identity
+- identity: [KeyRef](dw.crypto.KeyRef.md)
+ - : Gets the identity used for mutual TLS (mTLS).
+
+
+---
+
+### outFile
+- outFile: [File](dw.io.File.md)
+ - : Returns the output file, or null if there is none.
+
+
+---
+
+### requestMethod
+- requestMethod: [String](TopLevel.String.md)
+ - : Returns the request method.
+
+
+---
+
+## Method Details
+
+### addHeader(String, String)
+- addHeader(name: [String](TopLevel.String.md), val: [String](TopLevel.String.md)): [HTTPService](dw.svc.HTTPService.md)
+ - : Adds an HTTP Header.
+
+ **Parameters:**
+ - name - Header name.
+ - val - Header value.
+
+ **Returns:**
+ - this HTTP Service.
+
+
+---
+
+### addParam(String, String)
+- addParam(name: [String](TopLevel.String.md), val: [String](TopLevel.String.md)): [HTTPService](dw.svc.HTTPService.md)
+ - : Adds a query parameter that will be appended to the URL.
+
+ **Parameters:**
+ - name - Parameter name.
+ - val - Parameter value.
+
+ **Returns:**
+ - this HTTP Service.
+
+
+---
+
+### getAuthentication()
+- getAuthentication(): [String](TopLevel.String.md)
+ - : Returns the authentication type.
+
+ **Returns:**
+ - Authentication type.
+
+
+---
+
+### getCachingTTL()
+- getCachingTTL(): [Number](TopLevel.Number.md)
+ - : Returns the caching time to live value.
+
+ **Returns:**
+ - The caching time to live value in seconds.
+
+ **See Also:**
+ - [setCachingTTL(Number)](dw.svc.HTTPService.md#setcachingttlnumber)
+
+
+---
+
+### getClient()
+- getClient(): [HTTPClient](dw.net.HTTPClient.md)
+ - : Returns the underlying HTTP client object.
+
+ **Returns:**
+ - HTTP client object.
+
+
+---
+
+### getEncoding()
+- getEncoding(): [String](TopLevel.String.md)
+ - : Returns the request body encoding to declare.
+
+ **Returns:**
+ - Request encoding.
+
+
+---
+
+### getHostNameVerification()
+- getHostNameVerification(): [Boolean](TopLevel.Boolean.md)
+ - : Determines whether host name verification is enabled.
+
+ **Returns:**
+ - true if verification is enabled, false otherwise
+
+
+---
+
+### getIdentity()
+- getIdentity(): [KeyRef](dw.crypto.KeyRef.md)
+ - : Gets the identity used for mutual TLS (mTLS).
+
+ **Returns:**
+ - Reference to the private key, or null if not configured
+
+
+---
+
+### getOutFile()
+- getOutFile(): [File](dw.io.File.md)
+ - : Returns the output file, or null if there is none.
+
+ **Returns:**
+ - Output file or null.
+
+
+---
+
+### getRequestMethod()
+- getRequestMethod(): [String](TopLevel.String.md)
+ - : Returns the request method.
+
+ **Returns:**
+ - HTTP Request method.
+
+
+---
+
+### setAuthentication(String)
+- setAuthentication(authentication: [String](TopLevel.String.md)): [HTTPService](dw.svc.HTTPService.md)
+ - : Sets the type of authentication. Valid values include "BASIC" and "NONE".
+
+
+ The default value is BASIC.
+
+
+ **Parameters:**
+ - authentication - Type of authentication.
+
+ **Returns:**
+ - this HTTP Service.
+
+
+---
+
+### setCachingTTL(Number)
+- setCachingTTL(ttl: [Number](TopLevel.Number.md)): [HTTPService](dw.svc.HTTPService.md)
+ - : Enables caching for GET requests.
+
+
+ This only caches status codes 2xx with a content length and size of less than 50k that are not immediately
+ written to file. The URL and the user name are used as cache keys. The total size of cacheable content and the
+ number of cached items is limited and automatically managed by the system.
+
+
+ Cache control information sent by the remote server is ignored.
+
+
+ Caching HTTP responses should be done very carefully. It is important to ensure that the response really depends
+ only on the URL and doesn't contain any remote state information or time information which is independent of the
+ URL. It is also important to verify that the application sends exactly the same URL multiple times.
+
+
+ **Parameters:**
+ - ttl - The time to live for the cached content in seconds. A value of 0 disables caching.
+
+ **See Also:**
+ - [HTTPClient.enableCaching(Number)](dw.net.HTTPClient.md#enablecachingnumber)
+
+
+---
+
+### setEncoding(String)
+- setEncoding(encoding: [String](TopLevel.String.md)): [HTTPService](dw.svc.HTTPService.md)
+ - : Sets the encoding of the request body (if any).
+
+
+ The default value is UTF-8.
+
+
+ **Parameters:**
+ - encoding - Encoding of the request body.
+
+ **Returns:**
+ - this HTTP Service.
+
+
+---
+
+### setHostNameVerification(Boolean)
+- setHostNameVerification(enable: [Boolean](TopLevel.Boolean.md)): [HTTPService](dw.svc.HTTPService.md)
+ - : Sets whether certificate host name verification is enabled.
+ The default value is true. Set it to false to disable host name verification.
+
+
+ **Parameters:**
+ - enable - true to enable host name verification or false to disable it.
+
+ **Returns:**
+ - this HTTP Service.
+
+
+---
+
+### setIdentity(KeyRef)
+- setIdentity(keyRef: [KeyRef](dw.crypto.KeyRef.md)): [HTTPService](dw.svc.HTTPService.md)
+ - : Sets the identity (private key) to use when mutual TLS (mTLS) is configured.
+
+
+ If this is not set and mTLS is used then the private key will be chosen from the key store based on the host
+ name.
+ If this is set to a reference named "\_\_NONE\_\_" then no private key will be used even if one is requested by the remote server.
+
+
+ **Parameters:**
+ - keyRef - Reference to the private key
+
+
+---
+
+### setOutFile(File)
+- setOutFile(outFile: [File](dw.io.File.md)): [HTTPService](dw.svc.HTTPService.md)
+ - : Sets the output file in which to write the HTTP response body.
+
+
+ The default behavior is to not write a file.
+
+
+ **Parameters:**
+ - outFile - Output file, or null to disable.
+
+ **Returns:**
+ - this HTTP Service.
+
+
+---
+
+### setRequestMethod(String)
+- setRequestMethod(requestMethod: [String](TopLevel.String.md)): [HTTPService](dw.svc.HTTPService.md)
+ - : Sets the HTTP request method.
+
+
+ Valid values include GET, PUT, POST, and DELETE.
+
+
+ The default value is POST.
+
+
+ **Parameters:**
+ - requestMethod - HTTP request method.
+
+ **Returns:**
+ - this HTTP Service.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPServiceDefinition.md b/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPServiceDefinition.md
new file mode 100644
index 00000000..51855571
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.svc.HTTPServiceDefinition.md
@@ -0,0 +1,290 @@
+
+# Class HTTPServiceDefinition
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.svc.ServiceDefinition](dw.svc.ServiceDefinition.md)
+ - [dw.svc.HTTPServiceDefinition](dw.svc.HTTPServiceDefinition.md)
+
+Represents an HTTP Service Definition.
+
+
+The HTTP Service will use the return value of the createRequest callback as the request body (if supported by the
+HTTP method). If this is an array of non-null [HTTPRequestPart](dw.net.HTTPRequestPart.md) objects, then a multi-part request will
+be formed. Otherwise the object is converted to a String and used.
+
+
+See also [XML.toXMLString()](TopLevel.XML.md#toxmlstring) and [JSON.stringify(Object)](TopLevel.JSON.md#stringifyobject), which must be
+explicitly called if needed.
+
+
+**Deprecated:**
+:::warning
+This class is only used with the deprecated [ServiceRegistry](dw.svc.ServiceRegistry.md). Use the [LocalServiceRegistry](dw.svc.LocalServiceRegistry.md)
+ instead, which allows configuration on the [HTTPService](dw.svc.HTTPService.md) directly.
+
+:::
+**API Version:**
+:::note
+No longer available as of version 19.10.
+:::
+
+## All Known Subclasses
+[HTTPFormServiceDefinition](dw.svc.HTTPFormServiceDefinition.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [authentication](#authentication): [String](TopLevel.String.md) | Returns the authentication type. |
+| [cachingTTL](#cachingttl): [Number](TopLevel.Number.md) | Returns the caching time to live value. |
+| [encoding](#encoding): [String](TopLevel.String.md) | Returns the request body encoding to declare. |
+| [outFile](#outfile): [File](dw.io.File.md) | Returns the output file, or null if there is none. |
+| [requestMethod](#requestmethod): [String](TopLevel.String.md) | Returns the request method. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addHeader](dw.svc.HTTPServiceDefinition.md#addheaderstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Adds an HTTP Header. |
+| [addParam](dw.svc.HTTPServiceDefinition.md#addparamstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Adds a query parameter that will be appended to the URL. |
+| [getAuthentication](dw.svc.HTTPServiceDefinition.md#getauthentication)() | Returns the authentication type. |
+| [getCachingTTL](dw.svc.HTTPServiceDefinition.md#getcachingttl)() | Returns the caching time to live value. |
+| [getEncoding](dw.svc.HTTPServiceDefinition.md#getencoding)() | Returns the request body encoding to declare. |
+| [getOutFile](dw.svc.HTTPServiceDefinition.md#getoutfile)() | Returns the output file, or null if there is none. |
+| [getRequestMethod](dw.svc.HTTPServiceDefinition.md#getrequestmethod)() | Returns the request method. |
+| [setAuthentication](dw.svc.HTTPServiceDefinition.md#setauthenticationstring)([String](TopLevel.String.md)) | Sets the type of authentication. |
+| [setCachingTTL](dw.svc.HTTPServiceDefinition.md#setcachingttlnumber)([Number](TopLevel.Number.md)) | Enables caching for GET requests. |
+| [setEncoding](dw.svc.HTTPServiceDefinition.md#setencodingstring)([String](TopLevel.String.md)) | Sets the encoding of the request body (if any). |
+| [setOutFile](dw.svc.HTTPServiceDefinition.md#setoutfilefile)([File](dw.io.File.md)) | Sets the output file in which to write the HTTP response body. |
+| [setRequestMethod](dw.svc.HTTPServiceDefinition.md#setrequestmethodstring)([String](TopLevel.String.md)) | Sets the HTTP request method. |
+
+### Methods inherited from class ServiceDefinition
+
+[configure](dw.svc.ServiceDefinition.md#configureobject), [getConfiguration](dw.svc.ServiceDefinition.md#getconfiguration), [getServiceName](dw.svc.ServiceDefinition.md#getservicename), [isMock](dw.svc.ServiceDefinition.md#ismock), [isThrowOnError](dw.svc.ServiceDefinition.md#isthrowonerror), [setMock](dw.svc.ServiceDefinition.md#setmock), [setThrowOnError](dw.svc.ServiceDefinition.md#setthrowonerror)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### authentication
+- authentication: [String](TopLevel.String.md)
+ - : Returns the authentication type.
+
+
+---
+
+### cachingTTL
+- cachingTTL: [Number](TopLevel.Number.md)
+ - : Returns the caching time to live value.
+
+ **See Also:**
+ - [setCachingTTL(Number)](dw.svc.HTTPServiceDefinition.md#setcachingttlnumber)
+
+
+---
+
+### encoding
+- encoding: [String](TopLevel.String.md)
+ - : Returns the request body encoding to declare.
+
+
+---
+
+### outFile
+- outFile: [File](dw.io.File.md)
+ - : Returns the output file, or null if there is none.
+
+
+---
+
+### requestMethod
+- requestMethod: [String](TopLevel.String.md)
+ - : Returns the request method.
+
+
+---
+
+## Method Details
+
+### addHeader(String, String)
+- addHeader(name: [String](TopLevel.String.md), val: [String](TopLevel.String.md)): [HTTPServiceDefinition](dw.svc.HTTPServiceDefinition.md)
+ - : Adds an HTTP Header.
+
+ **Parameters:**
+ - name - Header name.
+ - val - Header value.
+
+ **Returns:**
+ - this HTTP Service Definition.
+
+
+---
+
+### addParam(String, String)
+- addParam(name: [String](TopLevel.String.md), val: [String](TopLevel.String.md)): [HTTPServiceDefinition](dw.svc.HTTPServiceDefinition.md)
+ - : Adds a query parameter that will be appended to the URL.
+
+ **Parameters:**
+ - name - Parameter name.
+ - val - Parameter value.
+
+ **Returns:**
+ - this HTTP Service Definition.
+
+
+---
+
+### getAuthentication()
+- getAuthentication(): [String](TopLevel.String.md)
+ - : Returns the authentication type.
+
+ **Returns:**
+ - Authentication type.
+
+
+---
+
+### getCachingTTL()
+- getCachingTTL(): [Number](TopLevel.Number.md)
+ - : Returns the caching time to live value.
+
+ **Returns:**
+ - The caching time to live value in seconds.
+
+ **See Also:**
+ - [setCachingTTL(Number)](dw.svc.HTTPServiceDefinition.md#setcachingttlnumber)
+
+
+---
+
+### getEncoding()
+- getEncoding(): [String](TopLevel.String.md)
+ - : Returns the request body encoding to declare.
+
+ **Returns:**
+ - Request encoding.
+
+
+---
+
+### getOutFile()
+- getOutFile(): [File](dw.io.File.md)
+ - : Returns the output file, or null if there is none.
+
+ **Returns:**
+ - Output file or null.
+
+
+---
+
+### getRequestMethod()
+- getRequestMethod(): [String](TopLevel.String.md)
+ - : Returns the request method.
+
+ **Returns:**
+ - HTTP Request method.
+
+
+---
+
+### setAuthentication(String)
+- setAuthentication(authentication: [String](TopLevel.String.md)): [HTTPServiceDefinition](dw.svc.HTTPServiceDefinition.md)
+ - : Sets the type of authentication. Valid values include "BASIC" and "NONE".
+
+
+ The default value is BASIC.
+
+
+ **Parameters:**
+ - authentication - Type of authentication.
+
+ **Returns:**
+ - this HTTP Service Definition.
+
+
+---
+
+### setCachingTTL(Number)
+- setCachingTTL(ttl: [Number](TopLevel.Number.md)): [HTTPServiceDefinition](dw.svc.HTTPServiceDefinition.md)
+ - : Enables caching for GET requests.
+
+
+ This only caches status codes 2xx with a content length and size of less than 50k that are not immediately
+ written to file. The URL and the user name are used as cache keys. The total size of cacheable content and the
+ number of cached items is limited and automatically managed by the system.
+
+
+ Cache control information sent by the remote server is ignored.
+
+
+ Caching HTTP responses should be done very carefully. It is important to ensure that the response really depends
+ only on the URL and doesn't contain any remote state information or time information which is independent of the
+ URL. It is also important to verify that the application sends exactly the same URL multiple times.
+
+
+ **Parameters:**
+ - ttl - The time to live for the cached content in seconds. A value of 0 or less disables caching.
+
+ **See Also:**
+ - [HTTPClient.enableCaching(Number)](dw.net.HTTPClient.md#enablecachingnumber)
+
+
+---
+
+### setEncoding(String)
+- setEncoding(encoding: [String](TopLevel.String.md)): [HTTPServiceDefinition](dw.svc.HTTPServiceDefinition.md)
+ - : Sets the encoding of the request body (if any).
+
+
+ The default value is UTF-8.
+
+
+ **Parameters:**
+ - encoding - Encoding of the request body.
+
+ **Returns:**
+ - this HTTP Service Definition.
+
+
+---
+
+### setOutFile(File)
+- setOutFile(outFile: [File](dw.io.File.md)): [HTTPServiceDefinition](dw.svc.HTTPServiceDefinition.md)
+ - : Sets the output file in which to write the HTTP response body.
+
+
+ The default behavior is to not write a file.
+
+
+ **Parameters:**
+ - outFile - Output file, or null to disable.
+
+ **Returns:**
+ - this HTTP Service Definition.
+
+
+---
+
+### setRequestMethod(String)
+- setRequestMethod(requestMethod: [String](TopLevel.String.md)): [HTTPServiceDefinition](dw.svc.HTTPServiceDefinition.md)
+ - : Sets the HTTP request method.
+
+
+ Valid values include GET, PUT, POST, and DELETE.
+
+
+ The default value is POST.
+
+
+ **Parameters:**
+ - requestMethod - HTTP request method.
+
+ **Returns:**
+ - this HTTP Service Definition.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.svc.LocalServiceRegistry.md b/packages/b2c-tooling-sdk/data/script-api/dw.svc.LocalServiceRegistry.md
new file mode 100644
index 00000000..dd81fa30
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.svc.LocalServiceRegistry.md
@@ -0,0 +1,63 @@
+
+# Class LocalServiceRegistry
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.svc.LocalServiceRegistry](dw.svc.LocalServiceRegistry.md)
+
+The LocalServiceRegistry is responsible for managing Service instances.
+
+
+Typical usage involves several steps:
+
+1. The service is defined in the Business Manager and configured with necessary credentials.
+2. An instance of the service is created and configured in a script:
+ ```
+ var myFTPService = LocalServiceRegistry.createService("MyFTPService", { mockExec : function(svc:FTPService, params) { return [ { "name": "file1", "timestamp": new Date(2011, 02, 21)}, { "name": "file2", "timestamp": new Date(2012, 02, 21)}, { "name": "file3", "timestamp": new Date(2013, 02, 21)} ]; }, createRequest: function(svc:FTPService, params) { svc.setOperation("list", "/"); }, parseResponse : function(svc:FTPService, listOutput) { var x : Array = []; var resp : Array = listOutput; for(var i = 0; i
Returns null if [isSCAPI()](dw.system.Request.md#isscapi) returns false i.e. |
+| [SCAPIPathPattern](#scapipathpattern): [String](TopLevel.String.md) `(read-only)` | Returns the SCAPI path pattern in the following way:
Returns null if [isSCAPI()](dw.system.Request.md#isscapi) returns false i.e. |
+| [clientId](#clientid): [String](TopLevel.String.md) `(read-only)` | Returns the client id of the current SCAPI or OCAPI request. |
+| [custom](#custom): [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)` | Returns all of the custom attributes associated with the request. |
+| [geolocation](#geolocation): [Geolocation](dw.util.Geolocation.md) | Returns the physical location for the current request, if available. |
+| [httpCookies](#httpcookies): [Cookies](dw.web.Cookies.md) `(read-only)` | Returns the Cookies object, which can be used to read cookies sent by the client. |
+| [httpHeaders](#httpheaders): [Map](dw.util.Map.md) `(read-only)` | Returns a Map containing all HTTP header values. |
+| [httpHost](#httphost): [String](TopLevel.String.md) `(read-only)` | Returns the host name or null if there is no host name. |
+| [httpLocale](#httplocale): [String](TopLevel.String.md) `(read-only)` | Returns the locale or null if there is no associated locale. |
+| [httpMethod](#httpmethod): [String](TopLevel.String.md) `(read-only)` | Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT. |
+| [httpParameterMap](#httpparametermap): [HttpParameterMap](dw.web.HttpParameterMap.md) `(read-only)` | Returns the parameter map that contains the HTTP parameters for the current request. |
+| [httpParameters](#httpparameters): [Map](dw.util.Map.md) `(read-only)` | Returns a Map containing the raw HTTP parameters sent to the server. |
+| [httpPath](#httppath): [String](TopLevel.String.md) `(read-only)` | Returns the path. |
+| [httpProtocol](#httpprotocol): [String](TopLevel.String.md) `(read-only)` | Returns the HTTP protocol used for this request. |
+| [httpQueryString](#httpquerystring): [String](TopLevel.String.md) `(read-only)` | Returns the query string or null if there is no query string. |
+| [httpReferer](#httpreferer): [String](TopLevel.String.md) `(read-only)` | Returns the referer or null if there is no referer. |
+| [httpRemoteAddress](#httpremoteaddress): [String](TopLevel.String.md) `(read-only)` | Returns the remote address or null if no remote address is found. |
+| ~~[httpRequest](#httprequest): [Boolean](TopLevel.Boolean.md)~~ `(read-only)` | Identifies if this request is an HTTP request. |
+| [httpSecure](#httpsecure): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns whether the HTTP communication is secure, which basically means that the communication happens via https. |
+| [httpURL](#httpurl): [URL](dw.web.URL.md) `(read-only)` | Returns the complete URL of the request which was received at the server. |
+| [httpUserAgent](#httpuseragent): [String](TopLevel.String.md) `(read-only)` | Returns the HTTP user agent or null if there is no user agent. |
+| [includeRequest](#includerequest): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if the request represents a request for a remote include, false if it is a top-level request. |
+| [locale](#locale): [String](TopLevel.String.md) | Returns the locale of the current request. |
+| [ocapiVersion](#ocapiversion): [String](TopLevel.String.md) `(read-only)` | Returns the OCAPI version of the current request. |
+| [pageMetaData](#pagemetadata): [PageMetaData](dw.web.PageMetaData.md) `(read-only)` | Returns the page meta data that are associated with the current request. |
+| [requestID](#requestid): [String](TopLevel.String.md) `(read-only)` | Returns the unique identifier of the current request. |
+| [session](#session): [Session](dw.system.Session.md) `(read-only)` | Returns the session associated with this request. |
+| [triggeredForm](#triggeredform): [Form](dw.web.Form.md) `(read-only)` | Returns the form that was submitted by the client if the request represents a form submission. |
+| [triggeredFormAction](#triggeredformaction): [FormAction](dw.web.FormAction.md) `(read-only)` | Returns the form action that was triggered by the client if the request represents a form submission. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| ~~[addHttpCookie](dw.system.Request.md#addhttpcookiecookie)([Cookie](dw.web.Cookie.md))~~ | Adds the specified cookie to the outgoing response. |
+| [getClientId](dw.system.Request.md#getclientid)() | Returns the client id of the current SCAPI or OCAPI request. |
+| [getCustom](dw.system.Request.md#getcustom)() | Returns all of the custom attributes associated with the request. |
+| [getGeolocation](dw.system.Request.md#getgeolocation)() | Returns the physical location for the current request, if available. |
+| [getHttpCookies](dw.system.Request.md#gethttpcookies)() | Returns the Cookies object, which can be used to read cookies sent by the client. |
+| [getHttpHeaders](dw.system.Request.md#gethttpheaders)() | Returns a Map containing all HTTP header values. |
+| [getHttpHost](dw.system.Request.md#gethttphost)() | Returns the host name or null if there is no host name. |
+| [getHttpLocale](dw.system.Request.md#gethttplocale)() | Returns the locale or null if there is no associated locale. |
+| [getHttpMethod](dw.system.Request.md#gethttpmethod)() | Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT. |
+| [getHttpParameterMap](dw.system.Request.md#gethttpparametermap)() | Returns the parameter map that contains the HTTP parameters for the current request. |
+| [getHttpParameters](dw.system.Request.md#gethttpparameters)() | Returns a Map containing the raw HTTP parameters sent to the server. |
+| [getHttpPath](dw.system.Request.md#gethttppath)() | Returns the path. |
+| [getHttpProtocol](dw.system.Request.md#gethttpprotocol)() | Returns the HTTP protocol used for this request. |
+| [getHttpQueryString](dw.system.Request.md#gethttpquerystring)() | Returns the query string or null if there is no query string. |
+| [getHttpReferer](dw.system.Request.md#gethttpreferer)() | Returns the referer or null if there is no referer. |
+| [getHttpRemoteAddress](dw.system.Request.md#gethttpremoteaddress)() | Returns the remote address or null if no remote address is found. |
+| [getHttpURL](dw.system.Request.md#gethttpurl)() | Returns the complete URL of the request which was received at the server. |
+| [getHttpUserAgent](dw.system.Request.md#gethttpuseragent)() | Returns the HTTP user agent or null if there is no user agent. |
+| [getLocale](dw.system.Request.md#getlocale)() | Returns the locale of the current request. |
+| [getOcapiVersion](dw.system.Request.md#getocapiversion)() | Returns the OCAPI version of the current request. |
+| [getPageMetaData](dw.system.Request.md#getpagemetadata)() | Returns the page meta data that are associated with the current request. |
+| [getRequestID](dw.system.Request.md#getrequestid)() | Returns the unique identifier of the current request. |
+| [getSCAPIPathParameters](dw.system.Request.md#getscapipathparameters)() | Returns a map containing all path parameters of current SCAPI request in the following way:
Returns null if [isSCAPI()](dw.system.Request.md#isscapi) returns false i.e. |
+| [getSCAPIPathPattern](dw.system.Request.md#getscapipathpattern)() | Returns the SCAPI path pattern in the following way:
Returns null if [isSCAPI()](dw.system.Request.md#isscapi) returns false i.e. |
+| [getSession](dw.system.Request.md#getsession)() | Returns the session associated with this request. |
+| [getTriggeredForm](dw.system.Request.md#gettriggeredform)() | Returns the form that was submitted by the client if the request represents a form submission. |
+| [getTriggeredFormAction](dw.system.Request.md#gettriggeredformaction)() | Returns the form action that was triggered by the client if the request represents a form submission. |
+| ~~[isHttpRequest](dw.system.Request.md#ishttprequest)()~~ | Identifies if this request is an HTTP request. |
+| [isHttpSecure](dw.system.Request.md#ishttpsecure)() | Returns whether the HTTP communication is secure, which basically means that the communication happens via https. |
+| [isIncludeRequest](dw.system.Request.md#isincluderequest)() | Returns true if the request represents a request for a remote include, false if it is a top-level request. |
+| [isSCAPI](dw.system.Request.md#isscapi)() | Returns whether the request originated in SCAPI. |
+| [setGeolocation](dw.system.Request.md#setgeolocationgeolocation)([Geolocation](dw.util.Geolocation.md)) | Sets the physical location for the current request and remembers the new value for the duration of the user session. |
+| [setLocale](dw.system.Request.md#setlocalestring)([String](TopLevel.String.md)) | Sets the given locale for the request. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### SCAPI
+- SCAPI: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns whether the request originated in SCAPI.
+
+
+---
+
+### SCAPIPathParameters
+- SCAPIPathParameters: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns a map containing all path parameters of current SCAPI request in the following way:
+
+ - keys: path parameter names from path pattern
+ - values: corresponding path parameter values from current request
+
+
+ Returns null if [isSCAPI()](dw.system.Request.md#isscapi) returns false i.e. if the request is not a SCAPI request.
+
+
+
+ For example:
+
+ - Current request: `/product/shopper-products/v1/organizations/sfcc_org/products/apple-ipod-shuffle`
+ - Path pattern: `/product/shopper-products/v1/organizations/{organizationId}/products/{id}`
+ - Result: [Map](dw.util.Map.md)with 2 key:value pairs: `organizationId:sfcc_org`and `id:apple-ipod-shuffle`.
+
+
+
+---
+
+### SCAPIPathPattern
+- SCAPIPathPattern: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the SCAPI path pattern in the following way:
+
+
+ - The first three segments `/api-family/api-name/version`with concrete values.
+ - The /organizations part with the path parameter name `organizationId`in curly brackets.
+ - The actual resource path additional path parameter names in curly brackets.
+
+
+ Returns null if [isSCAPI()](dw.system.Request.md#isscapi) returns false i.e. if the request is not a SCAPI request.
+
+
+
+ For example, in the context of a request to get a single product from shopper-products API, this method would
+ return `/product/shopper-products/v1/organizations/{organizationId}/products/{id}`
+
+
+
+---
+
+### clientId
+- clientId: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the client id of the current SCAPI or OCAPI request. If the request is not a SCAPI request or not an
+ OCAPI request 'null' is returned. For client ids owned by Commerce Cloud Digital an alias is returned.
+
+
+
+---
+
+### custom
+- custom: [CustomAttributes](dw.object.CustomAttributes.md) `(read-only)`
+ - : Returns all of the custom attributes associated with the request. The attributes are stored for the life time of
+ the request.
+
+
+
+---
+
+### geolocation
+- geolocation: [Geolocation](dw.util.Geolocation.md)
+ - : Returns the physical location for the current request, if available. The
+ location is calculated based on the IP address of the request. Note, if
+ the geolocation tracking feature is not enabled, this method always
+ returns null.
+
+
+
+---
+
+### httpCookies
+- httpCookies: [Cookies](dw.web.Cookies.md) `(read-only)`
+ - : Returns the Cookies object, which can be used to read cookies sent by the client. Use the method
+ `Response.addHttpCookie()` to add a cookie to the outgoing response.
+
+
+
+---
+
+### httpHeaders
+- httpHeaders: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns a Map containing all HTTP header values.
+
+
+---
+
+### httpHost
+- httpHost: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the host name or null if there is no host name.
+
+
+---
+
+### httpLocale
+- httpLocale: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the locale or null if there is no associated locale.
+
+
+---
+
+### httpMethod
+- httpMethod: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.
+
+
+---
+
+### httpParameterMap
+- httpParameterMap: [HttpParameterMap](dw.web.HttpParameterMap.md) `(read-only)`
+ - : Returns the parameter map that contains the HTTP parameters for the current request.
+
+
+---
+
+### httpParameters
+- httpParameters: [Map](dw.util.Map.md) `(read-only)`
+ - : Returns a Map containing the raw HTTP parameters sent to the server. The Map contains name/value pairs. Each name
+ is a String and each value is a String array.
+
+
+
+---
+
+### httpPath
+- httpPath: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the path.
+
+
+---
+
+### httpProtocol
+- httpProtocol: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the HTTP protocol used for this request. Possible values are "http" or "https". If the current activity
+ is not related to an HTTP request, for example, when the request is part of a job, this method returns null.
+
+
+
+---
+
+### httpQueryString
+- httpQueryString: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the query string or null if there is no query string.
+
+
+---
+
+### httpReferer
+- httpReferer: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the referer or null if there is no referer.
+
+
+---
+
+### httpRemoteAddress
+- httpRemoteAddress: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the remote address or null if no remote address is found.
+
+
+---
+
+### httpRequest
+- ~~httpRequest: [Boolean](TopLevel.Boolean.md)~~ `(read-only)`
+ - : Identifies if this request is an HTTP request. The method returns true, if the current processing is related to a
+ HTTP request.
+
+
+ **Deprecated:**
+:::warning
+Effectively always returns true.
+:::
+
+---
+
+### httpSecure
+- httpSecure: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns whether the HTTP communication is secure, which basically means that the communication happens via https.
+ If the current activity is not related to an HTTP request the method returns false.
+
+
+
+---
+
+### httpURL
+- httpURL: [URL](dw.web.URL.md) `(read-only)`
+ - : Returns the complete URL of the request which was received at the server.
+ This URL does not include SEO optimizations.
+
+
+
+---
+
+### httpUserAgent
+- httpUserAgent: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the HTTP user agent or null if there is no user agent.
+
+
+---
+
+### includeRequest
+- includeRequest: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if the request represents a request for a remote include, false if it is a top-level request.
+
+
+---
+
+### locale
+- locale: [String](TopLevel.String.md)
+ - : Returns the locale of the current request. This locale is set by the system based on the information in the URL.
+ It may be different from the locale returned by [getHttpLocale()](dw.system.Request.md#gethttplocale), which is the preferred locale sent by the user agent.
+
+
+
+---
+
+### ocapiVersion
+- ocapiVersion: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the OCAPI version of the current request. If this is not
+ an OCAPI request, 'null' is returned.
+
+
+
+---
+
+### pageMetaData
+- pageMetaData: [PageMetaData](dw.web.PageMetaData.md) `(read-only)`
+ - : Returns the page meta data that are associated with the current request.
+
+
+---
+
+### requestID
+- requestID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the unique identifier of the current request. The unique id is helpful for debugging purpose, e.g. relate
+ debug messages to a particular request.
+
+
+
+---
+
+### session
+- session: [Session](dw.system.Session.md) `(read-only)`
+ - : Returns the session associated with this request.
+
+
+---
+
+### triggeredForm
+- triggeredForm: [Form](dw.web.Form.md) `(read-only)`
+ - : Returns the form that was submitted by the client if the request represents a form submission.
+
+
+---
+
+### triggeredFormAction
+- triggeredFormAction: [FormAction](dw.web.FormAction.md) `(read-only)`
+ - : Returns the form action that was triggered by the client if the request represents a form submission.
+
+
+---
+
+## Method Details
+
+### addHttpCookie(Cookie)
+- ~~addHttpCookie(cookie: [Cookie](dw.web.Cookie.md)): void~~
+ - : Adds the specified cookie to the outgoing response. This method can be called multiple times to set more than one
+ cookie. If a cookie with the same cookie name, domain and path is set multiple times for the same response, only
+ the last set cookie with this name is send to the client. This method can be used to set, update or delete
+ cookies at the client. If the cookie doesn't exist at the client, it is set initially. If a cookie with the same
+ name, domain and path already exists at the client, it is updated. A cookie can be deleted at the client by
+ submitting a cookie with the maxAge attribute set to 0 (see `Cookie.setMaxAge()
+ ` for more information).
+
+
+ ```
+ _Example, how a cookie can be deleted at the client:_
+
+ var cookie : Cookie = new Cookie("SomeName", "Simple Value");
+
+ cookie.setMaxAge(0);
+
+ request.addHttpCookie(cookie);
+ ```
+
+
+ **Parameters:**
+ - cookie - a Cookie object
+
+ **Deprecated:**
+:::warning
+Use [Response.addHttpCookie(Cookie)](dw.system.Response.md#addhttpcookiecookie) instead.
+:::
+
+---
+
+### getClientId()
+- getClientId(): [String](TopLevel.String.md)
+ - : Returns the client id of the current SCAPI or OCAPI request. If the request is not a SCAPI request or not an
+ OCAPI request 'null' is returned. For client ids owned by Commerce Cloud Digital an alias is returned.
+
+
+ **Returns:**
+ - a client id or alias in case of an OCAPI request, otherwise null.
+
+
+---
+
+### getCustom()
+- getCustom(): [CustomAttributes](dw.object.CustomAttributes.md)
+ - : Returns all of the custom attributes associated with the request. The attributes are stored for the life time of
+ the request.
+
+
+ **Returns:**
+ - all of the custom attributes associated with the request.
+
+
+---
+
+### getGeolocation()
+- getGeolocation(): [Geolocation](dw.util.Geolocation.md)
+ - : Returns the physical location for the current request, if available. The
+ location is calculated based on the IP address of the request. Note, if
+ the geolocation tracking feature is not enabled, this method always
+ returns null.
+
+
+ **Returns:**
+ - The geolocation of the current request, or null if this is not
+ available.
+
+
+
+---
+
+### getHttpCookies()
+- getHttpCookies(): [Cookies](dw.web.Cookies.md)
+ - : Returns the Cookies object, which can be used to read cookies sent by the client. Use the method
+ `Response.addHttpCookie()` to add a cookie to the outgoing response.
+
+
+ **Returns:**
+ - Cookies object or null if this is not an HTTP request
+
+
+---
+
+### getHttpHeaders()
+- getHttpHeaders(): [Map](dw.util.Map.md)
+ - : Returns a Map containing all HTTP header values.
+
+ **Returns:**
+ - a Map containing all HTTP header values.
+
+
+---
+
+### getHttpHost()
+- getHttpHost(): [String](TopLevel.String.md)
+ - : Returns the host name or null if there is no host name.
+
+ **Returns:**
+ - the host name or null if there is no host name.
+
+
+---
+
+### getHttpLocale()
+- getHttpLocale(): [String](TopLevel.String.md)
+ - : Returns the locale or null if there is no associated locale.
+
+ **Returns:**
+ - the locale or null.
+
+
+---
+
+### getHttpMethod()
+- getHttpMethod(): [String](TopLevel.String.md)
+ - : Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.
+
+ **Returns:**
+ - the HTTP method
+
+
+---
+
+### getHttpParameterMap()
+- getHttpParameterMap(): [HttpParameterMap](dw.web.HttpParameterMap.md)
+ - : Returns the parameter map that contains the HTTP parameters for the current request.
+
+ **Returns:**
+ - the HTTP parameter map
+
+
+---
+
+### getHttpParameters()
+- getHttpParameters(): [Map](dw.util.Map.md)
+ - : Returns a Map containing the raw HTTP parameters sent to the server. The Map contains name/value pairs. Each name
+ is a String and each value is a String array.
+
+
+ **Returns:**
+ - a Map containing all the raw HTTP parameters send to the server.
+
+
+---
+
+### getHttpPath()
+- getHttpPath(): [String](TopLevel.String.md)
+ - : Returns the path.
+
+ **Returns:**
+ - the path or null.
+
+
+---
+
+### getHttpProtocol()
+- getHttpProtocol(): [String](TopLevel.String.md)
+ - : Returns the HTTP protocol used for this request. Possible values are "http" or "https". If the current activity
+ is not related to an HTTP request, for example, when the request is part of a job, this method returns null.
+
+
+ **Returns:**
+ - "http", "https" or null
+
+
+---
+
+### getHttpQueryString()
+- getHttpQueryString(): [String](TopLevel.String.md)
+ - : Returns the query string or null if there is no query string.
+
+ **Returns:**
+ - the query string or null.
+
+
+---
+
+### getHttpReferer()
+- getHttpReferer(): [String](TopLevel.String.md)
+ - : Returns the referer or null if there is no referer.
+
+ **Returns:**
+ - the referer or null if there is no referer.
+
+
+---
+
+### getHttpRemoteAddress()
+- getHttpRemoteAddress(): [String](TopLevel.String.md)
+ - : Returns the remote address or null if no remote address is found.
+
+ **Returns:**
+ - the remote address or null if no remote address is found.
+
+
+---
+
+### getHttpURL()
+- getHttpURL(): [URL](dw.web.URL.md)
+ - : Returns the complete URL of the request which was received at the server.
+ This URL does not include SEO optimizations.
+
+
+ **Returns:**
+ - the URL as URL object
+
+
+---
+
+### getHttpUserAgent()
+- getHttpUserAgent(): [String](TopLevel.String.md)
+ - : Returns the HTTP user agent or null if there is no user agent.
+
+ **Returns:**
+ - the HTTP user agent or null if there is no user agent.
+
+
+---
+
+### getLocale()
+- getLocale(): [String](TopLevel.String.md)
+ - : Returns the locale of the current request. This locale is set by the system based on the information in the URL.
+ It may be different from the locale returned by [getHttpLocale()](dw.system.Request.md#gethttplocale), which is the preferred locale sent by the user agent.
+
+
+ **Returns:**
+ - the locale of the current request, like 'en\_US'
+
+
+---
+
+### getOcapiVersion()
+- getOcapiVersion(): [String](TopLevel.String.md)
+ - : Returns the OCAPI version of the current request. If this is not
+ an OCAPI request, 'null' is returned.
+
+
+ **Returns:**
+ - OCAPI version of the current request
+
+
+---
+
+### getPageMetaData()
+- getPageMetaData(): [PageMetaData](dw.web.PageMetaData.md)
+ - : Returns the page meta data that are associated with the current request.
+
+ **Returns:**
+ - the page meta data object
+
+
+---
+
+### getRequestID()
+- getRequestID(): [String](TopLevel.String.md)
+ - : Returns the unique identifier of the current request. The unique id is helpful for debugging purpose, e.g. relate
+ debug messages to a particular request.
+
+
+ **Returns:**
+ - the unique identifier of the current request.
+
+
+---
+
+### getSCAPIPathParameters()
+- getSCAPIPathParameters(): [Map](dw.util.Map.md)
+ - : Returns a map containing all path parameters of current SCAPI request in the following way:
+
+ - keys: path parameter names from path pattern
+ - values: corresponding path parameter values from current request
+
+
+ Returns null if [isSCAPI()](dw.system.Request.md#isscapi) returns false i.e. if the request is not a SCAPI request.
+
+
+
+ For example:
+
+ - Current request: `/product/shopper-products/v1/organizations/sfcc_org/products/apple-ipod-shuffle`
+ - Path pattern: `/product/shopper-products/v1/organizations/{organizationId}/products/{id}`
+ - Result: [Map](dw.util.Map.md)with 2 key:value pairs: `organizationId:sfcc_org`and `id:apple-ipod-shuffle`.
+
+
+ **Returns:**
+ - the path parameter map or null
+
+
+---
+
+### getSCAPIPathPattern()
+- getSCAPIPathPattern(): [String](TopLevel.String.md)
+ - : Returns the SCAPI path pattern in the following way:
+
+
+ - The first three segments `/api-family/api-name/version`with concrete values.
+ - The /organizations part with the path parameter name `organizationId`in curly brackets.
+ - The actual resource path additional path parameter names in curly brackets.
+
+
+ Returns null if [isSCAPI()](dw.system.Request.md#isscapi) returns false i.e. if the request is not a SCAPI request.
+
+
+
+ For example, in the context of a request to get a single product from shopper-products API, this method would
+ return `/product/shopper-products/v1/organizations/{organizationId}/products/{id}`
+
+
+ **Returns:**
+ - the path pattern or null.
+
+
+---
+
+### getSession()
+- getSession(): [Session](dw.system.Session.md)
+ - : Returns the session associated with this request.
+
+ **Returns:**
+ - the session associated with this request.
+
+
+---
+
+### getTriggeredForm()
+- getTriggeredForm(): [Form](dw.web.Form.md)
+ - : Returns the form that was submitted by the client if the request represents a form submission.
+
+ **Returns:**
+ - the form which was triggered
+
+
+---
+
+### getTriggeredFormAction()
+- getTriggeredFormAction(): [FormAction](dw.web.FormAction.md)
+ - : Returns the form action that was triggered by the client if the request represents a form submission.
+
+ **Returns:**
+ - the action of the form that was triggered
+
+
+---
+
+### isHttpRequest()
+- ~~isHttpRequest(): [Boolean](TopLevel.Boolean.md)~~
+ - : Identifies if this request is an HTTP request. The method returns true, if the current processing is related to a
+ HTTP request.
+
+
+ **Returns:**
+ - true if the current processing is related to a HTTP request, false otherwise.
+
+ **Deprecated:**
+:::warning
+Effectively always returns true.
+:::
+
+---
+
+### isHttpSecure()
+- isHttpSecure(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether the HTTP communication is secure, which basically means that the communication happens via https.
+ If the current activity is not related to an HTTP request the method returns false.
+
+
+
+---
+
+### isIncludeRequest()
+- isIncludeRequest(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the request represents a request for a remote include, false if it is a top-level request.
+
+
+---
+
+### isSCAPI()
+- isSCAPI(): [Boolean](TopLevel.Boolean.md)
+ - : Returns whether the request originated in SCAPI.
+
+ **Returns:**
+ - true or false.
+
+
+---
+
+### setGeolocation(Geolocation)
+- setGeolocation(geoLocation: [Geolocation](dw.util.Geolocation.md)): void
+ - : Sets the physical location for the current request and remembers the new
+ value for the duration of the user session. So any subsequent calls to
+ [getGeolocation()](dw.system.Request.md#getgeolocation) will return this value
+
+
+ **Parameters:**
+ - geoLocation - the geolocation object to use
+
+
+---
+
+### setLocale(String)
+- setLocale(localeID: [String](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Sets the given locale for the request. The locale is only set if it is valid, if it is active and if it is
+ allowed for the current site.
+
+
+ **Parameters:**
+ - localeID - the locale ID to be set, like 'en\_US'
+
+ **Returns:**
+ - true, if the locale was successfully set, false otherwise
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.system.RequestHooks.md b/packages/b2c-tooling-sdk/data/script-api/dw.system.RequestHooks.md
new file mode 100644
index 00000000..77cfbcdf
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.system.RequestHooks.md
@@ -0,0 +1,112 @@
+
+# Class RequestHooks
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.system.RequestHooks](dw.system.RequestHooks.md)
+
+This class represents all script hooks that can be registered to receive notifications about storefront requests.
+It contains the extension points (hook names), and the functions that are called by each extension point.
+A function must be defined inside a JavaScript source and must be exported.
+The script with the exported hook function must be located inside a site cartridge.
+Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.
+
+
+
+```
+"hooks": "./hooks.json"
+```
+
+
+
+The hooks entry links to a json file, relative to the 'package.json' file.
+This file lists all registered hooks inside the hooks property:
+
+
+
+```
+"hooks": [
+ {"name": "dw.system.request.onSession", "script": "./script.js"},
+ {"name": "dw.system.request.onRequest", "script": "./script.js"},
+]
+```
+
+
+
+A hook entry has a 'name' and a 'script' property.
+
+- The 'name' contains the extension point, the hook name.
+- The 'script' contains the script relative to the hooks file, with the exported hook function.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [extensionPointOnRequest](#extensionpointonrequest): [String](TopLevel.String.md) = "dw.system.request.onRequest" | The extension point name dw.system.request.onRequest. |
+| [extensionPointOnSession](#extensionpointonsession): [String](TopLevel.String.md) = "dw.system.request.onSession" | The extension point name dw.system.request.onSession. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [onRequest](dw.system.RequestHooks.md#onrequest)() | The function is called by extension point [extensionPointOnRequest](dw.system.RequestHooks.md#extensionpointonrequest). |
+| [onSession](dw.system.RequestHooks.md#onsession)() | The function is called by extension point [extensionPointOnSession](dw.system.RequestHooks.md#extensionpointonsession). |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### extensionPointOnRequest
+
+- extensionPointOnRequest: [String](TopLevel.String.md) = "dw.system.request.onRequest"
+ - : The extension point name dw.system.request.onRequest.
+
+
+---
+
+### extensionPointOnSession
+
+- extensionPointOnSession: [String](TopLevel.String.md) = "dw.system.request.onSession"
+ - : The extension point name dw.system.request.onSession.
+
+
+---
+
+## Method Details
+
+### onRequest()
+- onRequest(): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointOnRequest](dw.system.RequestHooks.md#extensionpointonrequest).
+ It is called when a storefront request was received from the client.
+
+
+ **Returns:**
+ -
+ - Status.OK for success.
+ - Status.ERROR for error.
+
+
+
+---
+
+### onSession()
+- onSession(): [Status](dw.system.Status.md)
+ - : The function is called by extension point [extensionPointOnSession](dw.system.RequestHooks.md#extensionpointonsession).
+ It is called when a new storefront session was started.
+
+
+ **Returns:**
+ -
+ - Status.OK for success.
+ - Status.ERROR for error.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.system.Response.md b/packages/b2c-tooling-sdk/data/script-api/dw.system.Response.md
new file mode 100644
index 00000000..e733a9c4
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.system.Response.md
@@ -0,0 +1,612 @@
+
+# Class Response
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.system.Response](dw.system.Response.md)
+
+Represents an HTTP response in Commerce Cloud Digital. An instance of this class is implicitly available within
+Digital script under the variable "response". The Response object can be used to set cookies and specific HTTP
+headers, for directly accessing the output stream or for sending redirects.
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [ACCESS_CONTROL_ALLOW_CREDENTIALS](#access_control_allow_credentials): [String](TopLevel.String.md) = "Access-Control-Allow-Credentials" | An allowed header name constant for Access-Control-Allow-Credentials |
+| [ACCESS_CONTROL_ALLOW_HEADERS](#access_control_allow_headers): [String](TopLevel.String.md) = "Access-Control-Allow-Headers" | An allowed header name constant for Access-Control-Allow-Headers |
+| [ACCESS_CONTROL_ALLOW_METHODS](#access_control_allow_methods): [String](TopLevel.String.md) = "Access-Control-Allow-Methods" | An allowed header name constant for Access-Control-Allow-Methods |
+| [ACCESS_CONTROL_ALLOW_ORIGIN](#access_control_allow_origin): [String](TopLevel.String.md) = "Access-Control-Allow-Origin" | An allowed header name constant for Access-Control-Allow-Origin |
+| [ACCESS_CONTROL_EXPOSE_HEADERS](#access_control_expose_headers): [String](TopLevel.String.md) = "Access-Control-Expose-Headers" | An allowed header name constant for Access-Control-Expose-Headers |
+| [ALLOW](#allow): [String](TopLevel.String.md) = "Allow" | An allowed header name constant for Allow |
+| [CONTENT_DISPOSITION](#content_disposition): [String](TopLevel.String.md) = "Content-Disposition" | An allowed header name constant for Content-Disposition |
+| [CONTENT_LANGUAGE](#content_language): [String](TopLevel.String.md) = "Content-Language" | An allowed header name constant for Content-Language |
+| [CONTENT_LOCATION](#content_location): [String](TopLevel.String.md) = "Content-Location" | An allowed header name constant for Content-Location |
+| [CONTENT_MD5](#content_md5): [String](TopLevel.String.md) = "Content-MD5" | An allowed header name constant for Content-MD5 |
+| [CONTENT_SECURITY_POLICY](#content_security_policy): [String](TopLevel.String.md) = "Content-Security-Policy" | An allowed header name constant for Content-Security-Policy. |
+| [CONTENT_SECURITY_POLICY_REPORT_ONLY](#content_security_policy_report_only): [String](TopLevel.String.md) = "Content-Security-Policy-Report-Only" | An allowed header name constant for Content-Security-Policy-Report-Only. |
+| [CONTENT_TYPE](#content_type): [String](TopLevel.String.md) = "Content-Type" | An allowed header name constant for Content-Type |
+| [CROSS_ORIGIN_EMBEDDER_POLICY](#cross_origin_embedder_policy): [String](TopLevel.String.md) = "Cross-Origin-Embedder-Policy" | An allowed header name constant for Cross-Origin-Embedder-Policy |
+| [CROSS_ORIGIN_EMBEDDER_POLICY_REPORT_ONLY](#cross_origin_embedder_policy_report_only): [String](TopLevel.String.md) = "Cross-Origin-Embedder-Policy-Report-Only" | An allowed header name constant for Cross-Origin-Embedder-Policy-Report-Only. |
+| [CROSS_ORIGIN_OPENER_POLICY](#cross_origin_opener_policy): [String](TopLevel.String.md) = "Cross-Origin-Opener-Policy" | An allowed header name constant for Cross-Origin-Opener-Policy |
+| [CROSS_ORIGIN_OPENER_POLICY_REPORT_ONLY](#cross_origin_opener_policy_report_only): [String](TopLevel.String.md) = "Cross-Origin-Opener-Policy-Report-Only" | An allowed header name constant for Cross-Origin-Opener-Policy-Report-Only. |
+| [CROSS_ORIGIN_RESOURCE_POLICY](#cross_origin_resource_policy): [String](TopLevel.String.md) = "Cross-Origin-Resource-Policy" | An allowed header name constant for Cross-Origin-Resource-Policy |
+| [LINK](#link): [String](TopLevel.String.md) = "Link" | An allowed header name constant for Link |
+| [LOCATION](#location): [String](TopLevel.String.md) = "Location" | An allowed header name constant for Location |
+| [PERMISSIONS_POLICY](#permissions_policy): [String](TopLevel.String.md) = "Permissions-Policy" | An allowed header name constant for Permissions-Policy |
+| [PLATFORM_FOR_PRIVACY_PREFERENCES_PROJECT](#platform_for_privacy_preferences_project): [String](TopLevel.String.md) = "P3P" | An allowed header name constant for Platform for Privacy Preferences Project |
+| [REFERRER_POLICY](#referrer_policy): [String](TopLevel.String.md) = "Referrer-Policy" | An allowed header name constant for Referrer-Policy |
+| [REFRESH](#refresh): [String](TopLevel.String.md) = "Refresh" | An allowed header name constant for Refresh |
+| [RETRY_AFTER](#retry_after): [String](TopLevel.String.md) = "Retry-After" | An allowed header name constant for Retry-After |
+| [SERVICE_WORKER_ALLOWED](#service_worker_allowed): [String](TopLevel.String.md) = "service-worker-allowed" | An allowed header name constant for service-worker-allowed |
+| [VARY](#vary): [String](TopLevel.String.md) = "Vary" | An allowed header name constant for Vary |
+| [X_CONTENT_TYPE_OPTIONS](#x_content_type_options): [String](TopLevel.String.md) = "X-Content-Type-Options" | An allowed header name constant for X-Content-Type-Options |
+| [X_FRAME_OPTIONS](#x_frame_options): [String](TopLevel.String.md) = "X-FRAME-OPTIONS" | An allowed header name constant for X-FRAME-OPTIONS. |
+| [X_FRAME_OPTIONS_ALLOW_FROM](#x_frame_options_allow_from): [String](TopLevel.String.md) = "ALLOW-FROM" | An allowed value ALLOW-FROM for X-FRAME-OPTIONS |
+| [X_FRAME_OPTIONS_DENY_VALUE](#x_frame_options_deny_value): [String](TopLevel.String.md) = "DENY" | An allowed value DENY for X-FRAME-OPTIONS |
+| [X_FRAME_OPTIONS_SAMEORIGIN_VALUE](#x_frame_options_sameorigin_value): [String](TopLevel.String.md) = "SAMEORIGIN" | An allowed value SAME-ORIGIN value for X-FRAME-OPTIONS |
+| [X_ROBOTS_TAG](#x_robots_tag): [String](TopLevel.String.md) = "X-Robots-Tag" | An allowed header name constant for X-Robots-Tag |
+| [X_XSS_PROTECTION](#x_xss_protection): [String](TopLevel.String.md) = "X-XSS-Protection" | An allowed header name constant for X-XSS-Protection |
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [writer](#writer): [PrintWriter](dw.io.PrintWriter.md) `(read-only)` | Returns a print writer which can be used to print content directly to the response. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addHttpCookie](dw.system.Response.md#addhttpcookiecookie)([Cookie](dw.web.Cookie.md)) | Adds the specified cookie to the outgoing response. |
+| [addHttpHeader](dw.system.Response.md#addhttpheaderstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Adds a response header with the given name and value. |
+| [containsHttpHeader](dw.system.Response.md#containshttpheaderstring)([String](TopLevel.String.md)) | Checks whether the response message header has a field with the specified name. |
+| [getWriter](dw.system.Response.md#getwriter)() | Returns a print writer which can be used to print content directly to the response. |
+| [redirect](dw.system.Response.md#redirecturl)([URL](dw.web.URL.md)) | Sends a temporary redirect response (HTTP status 302) to the client for the specified redirect location URL. |
+| [redirect](dw.system.Response.md#redirecturl-number)([URL](dw.web.URL.md), [Number](TopLevel.Number.md)) | Sends a redirect response with the given status to the client for the specified redirect location URL. |
+| [redirect](dw.system.Response.md#redirecturlredirect)([URLRedirect](dw.web.URLRedirect.md)) | Sends a redirect response with the given status to the client for the specified redirect location URL. |
+| [redirect](dw.system.Response.md#redirectstring)([String](TopLevel.String.md)) | Sends a temporary redirect response (HTTP status 302) to the client for the specified redirect location URL. |
+| [redirect](dw.system.Response.md#redirectstring-number)([String](TopLevel.String.md), [Number](TopLevel.Number.md)) | Sends a redirect response with the given status to the client for the specified redirect location URL. |
+| [setBuffered](dw.system.Response.md#setbufferedboolean)([Boolean](TopLevel.Boolean.md)) | Sets whether the output should be buffered or streamed directly to the client. |
+| [setContentType](dw.system.Response.md#setcontenttypestring)([String](TopLevel.String.md)) | Sets the content type for this response. |
+| [setExpires](dw.system.Response.md#setexpiresdate)([Date](TopLevel.Date.md)) | Convenience method for [setExpires(Number)](dw.system.Response.md#setexpiresnumber) which takes a Date object. |
+| [setExpires](dw.system.Response.md#setexpiresnumber)([Number](TopLevel.Number.md)) | Sets the cache expiration time for the response. |
+| [setHttpHeader](dw.system.Response.md#sethttpheaderstring-string)([String](TopLevel.String.md), [String](TopLevel.String.md)) | Adds a response header with the given name and value. |
+| [setStatus](dw.system.Response.md#setstatusnumber)([Number](TopLevel.Number.md)) | Sets the HTTP response code. |
+| [setVaryBy](dw.system.Response.md#setvarybystring)([String](TopLevel.String.md)) | Marks the response as personalized with the given variant identifier. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ACCESS_CONTROL_ALLOW_CREDENTIALS
+
+- ACCESS_CONTROL_ALLOW_CREDENTIALS: [String](TopLevel.String.md) = "Access-Control-Allow-Credentials"
+ - : An allowed header name constant for Access-Control-Allow-Credentials
+
+
+---
+
+### ACCESS_CONTROL_ALLOW_HEADERS
+
+- ACCESS_CONTROL_ALLOW_HEADERS: [String](TopLevel.String.md) = "Access-Control-Allow-Headers"
+ - : An allowed header name constant for Access-Control-Allow-Headers
+
+
+---
+
+### ACCESS_CONTROL_ALLOW_METHODS
+
+- ACCESS_CONTROL_ALLOW_METHODS: [String](TopLevel.String.md) = "Access-Control-Allow-Methods"
+ - : An allowed header name constant for Access-Control-Allow-Methods
+
+
+---
+
+### ACCESS_CONTROL_ALLOW_ORIGIN
+
+- ACCESS_CONTROL_ALLOW_ORIGIN: [String](TopLevel.String.md) = "Access-Control-Allow-Origin"
+ - : An allowed header name constant for Access-Control-Allow-Origin
+
+
+---
+
+### ACCESS_CONTROL_EXPOSE_HEADERS
+
+- ACCESS_CONTROL_EXPOSE_HEADERS: [String](TopLevel.String.md) = "Access-Control-Expose-Headers"
+ - : An allowed header name constant for Access-Control-Expose-Headers
+
+
+---
+
+### ALLOW
+
+- ALLOW: [String](TopLevel.String.md) = "Allow"
+ - : An allowed header name constant for Allow
+
+
+---
+
+### CONTENT_DISPOSITION
+
+- CONTENT_DISPOSITION: [String](TopLevel.String.md) = "Content-Disposition"
+ - : An allowed header name constant for Content-Disposition
+
+
+---
+
+### CONTENT_LANGUAGE
+
+- CONTENT_LANGUAGE: [String](TopLevel.String.md) = "Content-Language"
+ - : An allowed header name constant for Content-Language
+
+
+---
+
+### CONTENT_LOCATION
+
+- CONTENT_LOCATION: [String](TopLevel.String.md) = "Content-Location"
+ - : An allowed header name constant for Content-Location
+
+
+---
+
+### CONTENT_MD5
+
+- CONTENT_MD5: [String](TopLevel.String.md) = "Content-MD5"
+ - : An allowed header name constant for Content-MD5
+
+
+---
+
+### CONTENT_SECURITY_POLICY
+
+- CONTENT_SECURITY_POLICY: [String](TopLevel.String.md) = "Content-Security-Policy"
+ - : An allowed header name constant for Content-Security-Policy.
+
+
+ Note: The Commerce Cloud platform can override this header for tools like the Storefront Toolkit.
+
+
+
+---
+
+### CONTENT_SECURITY_POLICY_REPORT_ONLY
+
+- CONTENT_SECURITY_POLICY_REPORT_ONLY: [String](TopLevel.String.md) = "Content-Security-Policy-Report-Only"
+ - : An allowed header name constant for Content-Security-Policy-Report-Only.
+
+
+ You can set this response header only for storefront requests. Report recipient can't be a B2C Commerce system.
+
+
+
+---
+
+### CONTENT_TYPE
+
+- CONTENT_TYPE: [String](TopLevel.String.md) = "Content-Type"
+ - : An allowed header name constant for Content-Type
+
+
+---
+
+### CROSS_ORIGIN_EMBEDDER_POLICY
+
+- CROSS_ORIGIN_EMBEDDER_POLICY: [String](TopLevel.String.md) = "Cross-Origin-Embedder-Policy"
+ - : An allowed header name constant for Cross-Origin-Embedder-Policy
+
+
+---
+
+### CROSS_ORIGIN_EMBEDDER_POLICY_REPORT_ONLY
+
+- CROSS_ORIGIN_EMBEDDER_POLICY_REPORT_ONLY: [String](TopLevel.String.md) = "Cross-Origin-Embedder-Policy-Report-Only"
+ - : An allowed header name constant for Cross-Origin-Embedder-Policy-Report-Only.
+
+
+ You can set this response header only for storefront requests. Report recipient can't be a B2C Commerce system.
+
+
+
+---
+
+### CROSS_ORIGIN_OPENER_POLICY
+
+- CROSS_ORIGIN_OPENER_POLICY: [String](TopLevel.String.md) = "Cross-Origin-Opener-Policy"
+ - : An allowed header name constant for Cross-Origin-Opener-Policy
+
+
+---
+
+### CROSS_ORIGIN_OPENER_POLICY_REPORT_ONLY
+
+- CROSS_ORIGIN_OPENER_POLICY_REPORT_ONLY: [String](TopLevel.String.md) = "Cross-Origin-Opener-Policy-Report-Only"
+ - : An allowed header name constant for Cross-Origin-Opener-Policy-Report-Only.
+
+
+ You can set this response header only for storefront requests. Report recipient can't be a B2C Commerce system.
+
+
+
+---
+
+### CROSS_ORIGIN_RESOURCE_POLICY
+
+- CROSS_ORIGIN_RESOURCE_POLICY: [String](TopLevel.String.md) = "Cross-Origin-Resource-Policy"
+ - : An allowed header name constant for Cross-Origin-Resource-Policy
+
+
+---
+
+### LINK
+
+- LINK: [String](TopLevel.String.md) = "Link"
+ - : An allowed header name constant for Link
+
+
+---
+
+### LOCATION
+
+- LOCATION: [String](TopLevel.String.md) = "Location"
+ - : An allowed header name constant for Location
+
+
+---
+
+### PERMISSIONS_POLICY
+
+- PERMISSIONS_POLICY: [String](TopLevel.String.md) = "Permissions-Policy"
+ - : An allowed header name constant for Permissions-Policy
+
+
+---
+
+### PLATFORM_FOR_PRIVACY_PREFERENCES_PROJECT
+
+- PLATFORM_FOR_PRIVACY_PREFERENCES_PROJECT: [String](TopLevel.String.md) = "P3P"
+ - : An allowed header name constant for Platform for Privacy Preferences Project
+
+
+---
+
+### REFERRER_POLICY
+
+- REFERRER_POLICY: [String](TopLevel.String.md) = "Referrer-Policy"
+ - : An allowed header name constant for Referrer-Policy
+
+
+---
+
+### REFRESH
+
+- REFRESH: [String](TopLevel.String.md) = "Refresh"
+ - : An allowed header name constant for Refresh
+
+
+---
+
+### RETRY_AFTER
+
+- RETRY_AFTER: [String](TopLevel.String.md) = "Retry-After"
+ - : An allowed header name constant for Retry-After
+
+
+---
+
+### SERVICE_WORKER_ALLOWED
+
+- SERVICE_WORKER_ALLOWED: [String](TopLevel.String.md) = "service-worker-allowed"
+ - : An allowed header name constant for service-worker-allowed
+
+
+---
+
+### VARY
+
+- VARY: [String](TopLevel.String.md) = "Vary"
+ - : An allowed header name constant for Vary
+
+
+---
+
+### X_CONTENT_TYPE_OPTIONS
+
+- X_CONTENT_TYPE_OPTIONS: [String](TopLevel.String.md) = "X-Content-Type-Options"
+ - : An allowed header name constant for X-Content-Type-Options
+
+
+---
+
+### X_FRAME_OPTIONS
+
+- X_FRAME_OPTIONS: [String](TopLevel.String.md) = "X-FRAME-OPTIONS"
+ - : An allowed header name constant for X-FRAME-OPTIONS.
+
+
+ Note: The Commerce Cloud platform can override this header for tools like the Storefront Toolkit.
+
+
+
+---
+
+### X_FRAME_OPTIONS_ALLOW_FROM
+
+- X_FRAME_OPTIONS_ALLOW_FROM: [String](TopLevel.String.md) = "ALLOW-FROM"
+ - : An allowed value ALLOW-FROM for X-FRAME-OPTIONS
+
+
+---
+
+### X_FRAME_OPTIONS_DENY_VALUE
+
+- X_FRAME_OPTIONS_DENY_VALUE: [String](TopLevel.String.md) = "DENY"
+ - : An allowed value DENY for X-FRAME-OPTIONS
+
+
+---
+
+### X_FRAME_OPTIONS_SAMEORIGIN_VALUE
+
+- X_FRAME_OPTIONS_SAMEORIGIN_VALUE: [String](TopLevel.String.md) = "SAMEORIGIN"
+ - : An allowed value SAME-ORIGIN value for X-FRAME-OPTIONS
+
+
+---
+
+### X_ROBOTS_TAG
+
+- X_ROBOTS_TAG: [String](TopLevel.String.md) = "X-Robots-Tag"
+ - : An allowed header name constant for X-Robots-Tag
+
+
+---
+
+### X_XSS_PROTECTION
+
+- X_XSS_PROTECTION: [String](TopLevel.String.md) = "X-XSS-Protection"
+ - : An allowed header name constant for X-XSS-Protection
+
+
+---
+
+## Property Details
+
+### writer
+- writer: [PrintWriter](dw.io.PrintWriter.md) `(read-only)`
+ - : Returns a print writer which can be used to print content directly to the response.
+
+
+---
+
+## Method Details
+
+### addHttpCookie(Cookie)
+- addHttpCookie(cookie: [Cookie](dw.web.Cookie.md)): void
+ - : Adds the specified cookie to the outgoing response. This method can be called multiple times to set more than one
+ cookie. If a cookie with the same cookie name, domain and path is set multiple times for the same response, only
+ the last set cookie with this name is sent to the client. This method can be used to set, update or delete
+ cookies at the client. If the cookie doesn't exist at the client, it is set initially. If a cookie with the same
+ name, domain and path already exists at the client, it is updated. A cookie can be deleted at the client by
+ submitting a cookie with the maxAge attribute set to 0 (see `Cookie.setMaxAge()
+ ` for more information).
+
+
+ ```
+ _Example, how a cookie can be deleted at the client:_
+
+ var cookie : Cookie = new Cookie("SomeName", "Simple Value");
+
+ cookie.setMaxAge(0);
+
+ response.addHttpCookie(cookie);
+ ```
+
+
+ You can't set a cookie's SameSite attribute using the API. The server sets SameSite to None if either the
+ developer sets the cookie's Secure flag or the global security preference Enforce HTTPS is enabled, in which case
+ the Secure flag is also set. Otherwise, the server doesn't set the SameSite attribute and the browser uses its
+ own default SameSite setting. The SameSite attribute is not sent with a cookie if the server detects that the
+ client doesn't correctly interpret the attribute.
+
+
+ **Parameters:**
+ - cookie - a Cookie object
+
+
+---
+
+### addHttpHeader(String, String)
+- addHttpHeader(name: [String](TopLevel.String.md), value: [String](TopLevel.String.md)): void
+ - : Adds a response header with the given name and value. This method allows response headers to have multiple
+ values.
+
+
+ For public headers, only the names listed in the "Constants" section are allowed. Custom header names must begin
+ with the prefix "X-SF-CC-" and can contain only alphanumeric characters, dash, and underscore.
+
+
+ **Parameters:**
+ - name - the name to use for the response header.
+ - value - the value to use.
+
+
+---
+
+### containsHttpHeader(String)
+- containsHttpHeader(name: [String](TopLevel.String.md)): [Boolean](TopLevel.Boolean.md)
+ - : Checks whether the response message header has a field with the specified name.
+
+ **Parameters:**
+ - name - the name to use.
+
+
+---
+
+### getWriter()
+- getWriter(): [PrintWriter](dw.io.PrintWriter.md)
+ - : Returns a print writer which can be used to print content directly to the response.
+
+
+---
+
+### redirect(URL)
+- redirect(url: [URL](dw.web.URL.md)): void
+ - : Sends a temporary redirect response (HTTP status 302) to the client for the specified redirect location URL.
+
+ **Parameters:**
+ - url - the URL object for the target location, must be not null
+
+
+---
+
+### redirect(URL, Number)
+- redirect(url: [URL](dw.web.URL.md), status: [Number](TopLevel.Number.md)): void
+ - : Sends a redirect response with the given status to the client for the specified redirect location URL.
+
+ **Parameters:**
+ - url - the URL object with the redirect location, must be not null
+ - status - the status code for this redirect, must be 301, 302 or 307
+
+
+---
+
+### redirect(URLRedirect)
+- redirect(redirect: [URLRedirect](dw.web.URLRedirect.md)): void
+ - : Sends a redirect response with the given status to the client for the specified redirect location URL.
+
+ **Parameters:**
+ - redirect - the URLRedirect object with the location and status, must be not null
+
+
+---
+
+### redirect(String)
+- redirect(location: [String](TopLevel.String.md)): void
+ - : Sends a temporary redirect response (HTTP status 302) to the client for the specified redirect location URL. The
+ target location must be a relative or an absolute URL.
+
+
+ **Parameters:**
+ - location - the target location as a string, must be not empty
+
+
+---
+
+### redirect(String, Number)
+- redirect(location: [String](TopLevel.String.md), status: [Number](TopLevel.Number.md)): void
+ - : Sends a redirect response with the given status to the client for the specified redirect location URL.
+
+ **Parameters:**
+ - location - the redirect location, must be not empty
+ - status - the status code for this redirect, must be 301, 302 or 307
+
+
+---
+
+### setBuffered(Boolean)
+- setBuffered(buffered: [Boolean](TopLevel.Boolean.md)): void
+ - : Sets whether the output should be buffered or streamed directly to the client. By default, buffering is enabled.
+ The mode can only be changed before anything has been written to the response. Switching buffering off and using
+ streaming mode is recommended for sending large responses.
+
+
+ **Parameters:**
+ - buffered - if true, buffering is used, if false the response will be streamed
+
+
+---
+
+### setContentType(String)
+- setContentType(contentType: [String](TopLevel.String.md)): void
+ - : Sets the content type for this response. This method may only be called before any output is written to the
+ response.
+
+
+ **Parameters:**
+ - contentType - the MIME type of the content, like "text/html", "application/json" etc.
+
+
+---
+
+### setExpires(Date)
+- setExpires(expires: [Date](TopLevel.Date.md)): void
+ - : Convenience method for [setExpires(Number)](dw.system.Response.md#setexpiresnumber) which takes a Date object.
+
+ **Parameters:**
+ - expires - a Date object.
+
+
+---
+
+### setExpires(Number)
+- setExpires(expires: [Number](TopLevel.Number.md)): void
+ - : Sets the cache expiration time for the response. The response will only be cached if caching was not disabled
+ previously. By default, responses are not cached. This method can be called multiple times during request
+ processing. If caching is enabled, the lowest expiration time, resulting from the invocations of the method
+ becomes the cache expiration time. This is only used for HTTP requests. Streamed responses cannot be cached. This
+ method is an alternative for setting the cache time using the
**WARNING:** Keep in mind that the set Date object's time is always interpreted in the time zone GMT. |
+| [setTimeZone](dw.util.Calendar.md#settimezonestring)([String](TopLevel.String.md)) | Sets the current time zone of this calendar.
**WARNING:** Keep in mind that the time stamp represented by the calendar is always interpreted in the time zone GMT. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### AM_PM
+
+- AM_PM: [Number](TopLevel.Number.md) = 9
+ - : Indicates whether the HOUR is before or after noon.
+
+
+---
+
+### APRIL
+
+- APRIL: [Number](TopLevel.Number.md) = 3
+ - : Value for the month of year field representing April.
+
+
+---
+
+### AUGUST
+
+- AUGUST: [Number](TopLevel.Number.md) = 7
+ - : Value for the month of year field representing August.
+
+
+---
+
+### DATE
+
+- DATE: [Number](TopLevel.Number.md) = 5
+ - : Represents a date.
+
+
+---
+
+### DAY_OF_MONTH
+
+- DAY_OF_MONTH: [Number](TopLevel.Number.md) = 5
+ - : Represents a day of the month.
+
+
+---
+
+### DAY_OF_WEEK
+
+- DAY_OF_WEEK: [Number](TopLevel.Number.md) = 7
+ - : Represents a day of the week.
+
+
+---
+
+### DAY_OF_WEEK_IN_MONTH
+
+- DAY_OF_WEEK_IN_MONTH: [Number](TopLevel.Number.md) = 8
+ - : Represents a day of the week in a month.
+
+
+---
+
+### DAY_OF_YEAR
+
+- DAY_OF_YEAR: [Number](TopLevel.Number.md) = 6
+ - : Represents a day of the year.
+
+
+---
+
+### DECEMBER
+
+- DECEMBER: [Number](TopLevel.Number.md) = 11
+ - : Value for the month of year field representing December.
+
+
+---
+
+### DST_OFFSET
+
+- DST_OFFSET: [Number](TopLevel.Number.md) = 16
+ - : Indicates the daylight savings offset in milliseconds.
+
+
+---
+
+### ERA
+
+- ERA: [Number](TopLevel.Number.md) = 0
+ - : Indicates the era such as 'AD' or 'BC' in the Julian calendar.
+
+
+---
+
+### FEBRUARY
+
+- FEBRUARY: [Number](TopLevel.Number.md) = 1
+ - : Value for the month of year field representing February.
+
+
+---
+
+### FRIDAY
+
+- FRIDAY: [Number](TopLevel.Number.md) = 6
+ - : Value for the day of the week field representing Friday.
+
+
+---
+
+### HOUR
+
+- HOUR: [Number](TopLevel.Number.md) = 10
+ - : Represents an hour.
+
+
+---
+
+### HOUR_OF_DAY
+
+- HOUR_OF_DAY: [Number](TopLevel.Number.md) = 11
+ - : Represents an hour of the day.
+
+
+---
+
+### INPUT_DATE_PATTERN
+
+- INPUT_DATE_PATTERN: [Number](TopLevel.Number.md) = 3
+ - : The input date pattern, for instance MM/dd/yyyy
+
+
+---
+
+### INPUT_DATE_TIME_PATTERN
+
+- INPUT_DATE_TIME_PATTERN: [Number](TopLevel.Number.md) = 5
+ - : The input date time pattern, for instance MM/dd/yyyy h:mm a
+
+
+---
+
+### INPUT_TIME_PATTERN
+
+- INPUT_TIME_PATTERN: [Number](TopLevel.Number.md) = 4
+ - : The input time pattern, for instance h:mm a
+
+
+---
+
+### JANUARY
+
+- JANUARY: [Number](TopLevel.Number.md) = 0
+ - : Value for the month of year field representing January.
+
+
+---
+
+### JULY
+
+- JULY: [Number](TopLevel.Number.md) = 6
+ - : Value for the month of year field representing July.
+
+
+---
+
+### JUNE
+
+- JUNE: [Number](TopLevel.Number.md) = 5
+ - : Value for the month of year field representing June.
+
+
+---
+
+### LONG_DATE_PATTERN
+
+- LONG_DATE_PATTERN: [Number](TopLevel.Number.md) = 1
+ - : The long date pattern, for instance MMM/d/yyyy
+
+
+---
+
+### MARCH
+
+- MARCH: [Number](TopLevel.Number.md) = 2
+ - : Value for the month of year field representing March.
+
+
+---
+
+### MAY
+
+- MAY: [Number](TopLevel.Number.md) = 4
+ - : Value for the month of year field representing May.
+
+
+---
+
+### MILLISECOND
+
+- MILLISECOND: [Number](TopLevel.Number.md) = 14
+ - : Represents a millisecond.
+
+
+---
+
+### MINUTE
+
+- MINUTE: [Number](TopLevel.Number.md) = 12
+ - : Represents a minute.
+
+
+---
+
+### MONDAY
+
+- MONDAY: [Number](TopLevel.Number.md) = 2
+ - : Value for the day of the week field representing Monday.
+
+
+---
+
+### MONTH
+
+- MONTH: [Number](TopLevel.Number.md) = 2
+ - : Represents a month where the first month of the year is 0.
+
+
+---
+
+### NOVEMBER
+
+- NOVEMBER: [Number](TopLevel.Number.md) = 10
+ - : Value for the month of year field representing November.
+
+
+---
+
+### OCTOBER
+
+- OCTOBER: [Number](TopLevel.Number.md) = 9
+ - : Value for the month of year field representing October.
+
+
+---
+
+### SATURDAY
+
+- SATURDAY: [Number](TopLevel.Number.md) = 7
+ - : Value for the day of the week field representing Saturday.
+
+
+---
+
+### SECOND
+
+- SECOND: [Number](TopLevel.Number.md) = 13
+ - : Represents a second.
+
+
+---
+
+### SEPTEMBER
+
+- SEPTEMBER: [Number](TopLevel.Number.md) = 8
+ - : Value for the month of year field representing September.
+
+
+---
+
+### SHORT_DATE_PATTERN
+
+- SHORT_DATE_PATTERN: [Number](TopLevel.Number.md) = 0
+ - : The short date pattern, for instance M/d/yy
+
+
+---
+
+### SUNDAY
+
+- SUNDAY: [Number](TopLevel.Number.md) = 1
+ - : Value for the day of the week field representing Sunday.
+
+
+---
+
+### THURSDAY
+
+- THURSDAY: [Number](TopLevel.Number.md) = 5
+ - : Value for the day of the week field representing Thursday.
+
+
+---
+
+### TIME_PATTERN
+
+- TIME_PATTERN: [Number](TopLevel.Number.md) = 2
+ - : The time pattern, for instance h:mm:ss a
+
+
+---
+
+### TUESDAY
+
+- TUESDAY: [Number](TopLevel.Number.md) = 3
+ - : Value for the day of the week field representing Tuesday.
+
+
+---
+
+### WEDNESDAY
+
+- WEDNESDAY: [Number](TopLevel.Number.md) = 4
+ - : Value for the day of the week field representing Wednesday.
+
+
+---
+
+### WEEK_OF_MONTH
+
+- WEEK_OF_MONTH: [Number](TopLevel.Number.md) = 4
+ - : Represents a week of the month.
+
+
+---
+
+### WEEK_OF_YEAR
+
+- WEEK_OF_YEAR: [Number](TopLevel.Number.md) = 3
+ - : Represents a week in the year.
+
+
+---
+
+### YEAR
+
+- YEAR: [Number](TopLevel.Number.md) = 1
+ - : Represents a year.
+
+
+---
+
+### ZONE_OFFSET
+
+- ZONE_OFFSET: [Number](TopLevel.Number.md) = 15
+ - : Indicates the raw offset from GMT in milliseconds.
+
+
+---
+
+## Property Details
+
+### firstDayOfWeek
+- firstDayOfWeek: [Number](TopLevel.Number.md)
+ - : Returns the first day of the week base on locale context. For example, in the US
+ the first day of the week is SUNDAY. However, in France the
+ first day of the week is MONDAY.
+
+
+
+---
+
+### time
+- time: [Date](TopLevel.Date.md)
+ - : Returns the current time stamp of this calendar. This method
+ is also used to convert a Calendar into a Date.
+
+
+
+ **WARNING:** Keep in mind that the returned Date object's time is always
+ interpreted in the time zone GMT. This means time zone information
+ set at the calendar object will not be honored and gets lost.
+
+
+
+---
+
+### timeZone
+- timeZone: [String](TopLevel.String.md)
+ - : Returns the current time zone of this calendar.
+
+
+---
+
+## Constructor Details
+
+### Calendar()
+- Calendar()
+ - : Creates a new Calendar object that is set to the current
+ time. The default time zone of the Calendar object is GMT.
+
+
+
+ **WARNING:** Keep in mind that the time stamp represented by the new calendar
+ is always interpreted in the time zone GMT. This means time zone
+ information at the calendar object needs to be set separately by
+ using the [setTimeZone(String)](dw.util.Calendar.md#settimezonestring) method.
+
+
+
+---
+
+### Calendar(Date)
+- Calendar(date: [Date](TopLevel.Date.md))
+ - : Creates a new Calendar object for the given Date object. The time is set to
+ the given Date object's time. The default time zone of the Calendar object is GMT.
+
+
+
+ **WARNING:** Keep in mind that the given Date object is always
+ interpreted in the time zone GMT. This means time zone
+ information at the calendar object needs to be set separately by
+ using the [setTimeZone(String)](dw.util.Calendar.md#settimezonestring) method.
+
+
+ **Parameters:**
+ - date - the date for which the calendar will be set.
+
+
+---
+
+## Method Details
+
+### add(Number, Number)
+- add(field: [Number](TopLevel.Number.md), value: [Number](TopLevel.Number.md)): void
+ - : Adds or subtracts the specified amount of time to the given
+ calendar field, based on the calendar's rules.
+
+
+ **Parameters:**
+ - field - the calendar field.
+ - value - the amount of date or time to be added to the field
+
+
+---
+
+### after(Object)
+- after(obj: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if this Calendar represents a time after
+ the time represented by the specified Object.
+
+
+ **Parameters:**
+ - obj - the object to test.
+
+ **Returns:**
+ - true if this Calendar represents a time after
+ the time represented by the specified Object, false otherwise.
+
+
+
+---
+
+### before(Object)
+- before(obj: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if this Calendar represents a time before
+ the time represented by the specified Object.
+
+
+ **Parameters:**
+ - obj - the object to test.
+
+ **Returns:**
+ - true if this Calendar represents a time before
+ the time represented by the specified Object, false otherwise.
+
+
+
+---
+
+### clear()
+- clear(): void
+ - : Sets all the calendar field values and the time value
+ (millisecond offset from the Epoch) of this Calendar undefined.
+
+
+
+---
+
+### clear(Number)
+- clear(field: [Number](TopLevel.Number.md)): void
+ - : Sets the given calendar field value and the time value
+ (millisecond offset from the Epoch) of this Calendar undefined.
+
+
+ **Parameters:**
+ - field - the calendar field to be cleared.
+
+
+---
+
+### compareTo(Calendar)
+- compareTo(anotherCalendar: [Calendar](dw.util.Calendar.md)): [Number](TopLevel.Number.md)
+ - : Compares the time values (millisecond offsets from the Epoch)
+ represented by two Calendar objects.
+
+
+ **Parameters:**
+ - anotherCalendar - the Calendar to be compared.
+
+ **Returns:**
+ - the value 0 if the time represented by the argument is equal
+ to the time represented by this Calendar; a value less than 0 if
+ the time of this Calendar is before the time represented by the
+ argument; and a value greater than 0 if the time of this Calendar
+ is after the time represented by the argument.
+
+
+
+---
+
+### equals(Object)
+- equals(other: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Compares two calendar values whether they are equivalent.
+
+ **Parameters:**
+ - other - the object to compare against this calendar.
+
+
+---
+
+### get(Number)
+- get(field: [Number](TopLevel.Number.md)): [Number](TopLevel.Number.md)
+ - : Returns the value of the given calendar field.
+
+ **Parameters:**
+ - field - the calendar field to retrieve.
+
+ **Returns:**
+ - the value for the given calendar field.
+
+
+---
+
+### getActualMaximum(Number)
+- getActualMaximum(field: [Number](TopLevel.Number.md)): [Number](TopLevel.Number.md)
+ - : Returns the maximum value that the specified calendar
+ field could have.
+
+
+ **Parameters:**
+ - field - the calendar field.
+
+ **Returns:**
+ - the maximum value that the specified calendar
+ field could have.
+
+
+
+---
+
+### getActualMinimum(Number)
+- getActualMinimum(field: [Number](TopLevel.Number.md)): [Number](TopLevel.Number.md)
+ - : Returns the minimum value that the specified calendar
+ field could have.
+
+
+ **Parameters:**
+ - field - the calendar field.
+
+ **Returns:**
+ - the minimum value that the specified calendar
+ field could have.
+
+
+
+---
+
+### getFirstDayOfWeek()
+- getFirstDayOfWeek(): [Number](TopLevel.Number.md)
+ - : Returns the first day of the week base on locale context. For example, in the US
+ the first day of the week is SUNDAY. However, in France the
+ first day of the week is MONDAY.
+
+
+ **Returns:**
+ - the first day of the week base on locale context. For example, in the US
+ the first day of the week is SUNDAY. However, in France the
+ first day of the week is MONDAY.
+
+
+
+---
+
+### getMaximum(Number)
+- getMaximum(field: [Number](TopLevel.Number.md)): [Number](TopLevel.Number.md)
+ - : Returns the maximum value for the given calendar
+ field.
+
+
+ **Parameters:**
+ - field - the calendar field.
+
+ **Returns:**
+ - the maximum value for the given calendar
+ field.
+
+
+
+---
+
+### getMinimum(Number)
+- getMinimum(field: [Number](TopLevel.Number.md)): [Number](TopLevel.Number.md)
+ - : Returns the minimum value for the given calendar
+ field.
+
+
+ **Parameters:**
+ - field - the calendar field.
+
+ **Returns:**
+ - the minimum value for the given calendar
+ field.
+
+
+
+---
+
+### getTime()
+- getTime(): [Date](TopLevel.Date.md)
+ - : Returns the current time stamp of this calendar. This method
+ is also used to convert a Calendar into a Date.
+
+
+
+ **WARNING:** Keep in mind that the returned Date object's time is always
+ interpreted in the time zone GMT. This means time zone information
+ set at the calendar object will not be honored and gets lost.
+
+
+ **Returns:**
+ - the current time stamp of this calendar as a Date.
+
+
+---
+
+### getTimeZone()
+- getTimeZone(): [String](TopLevel.String.md)
+ - : Returns the current time zone of this calendar.
+
+ **Returns:**
+ - the current time zone of this calendar.
+
+
+---
+
+### hashCode()
+- hashCode(): [Number](TopLevel.Number.md)
+ - : Calculates the hash code for a calendar;
+
+
+---
+
+### isLeapYear(Number)
+- isLeapYear(year: [Number](TopLevel.Number.md)): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if the specified year is a leap year.
+
+ **Parameters:**
+ - year - the year to test.
+
+ **Returns:**
+ - true if the specified year is a leap year.
+
+
+---
+
+### isSameDay(Calendar)
+- isSameDay(other: [Calendar](dw.util.Calendar.md)): [Boolean](TopLevel.Boolean.md)
+ - : Checks, whether two calendar dates fall on the same day.
+
+
+ The method performs comparison based on both calendar's
+ field values by honoring the defined time zones.
+
+
+
+
+ Examples:
+
+
+
+ ```
+ new Calendar( new Date( "2002/02/28 13:45" ).isSameDay( new Calendar( new Date( "2002/02/28 06:01" ) ) );
+ ```
+
+ would return true.
+
+ ```
+ new Calendar( new Date( "2002/02/28 13:45" ).isSameDay( new Calendar( new Date( "2002/02/12 13:45" ) ) );
+ ```
+
+ would return false.
+
+ ```
+ new Calendar( new Date( "2002/02/28 13:45" ).isSameDay( new Calendar( new Date( "1970/02/28 13:45" ) ) );
+ ```
+
+ would return false.
+
+ ```
+ var cal1 = new Calendar( new Date( "2002/02/28 02:00" );
+ cal1.setTimeZone( "Etc/GMT+1" );
+ var cal2 = new Calendar( new Date( "2002/02/28 00:00" );
+ cal2.setTimeZone( "Etc/GMT+1" );
+ cal1.isSameDay( cal2 );
+ ```
+
+ would return false since the time zone is applied first which results in comparing `2002/02/28 01:00` for `cal1`
+ with `2002/02/27 23:00` for `cal2`.
+
+
+ **Parameters:**
+ - other - the calendar to compare against this calendar.
+
+
+---
+
+### isSameDayByTimestamp(Calendar)
+- isSameDayByTimestamp(other: [Calendar](dw.util.Calendar.md)): [Boolean](TopLevel.Boolean.md)
+ - : Checks, whether two calendar dates fall on the same day.
+
+
+ The method performs comparison based on both calendar's
+ time stamps by ignoring any defined time zones.
+
+
+
+
+ Examples:
+
+
+
+ ```
+ new Calendar( new Date( "2002/02/28 13:45" ).isSameDayByTimestamp( new Calendar( new Date( "2002/02/28 06:01" ) ) );
+ ```
+
+ would return true.
+
+ ```
+ new Calendar( new Date( "2002/02/28 13:45" ).isSameDayByTimestamp( new Calendar( new Date( "2002/02/12 13:45" ) ) );
+ ```
+
+ would return false.
+
+ ```
+ new Calendar( new Date( "2002/02/28 13:45" ).isSameDayByTimestamp( new Calendar( new Date( "1970/02/28 13:45" ) ) );
+ ```
+
+ would return false.
+
+ ```
+ var cal1 = new Calendar( new Date( "2002/02/28 02:00" );
+ cal1.setTimeZone( "Etc/GMT+1" );
+ var cal2 = new Calendar( new Date( "2002/02/28 00:00" );
+ cal2.setTimeZone( "Etc/GMT+1" );
+ cal1.isSameDayByTimestamp( cal2 );
+ ```
+
+ would return true since the time zone is not applied first which results in comparing `2002/02/28 02:00` for `cal1`
+ with `2002/02/28 00:00` for `cal2`.
+
+
+ **Parameters:**
+ - other - the calendar to compare against this calendar.
+
+
+---
+
+### isSet(Number)
+- isSet(field: [Number](TopLevel.Number.md)): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if the field is set.
+
+ **Parameters:**
+ - field - the field to test.
+
+ **Returns:**
+ - true if the field is set, false otherwise.
+
+
+---
+
+### parseByFormat(String, String)
+- parseByFormat(timeString: [String](TopLevel.String.md), format: [String](TopLevel.String.md)): void
+ - : Parses the string according to the date and time format pattern and set
+ the time at this calendar object. For the specification of the date and
+ time format pattern see the javadoc of the JDK class java.text.SimpleDateFormat.
+ If a time zone is included in the format string,
+ this time zone is used to interpet the time. Otherwise the currently set
+ calendar time zone is used to parse the given time string.
+
+
+ **Parameters:**
+ - timeString - the time string to parsed
+ - format - the time format string
+
+
+---
+
+### parseByLocale(String, String, Number)
+- parseByLocale(timeString: [String](TopLevel.String.md), locale: [String](TopLevel.String.md), pattern: [Number](TopLevel.Number.md)): void
+ - : Parses the string according the date format pattern of the given locale.
+ If the locale name is invalid, an exception is thrown. The currently set
+ calendar time zone is used to parse the given time string.
+
+
+ **Parameters:**
+ - timeString - the time string to parsed
+ - locale - the locale id, which defines the date format pattern
+ - pattern - the pattern is one of calendar pattern e.g. SHORT\_DATE\_PATTERN as defined in the regional settings for the locale
+
+
+---
+
+### roll(Number, Boolean)
+- roll(field: [Number](TopLevel.Number.md), up: [Boolean](TopLevel.Boolean.md)): void
+ - : Rolls the specified field up or down one value.
+
+ **Parameters:**
+ - field - the field to roll.
+ - up - if true rolls the field up, if false rolls the field down.
+
+
+---
+
+### roll(Number, Number)
+- roll(field: [Number](TopLevel.Number.md), amount: [Number](TopLevel.Number.md)): void
+ - : Rolls the specified field using the specified value.
+
+ **Parameters:**
+ - field - the field to roll.
+ - amount - the amount to roll the field.
+
+
+---
+
+### set(Number, Number)
+- set(field: [Number](TopLevel.Number.md), value: [Number](TopLevel.Number.md)): void
+ - : Sets the given calendar field to the given value.
+
+ **Parameters:**
+ - field - the calendar field to set.
+ - value - the value to set in the field.
+
+
+---
+
+### set(Number, Number, Number)
+- set(year: [Number](TopLevel.Number.md), month: [Number](TopLevel.Number.md), date: [Number](TopLevel.Number.md)): void
+ - : Sets the values for the calendar fields YEAR, MONTH, and DAY\_OF\_MONTH.
+
+ **Parameters:**
+ - year - the value for year.
+ - month - the value for month.
+ - date - the value for date.
+
+
+---
+
+### set(Number, Number, Number, Number, Number)
+- set(year: [Number](TopLevel.Number.md), month: [Number](TopLevel.Number.md), date: [Number](TopLevel.Number.md), hourOfDay: [Number](TopLevel.Number.md), minute: [Number](TopLevel.Number.md)): void
+ - : Sets the values for the calendar fields YEAR, MONTH,
+ DAY\_OF\_MONTH, HOUR\_OF\_DAY, and MINUTE.
+
+
+ **Parameters:**
+ - year - the value for year.
+ - month - the value for month.
+ - date - the value for date.
+ - hourOfDay - the value for hour of day.
+ - minute - the value for minute.
+
+
+---
+
+### set(Number, Number, Number, Number, Number, Number)
+- set(year: [Number](TopLevel.Number.md), month: [Number](TopLevel.Number.md), date: [Number](TopLevel.Number.md), hourOfDay: [Number](TopLevel.Number.md), minute: [Number](TopLevel.Number.md), second: [Number](TopLevel.Number.md)): void
+ - : Sets the values for the calendar fields YEAR, MONTH,
+ DAY\_OF\_MONTH, HOUR\_OF\_DAY, MINUTE and SECOND.
+
+
+ **Parameters:**
+ - year - the value for year.
+ - month - the value for month.
+ - date - the value for date.
+ - hourOfDay - the value for hour of day.
+ - minute - the value for minute.
+ - second - the value for second.
+
+
+---
+
+### setFirstDayOfWeek(Number)
+- setFirstDayOfWeek(value: [Number](TopLevel.Number.md)): void
+ - : Sets what the first day of the week is.
+
+ **Parameters:**
+ - value - the day to set as the first day of the week.
+
+
+---
+
+### setTime(Date)
+- setTime(date: [Date](TopLevel.Date.md)): void
+ - : Sets the current time stamp of this calendar.
+
+
+
+ **WARNING:** Keep in mind that the set Date object's time is always
+ interpreted in the time zone GMT. This means that time zone
+ information at the calendar object needs to be set separately by
+ using the [setTimeZone(String)](dw.util.Calendar.md#settimezonestring) method.
+
+
+ **Parameters:**
+ - date - the current time stamp of this calendar.
+
+
+---
+
+### setTimeZone(String)
+- setTimeZone(timeZone: [String](TopLevel.String.md)): void
+ - : Sets the current time zone of this calendar.
+
+
+
+ **WARNING:** Keep in mind that the time stamp represented by the calendar is
+ always interpreted in the time zone GMT. Changing the time zone will not
+ change the calendar's time stamp.
+
+
+ **Parameters:**
+ - timeZone - the current time zone value to set.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.Collection.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.Collection.md
new file mode 100644
index 00000000..d1ad63b8
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.Collection.md
@@ -0,0 +1,272 @@
+
+# Class Collection
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Collection](dw.util.Collection.md)
+
+Represents a collection of objects.
+
+
+## All Known Subclasses
+[ArrayList](dw.util.ArrayList.md), [FilteringCollection](dw.util.FilteringCollection.md), [HashSet](dw.util.HashSet.md), [LinkedHashSet](dw.util.LinkedHashSet.md), [List](dw.util.List.md), [Set](dw.util.Set.md), [SortedSet](dw.util.SortedSet.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [empty](#empty): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns true if the collection is empty. |
+| [length](#length): [Number](TopLevel.Number.md) `(read-only)` | Returns the length of the collection. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [add](dw.util.Collection.md#addobject)([Object...](TopLevel.Object.md)) | Adds the specified objects to the collection. |
+| [add1](dw.util.Collection.md#add1object)([Object](TopLevel.Object.md)) | The method adds a single object to the collection. |
+| [addAll](dw.util.Collection.md#addallcollection)([Collection](dw.util.Collection.md)) | Adds the collection of objects to the collection. |
+| [clear](dw.util.Collection.md#clear)() | Clears the collection. |
+| [contains](dw.util.Collection.md#containsobject)([Object](TopLevel.Object.md)) | Returns true if the collection contains the specified object. |
+| [containsAll](dw.util.Collection.md#containsallcollection)([Collection](dw.util.Collection.md)) | Returns true if the collection contains all of the objects in the specified collection. |
+| [getLength](dw.util.Collection.md#getlength)() | Returns the length of the collection. |
+| [isEmpty](dw.util.Collection.md#isempty)() | Returns true if the collection is empty. |
+| [iterator](dw.util.Collection.md#iterator)() | Returns an iterator that can be used to access the members of the collection. |
+| [remove](dw.util.Collection.md#removeobject)([Object](TopLevel.Object.md)) | Removes the specified object from the collection. |
+| [removeAll](dw.util.Collection.md#removeallcollection)([Collection](dw.util.Collection.md)) | Removes all of object in the specified object from the collection. |
+| [retainAll](dw.util.Collection.md#retainallcollection)([Collection](dw.util.Collection.md)) | Removes all of object in the collection that are not in the specified collection. |
+| [size](dw.util.Collection.md#size)() | Returns the size of the collection. |
+| [toArray](dw.util.Collection.md#toarray)() | Returns all elements of this collection in a newly created array. |
+| [toArray](dw.util.Collection.md#toarraynumber-number)([Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Returns a subset of the elements of this collection in a newly created array. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### empty
+- empty: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns true if the collection is empty.
+
+
+---
+
+### length
+- length: [Number](TopLevel.Number.md) `(read-only)`
+ - : Returns the length of the collection. This is similar to
+ to a ECMA array of 'products.length'.
+
+
+
+---
+
+## Method Details
+
+### add(Object...)
+- add(values: [Object...](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Adds the specified objects to the collection. The method can also
+ be called with an ECMA array as argument.
+
+ If called with a single ECMA array as argument the individual elements of
+ that array are added to the collection. If the array object itself should
+ be added use the method add1().
+
+
+ **Parameters:**
+ - values - the values to add.
+
+ **Returns:**
+ - true if the values were added, false otherwise.
+
+
+---
+
+### add1(Object)
+- add1(object: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : The method adds a single object to the collection.
+
+ **Parameters:**
+ - object - the object to add.
+
+ **Returns:**
+ - true if the object was added, false otherwise.
+
+
+---
+
+### addAll(Collection)
+- addAll(objs: [Collection](dw.util.Collection.md)): [Boolean](TopLevel.Boolean.md)
+ - : Adds the collection of objects to the collection.
+
+ **Parameters:**
+ - objs - the objects to add.
+
+ **Returns:**
+ - true if the objects were added, false otherwise.
+
+
+---
+
+### clear()
+- clear(): void
+ - : Clears the collection.
+
+
+---
+
+### contains(Object)
+- contains(obj: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the collection contains the specified object.
+
+ **Parameters:**
+ - obj - the object to locate in this collection.
+
+ **Returns:**
+ - true if the collection contains the specified object,
+ false otherwise.
+
+
+
+---
+
+### containsAll(Collection)
+- containsAll(objs: [Collection](dw.util.Collection.md)): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the collection contains all of the objects
+ in the specified collection.
+
+
+ **Parameters:**
+ - objs - the collection of objects to locate in this collection.
+
+ **Returns:**
+ - true if the collection contains all of the specified objects,
+ false otherwise.
+
+
+
+---
+
+### getLength()
+- getLength(): [Number](TopLevel.Number.md)
+ - : Returns the length of the collection. This is similar to
+ to a ECMA array of 'products.length'.
+
+
+ **Returns:**
+ - the length of the collection.
+
+
+---
+
+### isEmpty()
+- isEmpty(): [Boolean](TopLevel.Boolean.md)
+ - : Returns true if the collection is empty.
+
+ **Returns:**
+ - true if the collection is empty, false otherwise
+
+
+---
+
+### iterator()
+- iterator(): [Iterator](dw.util.Iterator.md)
+ - : Returns an iterator that can be used to access
+ the members of the collection.
+
+
+ **Returns:**
+ - an iterator that can be used to access
+ the members of the collection.
+
+
+
+---
+
+### remove(Object)
+- remove(obj: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Removes the specified object from the collection.
+
+ **Parameters:**
+ - obj - the object to remove.
+
+ **Returns:**
+ - true if the specified object was removed,
+ false otherwise.
+
+
+
+---
+
+### removeAll(Collection)
+- removeAll(objs: [Collection](dw.util.Collection.md)): [Boolean](TopLevel.Boolean.md)
+ - : Removes all of object in the specified object from the collection.
+
+ **Parameters:**
+ - objs - the collection of objects to remove.
+
+ **Returns:**
+ - true if the all of the specified objects were removed,
+ false otherwise.
+
+
+
+---
+
+### retainAll(Collection)
+- retainAll(objs: [Collection](dw.util.Collection.md)): [Boolean](TopLevel.Boolean.md)
+ - : Removes all of object in the collection that are not in the
+ specified collection.
+
+
+ **Parameters:**
+ - objs - the collection of objects to retain in the collection.
+
+ **Returns:**
+ - true if the collection retains all of the specified objects,
+ false otherwise.
+
+
+
+---
+
+### size()
+- size(): [Number](TopLevel.Number.md)
+ - : Returns the size of the collection.
+
+ **Returns:**
+ - the size of the collection.
+
+
+---
+
+### toArray()
+- toArray(): [Array](TopLevel.Array.md)
+ - : Returns all elements of this collection in a newly created array. The returned array is independent of this collection and
+ can be modified without changing the collection. The elements in the array are in the same order as they are returned when
+ iterating over this collection.
+
+
+ **Returns:**
+ - a newly created array.
+
+
+---
+
+### toArray(Number, Number)
+- toArray(start: [Number](TopLevel.Number.md), size: [Number](TopLevel.Number.md)): [Array](TopLevel.Array.md)
+ - : Returns a subset of the elements of this collection in a newly created array. The returned array is independent of this collection and
+ can be modified without changing the collection. The elements in the array are in the same order as they are returned when
+ iterating over this collection.
+
+
+ **Parameters:**
+ - start - the number of elements to iterate before adding elements to the array. Negative values are treated as 0.
+ - size - the maximum number of elements to add to the array. Nonpositive values always result in empty array.
+
+ **Returns:**
+ - a newly created array.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.Currency.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.Currency.md
new file mode 100644
index 00000000..2d018ea8
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.Currency.md
@@ -0,0 +1,147 @@
+
+# Class Currency
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Currency](dw.util.Currency.md)
+
+Represents a currency supported by the system.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [currencyCode](#currencycode): [String](TopLevel.String.md) `(read-only)` | Gets the ISO 4217 mnemonic currency code of this currency. |
+| [defaultFractionDigits](#defaultfractiondigits): [Number](TopLevel.Number.md) `(read-only)` | Gets the default number of fraction digits used with this currency. |
+| [name](#name): [String](TopLevel.String.md) `(read-only)` | Gets a long name for this currency. |
+| [symbol](#symbol): [String](TopLevel.String.md) `(read-only)` | Gets the symbol of this currency. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [getCurrency](dw.util.Currency.md#getcurrencystring)([String](TopLevel.String.md)) | Returns a `Currency` instance for the given currency code, or `null` if there is no such currency. |
+| [getCurrencyCode](dw.util.Currency.md#getcurrencycode)() | Gets the ISO 4217 mnemonic currency code of this currency. |
+| [getDefaultFractionDigits](dw.util.Currency.md#getdefaultfractiondigits)() | Gets the default number of fraction digits used with this currency. |
+| [getName](dw.util.Currency.md#getname)() | Gets a long name for this currency. |
+| [getSymbol](dw.util.Currency.md#getsymbol)() | Gets the symbol of this currency. |
+| [toString](dw.util.Currency.md#tostring)() | Returns the ISO 4217 mnemonic currency code of this currency. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### currencyCode
+- currencyCode: [String](TopLevel.String.md) `(read-only)`
+ - : Gets the ISO 4217 mnemonic currency code of this currency.
+
+
+---
+
+### defaultFractionDigits
+- defaultFractionDigits: [Number](TopLevel.Number.md) `(read-only)`
+ - : Gets the default number of fraction digits used with this currency.
+ For example, the default number of fraction digits for the Euro is 2,
+ while for the Japanese Yen it's 0.
+
+
+
+---
+
+### name
+- name: [String](TopLevel.String.md) `(read-only)`
+ - : Gets a long name for this currency. e.g. "United States Dollar".
+ The returned name is the one stored in the system for this currency.
+ Currently only English names are available, but in the future
+ this method may return a locale-specific name.
+
+
+
+---
+
+### symbol
+- symbol: [String](TopLevel.String.md) `(read-only)`
+ - : Gets the symbol of this currency. e.g. "$" for the US Dollar.
+
+
+---
+
+## Method Details
+
+### getCurrency(String)
+- static getCurrency(currencyCode: [String](TopLevel.String.md)): [Currency](dw.util.Currency.md)
+ - : Returns a `Currency` instance for the given currency code,
+ or `null` if there is no such currency.
+
+
+ **Parameters:**
+ - currencyCode - the ISO 4217 mnemonic code of the currency.
+
+ **Returns:**
+ - the `Currency` instance for the given currency code.
+
+
+---
+
+### getCurrencyCode()
+- getCurrencyCode(): [String](TopLevel.String.md)
+ - : Gets the ISO 4217 mnemonic currency code of this currency.
+
+ **Returns:**
+ - the ISO 4217 mnemonic currency code of this currency.
+
+
+---
+
+### getDefaultFractionDigits()
+- getDefaultFractionDigits(): [Number](TopLevel.Number.md)
+ - : Gets the default number of fraction digits used with this currency.
+ For example, the default number of fraction digits for the Euro is 2,
+ while for the Japanese Yen it's 0.
+
+
+ **Returns:**
+ - the default number of fraction digits used with this currency.
+
+
+---
+
+### getName()
+- getName(): [String](TopLevel.String.md)
+ - : Gets a long name for this currency. e.g. "United States Dollar".
+ The returned name is the one stored in the system for this currency.
+ Currently only English names are available, but in the future
+ this method may return a locale-specific name.
+
+
+ **Returns:**
+ - a long name for this currency. e.g. "United States Dollar".
+
+
+---
+
+### getSymbol()
+- getSymbol(): [String](TopLevel.String.md)
+ - : Gets the symbol of this currency. e.g. "$" for the US Dollar.
+
+ **Returns:**
+ - the symbol of this currency.
+
+
+---
+
+### toString()
+- toString(): [String](TopLevel.String.md)
+ - : Returns the ISO 4217 mnemonic currency code of this currency.
+
+ **Returns:**
+ - the ISO 4217 mnemonic currency code of this currency.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.DateUtils.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.DateUtils.md
new file mode 100644
index 00000000..3ebe0d4b
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.DateUtils.md
@@ -0,0 +1,82 @@
+
+# Class DateUtils
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.DateUtils](dw.util.DateUtils.md)
+
+A class with several utility methods for Date objects.
+
+**Deprecated:**
+:::warning
+See each method for additional information.
+:::
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| ~~static [nowForInstance](dw.util.DateUtils.md#nowforinstance)()~~ | Returns the current time stamp in the time zone of the instance. |
+| ~~static [nowForSite](dw.util.DateUtils.md#nowforsite)()~~ | Returns the current timestamp in the time zone of the current site. |
+| ~~static [nowInUTC](dw.util.DateUtils.md#nowinutc)()~~ | Returns the current time stamp in UTC. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### nowForInstance()
+- ~~static nowForInstance(): [Date](TopLevel.Date.md)~~
+ - : Returns the current time stamp in the time zone of the
+ instance.
+
+
+ **Returns:**
+ - the current time stamp in the time zone of the
+ instance.
+
+
+ **Deprecated:**
+:::warning
+Use [System.getCalendar()](dw.system.System.md#getcalendar) instead.
+:::
+
+---
+
+### nowForSite()
+- ~~static nowForSite(): [Date](TopLevel.Date.md)~~
+ - : Returns the current timestamp in the time zone of the
+ current site.
+
+
+ **Returns:**
+ - the current timestamp in the time zone of the
+ current site.
+
+
+ **Deprecated:**
+:::warning
+Use [Site.getCalendar()](dw.system.Site.md#getcalendar) instead.
+:::
+
+---
+
+### nowInUTC()
+- ~~static nowInUTC(): [Date](TopLevel.Date.md)~~
+ - : Returns the current time stamp in UTC.
+
+ **Returns:**
+ - the current time stamp in UTC.
+
+ **Deprecated:**
+:::warning
+Create a new [Calendar](dw.util.Calendar.md) object and set
+ the time zone "UTC" instead.
+
+:::
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.Decimal.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.Decimal.md
new file mode 100644
index 00000000..4589bd68
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.Decimal.md
@@ -0,0 +1,386 @@
+
+# Class Decimal
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Decimal](dw.util.Decimal.md)
+
+The Decimal class is a helper class to perform decimal arithmetic in
+scripts and to represent a decimal number with arbitrary length. The decimal
+class avoids arithmetic errors, which are typical for calculating with
+floating numbers, that are based on a binary mantissa.
+
+
+The class is designed in a way that it can be used very similar to a
+desktop calculator.
+
+
+```
+var d = new Decimal( 10.0 );
+var result = d.add( 2.0 ).sub( 3.0 ).get();
+```
+
+
+
+The above code will return 9 as result.
+
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [Decimal](#decimal)() | Constructs a new Decimal with the value 0. |
+| [Decimal](#decimalnumber)([Number](TopLevel.Number.md)) | Constructs a new decimal using the specified Number value. |
+| [Decimal](#decimalbigint)([BigInt](TopLevel.BigInt.md)) | Constructs a new decimal using the specified BigInt value. |
+| [Decimal](#decimalstring)([String](TopLevel.String.md)) | Constructs a new Decimal using the specified string representation of a number. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [abs](dw.util.Decimal.md#abs)() | Returns a new Decimal with the absolute value of this Decimal. |
+| [add](dw.util.Decimal.md#addnumber)([Number](TopLevel.Number.md)) | Adds a Number value to this Decimal and returns the new Decimal. |
+| [add](dw.util.Decimal.md#adddecimal)([Decimal](dw.util.Decimal.md)) | Adds a Decimal value to this Decimal and returns the new Decimal. |
+| [addPercent](dw.util.Decimal.md#addpercentnumber)([Number](TopLevel.Number.md)) | Adds a percentage value to the current value of the decimal. |
+| [addPercent](dw.util.Decimal.md#addpercentdecimal)([Decimal](dw.util.Decimal.md)) | Adds a percentage value to the current value of the decimal. |
+| [divide](dw.util.Decimal.md#dividenumber)([Number](TopLevel.Number.md)) | Divides the specified Number value with this decimal and returns the new decimal. |
+| [divide](dw.util.Decimal.md#dividedecimal)([Decimal](dw.util.Decimal.md)) | Divides the specified Decimal value with this decimal and returns the new decimal. |
+| [equals](dw.util.Decimal.md#equalsobject)([Object](TopLevel.Object.md)) | Compares two decimal values whether they are equivalent. |
+| [get](dw.util.Decimal.md#get)() | Returns the value of the Decimal as a Number. |
+| [hashCode](dw.util.Decimal.md#hashcode)() | Calculates the hash code for this decimal; |
+| [multiply](dw.util.Decimal.md#multiplynumber)([Number](TopLevel.Number.md)) | Multiples the specified Number value with this Decimal and returns the new Decimal. |
+| [multiply](dw.util.Decimal.md#multiplydecimal)([Decimal](dw.util.Decimal.md)) | Multiples the specified Decimal value with this Decimal and returns the new Decimal. |
+| [negate](dw.util.Decimal.md#negate)() | Returns a new Decimal with the negated value of this Decimal. |
+| [round](dw.util.Decimal.md#roundnumber)([Number](TopLevel.Number.md)) | Rounds the current value of the decimal using the specified number of decimals. |
+| [subtract](dw.util.Decimal.md#subtractnumber)([Number](TopLevel.Number.md)) | Subtracts the specified Number value from this Decimal and returns the new Decimal. |
+| [subtract](dw.util.Decimal.md#subtractdecimal)([Decimal](dw.util.Decimal.md)) | Subtracts the specified Decimal value from this Decimal and returns the new Decimal. |
+| [subtractPercent](dw.util.Decimal.md#subtractpercentnumber)([Number](TopLevel.Number.md)) | Subtracts a percentage value from the current value of the decimal. |
+| [subtractPercent](dw.util.Decimal.md#subtractpercentdecimal)([Decimal](dw.util.Decimal.md)) | Subtracts a percentage value from the current value of the decimal. |
+| [toString](dw.util.Decimal.md#tostring)() | Returns a string representation of this object. |
+| [valueOf](dw.util.Decimal.md#valueof)() | The valueOf() method is called by the ECMAScript interpret to return the "natural" value of an object. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### Decimal()
+- Decimal()
+ - : Constructs a new Decimal with the value 0.
+
+
+---
+
+### Decimal(Number)
+- Decimal(value: [Number](TopLevel.Number.md))
+ - : Constructs a new decimal using the specified Number value.
+
+ **Parameters:**
+ - value - the value to use.
+
+
+---
+
+### Decimal(BigInt)
+- Decimal(value: [BigInt](TopLevel.BigInt.md))
+ - : Constructs a new decimal using the specified BigInt value.
+
+ **Parameters:**
+ - value - the value to use.
+
+ **API Version:**
+:::note
+Available from version 22.7.
+:::
+
+---
+
+### Decimal(String)
+- Decimal(value: [String](TopLevel.String.md))
+ - : Constructs a new Decimal using the specified string representation of
+ a number.
+
+
+ **Parameters:**
+ - value - the value to use.
+
+
+---
+
+## Method Details
+
+### abs()
+- abs(): [Decimal](dw.util.Decimal.md)
+ - : Returns a new Decimal with the absolute value of this Decimal.
+
+ **Returns:**
+ - the new Decimal
+
+
+---
+
+### add(Number)
+- add(value: [Number](TopLevel.Number.md)): [Decimal](dw.util.Decimal.md)
+ - : Adds a Number value to this Decimal and returns the new Decimal.
+
+ **Parameters:**
+ - value - the value to add to this decimal.
+
+ **Returns:**
+ - the new decimal with the value added.
+
+
+---
+
+### add(Decimal)
+- add(value: [Decimal](dw.util.Decimal.md)): [Decimal](dw.util.Decimal.md)
+ - : Adds a Decimal value to this Decimal and returns the new Decimal.
+
+ **Parameters:**
+ - value - the value to add to this decimal.
+
+ **Returns:**
+ - the new decimal with the value added.
+
+
+---
+
+### addPercent(Number)
+- addPercent(value: [Number](TopLevel.Number.md)): [Decimal](dw.util.Decimal.md)
+ - : Adds a percentage value to the current value of the
+ decimal. For example a value of 10 represent 10% or a value of
+ 85 represents 85%.
+
+
+ **Parameters:**
+ - value - the value to add.
+
+ **Returns:**
+ - a new decimal with the added percentage value.
+
+
+---
+
+### addPercent(Decimal)
+- addPercent(value: [Decimal](dw.util.Decimal.md)): [Decimal](dw.util.Decimal.md)
+ - : Adds a percentage value to the current value of the
+ decimal. For example a value of 10 represent 10% or a value of
+ 85 represents 85%.
+
+
+ **Parameters:**
+ - value - the value to add.
+
+ **Returns:**
+ - a new decimal with the added percentage value.
+
+
+---
+
+### divide(Number)
+- divide(value: [Number](TopLevel.Number.md)): [Decimal](dw.util.Decimal.md)
+ - : Divides the specified Number value with this decimal and returns the new
+ decimal.
+
+ When performing the division, 34 digits precision and a rounding mode of
+ HALF\_EVEN is used to prevent quotients with nonterminating decimal
+ expansions.
+
+
+ **Parameters:**
+ - value - the value to use to divide this decimal.
+
+ **Returns:**
+ - the new decimal.
+
+
+---
+
+### divide(Decimal)
+- divide(value: [Decimal](dw.util.Decimal.md)): [Decimal](dw.util.Decimal.md)
+ - : Divides the specified Decimal value with this decimal and returns the new
+ decimal.
+
+ When performing the division, 34 digits precision and a rounding mode of
+ HALF\_EVEN is used to prevent quotients with nonterminating decimal
+ expansions.
+
+
+ **Parameters:**
+ - value - the value to use to divide this decimal.
+
+ **Returns:**
+ - the new decimal.
+
+
+---
+
+### equals(Object)
+- equals(other: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Compares two decimal values whether they are equivalent.
+
+ **Parameters:**
+ - other - the object to comapre against this decimal.
+
+
+---
+
+### get()
+- get(): [Number](TopLevel.Number.md)
+ - : Returns the value of the Decimal as a Number.
+
+ **Returns:**
+ - the value of the Decimal.
+
+
+---
+
+### hashCode()
+- hashCode(): [Number](TopLevel.Number.md)
+ - : Calculates the hash code for this decimal;
+
+
+---
+
+### multiply(Number)
+- multiply(value: [Number](TopLevel.Number.md)): [Decimal](dw.util.Decimal.md)
+ - : Multiples the specified Number value with this Decimal and returns the new Decimal.
+
+ **Parameters:**
+ - value - the value to multiply with this decimal.
+
+ **Returns:**
+ - the new decimal.
+
+
+---
+
+### multiply(Decimal)
+- multiply(value: [Decimal](dw.util.Decimal.md)): [Decimal](dw.util.Decimal.md)
+ - : Multiples the specified Decimal value with this Decimal and returns the new Decimal.
+
+ **Parameters:**
+ - value - the value to multiply with this decimal.
+
+ **Returns:**
+ - the new decimal.
+
+
+---
+
+### negate()
+- negate(): [Decimal](dw.util.Decimal.md)
+ - : Returns a new Decimal with the negated value of this Decimal.
+
+ **Returns:**
+ - the new Decimal
+
+
+---
+
+### round(Number)
+- round(decimals: [Number](TopLevel.Number.md)): [Decimal](dw.util.Decimal.md)
+ - : Rounds the current value of the decimal using the specified
+ number of decimals. The parameter
+ specifies the number of digest after the decimal point.
+
+
+ **Parameters:**
+ - decimals - the number of decimals to use.
+
+ **Returns:**
+ - the decimal that has been rounded.
+
+
+---
+
+### subtract(Number)
+- subtract(value: [Number](TopLevel.Number.md)): [Decimal](dw.util.Decimal.md)
+ - : Subtracts the specified Number value from this Decimal and returns the new Decimal.
+
+ **Parameters:**
+ - value - the value to add to this decimal.
+
+ **Returns:**
+ - the new decimal with the value subtraced.
+
+
+---
+
+### subtract(Decimal)
+- subtract(value: [Decimal](dw.util.Decimal.md)): [Decimal](dw.util.Decimal.md)
+ - : Subtracts the specified Decimal value from this Decimal and returns the new Decimal.
+
+ **Parameters:**
+ - value - the value to add to this decimal.
+
+ **Returns:**
+ - the new decimal with the value subtraced.
+
+
+---
+
+### subtractPercent(Number)
+- subtractPercent(value: [Number](TopLevel.Number.md)): [Decimal](dw.util.Decimal.md)
+ - : Subtracts a percentage value from the current value of the
+ decimal. For example a value of 10 represent 10% or a value of
+ 85 represents 85%.
+
+
+ **Parameters:**
+ - value - the value to subtract.
+
+ **Returns:**
+ - a new decimal with the subtracted percentage value.
+
+
+---
+
+### subtractPercent(Decimal)
+- subtractPercent(value: [Decimal](dw.util.Decimal.md)): [Decimal](dw.util.Decimal.md)
+ - : Subtracts a percentage value from the current value of the
+ decimal. For example a value of 10 represent 10% or a value of
+ 85 represents 85%.
+
+
+ **Parameters:**
+ - value - the value to subtract.
+
+ **Returns:**
+ - a new decimal with the subtracted percentage value.
+
+
+---
+
+### toString()
+- toString(): [String](TopLevel.String.md)
+ - : Returns a string representation of this object.
+
+ **Returns:**
+ - a string representation of this object.
+
+
+---
+
+### valueOf()
+- valueOf(): [Object](TopLevel.Object.md)
+ - : The valueOf() method is called by the ECMAScript interpret to return
+ the "natural" value of an object. The Decimal object returns its
+ current value as number. With this behavior script snippets can
+ be written like:
+
+ `
+ var d = new Decimal( 10.0 );
+ var x = 1.0 + d.add( 2.0 );
+ `
+
+ where x will be at the end 13.0.
+
+
+ **Returns:**
+ - the value of this object.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.FilteringCollection.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.FilteringCollection.md
new file mode 100644
index 00000000..8cfc7f17
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.FilteringCollection.md
@@ -0,0 +1,140 @@
+
+# Class FilteringCollection
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Collection](dw.util.Collection.md)
+ - [dw.util.FilteringCollection](dw.util.FilteringCollection.md)
+
+[FilteringCollection](dw.util.FilteringCollection.md) is an extension of
+[Collection](dw.util.Collection.md) which provides possibilities to
+
+
+- _filter_the elements to return a new [FilteringCollection](dw.util.FilteringCollection.md)with a filtered set of elements
+- _sort_the elements to return a new [FilteringCollection](dw.util.FilteringCollection.md)with a defined sort order
+- _transform_the elements to return a new [FilteringCollection](dw.util.FilteringCollection.md)containing related elements
+- _provide a map_of the elements against a predefined key
+
+
+
+
+**Usage** - In the current version each
+[FilteringCollection](dw.util.FilteringCollection.md) provides a set of predefined
+_qualifier_ constants which can be passed into the
+[select(Object)](dw.util.FilteringCollection.md#selectobject) method used to _filter_ the elements. Generally
+_qualifiers_ have the prefix _QUALIFIER\__. A second method
+[sort(Object)](dw.util.FilteringCollection.md#sortobject) is used to create a new instance with a different
+element ordering, which takes an _orderB<_ constant. Generally
+_orderBys_ have the prefix ORDERBY\_: examples are
+[ShippingOrder.ORDERBY_ITEMID](dw.order.ShippingOrder.md#orderby_itemid),
+[ShippingOrder.ORDERBY_ITEMPOSITION](dw.order.ShippingOrder.md#orderby_itemposition), and [ORDERBY_REVERSE](dw.util.FilteringCollection.md#orderby_reverse) can
+be used to provide a [FilteringCollection](dw.util.FilteringCollection.md) with the reverse
+ordering. An example with method [ShippingOrder.getItems()](dw.order.ShippingOrder.md#getitems):
+
+
+
+`
+
+var allItems : FilteringCollection = shippingOrder.items;
+
+var productItems : FilteringCollection = allItems.select(ShippingOrder.QUALIFIER_PRODUCTITEMS);
+
+var serviceItems : FilteringCollection = allItems.select(ShippingOrder.QUALIFIER_SERVICEITEMS);
+
+var byPosition : FilteringCollection = productItems.sort(ShippingOrder.ORDERBY_ITEMPOSITION);
+
+var revByPosition: FilteringCollection = byPosition.sort(FilteringCollection.ORDERBY_REVERSE);
+
+var mapByItemID : Map = allItems.asMap();
+ `
+
+
+
+## Constant Summary
+
+| Constant | Description |
+| --- | --- |
+| [ORDERBY_REVERSE](#orderby_reverse): [Object](TopLevel.Object.md) | Pass this _orderBy_ with the [sort(Object)](dw.util.FilteringCollection.md#sortobject) method to obtain a new [FilteringCollection](dw.util.FilteringCollection.md) with the reversed sort order. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [asMap](dw.util.FilteringCollection.md#asmap)() | Returns a [Map](dw.util.Map.md) containing the elements of this [FilteringCollection](dw.util.FilteringCollection.md) against a predefined key. |
+| [select](dw.util.FilteringCollection.md#selectobject)([Object](TopLevel.Object.md)) | Select a new [FilteringCollection](dw.util.FilteringCollection.md) instance by passing a predefined _qualifier_ as an argument to this method. |
+| [sort](dw.util.FilteringCollection.md#sortobject)([Object](TopLevel.Object.md)) | Select a new [FilteringCollection](dw.util.FilteringCollection.md) instance by passing a predefined _orderBy_ as an argument to this method. |
+
+### Methods inherited from class Collection
+
+[add](dw.util.Collection.md#addobject), [add1](dw.util.Collection.md#add1object), [addAll](dw.util.Collection.md#addallcollection), [clear](dw.util.Collection.md#clear), [contains](dw.util.Collection.md#containsobject), [containsAll](dw.util.Collection.md#containsallcollection), [getLength](dw.util.Collection.md#getlength), [isEmpty](dw.util.Collection.md#isempty), [iterator](dw.util.Collection.md#iterator), [remove](dw.util.Collection.md#removeobject), [removeAll](dw.util.Collection.md#removeallcollection), [retainAll](dw.util.Collection.md#retainallcollection), [size](dw.util.Collection.md#size), [toArray](dw.util.Collection.md#toarray), [toArray](dw.util.Collection.md#toarraynumber-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constant Details
+
+### ORDERBY_REVERSE
+
+- ORDERBY_REVERSE: [Object](TopLevel.Object.md)
+ - : Pass this _orderBy_ with the [sort(Object)](dw.util.FilteringCollection.md#sortobject) method to
+ obtain a new [FilteringCollection](dw.util.FilteringCollection.md) with the reversed sort
+ order. Only use on a [FilteringCollection](dw.util.FilteringCollection.md) which has been
+ previously sorted.
+
+
+
+---
+
+## Method Details
+
+### asMap()
+- asMap(): [Map](dw.util.Map.md)
+ - : Returns a [Map](dw.util.Map.md) containing the elements of this
+ [FilteringCollection](dw.util.FilteringCollection.md) against a predefined key. The key
+ used is documented in the method returning the
+ [FilteringCollection](dw.util.FilteringCollection.md) and is typically the ItemID assigned
+ to an element in the collection.
+
+
+ **Returns:**
+ - a [Map](dw.util.Map.md) containing the elements of this
+ [FilteringCollection](dw.util.FilteringCollection.md) against a predefined key.
+
+
+
+---
+
+### select(Object)
+- select(qualifier: [Object](TopLevel.Object.md)): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Select a new [FilteringCollection](dw.util.FilteringCollection.md) instance by passing a
+ predefined _qualifier_ as an argument to this method. See
+ [FilteringCollection](dw.util.FilteringCollection.md).
+
+
+ **Parameters:**
+ - qualifier - possible qualifiers are documented in the method returning the [FilteringCollection](dw.util.FilteringCollection.md)
+
+ **Returns:**
+ - a new [FilteringCollection](dw.util.FilteringCollection.md) instance
+
+
+---
+
+### sort(Object)
+- sort(orderBy: [Object](TopLevel.Object.md)): [FilteringCollection](dw.util.FilteringCollection.md)
+ - : Select a new [FilteringCollection](dw.util.FilteringCollection.md) instance by passing a
+ predefined _orderBy_ as an argument to this method. See
+ [FilteringCollection](dw.util.FilteringCollection.md).
+
+
+ **Parameters:**
+ - orderBy - possible orderBys are documented in the method returning the [FilteringCollection](dw.util.FilteringCollection.md)
+
+ **Returns:**
+ - a new [FilteringCollection](dw.util.FilteringCollection.md) instance
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.Geolocation.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.Geolocation.md
new file mode 100644
index 00000000..66a02f11
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.Geolocation.md
@@ -0,0 +1,293 @@
+
+# Class Geolocation
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Geolocation](dw.util.Geolocation.md)
+
+Read-only class representing a position on the earth (latitude and longitude)
+and information associated with that location (e.g. country, city, etc). The
+Commerce Cloud Digital system can provide geolocation information for a Request
+and this information can be used in customer group segmentation rules.
+
+
+Note: This class is not related to the store locator API (i.e. the
+GetNearestStores pipelet) which uses a static set of store locations loaded
+into the system by the merchant.
+
+
+This product includes GeoLite2 data created by MaxMind, available from
+[http://www.maxmind.com](http://www.maxmind.com).
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [available](#available): [Boolean](TopLevel.Boolean.md) `(read-only)` | Returns 'true' if a valid GeoLocation was found for the IP address (meaning at least Latitude and Longitude were found), false otherwise. |
+| [city](#city): [String](TopLevel.String.md) `(read-only)` | Get the city name in English associated with this location. |
+| [countryCode](#countrycode): [String](TopLevel.String.md) `(read-only)` | Get the ISO country code associated with this location. |
+| [countryName](#countryname): [String](TopLevel.String.md) `(read-only)` | Get the country name in English that the system associates with this location on the earth. |
+| [latitude](#latitude): [Number](TopLevel.Number.md) `(read-only)` | Get the latitude coordinate associated with this location which is a number between -90.0 and +90.0. |
+| [longitude](#longitude): [Number](TopLevel.Number.md) `(read-only)` | Get the longitude coordinate associated with this location which is a number between -180.0 and +180.0. |
+| [metroCode](#metrocode): [String](TopLevel.String.md) `(read-only)` | Get the metro code associated with this location. |
+| [postalCode](#postalcode): [String](TopLevel.String.md) `(read-only)` | Get the postal code associated with this location. |
+| [regionCode](#regioncode): [String](TopLevel.String.md) `(read-only)` | Get the region (e.g. |
+| [regionName](#regionname): [String](TopLevel.String.md) `(read-only)` | Get the region (e.g. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [Geolocation](#geolocationstring-string-string-string-string-string-string-number-number)([String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [String](TopLevel.String.md), [Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Constructor for a Geolocation object |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCity](dw.util.Geolocation.md#getcity)() | Get the city name in English associated with this location. |
+| [getCountryCode](dw.util.Geolocation.md#getcountrycode)() | Get the ISO country code associated with this location. |
+| [getCountryName](dw.util.Geolocation.md#getcountryname)() | Get the country name in English that the system associates with this location on the earth. |
+| [getLatitude](dw.util.Geolocation.md#getlatitude)() | Get the latitude coordinate associated with this location which is a number between -90.0 and +90.0. |
+| [getLongitude](dw.util.Geolocation.md#getlongitude)() | Get the longitude coordinate associated with this location which is a number between -180.0 and +180.0. |
+| [getMetroCode](dw.util.Geolocation.md#getmetrocode)() | Get the metro code associated with this location. |
+| [getPostalCode](dw.util.Geolocation.md#getpostalcode)() | Get the postal code associated with this location. |
+| [getRegionCode](dw.util.Geolocation.md#getregioncode)() | Get the region (e.g. |
+| [getRegionName](dw.util.Geolocation.md#getregionname)() | Get the region (e.g. |
+| [isAvailable](dw.util.Geolocation.md#isavailable)() | Returns 'true' if a valid GeoLocation was found for the IP address (meaning at least Latitude and Longitude were found), false otherwise. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### available
+- available: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Returns 'true' if a valid GeoLocation was found for the IP address
+ (meaning at least Latitude and Longitude were found), false otherwise.
+
+
+
+---
+
+### city
+- city: [String](TopLevel.String.md) `(read-only)`
+ - : Get the city name in English associated with this location.
+
+
+---
+
+### countryCode
+- countryCode: [String](TopLevel.String.md) `(read-only)`
+ - : Get the ISO country code associated with this location.
+
+
+---
+
+### countryName
+- countryName: [String](TopLevel.String.md) `(read-only)`
+ - : Get the country name in English that the system associates with this location on the
+ earth.
+
+
+
+---
+
+### latitude
+- latitude: [Number](TopLevel.Number.md) `(read-only)`
+ - : Get the latitude coordinate associated with this location which is a
+ number between -90.0 and +90.0.
+
+
+
+---
+
+### longitude
+- longitude: [Number](TopLevel.Number.md) `(read-only)`
+ - : Get the longitude coordinate associated with this location which is a
+ number between -180.0 and +180.0.
+
+
+
+---
+
+### metroCode
+- metroCode: [String](TopLevel.String.md) `(read-only)`
+ - : Get the metro code associated with this location.
+
+
+---
+
+### postalCode
+- postalCode: [String](TopLevel.String.md) `(read-only)`
+ - : Get the postal code associated with this location.
+
+
+---
+
+### regionCode
+- regionCode: [String](TopLevel.String.md) `(read-only)`
+ - : Get the region (e.g. province or state) code for this location.
+
+
+---
+
+### regionName
+- regionName: [String](TopLevel.String.md) `(read-only)`
+ - : Get the region (e.g. province in state) name in English that the system
+ associates with this location.
+
+
+
+---
+
+## Constructor Details
+
+### Geolocation(String, String, String, String, String, String, String, Number, Number)
+- Geolocation(countryCode: [String](TopLevel.String.md), countryName: [String](TopLevel.String.md), regionCode: [String](TopLevel.String.md), regionName: [String](TopLevel.String.md), metroCode: [String](TopLevel.String.md), city: [String](TopLevel.String.md), postalCode: [String](TopLevel.String.md), latitude: [Number](TopLevel.Number.md), longitude: [Number](TopLevel.Number.md))
+ - : Constructor for a Geolocation object
+
+ **Parameters:**
+ - countryCode - the ISO country code associated with this location. The [two-character ISO 3166-1 alpha code](http://en.wikipedia.org/wiki/ISO\_3166-1) for the country.
+ - countryName - the country name in English that the system associates with this location on the earth.
+ - regionCode - the region (e.g. province or state) code for this location. This is a string up to three characters long containing the subdivision portion of the [code](http://en.wikipedia.org/wiki/ISO\_3166-2).
+ - regionName - the region (e.g. province in state) name in English that the system associates with this location.
+ - metroCode - the metro code associated with this location. The metro code of the location if the location is in the US. See the [ Google AdWords API](https://developers.google.com/adwords/api/docs/appendix/cities-DMAregions) for values
+ - city - the city name in English associated with this location.
+ - postalCode - the postal code associated with this location.
+ - latitude - the latitude coordinate associated with this location which is a number between -90.0 and +90.0.
+ - longitude - the longitude coordinate associated with this location which is a number between -180.0 and +180.0.
+
+
+---
+
+## Method Details
+
+### getCity()
+- getCity(): [String](TopLevel.String.md)
+ - : Get the city name in English associated with this location.
+
+ **Returns:**
+ - the city that the system associates with this location on the
+ earth.
+
+
+
+---
+
+### getCountryCode()
+- getCountryCode(): [String](TopLevel.String.md)
+ - : Get the ISO country code associated with this location.
+
+ **Returns:**
+ - The [two-character ISO
+ 3166-1 alpha code](http://en.wikipedia.org/wiki/ISO\_3166-1) for the country.
+
+
+
+---
+
+### getCountryName()
+- getCountryName(): [String](TopLevel.String.md)
+ - : Get the country name in English that the system associates with this location on the
+ earth.
+
+
+ **Returns:**
+ - the country name that the system associates with this location on the
+ earth.
+
+
+
+---
+
+### getLatitude()
+- getLatitude(): [Number](TopLevel.Number.md)
+ - : Get the latitude coordinate associated with this location which is a
+ number between -90.0 and +90.0.
+
+
+ **Returns:**
+ - The latitude of the location as a floating point number.
+
+
+---
+
+### getLongitude()
+- getLongitude(): [Number](TopLevel.Number.md)
+ - : Get the longitude coordinate associated with this location which is a
+ number between -180.0 and +180.0.
+
+
+ **Returns:**
+ - The longitude of the location as a floating point number.
+
+
+---
+
+### getMetroCode()
+- getMetroCode(): [String](TopLevel.String.md)
+ - : Get the metro code associated with this location.
+
+ **Returns:**
+ - The metro code of the location if the location is in the US. See
+ the [Google AdWords API](https://developers.google.com/adwords/api/docs/appendix/cities-DMAregions) for returned values.
+
+
+
+---
+
+### getPostalCode()
+- getPostalCode(): [String](TopLevel.String.md)
+ - : Get the postal code associated with this location.
+
+ **Returns:**
+ - The postal code of the location. Postal codes are not available
+ for all countries. In some countries, this will only contain part
+ of the postal code.
+
+
+
+---
+
+### getRegionCode()
+- getRegionCode(): [String](TopLevel.String.md)
+ - : Get the region (e.g. province or state) code for this location.
+
+ **Returns:**
+ - This is a string up to three characters long containing the
+ subdivision portion of the [code](http://en.wikipedia.org/wiki/ISO\_3166-2).
+
+
+
+---
+
+### getRegionName()
+- getRegionName(): [String](TopLevel.String.md)
+ - : Get the region (e.g. province in state) name in English that the system
+ associates with this location.
+
+
+ **Returns:**
+ - the region name that the system associates with this location on
+ the earth.
+
+
+
+---
+
+### isAvailable()
+- isAvailable(): [Boolean](TopLevel.Boolean.md)
+ - : Returns 'true' if a valid GeoLocation was found for the IP address
+ (meaning at least Latitude and Longitude were found), false otherwise.
+
+
+ **Returns:**
+ - 'true' if a valid GeoLocation was found for the IP address
+ (meaning at least Latitude and Longitude were found), false otherwise.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.HashMap.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.HashMap.md
new file mode 100644
index 00000000..0e1aa09f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.HashMap.md
@@ -0,0 +1,50 @@
+
+# Class HashMap
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Map](dw.util.Map.md)
+ - [dw.util.HashMap](dw.util.HashMap.md)
+
+Represents a hash map of objects.
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [HashMap](#hashmap)() | Constructs a new HashMap. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [clone](dw.util.HashMap.md#clone)() | Returns a shallow copy of this map. |
+
+### Methods inherited from class Map
+
+[clear](dw.util.Map.md#clear), [containsKey](dw.util.Map.md#containskeyobject), [containsValue](dw.util.Map.md#containsvalueobject), [entrySet](dw.util.Map.md#entryset), [get](dw.util.Map.md#getobject), [getLength](dw.util.Map.md#getlength), [isEmpty](dw.util.Map.md#isempty), [keySet](dw.util.Map.md#keyset), [put](dw.util.Map.md#putobject-object), [putAll](dw.util.Map.md#putallmap), [remove](dw.util.Map.md#removeobject), [size](dw.util.Map.md#size), [values](dw.util.Map.md#values---variant-1), [values](dw.util.Map.md#values---variant-2)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### HashMap()
+- HashMap()
+ - : Constructs a new HashMap.
+
+
+---
+
+## Method Details
+
+### clone()
+- clone(): [HashMap](dw.util.HashMap.md)
+ - : Returns a shallow copy of this map.
+
+ **Returns:**
+ - a shallow copy of this map.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.HashSet.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.HashSet.md
new file mode 100644
index 00000000..d09178d4
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.HashSet.md
@@ -0,0 +1,65 @@
+
+# Class HashSet
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Collection](dw.util.Collection.md)
+ - [dw.util.Set](dw.util.Set.md)
+ - [dw.util.HashSet](dw.util.HashSet.md)
+
+Represents a HashSet
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [HashSet](#hashset)() | Constructs a new HashMap. |
+| [HashSet](#hashsetcollection)([Collection](dw.util.Collection.md)) | Construct a new HashSet by initializing the HashSet with the elements of the given collection. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [clone](dw.util.HashSet.md#clone)() | Returns a shallow copy of this set. |
+
+### Methods inherited from class Collection
+
+[add](dw.util.Collection.md#addobject), [add1](dw.util.Collection.md#add1object), [addAll](dw.util.Collection.md#addallcollection), [clear](dw.util.Collection.md#clear), [contains](dw.util.Collection.md#containsobject), [containsAll](dw.util.Collection.md#containsallcollection), [getLength](dw.util.Collection.md#getlength), [isEmpty](dw.util.Collection.md#isempty), [iterator](dw.util.Collection.md#iterator), [remove](dw.util.Collection.md#removeobject), [removeAll](dw.util.Collection.md#removeallcollection), [retainAll](dw.util.Collection.md#retainallcollection), [size](dw.util.Collection.md#size), [toArray](dw.util.Collection.md#toarray), [toArray](dw.util.Collection.md#toarraynumber-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### HashSet()
+- HashSet()
+ - : Constructs a new HashMap.
+
+
+---
+
+### HashSet(Collection)
+- HashSet(collection: [Collection](dw.util.Collection.md))
+ - : Construct a new HashSet by
+ initializing the HashSet with the elements of the
+ given collection.
+
+
+ **Parameters:**
+ - collection - the collection to add to the set.
+
+
+---
+
+## Method Details
+
+### clone()
+- clone(): [HashSet](dw.util.HashSet.md)
+ - : Returns a shallow copy of this set.
+
+ **Returns:**
+ - a shallow copy of this set.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.Iterator.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.Iterator.md
new file mode 100644
index 00000000..399d7838
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.Iterator.md
@@ -0,0 +1,86 @@
+
+# Class Iterator
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Iterator](dw.util.Iterator.md)
+
+The Iterator class allows you to access items in a collection.
+
+
+## All Known Subclasses
+[LoopIterator](dw.web.LoopIterator.md), [SeekableIterator](dw.util.SeekableIterator.md)
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [asList](dw.util.Iterator.md#aslist)() | Convert the iterator into a list. |
+| [asList](dw.util.Iterator.md#aslistnumber-number)([Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Converts a sub-sequence within the iterator into a list. |
+| [hasNext](dw.util.Iterator.md#hasnext)() | Indicates if there are more elements. |
+| [next](dw.util.Iterator.md#next)() | Returns the next element from the Iterator. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Method Details
+
+### asList()
+- asList(): [List](dw.util.List.md)
+ - : Convert the iterator into a list. After this conversion the
+ iterator is empty and hasNext() will always return false.
+
+ Note: This method should be used with care. For example a large database
+ result is pulled into memory completely with this method and can cause
+ an OutOfMemory situation.
+
+
+ **Returns:**
+ - the iterator as a list.
+
+
+---
+
+### asList(Number, Number)
+- asList(start: [Number](TopLevel.Number.md), size: [Number](TopLevel.Number.md)): [List](dw.util.List.md)
+ - : Converts a sub-sequence within the iterator into a list.
+
+ Note: This method should be used with care. For example a large database
+ result is pulled into memory completely with this method and can cause
+ an OutOfMemory situation.
+
+
+ **Parameters:**
+ - start - the number of elements to iterate before adding elements to the sublist. Negative values are treated as 0.
+ - size - the maximum number of elements to add to the sublist. Nonpositive values always result in empty list.
+
+ **Returns:**
+ - a sub-sequence within the iterator into a list.
+
+
+---
+
+### hasNext()
+- hasNext(): [Boolean](TopLevel.Boolean.md)
+ - : Indicates if there are more elements.
+
+ **Returns:**
+ - true if there are more elements,
+ false otherwise.
+
+
+
+---
+
+### next()
+- next(): [Object](TopLevel.Object.md)
+ - : Returns the next element from the Iterator.
+
+ **Returns:**
+ - the next element from the Iterator.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.LinkedHashMap.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.LinkedHashMap.md
new file mode 100644
index 00000000..81a03281
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.LinkedHashMap.md
@@ -0,0 +1,52 @@
+
+# Class LinkedHashMap
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Map](dw.util.Map.md)
+ - [dw.util.LinkedHashMap](dw.util.LinkedHashMap.md)
+
+This class implements a HashMap, which guarantees a iteration order
+according the put-order of the elements in the map.
+
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [LinkedHashMap](#linkedhashmap)() | Constructs a new LinkedHashMap. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [clone](dw.util.LinkedHashMap.md#clone)() | Returns a shallow copy of this map. |
+
+### Methods inherited from class Map
+
+[clear](dw.util.Map.md#clear), [containsKey](dw.util.Map.md#containskeyobject), [containsValue](dw.util.Map.md#containsvalueobject), [entrySet](dw.util.Map.md#entryset), [get](dw.util.Map.md#getobject), [getLength](dw.util.Map.md#getlength), [isEmpty](dw.util.Map.md#isempty), [keySet](dw.util.Map.md#keyset), [put](dw.util.Map.md#putobject-object), [putAll](dw.util.Map.md#putallmap), [remove](dw.util.Map.md#removeobject), [size](dw.util.Map.md#size), [values](dw.util.Map.md#values---variant-1), [values](dw.util.Map.md#values---variant-2)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### LinkedHashMap()
+- LinkedHashMap()
+ - : Constructs a new LinkedHashMap.
+
+
+---
+
+## Method Details
+
+### clone()
+- clone(): [LinkedHashMap](dw.util.LinkedHashMap.md)
+ - : Returns a shallow copy of this map.
+
+ **Returns:**
+ - a shallow copy of this map.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.LinkedHashSet.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.LinkedHashSet.md
new file mode 100644
index 00000000..3dc4cfad
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.LinkedHashSet.md
@@ -0,0 +1,68 @@
+
+# Class LinkedHashSet
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Collection](dw.util.Collection.md)
+ - [dw.util.Set](dw.util.Set.md)
+ - [dw.util.LinkedHashSet](dw.util.LinkedHashSet.md)
+
+The class LinkedHashSet implements a hash set with a guaranteed iteration
+order. The elements are iterated in the order they have been added to the
+HashSet.
+
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [LinkedHashSet](#linkedhashset)() | Constructs a new LinkHashSet. |
+| [LinkedHashSet](#linkedhashsetcollection)([Collection](dw.util.Collection.md)) | Constructor for a new LinkedHashSet. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [clone](dw.util.LinkedHashSet.md#clone)() | Returns a shallow copy of this set. |
+
+### Methods inherited from class Collection
+
+[add](dw.util.Collection.md#addobject), [add1](dw.util.Collection.md#add1object), [addAll](dw.util.Collection.md#addallcollection), [clear](dw.util.Collection.md#clear), [contains](dw.util.Collection.md#containsobject), [containsAll](dw.util.Collection.md#containsallcollection), [getLength](dw.util.Collection.md#getlength), [isEmpty](dw.util.Collection.md#isempty), [iterator](dw.util.Collection.md#iterator), [remove](dw.util.Collection.md#removeobject), [removeAll](dw.util.Collection.md#removeallcollection), [retainAll](dw.util.Collection.md#retainallcollection), [size](dw.util.Collection.md#size), [toArray](dw.util.Collection.md#toarray), [toArray](dw.util.Collection.md#toarraynumber-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### LinkedHashSet()
+- LinkedHashSet()
+ - : Constructs a new LinkHashSet.
+
+
+---
+
+### LinkedHashSet(Collection)
+- LinkedHashSet(collection: [Collection](dw.util.Collection.md))
+ - : Constructor for a new LinkedHashSet. The constructor
+ initializes the LinkedHashSet with the elements of the
+ given collection.
+
+
+ **Parameters:**
+ - collection - the collection of items to insert into this set.
+
+
+---
+
+## Method Details
+
+### clone()
+- clone(): [LinkedHashSet](dw.util.LinkedHashSet.md)
+ - : Returns a shallow copy of this set.
+
+ **Returns:**
+ - a shallow copy of this set.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.List.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.List.md
new file mode 100644
index 00000000..4441008f
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.List.md
@@ -0,0 +1,429 @@
+
+# Class List
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Collection](dw.util.Collection.md)
+ - [dw.util.List](dw.util.List.md)
+
+An ordered collection of objects. The user of a List has precise control over
+where in the list each element is inserted. The user can access elements by
+their integer index (position in the list), and search for elements in the
+list. Lists are zero based similar to arrays. Unlike sets, lists allow
+duplicate elements.
+
+
+
+## All Known Subclasses
+[ArrayList](dw.util.ArrayList.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [EMPTY_LIST](#empty_list): [List](dw.util.List.md) | Convenience variable, for an empty and immutable list. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [addAt](dw.util.List.md#addatnumber-object)([Number](TopLevel.Number.md), [Object](TopLevel.Object.md)) | Adds the specified object into the list at the specified index. |
+| [concat](dw.util.List.md#concatobject)([Object...](TopLevel.Object.md)) | Creates and returns a new List that is the result of concatenating this list with each of the specified values. |
+| [fill](dw.util.List.md#fillobject)([Object](TopLevel.Object.md)) | Replaces all of the elements in the list with the given object. |
+| [get](dw.util.List.md#getnumber)([Number](TopLevel.Number.md)) | Returns the object at the specified index. |
+| [indexOf](dw.util.List.md#indexofobject)([Object](TopLevel.Object.md)) | Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element. |
+| [join](dw.util.List.md#join)() | Converts all elements of the list to a string by calling the toString() method and then concatenates them together, with a comma between elements. |
+| [join](dw.util.List.md#joinstring)([String](TopLevel.String.md)) | Converts all elements of the list to a string by calling the toString() method and then concatenates them together, with the separator string between elements. |
+| [lastIndexOf](dw.util.List.md#lastindexofobject)([Object](TopLevel.Object.md)) | Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element. |
+| [pop](dw.util.List.md#pop)() | Removes and returns the last element from the list. |
+| [push](dw.util.List.md#pushobject)([Object...](TopLevel.Object.md)) | Appends the specified values to the end of the list in order. |
+| [removeAt](dw.util.List.md#removeatnumber)([Number](TopLevel.Number.md)) | Removes the object at the specified index. |
+| [replaceAll](dw.util.List.md#replaceallobject-object)([Object](TopLevel.Object.md), [Object](TopLevel.Object.md)) | Replaces all occurrences of oldValue with newValue. |
+| [reverse](dw.util.List.md#reverse)() | Reverses the order of the elements in the list. |
+| [rotate](dw.util.List.md#rotatenumber)([Number](TopLevel.Number.md)) | Rotates the elements in the list by the specified distance. |
+| [set](dw.util.List.md#setnumber-object)([Number](TopLevel.Number.md), [Object](TopLevel.Object.md)) | Replaces the object at the specified index in this list with the specified object. |
+| [shift](dw.util.List.md#shift)() | Removes and returns the first element of the list. |
+| [shuffle](dw.util.List.md#shuffle)() | Randomly permutes the elements in the list. |
+| [size](dw.util.List.md#size)() | Returns the size of this list. |
+| [slice](dw.util.List.md#slicenumber)([Number](TopLevel.Number.md)) | Returns a slice, or sublist, of this list. |
+| [slice](dw.util.List.md#slicenumber-number)([Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Returns a slice, or sublist, of this list. |
+| [sort](dw.util.List.md#sort)() | Sorts the elements of the list based on their natural order. |
+| [sort](dw.util.List.md#sortobject)([Object](TopLevel.Object.md)) | Sorts the elements of a list. |
+| [subList](dw.util.List.md#sublistnumber-number)([Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Returns a list containing the elements in this list identified by the specified arguments. |
+| [swap](dw.util.List.md#swapnumber-number)([Number](TopLevel.Number.md), [Number](TopLevel.Number.md)) | Swaps the elements at the specified positions in the list. |
+| [unshift](dw.util.List.md#unshiftobject)([Object...](TopLevel.Object.md)) | Inserts values at the beginning of the list. |
+
+### Methods inherited from class Collection
+
+[add](dw.util.Collection.md#addobject), [add1](dw.util.Collection.md#add1object), [addAll](dw.util.Collection.md#addallcollection), [clear](dw.util.Collection.md#clear), [contains](dw.util.Collection.md#containsobject), [containsAll](dw.util.Collection.md#containsallcollection), [getLength](dw.util.Collection.md#getlength), [isEmpty](dw.util.Collection.md#isempty), [iterator](dw.util.Collection.md#iterator), [remove](dw.util.Collection.md#removeobject), [removeAll](dw.util.Collection.md#removeallcollection), [retainAll](dw.util.Collection.md#retainallcollection), [size](dw.util.Collection.md#size), [toArray](dw.util.Collection.md#toarray), [toArray](dw.util.Collection.md#toarraynumber-number)
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### EMPTY_LIST
+- EMPTY_LIST: [List](dw.util.List.md)
+ - : Convenience variable, for an empty and immutable list.
+
+
+---
+
+## Method Details
+
+### addAt(Number, Object)
+- addAt(index: [Number](TopLevel.Number.md), value: [Object](TopLevel.Object.md)): void
+ - : Adds the specified object into the list at the specified index.
+
+ **Parameters:**
+ - index - the index to use.
+ - value - the object to insert.
+
+
+---
+
+### concat(Object...)
+- concat(values: [Object...](TopLevel.Object.md)): [List](dw.util.List.md)
+ - : Creates and returns a new List that is the result of concatenating this
+ list with each of the specified values. This list itself is unmodified.
+ If any of the specified values is itself an array or a Collection, then
+ the elements of that Collection or array are appended to the new list
+ rather than the object itself.
+
+
+ **Parameters:**
+ - values - one or more objects to concatenate.
+
+ **Returns:**
+ - a new List that is the result of concatenating this
+ list with each of the specified values.
+
+
+
+---
+
+### fill(Object)
+- fill(obj: [Object](TopLevel.Object.md)): void
+ - : Replaces all of the elements in the list with the given object.
+
+ **Parameters:**
+ - obj - the object to use during replacement.
+
+
+---
+
+### get(Number)
+- get(index: [Number](TopLevel.Number.md)): [Object](TopLevel.Object.md)
+ - : Returns the object at the specified index.
+
+ **Parameters:**
+ - index - the index to use.
+
+ **Returns:**
+ - the object at the specified index.
+
+
+---
+
+### indexOf(Object)
+- indexOf(value: [Object](TopLevel.Object.md)): [Number](TopLevel.Number.md)
+ - : Returns the index of the first occurrence of the specified element in
+ this list, or -1 if this list does not contain the element.
+
+
+ **Parameters:**
+ - value - the element to use.
+
+ **Returns:**
+ - the index of the specified object or -1 if the passed object is
+ not found in the list.
+
+
+
+---
+
+### join()
+- join(): [String](TopLevel.String.md)
+ - : Converts all elements of the list to a string by calling the toString()
+ method and then concatenates them together, with a comma between
+ elements.
+
+
+ **Returns:**
+ - The string that results from converting each element of the list
+ to a string and then concatenating them together, with a comma
+ between elements.
+
+
+
+---
+
+### join(String)
+- join(separator: [String](TopLevel.String.md)): [String](TopLevel.String.md)
+ - : Converts all elements of the list to a string by calling the toString()
+ method and then concatenates them together, with the separator string
+ between elements. If null is passed, then the comma character is used as
+ a separator.
+
+
+ **Parameters:**
+ - separator - The separator string. May be null in which case the comma character is used.
+
+ **Returns:**
+ - The string that results from converting each element of the list
+ to a string and then concatenating them together, with the
+ separator string between elements.
+
+
+
+---
+
+### lastIndexOf(Object)
+- lastIndexOf(value: [Object](TopLevel.Object.md)): [Number](TopLevel.Number.md)
+ - : Returns the index of the last occurrence of the specified element in this
+ list, or -1 if this list does not contain the element.
+
+
+ **Parameters:**
+ - value - the element to use.
+
+ **Returns:**
+ - the last index of the specified object or -1 if the passed object
+ is not found in the list.
+
+
+
+---
+
+### pop()
+- pop(): [Object](TopLevel.Object.md)
+ - : Removes and returns the last element from the list.
+
+ **Returns:**
+ - The last element of the list or null if the list is already
+ empty.
+
+
+
+---
+
+### push(Object...)
+- push(values: [Object...](TopLevel.Object.md)): [Number](TopLevel.Number.md)
+ - : Appends the specified values to the end of the list in order.
+
+ **Parameters:**
+ - values - One or more values to be appended to the end of the list.
+
+ **Returns:**
+ - The new length of the list, after the specified values are
+ appended to it.
+
+
+
+---
+
+### removeAt(Number)
+- removeAt(index: [Number](TopLevel.Number.md)): [Object](TopLevel.Object.md)
+ - : Removes the object at the specified index.
+
+ **Parameters:**
+ - index - the index to use.
+
+ **Returns:**
+ - the object that was removed.
+
+
+---
+
+### replaceAll(Object, Object)
+- replaceAll(oldValue: [Object](TopLevel.Object.md), newValue: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Replaces all occurrences of oldValue with newValue.
+
+ **Parameters:**
+ - oldValue - the old object.
+ - newValue - the new object.
+
+ **Returns:**
+ - true if one or more elements were replaced, false otherwise.
+
+
+---
+
+### reverse()
+- reverse(): void
+ - : Reverses the order of the elements in the list.
+
+
+---
+
+### rotate(Number)
+- rotate(distance: [Number](TopLevel.Number.md)): void
+ - : Rotates the elements in the list by the specified distance.
+
+ **Parameters:**
+ - distance - the distance to use.
+
+
+---
+
+### set(Number, Object)
+- set(index: [Number](TopLevel.Number.md), value: [Object](TopLevel.Object.md)): [Object](TopLevel.Object.md)
+ - : Replaces the object at the specified index in this list with the specified object.
+
+ **Parameters:**
+ - index - the index to use.
+ - value - the object to use when replacing the existing object.
+
+ **Returns:**
+ - the replaced object.
+
+
+---
+
+### shift()
+- shift(): [Object](TopLevel.Object.md)
+ - : Removes and returns the first element of the list. If the list is already
+ empty, this method simply returns null.
+
+
+ **Returns:**
+ - The former first element of the list, or null is list is already
+ empty.
+
+
+
+---
+
+### shuffle()
+- shuffle(): void
+ - : Randomly permutes the elements in the list.
+
+
+---
+
+### size()
+- size(): [Number](TopLevel.Number.md)
+ - : Returns the size of this list.
+
+ **Returns:**
+ - the size of this list.
+
+
+---
+
+### slice(Number)
+- slice(from: [Number](TopLevel.Number.md)): [List](dw.util.List.md)
+ - : Returns a slice, or sublist, of this list. The returned list contains the
+ element specified by `from` and all subsequent elements up to
+ the end of this list.
+
+
+ **Parameters:**
+ - from - The index at which the slice is to begin. If negative, this argument specifies a position measured from the end of this list. That, -1 indicates the last element, -2 indicates the next from the last element, and so on.
+
+ **Returns:**
+ - A new List that contains the elements of this list from the
+ element specified by `from` up to the end of this
+ list.
+
+
+
+---
+
+### slice(Number, Number)
+- slice(from: [Number](TopLevel.Number.md), to: [Number](TopLevel.Number.md)): [List](dw.util.List.md)
+ - : Returns a slice, or sublist, of this list. The returned list contains the
+ element specified by `from` and all subsequent elements up to,
+ but not including, the element specified by `to`.
+
+
+ **Parameters:**
+ - from - The index at which the slice is to begin. If negative, this argument specifies a position measured from the end of this list. That, -1 indicates the last element, -2 indicates the next from the last element, and so on.
+ - to - The index immediately after the end of the slice. If this argument is negative, it specifies an element measured from the end of this list.
+
+ **Returns:**
+ - A new List that contains the elements of this list from the
+ element specified by `from` up to, but not including,
+ the element specified by `to`.
+
+
+
+---
+
+### sort()
+- sort(): void
+ - : Sorts the elements of the list based on their natural
+ order.
+
+
+ This sort is guaranteed to be _stable_: equal elements will
+ not be reordered as a result of the sort.
+
+
+
+---
+
+### sort(Object)
+- sort(comparator: [Object](TopLevel.Object.md)): void
+ - : Sorts the elements of a list. The order of the elements is
+ determined with a comparator (see PropertyComparator) or with the help
+ of the given function. The function must take two parameters and return
+ a value <0 if the first parameter is smaller than the second, a value
+ of 0 if both are equal and a value if >0 if the first one is greater
+ than the second parameter.
+
+
+ This sort is guaranteed to be _stable_: equal elements will
+ not be reordered as a result of the sort.
+
+
+ **Parameters:**
+ - comparator - an instance of a PropertyComparator or a comparison function
+
+
+---
+
+### subList(Number, Number)
+- subList(from: [Number](TopLevel.Number.md), to: [Number](TopLevel.Number.md)): [List](dw.util.List.md)
+ - : Returns a list containing the elements in this list identified
+ by the specified arguments.
+
+
+ **Parameters:**
+ - from - the beginning index of the elements to move to the new list.
+ - to - the ending index of the elements to move to the new list.
+
+ **Returns:**
+ - the new list containing the elements.
+
+
+---
+
+### swap(Number, Number)
+- swap(i: [Number](TopLevel.Number.md), j: [Number](TopLevel.Number.md)): void
+ - : Swaps the elements at the specified positions in the list.
+
+ **Parameters:**
+ - i - the first element to swap.
+ - j - the second element to swap.
+
+
+---
+
+### unshift(Object...)
+- unshift(values: [Object...](TopLevel.Object.md)): [Number](TopLevel.Number.md)
+ - : Inserts values at the beginning of the list. The first argument
+ becomes the new element 0; the second argument becomes element 1;
+ and so on.
+
+
+ **Parameters:**
+ - values - The values to insert into the list.
+
+ **Returns:**
+ - The new length of the lest.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.Locale.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.Locale.md
new file mode 100644
index 00000000..9234989e
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.Locale.md
@@ -0,0 +1,274 @@
+
+# Class Locale
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Locale](dw.util.Locale.md)
+
+Represents a Locale supported by the system.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [ID](#id): [String](TopLevel.String.md) `(read-only)` | Returns the String representation of the localeID. |
+| [ISO3Country](#iso3country): [String](TopLevel.String.md) `(read-only)` | Returns the uppercase ISO 3166 3-letter country/region code for this Locale. |
+| [ISO3Language](#iso3language): [String](TopLevel.String.md) `(read-only)` | Returns the 3-letter ISO 639 language code for this Locale. |
+| [country](#country): [String](TopLevel.String.md) `(read-only)` | Returns the uppercase ISO 3166 2-letter country/region code for this Locale. |
+| [displayCountry](#displaycountry): [String](TopLevel.String.md) `(read-only)` | Returns the display name of this Locale's country, in this Locale's language, not in the session locale's language. |
+| [displayLanguage](#displaylanguage): [String](TopLevel.String.md) `(read-only)` | Returns the display name of this Locale's language, in this Locale's language, not in the session locale's language. |
+| [displayName](#displayname): [String](TopLevel.String.md) `(read-only)` | Returns the display name of this Locale, in this Locale's language, not in the session locale's language. |
+| [language](#language): [String](TopLevel.String.md) `(read-only)` | Returns the lowercase ISO 639 language code for this Locale. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getCountry](dw.util.Locale.md#getcountry)() | Returns the uppercase ISO 3166 2-letter country/region code for this Locale. |
+| [getDisplayCountry](dw.util.Locale.md#getdisplaycountry)() | Returns the display name of this Locale's country, in this Locale's language, not in the session locale's language. |
+| [getDisplayLanguage](dw.util.Locale.md#getdisplaylanguage)() | Returns the display name of this Locale's language, in this Locale's language, not in the session locale's language. |
+| [getDisplayName](dw.util.Locale.md#getdisplayname)() | Returns the display name of this Locale, in this Locale's language, not in the session locale's language. |
+| [getID](dw.util.Locale.md#getid)() | Returns the String representation of the localeID. |
+| [getISO3Country](dw.util.Locale.md#getiso3country)() | Returns the uppercase ISO 3166 3-letter country/region code for this Locale. |
+| [getISO3Language](dw.util.Locale.md#getiso3language)() | Returns the 3-letter ISO 639 language code for this Locale. |
+| [getLanguage](dw.util.Locale.md#getlanguage)() | Returns the lowercase ISO 639 language code for this Locale. |
+| static [getLocale](dw.util.Locale.md#getlocalestring)([String](TopLevel.String.md)) | Returns a Locale instance for the given localeId, or `null` if no such Locale could be found. |
+| [toString](dw.util.Locale.md#tostring)() | Returns the String representation of the localeID. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### ID
+- ID: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the String representation of the localeID.
+
+
+ Combines the language and the country key, concatenated with "\_".
+ For example: "en\_US". This attribute is the primary key of the class.
+
+
+
+---
+
+### ISO3Country
+- ISO3Country: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the uppercase ISO 3166 3-letter country/region code for this Locale.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### ISO3Language
+- ISO3Language: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the 3-letter ISO 639 language code for this Locale.
+ If no language has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### country
+- country: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the uppercase ISO 3166 2-letter country/region code for this Locale.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### displayCountry
+- displayCountry: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name of this Locale's country, in this Locale's language,
+ not in the session locale's language.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### displayLanguage
+- displayLanguage: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name of this Locale's language, in this Locale's language,
+ not in the session locale's language.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### displayName
+- displayName: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the display name of this Locale, in this Locale's language,
+ not in the session locale's language.
+ If no display name has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### language
+- language: [String](TopLevel.String.md) `(read-only)`
+ - : Returns the lowercase ISO 639 language code for this Locale.
+ If no language has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+## Method Details
+
+### getCountry()
+- getCountry(): [String](TopLevel.String.md)
+ - : Returns the uppercase ISO 3166 2-letter country/region code for this Locale.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+ **Returns:**
+ - the uppercase ISO 3166 2-letter country/region code for this Locale.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### getDisplayCountry()
+- getDisplayCountry(): [String](TopLevel.String.md)
+ - : Returns the display name of this Locale's country, in this Locale's language,
+ not in the session locale's language.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+ **Returns:**
+ - the display name of this Locale's country, in this Locale's language.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### getDisplayLanguage()
+- getDisplayLanguage(): [String](TopLevel.String.md)
+ - : Returns the display name of this Locale's language, in this Locale's language,
+ not in the session locale's language.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+ **Returns:**
+ - the display name of this Locale's language, in this Locale's language.
+ If no language has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### getDisplayName()
+- getDisplayName(): [String](TopLevel.String.md)
+ - : Returns the display name of this Locale, in this Locale's language,
+ not in the session locale's language.
+ If no display name has been specified for this Locale, this value is an empty string.
+
+
+ **Returns:**
+ - the display name of this Locale, in this Locale's language.
+ If no display name has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### getID()
+- getID(): [String](TopLevel.String.md)
+ - : Returns the String representation of the localeID.
+
+
+ Combines the language and the country key, concatenated with "\_".
+ For example: "en\_US". This attribute is the primary key of the class.
+
+
+ **Returns:**
+ - the String representation of the localeID.
+
+
+---
+
+### getISO3Country()
+- getISO3Country(): [String](TopLevel.String.md)
+ - : Returns the uppercase ISO 3166 3-letter country/region code for this Locale.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+ **Returns:**
+ - the uppercase ISO 3166 3-letter country/region code for this Locale.
+ If no country has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### getISO3Language()
+- getISO3Language(): [String](TopLevel.String.md)
+ - : Returns the 3-letter ISO 639 language code for this Locale.
+ If no language has been specified for this Locale, this value is an empty string.
+
+
+ **Returns:**
+ - the 3-letter ISO 639 language code for this Locale.
+ If no language has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### getLanguage()
+- getLanguage(): [String](TopLevel.String.md)
+ - : Returns the lowercase ISO 639 language code for this Locale.
+ If no language has been specified for this Locale, this value is an empty string.
+
+
+ **Returns:**
+ - the lowercase ISO 639 language code for this Locale.
+ If no language has been specified for this Locale, this value is an empty string.
+
+
+
+---
+
+### getLocale(String)
+- static getLocale(localeId: [String](TopLevel.String.md)): [Locale](dw.util.Locale.md)
+ - : Returns a Locale instance for the given localeId, or
+ `null` if no such Locale could be found.
+
+
+ **Parameters:**
+ - localeId - the localeID of the desired Locale
+
+ **Returns:**
+ - the Locale instance for the given localeId, or
+ `null` if no such Locale could be found.
+
+
+
+---
+
+### toString()
+- toString(): [String](TopLevel.String.md)
+ - : Returns the String representation of the localeID.
+
+
+ Combines the language and the country key, concatenated with "\_".
+ For example: "en\_US". This attribute is the primary key of the class.
+
+
+ **Returns:**
+ - the String representation of the localeID.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.Map.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.Map.md
new file mode 100644
index 00000000..a4b56f35
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.Map.md
@@ -0,0 +1,251 @@
+
+# Class Map
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.Map](dw.util.Map.md)
+
+Represents a Map of objects.
+
+
+## All Known Subclasses
+[HashMap](dw.util.HashMap.md), [LinkedHashMap](dw.util.LinkedHashMap.md), [SortedMap](dw.util.SortedMap.md)
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [EMPTY_MAP](#empty_map): [Map](dw.util.Map.md) | Convenience variable, for an empty and immutable list. |
+| [empty](#empty): [Boolean](TopLevel.Boolean.md) `(read-only)` | Identifies if this map is empty. |
+| [length](#length): [Number](TopLevel.Number.md) `(read-only)` | REturns the size of the map. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [clear](dw.util.Map.md#clear)() | Clears the map of all objects. |
+| [containsKey](dw.util.Map.md#containskeyobject)([Object](TopLevel.Object.md)) | Identifies if this map contains an element identfied by the specified key. |
+| [containsValue](dw.util.Map.md#containsvalueobject)([Object](TopLevel.Object.md)) | Identifies if this map contains an element identfied by the specified value. |
+| [entrySet](dw.util.Map.md#entryset)() | Returns a set of the map's entries. |
+| [get](dw.util.Map.md#getobject)([Object](TopLevel.Object.md)) | Returns the object associated with the key or null. |
+| [getLength](dw.util.Map.md#getlength)() | REturns the size of the map. |
+| [isEmpty](dw.util.Map.md#isempty)() | Identifies if this map is empty. |
+| [keySet](dw.util.Map.md#keyset)() | Returns a set of the map's keys. |
+| [put](dw.util.Map.md#putobject-object)([Object](TopLevel.Object.md), [Object](TopLevel.Object.md)) | Puts the specified value into the map using the specified key to identify it. |
+| [putAll](dw.util.Map.md#putallmap)([Map](dw.util.Map.md)) | Copies all of the objects inside the specified map into this map. |
+| [remove](dw.util.Map.md#removeobject)([Object](TopLevel.Object.md)) | Removes the object from the map that is identified by the key. |
+| [size](dw.util.Map.md#size)() | Returns the size of the map. |
+| [values](dw.util.Map.md#values---variant-1)() | Returns a collection of the values contained in this map. |
+| [values](dw.util.Map.md#values---variant-2)() | Returns a collection of the values contained in this map. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### EMPTY_MAP
+- EMPTY_MAP: [Map](dw.util.Map.md)
+ - : Convenience variable, for an empty and immutable list.
+
+
+---
+
+### empty
+- empty: [Boolean](TopLevel.Boolean.md) `(read-only)`
+ - : Identifies if this map is empty.
+
+
+---
+
+### length
+- length: [Number](TopLevel.Number.md) `(read-only)`
+ - : REturns the size of the map. This is a bean attribute method and
+ supports the access to the collections
+ length similar to a ECMA array, such as 'products.length'.
+
+
+
+---
+
+## Method Details
+
+### clear()
+- clear(): void
+ - : Clears the map of all objects.
+
+
+---
+
+### containsKey(Object)
+- containsKey(key: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this map contains an element identfied
+ by the specified key.
+
+
+ **Parameters:**
+ - key - the key to use.
+
+ **Returns:**
+ - true if this map contains an element whose key is
+ equal to the specified key.
+
+
+
+---
+
+### containsValue(Object)
+- containsValue(value: [Object](TopLevel.Object.md)): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this map contains an element identfied
+ by the specified value.
+
+
+ **Parameters:**
+ - value - the value to use.
+
+ **Returns:**
+ - true if this map contains an element whose value is
+ equal to the specified value.
+
+
+
+---
+
+### entrySet()
+- entrySet(): [Set](dw.util.Set.md)
+ - : Returns a set of the map's entries. The returned set is actually a view to the entries of this map.
+
+ **Returns:**
+ - a set of the map's entries.
+
+
+---
+
+### get(Object)
+- get(key: [Object](TopLevel.Object.md)): [Object](TopLevel.Object.md)
+ - : Returns the object associated with the key or null.
+
+ **Parameters:**
+ - key - the key to use.
+
+ **Returns:**
+ - the object associated with the key or null.
+
+
+---
+
+### getLength()
+- getLength(): [Number](TopLevel.Number.md)
+ - : REturns the size of the map. This is a bean attribute method and
+ supports the access to the collections
+ length similar to a ECMA array, such as 'products.length'.
+
+
+ **Returns:**
+ - the number of objects in the map.
+
+
+---
+
+### isEmpty()
+- isEmpty(): [Boolean](TopLevel.Boolean.md)
+ - : Identifies if this map is empty.
+
+ **Returns:**
+ - true if the map is empty, false otherwise.
+
+
+---
+
+### keySet()
+- keySet(): [Set](dw.util.Set.md)
+ - : Returns a set of the map's keys. The returned set is actually a view to the keys of this map.
+
+ **Returns:**
+ - a set of the map's keys.
+
+
+---
+
+### put(Object, Object)
+- put(key: [Object](TopLevel.Object.md), value: [Object](TopLevel.Object.md)): [Object](TopLevel.Object.md)
+ - : Puts the specified value into the map using the
+ specified key to identify it.
+
+
+ **Parameters:**
+ - key - the key to use to identify the value.
+ - value - the object to put into the map.
+
+ **Returns:**
+ - previous value associated with specified key, or null if there was no mapping for key.
+
+
+---
+
+### putAll(Map)
+- putAll(other: [Map](dw.util.Map.md)): void
+ - : Copies all of the objects inside the specified map
+ into this map.
+
+
+ **Parameters:**
+ - other - the map whose contents are copied into this map.
+
+
+---
+
+### remove(Object)
+- remove(key: [Object](TopLevel.Object.md)): [Object](TopLevel.Object.md)
+ - : Removes the object from the map that is identified by the key.
+
+ **Parameters:**
+ - key - the key that identifies the object to remove.
+
+ **Returns:**
+ - the removed object or null.
+
+
+---
+
+### size()
+- size(): [Number](TopLevel.Number.md)
+ - : Returns the size of the map.
+
+ **Returns:**
+ - the number of objects in the map.
+
+
+---
+
+### values() - Variant 1
+- values(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of the values contained in this map.
+
+ **Returns:**
+ - a collection of the values contained in this map
+
+ **API Version:**
+:::note
+No longer available as of version 16.1.
+Returns an independent modifiable collection holding all values.
+:::
+
+---
+
+### values() - Variant 2
+- values(): [Collection](dw.util.Collection.md)
+ - : Returns a collection of the values contained in this map.
+
+ **Returns:**
+ - a collection of the values contained in this map
+
+ **API Version:**
+:::note
+Available from version 16.1.
+Returns a view on the values of this map like keySet() and entrySet() do. Former version returned a shallow copy of this.
+:::
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.MapEntry.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.MapEntry.md
new file mode 100644
index 00000000..00da43a6
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.MapEntry.md
@@ -0,0 +1,68 @@
+
+# Class MapEntry
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.MapEntry](dw.util.MapEntry.md)
+
+The class represent an entry within a Map.
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [key](#key): [Object](TopLevel.Object.md) `(read-only)` | Returns the entry's key. |
+| [value](#value): [Object](TopLevel.Object.md) `(read-only)` | Returns the entry's value. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getKey](dw.util.MapEntry.md#getkey)() | Returns the entry's key. |
+| [getValue](dw.util.MapEntry.md#getvalue)() | Returns the entry's value. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### key
+- key: [Object](TopLevel.Object.md) `(read-only)`
+ - : Returns the entry's key.
+
+
+---
+
+### value
+- value: [Object](TopLevel.Object.md) `(read-only)`
+ - : Returns the entry's value.
+
+
+---
+
+## Method Details
+
+### getKey()
+- getKey(): [Object](TopLevel.Object.md)
+ - : Returns the entry's key.
+
+ **Returns:**
+ - the entry's key.
+
+
+---
+
+### getValue()
+- getValue(): [Object](TopLevel.Object.md)
+ - : Returns the entry's value.
+
+ **Returns:**
+ - the entry's value.
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.MappingKey.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.MappingKey.md
new file mode 100644
index 00000000..16dbb7cd
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.MappingKey.md
@@ -0,0 +1,96 @@
+
+# Class MappingKey
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.MappingKey](dw.util.MappingKey.md)
+
+Encapsulates the key for a mapping read in with the ImportKeyValueMapping job step. Can be either single or compound keys. For example, a
+single string (e.g. product id) or multiple string components (e.g. product id and site).
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [keyComponents](#keycomponents): [String\[\]](TopLevel.String.md) `(read-only)` | Gets the (possible compound) key. |
+| [singleComponentKey](#singlecomponentkey): [String](TopLevel.String.md) `(read-only)` | Gets a key that contains only a single key component (i.e. |
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [MappingKey](#mappingkeystring)([String...](TopLevel.String.md)) | Instantiates a new key using compound key components. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [getKeyComponents](dw.util.MappingKey.md#getkeycomponents)() | Gets the (possible compound) key. |
+| [getSingleComponentKey](dw.util.MappingKey.md#getsinglecomponentkey)() | Gets a key that contains only a single key component (i.e. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### keyComponents
+- keyComponents: [String\[\]](TopLevel.String.md) `(read-only)`
+ - : Gets the (possible compound) key. If the key consists of only of a single value, the string array
+ will simply contain a single element.
+
+
+
+---
+
+### singleComponentKey
+- singleComponentKey: [String](TopLevel.String.md) `(read-only)`
+ - : Gets a key that contains only a single key component (i.e. that is not a compound key). Returns null if this is
+ not a single component key.
+
+
+
+---
+
+## Constructor Details
+
+### MappingKey(String...)
+- MappingKey(keyComponents: [String...](TopLevel.String.md))
+ - : Instantiates a new key using compound key components. A key can consist of a single string (e.g. product id) or
+ multiple string components (e.g. product id and site). Ctor accepts single string or multiple components for a
+ compound key.
+
+
+ **Parameters:**
+ - keyComponents - the key components
+
+
+---
+
+## Method Details
+
+### getKeyComponents()
+- getKeyComponents(): [String\[\]](TopLevel.String.md)
+ - : Gets the (possible compound) key. If the key consists of only of a single value, the string array
+ will simply contain a single element.
+
+
+ **Returns:**
+ - the key
+
+
+---
+
+### getSingleComponentKey()
+- getSingleComponentKey(): [String](TopLevel.String.md)
+ - : Gets a key that contains only a single key component (i.e. that is not a compound key). Returns null if this is
+ not a single component key.
+
+
+ **Returns:**
+ - the single key
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.MappingMgr.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.MappingMgr.md
new file mode 100644
index 00000000..e43dcc18
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.MappingMgr.md
@@ -0,0 +1,113 @@
+
+# Class MappingMgr
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.MappingMgr](dw.util.MappingMgr.md)
+
+Used to manage and interface with mappings loaded into the system via the ImportKeyValueMapping job step. Class can be
+used to retrieve values for known keys, iterate over all keys known in a mapping or list all known mappings.
+
+
+Mappings are read into the system using the ImportKeyValueMapping job step.
+
+
+Generic mapping capability enables you to map keys to values, with the mapping stored in a high-performance data
+store that is independent of the database. This supports large datasets, with high performance for lookup. An example
+of using this feature is to map SKUs from a backend system to Commerce Cloud Digital SKUs on-the-fly in Digital script, so
+that interaction with the backend system is transparent and does not require adding Digital SKUs to the third
+party system.
+
+
+
+## Property Summary
+
+| Property | Description |
+| --- | --- |
+| [mappingNames](#mappingnames): [Collection](dw.util.Collection.md) `(read-only)` | List all known mappings. |
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [get](dw.util.MappingMgr.md#getstring-mappingkey)([String](TopLevel.String.md), [MappingKey](dw.util.MappingKey.md)) | Returns a map containing value(s) associated to the specified key for the specified mapping. |
+| static [getFirst](dw.util.MappingMgr.md#getfirststring-mappingkey)([String](TopLevel.String.md), [MappingKey](dw.util.MappingKey.md)) | Gets the first string value of a mapping by name and key. |
+| static [getMappingNames](dw.util.MappingMgr.md#getmappingnames)() | List all known mappings. |
+| static [keyIterator](dw.util.MappingMgr.md#keyiteratorstring)([String](TopLevel.String.md)) | Key iterator over known mapping keys by mapping name. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Property Details
+
+### mappingNames
+- mappingNames: [Collection](dw.util.Collection.md) `(read-only)`
+ - : List all known mappings.
+
+
+---
+
+## Method Details
+
+### get(String, MappingKey)
+- static get(mappingName: [String](TopLevel.String.md), key: [MappingKey](dw.util.MappingKey.md)): [Map](dw.util.Map.md)
+ - : Returns a map containing value(s) associated to the specified key for the specified mapping.
+
+ **Parameters:**
+ - mappingName - the mapping name
+ - key - the key
+
+ **Throws:**
+ - IllegalArgumentException - if mappingName is unknown
+
+
+---
+
+### getFirst(String, MappingKey)
+- static getFirst(mappingName: [String](TopLevel.String.md), key: [MappingKey](dw.util.MappingKey.md)): [String](TopLevel.String.md)
+ - : Gets the first string value of a mapping by name and key. Ordering is determined by the input CSV file. Throws an
+ exception if mappingName does not exist.
+
+
+ **Parameters:**
+ - mappingName - the mapping name
+ - key - the key
+
+ **Returns:**
+ - the value if a single value. The first value sequentially if a compound value.
+
+ **Throws:**
+ - IllegalArgumentException - if mappingName is unknown
+
+
+---
+
+### getMappingNames()
+- static getMappingNames(): [Collection](dw.util.Collection.md)
+ - : List all known mappings.
+
+ **Returns:**
+ - the collection of mapping names
+
+
+---
+
+### keyIterator(String)
+- static keyIterator(mappingName: [String](TopLevel.String.md)): [SeekableIterator](dw.util.SeekableIterator.md)
+ - : Key iterator over known mapping keys by mapping name. Throws an exception if mappingName does not exist.
+
+ **Parameters:**
+ - mappingName - the mapping name
+
+ **Returns:**
+ - the seekable iterator
+
+ **Throws:**
+ - IllegalArgumentException - if mappingName is unknown
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.PropertyComparator.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.PropertyComparator.md
new file mode 100644
index 00000000..45b36bb9
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.PropertyComparator.md
@@ -0,0 +1,122 @@
+
+# Class PropertyComparator
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.PropertyComparator](dw.util.PropertyComparator.md)
+
+This comparator can be used for the List sort() methods and for the SortSet
+and SortedMap classes. The comparator can be used to make a comparison based
+on a property of the contained objects. The Comparison is done based on the
+natural order of the values. It is guaranteed to work for Numbers, Strings,
+Dates, Money and Quantity values.
+
+
+
+## Constructor Summary
+
+| Constructor | Description |
+| --- | --- |
+| [PropertyComparator](#propertycomparatorstring-string)([String](TopLevel.String.md), [String...](TopLevel.String.md)) | Constructs the comparator from the variable length argument list. |
+| [PropertyComparator](#propertycomparatorstring-boolean)([String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md)) | Constructs the comparator. |
+| [PropertyComparator](#propertycomparatorstring-boolean-boolean)([String](TopLevel.String.md), [Boolean](TopLevel.Boolean.md), [Boolean](TopLevel.Boolean.md)) | Constructs the comparator. |
+
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| [compare](dw.util.PropertyComparator.md#compareobject-object)([Object](TopLevel.Object.md), [Object](TopLevel.Object.md)) | Compares its two arguments for order. |
+
+### Methods inherited from class Object
+
+[assign](TopLevel.Object.md#assignobject-object), [create](TopLevel.Object.md#createobject), [create](TopLevel.Object.md#createobject-object), [defineProperties](TopLevel.Object.md#definepropertiesobject-object), [defineProperty](TopLevel.Object.md#definepropertyobject-object-object), [entries](TopLevel.Object.md#entriesobject), [freeze](TopLevel.Object.md#freezeobject), [fromEntries](TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](TopLevel.Object.md#hasownpropertystring), [is](TopLevel.Object.md#isobject-object), [isExtensible](TopLevel.Object.md#isextensibleobject), [isFrozen](TopLevel.Object.md#isfrozenobject), [isPrototypeOf](TopLevel.Object.md#isprototypeofobject), [isSealed](TopLevel.Object.md#issealedobject), [keys](TopLevel.Object.md#keysobject), [preventExtensions](TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](TopLevel.Object.md#propertyisenumerablestring), [seal](TopLevel.Object.md#sealobject), [setPrototypeOf](TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](TopLevel.Object.md#tolocalestring), [toString](TopLevel.Object.md#tostring), [valueOf](TopLevel.Object.md#valueof), [values](TopLevel.Object.md#valuesobject)
+## Constructor Details
+
+### PropertyComparator(String, String...)
+- PropertyComparator(property: [String](TopLevel.String.md), otherProperties: [String...](TopLevel.String.md))
+ - : Constructs the comparator from the variable length argument list. The
+ parameters are property names that are to be used for the comparison.
+ When comparing two objects, the comparator first compares them by the
+ first property. If the two objects have equal values for the first
+ property, the comparator then compares them by the second property,
+ etc, until one object is determined to be less than the other or they are
+ equal. Each parameter must be either a simple name like "totalSum" or can
+ be a reference to a custom attribute like "custom.mytotal". Each
+ parameter may also be prefixed with an optional '+' or '-' character to
+ indicate that the objects should be sorted ascending or descending
+ respectively by that property. If not specified for a given property then
+ '+' (ascending sort) is assumed.
+
+ For example: new PropertyComparator("+prop1", "-prop2", "prop3")
+ constructs a Comparator which sorts by prop1 ascending, prop2 descending,
+ and finally prop3 ascending.
+
+ The comparator created with this constructor treats null values as
+ greater than any other value.
+
+
+ **Parameters:**
+ - property - The property name to compare by first.
+ - otherProperties - Additional property names to sort by if two objects have the same values for the first property.
+
+
+---
+
+### PropertyComparator(String, Boolean)
+- PropertyComparator(propertyName: [String](TopLevel.String.md), sortOrder: [Boolean](TopLevel.Boolean.md))
+ - : Constructs the comparator. The specified parameter is the name of the
+ property that is used for the comparison. The parameter must be either a
+ simple name like "totalSum" or can be a reference to a custom attribute
+ like "custom.mytotal".
+
+ The comparator created with this constructor is setup with ascending or
+ descending sort order depending on value of sortOrder and null values
+ being greater than any other value.
+
+
+ **Parameters:**
+ - propertyName - the name of the property that is used for the comparison.
+ - sortOrder - the sort order to use where true means ascending and false means descending.
+
+
+---
+
+### PropertyComparator(String, Boolean, Boolean)
+- PropertyComparator(propertyName: [String](TopLevel.String.md), sortOrder: [Boolean](TopLevel.Boolean.md), nullGreater: [Boolean](TopLevel.Boolean.md))
+ - : Constructs the comparator. The specified parameter is the name of the
+ property that is used for the comparison. The parameter must be either a
+ simple name like "totalSum" or can be a reference to a custom attribute
+ like "custom.mytotal".
+
+
+ **Parameters:**
+ - propertyName - the name of the property that is used for the comparison.
+ - sortOrder - the sort order to use where true means ascending and false means descending.
+ - nullGreater - true means null is greater than any other value
+
+
+---
+
+## Method Details
+
+### compare(Object, Object)
+- compare(arg1: [Object](TopLevel.Object.md), arg2: [Object](TopLevel.Object.md)): [Number](TopLevel.Number.md)
+ - : Compares its two arguments for order. Returns a negative integer, zero,
+ or a positive integer as the first argument is less than, equal to, or
+ greater than the second. By default a null value is treated always
+ greater than any other value. In the constructor of a PropertyComparator
+ this default behavior can be changed.
+
+
+ **Parameters:**
+ - arg1 - the first object to compare.
+ - arg2 - the second object to compare.
+
+ **Returns:**
+ - a negative integer, zero, or a positive integer as the first
+ argument is less than, equal to, or greater than the second.
+
+
+
+---
+
+
diff --git a/packages/b2c-tooling-sdk/data/script-api/dw.util.SecureEncoder.md b/packages/b2c-tooling-sdk/data/script-api/dw.util.SecureEncoder.md
new file mode 100644
index 00000000..1783c968
--- /dev/null
+++ b/packages/b2c-tooling-sdk/data/script-api/dw.util.SecureEncoder.md
@@ -0,0 +1,582 @@
+
+# Class SecureEncoder
+
+- [TopLevel.Object](TopLevel.Object.md)
+ - [dw.util.SecureEncoder](dw.util.SecureEncoder.md)
+
+SecureEncoder contains many methods for manipulating untrusted data Strings
+into RFC-Compliant Strings for a given context by encoding "bad" data into
+the proper format.
+
+
+
+## Constructor Summary
+
+This class does not have a constructor, so you cannot create it directly.
+## Method Summary
+
+| Method | Description |
+| --- | --- |
+| static [forHtmlContent](dw.util.SecureEncoder.md#forhtmlcontentstring)([String](TopLevel.String.md)) |