Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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 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

locationId

A unique Id of the location

TRUE

The 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

 

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: 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 Id of the FOB Point

TRUE

 

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

 

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

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

 

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()

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

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

Required for hard goods.

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

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

 

partDescription

A description of the partId

FALSE

Should describe part and not contain any product description.

Provide as much information about the part in this field. Should this be required?

PartPriceArray

An array of prices and

quantities

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

Yes. Helps even if there is only one part group.

 

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

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?

Best Practice

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

Yes.

 

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

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

https://www.iso20022.org/standardsrepository/public/wqt/Description/mx/dico/codesets/_Y4XF0tp-Ed-ak6NoX_4Aeg_385163498

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

Yes. Helps to display a default price to customers.

 

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

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

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

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>