Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

...

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

 

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

 

...

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>