Table of Contents |
---|
Function:
...
getAvailableLocations()
Request:
...
GetAvailableLocationsRequest
Field | Description | Required? |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated |
{1.0.0} | TRUE |
id | The customerId or any other agreed upon Id. | TRUE |
password | The password associated with the customerId. | FALSE |
productId | The |
TRUE
productId
ProductId to filter down to a specific product. If left blank, the function will return all decoration colors for all products.
TRUE
decorationId
The Id of the decoration to filter requests by
FALSE
Best practice is to pass the specific decoration ID to identify if pmsMatch is offered for the given location/decoration and fullColor
localizationCountry
ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States
TRUE
localizationLanguage
ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French
TRUE
...
product id for which to get the locations | TRUE | |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | TRUE |
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | TRUE |
Reply: GetAvailableLocationsResponse
Field | Description | Required? | Best Practice |
AvailableLocationArray | An array of locations | TRUE |
|
errorMessage999 | List of possible values for errors. Values are enumerated—See Appendix A: Error Messages for full details. | FALSE | Use the error messages as outlined |
AvailableLocationArray
...
Field | Description | Required? | Best Practice |
ColorArray
locationId | A unique Id of the location | TRUE |
productId
The |
TRUE
locationId
The Id of the location that was provided
TRUE
DecorationMethodArray
An array of decoration methods for the location
TRUE
pmsMatch
TRUE, if PMS match is possible
TRUE
If multiple decoration methods available check with supplier on this field to confirm which items offer pmsMatch **2.0 service needs to address this**
fullColor
Set to true if the decoration method is full color process; False implies that number of colors is irrelevant.
TRUE
If multiple decoration methods available check with supplier on this field to confirm which items offer fullColor**2.0 service needs to address this**
ColorArray
Field | Description | Required? | Best Practice |
colorId | A unique Id of the color of the imprint | TRUE |
|
colorName | The name of the imprint color | TRUE | The expected color to be returned in purchase order service |
DecorationMethodArray
Field | Description | Required? | Best Practice |
decorationId | A unique Id of the decoration method | TRUE | The decorationId should be the expected decorationID BACK in the PO service. These id’s should never change. Suppliers should have a master list to initially share with distributor |
decorationName | The name of the decoration method | TRUE | This should be consistent with the decoration names as displayed on suppliers website and align with product data service |
Function: getFobPoints()
This function will return basic information about FOB points for a given product.
Request: GetFobPointsRequest
Field | Description | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated: {1.0.0} | TRUE |
|
id | The customerId or any other agreed upon Id. | TRUE |
|
password | The password associated with the customerId. | FALSE |
|
productId | The productId you are requesting FOB points for | FALSE |
|
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | TRUE |
|
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | TRUE |
|
Reply: GetFobPointsResponse
Field | Description | Required? | Best Practice |
FobPointArray | Array of fob Points | FALSE | The list should be based on where the product can be shipped from regardless if inventory is available or not as inventory could be available the next day |
location Id should be the expected location ID BACK in the PO service. These id’s should never change
Recommended to provide an initial master list of available locations | |||
locationName | The name of the location | TRUE | This should be consistent with the location names as displayed on suppliers website and align with product data service |
Function: getDecorationColors()
Request: GetDecorationColorRequest
Field | Description | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated: {1.0.0} | TRUE |
|
id | The customerId or any other agreed upon Id. | TRUE |
|
password | The password associated with the customerId. | FALSE |
|
locationId | The Id of the location | TRUE |
|
productId | ProductId to filter down to a specific product. If left blank, the function will return all decoration colors for all products. | TRUE |
|
decorationId | The Id of the decoration to filter requests by | FALSE | Best practice is to pass the specific decoration ID to identify if pmsMatch is offered for the given location/decoration and fullColor |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | TRUE |
|
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | TRUE |
|
Response: GetDecorationColorResponse
DecorationColors
Field | Description | Required? | Best Practice |
ColorArray | An array of colors | TRUE |
|
productId | The Id of the product. | TRUE |
|
locationId | The Id of the location that was provided | TRUE |
|
DecorationMethodArray | An array of decoration methods for the location | TRUE |
|
pmsMatch | TRUE, if PMS match is possible | TRUE | If multiple decoration methods available check with supplier on this field to confirm which items offer pmsMatch **2.0 service needs to address this** |
fullColor | Set to true if the decoration method is full color process; False implies that number of colors is irrelevant. | TRUE | If multiple decoration methods available check with supplier on this field to confirm which items offer fullColor**2.0 service needs to address this** |
ColorArray
Field | Description | Required? | Best Practice |
colorId | A unique Id of the color of the imprint | TRUE |
|
colorName | The name of the imprint color | TRUE | The expected color to be returned in purchase order service |
DecorationMethodArray
Field | Description | Required? | Best Practice |
decorationId | A unique Id of the decoration method | TRUE | The decorationId should be the expected decorationID BACK in the PO service. These id’s should never change. Suppliers should have a master list to initially share with distributor |
decorationName | The name of the decoration method | TRUE | This should be consistent with the decoration names as displayed on suppliers website and align with product data service |
Function: getFobPoints()
Request: GetFobPointsRequest
Field | Description | Required? | Best Practice |
wsVersion | The |
Standard Version of the Web Service being referenced. Values are enumerated: {1.0.0} | TRUE |
|
id | The |
customerId or any other agreed upon Id. | TRUE |
|
password | The |
password associated with the customerId. | FALSE |
|
productId | The |
productId you are requesting FOB points for | FALSE |
|
fobCountry
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | TRUE |
|
CurrencySupportedArray
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | TRUE |
|
ProductArray
An array of productIds associated with the FOB Point
TRUE
Since product ID is defined as required in the WSDL, this would always be the requested productID
...
Response: GetFobPointsResponse
Field | Description | Required? | Best Practice |
FobPointArray | Array of fob Points | FALSE | The list should be based on where the product can be shipped from regardless if inventory is available or not as inventory could be available the next day |
FobPoint
Field | Description | Required? | Best Practice |
fobId | The |
Field
Description
Required?
Best Practice
currency
Id of the FOB Point | TRUE |
|
CurrencySupportedArray
...
fobPostalCode | The Postal or Zip Code of the fob Point | TRUE |
|
fobCity | The city of the FOB Point | TRUE |
|
fobState | The state of the FOB Point in ISO 3166-2 format. | TRUE |
|
Function: getAvailableCharges()
This function will provide a list of charges and information on how to calculate charges. It is helpful for populating a database of charge types and designing logic to calculate charges.
Best Practice: This operation should return the same charges that are returned in getConfigurationandPricing for each location and decoration.
Request: GetAvailableCharges
Field | Description | WSDL Data Type | SQL Data Type | Required? |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated: {1.0.0} | STRING | VARCHAR(64) | TRUE |
id | The customerId or any other agreed upon Id. | STRING | VARCHAR(64) | TRUE |
password | The password associated with the customerId. | STRING | VARCHAR(64) | FALSE |
productId | The productId you are requesting charges for | STRING | VARCHAR(64) | FALSE |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | STRING | VARCHAR(2) | TRUE |
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | STRING | VARCHAR(2) | TRUE |
Reply: GetAvailableChargesResponse
...
Field
...
Description
...
WSDL Data Type
...
SQL Data Type
...
Required?
...
Best Practice
...
AvailableChargeArray
...
An array of charges
...
INT
...
INT
...
TRUE
...
If no product ID is provided, expected to return the master list of charges
...
errorMessage999
...
List of possible values for errors. Values are enumerated—See Appendix A: Error Messages for full details.
...
STRING
...
VARCHAR(256)
...
FALSE
...
fobCountry | The country of the FOB Point in Alpha 2 ISO3166 “CODE” format. | TRUE |
|
CurrencySupportedArray | The currencies supported for the FOB Point | TRUE |
|
ProductArray | An array of productIds associated with the FOB Point | TRUE | Since product ID is defined as required in the WSDL, this would always be the requested productID |
ProductArray
Field | Description | Required? | Best Practice |
productId | The product id | TRUE |
|
CurrencySupportedArray
Field | Description | Required? | Best Practice |
currency | The currency supported for the FOB point in ISO4217 format. | TRUE |
|
Function: getAvailableCharges()
Best Practice: This operation should return the same charges that are returned in getConfigurationandPricing for each location and decoration.
Request: GetAvailableCharges
Field | Description | WSDL Data Type | SQL Data Type | Required? |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated: {1.0.0} | STRING | VARCHAR(64) | TRUE |
id | The customerId or any other agreed upon Id. | STRING | VARCHAR(64) | TRUE |
password | The password associated with the customerId. | STRING | VARCHAR(64) | FALSE |
productId | The productId you are requesting charges for | STRING | VARCHAR(64) | FALSE |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | STRING | VARCHAR(2) | TRUE |
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | STRING | VARCHAR(2) | TRUE |
Reply: GetAvailableChargesResponse
Field | Description | WSDL Data Type | SQL Data Type | Required? | Best Practice |
chargeId
AvailableChargeArray | An array of charges | INT | INT | TRUE |
chargeName
If no product ID is provided, expected to return the master list of charges | |||||
errorMessage999 | List of possible values for errors. Values are enumerated—See Appendix A: Error Messages for full details. | STRING | VARCHAR( |
256) |
FALSE |
|
chargeType
AvailableChargeArray
Field | Description | WSDL Data Type | SQL Data Type | Required? | Best Practice |
chargeId | A unique Id of the charge | INT | INT | TRUE |
|
chargeName | The name of the charge | STRING | VARCHAR(64) | TRUE |
|
chargeType | The type of charge. Values are enumerated {SETUP, RUN, ORDER}. | STRING | VARCHAR(64) | TRUE |
|
chargeDescription | The charge description | STRING | VARCHAR(256) | TRUE |
|
Function:
...
getConfigurationandPricing()
This function will provide the pricing and configuration of a product. Please reference Appendix B for examples on each pricing model.
Pricing Best Practices
Suppliers should provide clear documentation on their pricing model and document Pricing Best Practices
Suppliers should provide clear documentation on their pricing model and document whether they follow an Additive or Base Pricing model.
Additive Pricing Model Best Practices: The pricing returned should be the blank price. All additional decoration charges should be provided in the charges array for the distributor to calculate their final decorated price ●
Decorated Configuration Type: Service should respond with the amount for a blank imprint and all charges available to calculate their decorated cost
...
decorationUnitsIncluded should be 0
...
yMinQty: The minimum units, typically starts at 1
...
Base Pricing Model Best Practices: The pricing returned should be the base decorated price for the default decoration location and method. The default decoration location and method should be identifed by utilizing the defaultLocation and defaultDecoration fields.
Decorated Configuration Type: Service should respond with the decorated price for the default location. All the additional available decorated pricing options should be available within the charges array for the distributor to calculate their decorated cost outside of the default setup options
decorationUnitsIncluded should be > 0
yMinQty: The first quantity that will be charged outside the base price. For example, if the first color is included, the yMinQty should be set to ‘2’.
Request: GetConfigurationAndPricingRequest
Field | Description | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated: {1.0} | TRUE |
|
id | The customerId or any other agreed upon Id. | TRUE |
|
password | The password associated with the customerId. | FALSE |
|
productId | The productId for the pricing | TRUE |
|
partId | The partId | FALSE |
|
currency | The unit of currency that the pricing should be returned in ISO4217 “CODE” format. | TRUE |
|
fobId | The fobId of the FOB point | TRUE |
|
priceType | The type of pricing that should be returned. Values are enumerated: {Customer, List, Net } Customer = Customer specific pricing. Should always return pricing, even if the customer does not get special pricing and get the standard retail/net pricing. Net = Net Pricing (List price with discount code applied) List = Retail Pricing | TRUE | 0.00 charges should be included in the response, the consumer should determine how to handle. Example, customer does not pay LTM
All available price breaks should be available in response for NET/LIST and if available for CUSTOMER |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | TRUE |
|
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | TRUE |
|
configurationType | The type of configuration of the product to be returned. Values are enumerated: {Blank, Decorated} | TRUE | It’s assumed that if pricing is not returned for the BLANK configuration TYPE, then that item does not offer blank imprints |
Reply: GetConfigurationAndPricingResponse
Field | Description | Required? | Best Practice |
Configuration | An object to hold Configuration data. | TRUE |
|
ErrorMessage999 | Response for any error requiring notification to requestor | FALSE |
|
Configuration
...
Configuration
...
Field | Description | Required? | Best Practice |
PartArray | An array of Parts and their pricing and configuration data | TRUE |
|
LocationArray | An array of Locations and their pricing and configuration data | FALSE | Provide the location array if possible |
productId | The product family. This is how the part is marketed. | TRUE |
|
currency | The currency the request of the request in ISO 4217 format | TRUE |
|
FobArray | An array of FOB points that support this configuration | TRUE |
|
fobPostalCode | The postal code of the FOB point | FALSE |
|
priceType | The type of price requested. Values are enumerated: {List, Net, Customer}. | TRUE |
|
FobArray
...
An array of FOB points that support the configuration. By default, this will always include the valid FOB point that was sent as part of the request.
Field | Description | Required? | Best Practice |
fobId | The FOB point of the pricing | TRUE |
|
fobPostalCode | The postal code of the FOB point | FALSE |
|
Part
Field | Description | Required? | Best Practice |
partId | The |
partId | TRUE |
|
fobPostalCode
partDescription | A description of the |
partId | FALSE |
Part
...
Provide as much information about |
...
the part |
...
Field
Description
Required?
Best Practice
partId
The partId
TRUE
partDescription
A description of the partId
FALSE
in this field. Should this be required? | |||
PartPriceArray | An array of prices and quantity breaks | FALSE |
|
partGroup | A numeric identifier grouping mutually exclusive parts together. When configuring data, always start with part group “1” | TRUE |
|
nextPartGroup | The next mutually exclusive partGroup to complete configuration of the product | FALSE |
|
partGroupRequired | A boolean value specifying if this partGroup is required for the product configuration. If set to TRUE, a selection in the partGroup is required for ordering. | TRUE |
|
partGroupDescription | A description of the partGroup. Examples: “Main Product”, “Optional Lid”, “Straw”, etc. | TRUE |
|
ratio | Describes how the amount of partIds that need to be added to the order based on the number of products ordered. Example: If 8 partIds would be required per 1 product ordered, then 8 should be used as the ratio. If one partId is required for every 8 products, than use .125 | TRUE |
|
defaultPart | This part is included in the “Basic Pricing Configuration” service price. This field is optional, but highly encouraged. | FALSE | Recommended to define a default part if possible |
LocationIdArray | An array of LocationIDs that are available for decoration because the select part has been configured. | FALSE |
|
PartPrice—This object contains pricing a product based on the partId. Prices are additive in nature. A configuration that requires three parts with three different prices should be summed together on the purchase order.
PartPrice
Field | Description | Required? | Best Practice |
minQuantity | The minimum quantity for the price break. | TRUE |
|
price | The base price of the good without decoration | TRUE |
|
discountCode | The industry discount code associated with the price. | FALSE | The discount code should be populated when the price type = LIST It is assumed the “NET” price type is the LIST price with the discount code applied |
priceUom | Enumerated list of unit of measure used to describe the price. Values are: {BX, CA, DZ, EA, KT, PR, PK, RL, ST, SL, TH} BX - Box CA - Case DZ - Dozen EA - Each KT - Kit PR - Pair PK - Package RL - Roll ST - Set SL - Sleeve TH - Thousand | TRUE |
|
priceEffectiveDate | The date the price is effective in ISO8601 format. | TRUE | Consumers of this data should be able to use this to determine which pricing they want to consume, in the event FUTURE pricing exists |
priceExpiryDate | The date the price is no longer effective in ISO8601 format. | TRUE | No pricing should be returned if the priceExpiryDate < CurrentDate
Distributors should store this expiration date and use that as their key to know WHEN to retrieve new pricing |
Location
Field |
Description |
Required? |
Field
Description
Required?
Best Practice
locationID
Best Practice |
Location
This object contains decoration and location details for a given part.
LocationIDArray
This is a list of locationIds that are valid based on the partID that was configured.
locationId | The Id of the location | TRUE |
|
locationName | The name of the location | TRUE |
|
DecorationArray | An array of decorations that are valid for the given location | TRUE |
|
decorationsIncluded | The number of decorations included in the price | TRUE |
|
defaultLocation | Signifies default location for the product. | TRUE |
|
Decoration
This object contains decoration information that are valid for a specific location
maxDecoration | The maximum amount of decorations for this location | TRUE |
|
minDecoration | The minimum amount of decorations for this location | TRUE |
|
locationRank | Popularity of location based on supplier experience | FALSE |
|
LocationIDArray
Field | Description | Required? | Best Practice |
locationID | The Id of the available location. | TRUE |
|
Decoration
Field | Description | Required? | Best Practice |
decorationId | The ID of the decoration | TRUE |
|
decorationName | The name of the decoration | FALSE | This should be required |
decorationGeometry | The geometry of the decoration. Values are enumerated: {Circle, Rectangle, Other}. | TRUE | Consumers of this field should also be able to handle “Circles” “Rectangular” “Rectangle” |
decorationHeight | The maximum imprint height of the decoration; leave blank if the imprint is not rectangular | FALSE | Provide if available |
decorationWidth | The maximum imprint width of the decoration; leave blank if the imprint is not rectangular | FALSE | Provide if available |
decorationDiameter | The maximum imprint diameter of the decoration; leave blank if the imprint is not circular | FALSE | Provide if available |
decorationUom | The unit of measure for the decoration area in ISO 20022 | TRUE |
|
allowSubForDefaultLocation | Buyer is allowed to substitute a decoration location without changing the price | TRUE |
|
allowSubForDefaultMethod | Buyer is allowed to substitute this decoration method without changing the price | TRUE |
|
itemPartQuantityLTM | Specifies the Part Quantity that is the absolute minimum that can be ordered with a Less Than Minimum (LTM) charge. | FALSE | Provide if available |
ChargeArray | An array of setup charge data | FALSE |
|
decorationUnitsIncluded | The number of included decoration units. For example, if 1 color decoration is included set value to “1”. If 7,500 stiches are included set value to “7500” | FALSE | Provide so distributor can determine final charge based on total number of decorations
If 0 or not populated then assume supplier is using Additive Model |
decorationUnitsIncludedUom | Values are enumerated: {Colors, Inches, Other, Stitches, SquareInches }. | FALSE |
|
decorationUnitsMax | This is the max number of decoration units for this decoration/location combination. | FALSE |
|
defaultDecoration | Specifies whether this is the default decoration for this location | TRUE |
|
leadTime | The leadtime for the given decoration | FALSE | Provide if available |
rushLeadTime | The lead time for rush service for a given decoration (rush charges may apply) | FALSE |
|
Charge
This object contains a charge that is associated with the setup of the product, location and decoration configuration.
Field
Field | Description | Required? | Best Practice |
chargeId | The Id of the charge | TRUE |
|
chargeName | The name of the charge | TRUE |
|
chargeType | The type of charge. Values are enumerated {Order, Run, Setup}. | TRUE |
|
chargeDescription | The charge description | TRUE |
|
ChargePriceArray | An array of charge prices | TRUE |
|
chargeAppliesLTM | This charge is applied with ordering Less than Minimum (LTM). | TRUE |
|
chargesPerLocation | The number of times a charge will occur per location | FALSE |
|
chargesPerColor | The number of times a charge will occur per color | FALSE |
|
ChargePrice
...
Field | Description | Required? | Best Practice |
xMinQty | The minimum x-value quantity for this price | TRUE |
|
xUom | The unit of measure for the x-axis. Values are enumerated: {BX, CA, DZ, EA, KT, PR, PK, RL, ST, SL, TH} BX - Box CA - Case DZ - Dozen EA - Each KT - Kit PR - Pair PK - Package RL - Roll ST - Set SL - Sleeve TH - Thousand | TRUE |
|
yMinQty | The minimum y-value quantity for this price | TRUE |
|
yUom | The unit of measure for the y-axis. Values are enumerated: {Colors, Inches, Other, Stitches, SquareInches }. | TRUE |
|
price | The price of the charge | TRUE |
|
discountCode | The discount code associated with the price. | FALSE |
|
repeatPrice | The price of the charge if it is a repeat order | FALSE |
|
repeatDiscountCode | The discount code of the repeat price | FALSE |
|
priceEffectiveDate | The date the price is effective in ISO8601 format. | FALSE |
|
priceExpiryDate | The date the price is no longer effective in ISO8601 format. | FALSE |
|
Appendix A: Error Messages
ErrorMessage
Field | Description | WSDL Data Type | SQL Data Type | Required? |
code | The numerical value of the code | INT | INT | TRUE |
description | Response for any error requiring notification to requestor | STRING | VARCHAR(256) | TRUE |
Standardized Codes
The range of 100-199 has been reserved for standardized error codes. The number 999 has been reserved for an error codes that is a “General Error - Contact System Service Provider”
Code | Description |
100 | ID (customerID) not found |
104 | This account is unauthorized to use this service. Please contact the service provider |
105 | Authentication Credentials failed |
110 | Authentication Credentials required |
115 | wsVersion not found |
120 | The following field(s) are required [Comma Delimited field names] |
125 | Not Supported: [details] |
999 | General Error – Contact the System Service Provider Details: [Details] |
Service Specific Code: These error codes are only for this service.
Code | Description |
400 | productID not found |
401 | currencyID not found |
402 | priceType not found |
403 | fobId not found |
404 | localizationCountry not found |
405 | localizationLanguage not found |
406 | configurationType not found |
Appendix B - Examples
Additive Pricing Example
For this example, the first location will require a setup charge, and any additional location will include an additional run charge as well.
Code Block |
---|
<ns0:Decoration>
<ns:decorationId>9</ns:decorationId>
<ns:decorationName>Screen Print</ns:decorationName>
<ns:decorationGeometry>Rectangle</ns:decorationGeometry>
<ns:decorationHeight>5</ns:decorationHeight>
<ns:decorationWidth>7</ns:decorationWidth>
<ns:decorationDiameter>0</ns:decorationDiameter>
<ns:decorationUom>Inches</ns:decorationUom>
<ns0:allowSubForDefaultLocation>false</ns0:allowSubForDefaultLocation>
<ns0:allowSubForDefaultMethod>false</ns0:allowSubForDefaultMethod>
<ns0:ChargeArray>
<ns0:Charge>
<ns:chargeId>12345</ns:chargeId>
<ns:chargeName>SCREEN PRINT STD</ns:chargeName>
<ns:chargeDescription>SCREEN PRINT ADDITIONAL LOCATIONS - USD</ns:chargeDescription>
<ns:chargeType>Run</ns:chargeType>
<ns0:ChargePriceArray>
<ns0:ChargePrice>
<ns0:xMinQty>1</ns0:xMinQty>
<ns0:xUom>EA</ns0:xUom>
<ns0:yMinQty>2</ns0:yMinQty>
<ns0:yUom>Colors</ns0:yUom>
<ns0:price>0.624</ns0:price>
<ns0:discountCode>G</ns0:discountCode>
<ns0:repeatPrice>0</ns0:repeatPrice>
<ns0:priceEffectiveDate xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns0:priceExpiryDate xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns0:ChargePrice>
</ns0:ChargePriceArray>
<ns0:chargesAppliesLTM>false</ns0:chargesAppliesLTM>
<ns0:chargesPerLocation xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns0:chargesPerColor xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns0:Charge>
<ns0:Charge>
<ns:chargeId>123456</ns:chargeId>
<ns:chargeName>SCREEN PRINT STD</ns:chargeName>
<ns:chargeDescription>SETUP CHARGES - USD</ns:chargeDescription>
<ns:chargeType>Setup</ns:chargeType>
<ns0:ChargePriceArray>
<ns0:ChargePrice>
<ns0:xMinQty>1</ns0:xMinQty>
<ns0:xUom>EA</ns0:xUom>
<ns0:yMinQty>1</ns0:yMinQty>
<ns0:yUom>Colors</ns0:yUom>
<ns0:price>52.8</ns0:price>
<ns0:discountCode>G</ns0:discountCode>
<ns0:repeatPrice>0</ns0:repeatPrice>
<ns0:priceEffectiveDate xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns0:priceExpiryDate xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns0:ChargePrice>
</ns0:ChargePriceArray>
<ns0:chargesAppliesLTM>false</ns0:chargesAppliesLTM>
<ns0:chargesPerLocation xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns0:chargesPerColor xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns0:Charge>
</ns0:ChargeArray>
<ns0:decorationUnitsIncluded>0</ns0:decorationUnitsIncluded>
<ns:decorationUnitsIncludedUom>Colors</ns:decorationUnitsIncludedUom>
<ns:decorationUnitsMax>2</ns:decorationUnitsMax>
<ns0:defaultDecoration>false</ns0:defaultDecoration>
<ns0:leadTime>2</ns0:leadTime>
</ns0:Decoration> |
Base Pricing Example
For this example, the first color is included in the setup charge, and any additional location will require and additional run charge.
Code Block |
---|
<ns0:Decoration>
<ns:decorationId>9</ns:decorationId>
<ns:decorationName>Screen Print</ns:decorationName>
<ns:decorationGeometry>Rectangle</ns:decorationGeometry>
<ns:decorationHeight>5</ns:decorationHeight>
<ns:decorationWidth>7</ns:decorationWidth>
<ns:decorationDiameter>0</ns:decorationDiameter>
<ns:decorationUom>Inches</ns:decorationUom>
<ns0:allowSubForDefaultLocation>false</ns0:allowSubForDefaultLocation>
<ns0:allowSubForDefaultMethod>false</ns0:allowSubForDefaultMethod>
<ns0:ChargeArray>
<ns0:Charge>
<ns:chargeId>123</ns:chargeId>
<ns:chargeName>SCREEN PRINT STD</ns:chargeName>
<ns:chargeDescription>SCREEN PRINT ADDITIONAL LOCATIONS - USD</ns:chargeDescription>
<ns:chargeType>Run</ns:chargeType>
<ns0:ChargePriceArray>
<ns0:ChargePrice>
<ns0:xMinQty>1</ns0:xMinQty>
<ns0:xUom>EA</ns0:xUom>
<ns0:yMinQty>2</ns0:yMinQty>
<ns0:yUom>Colors</ns0:yUom>
<ns0:price>0.624</ns0:price>
<ns0:discountCode>G</ns0:discountCode>
<ns0:repeatPrice>0</ns0:repeatPrice>
<ns0:priceEffectiveDate xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns0:priceExpiryDate xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns0:ChargePrice>
</ns0:ChargePriceArray>
<ns0:chargesAppliesLTM>false</ns0:chargesAppliesLTM>
<ns0:chargesPerLocation xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns0:chargesPerColor xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns0:Charge>
<ns0:Charge>
<ns:chargeId>456</ns:chargeId>
<ns:chargeName>SCREEN PRINT STD</ns:chargeName>
<ns:chargeDescription>SETUP CHARGES - USD</ns:chargeDescription>
<ns:chargeType>Setup</ns:chargeType>
<ns0:ChargePriceArray>
<ns0:ChargePrice>
<ns0:xMinQty>1</ns0:xMinQty>
<ns0:xUom>EA</ns0:xUom>
<ns0:yMinQty>1</ns0:yMinQty>
<ns0:yUom>Colors</ns0:yUom>
<ns0:price>52.8</ns0:price>
<ns0:discountCode>G</ns0:discountCode>
<ns0:repeatPrice>0</ns0:repeatPrice>
<ns0:priceEffectiveDate xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns0:priceExpiryDate xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns0:ChargePrice>
</ns0:ChargePriceArray>
<ns0:chargesAppliesLTM>false</ns0:chargesAppliesLTM>
<ns0:chargesPerLocation xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns0:chargesPerColor xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns0:Charge>
</ns0:ChargeArray>
<ns0:decorationUnitsIncluded>1</ns0:decorationUnitsIncluded>
<ns:decorationUnitsIncludedUom>Colors</ns:decorationUnitsIncludedUom>
<ns:decorationUnitsMax>2</ns:decorationUnitsMax>
<ns0:defaultDecoration>true</ns0:defaultDecoration>
<ns0:leadTime>2</ns0:leadTime>
</ns0:Decoration> |
Proposed Changes for 2.0
yMax – defines the upper threshold of `y` when the charge would stop being applied
isRepeatableCharge – defines whether the charge should be repeated for each increment within the range, or only charged once
increment – defines the increments for each charge within the range, for example with Colors this would likely be 1 but Stitches will often be 1000
Code Block <ns0:ChargePrice> <ns0:xMinQty>1</ns0:xMinQty> <ns0:xUom>EA</ns0:xUom> <ns0:yMinQty>1000</ns0:yMinQty> <ns0:yUom>Stitches</ns0:yUom> <ns0:price>0.52</ns0:price> <ns0:repeatPrice>0</ns0:repeatPrice> <ns0:yMAX>30000</ns0:yMAX> <ns0:increment>1000</ns0:increment> <ns0:isRepeatableCharge>1</ns0:isRepeatableCharge> <ns0:priceEffectiveDate xsi:nil="true" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance/> <ns0:priceExpiryDate xsi:nil="true" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance/> </ns0:ChargePrice>