...
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>