ingram_micro 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.gitignore +11 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +4 -0
  6. data/CODE_OF_CONDUCT.md +13 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +123 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +7 -0
  13. data/example.rb +18 -0
  14. data/ingram_micro.gemspec +38 -0
  15. data/lib/.DS_Store +0 -0
  16. data/lib/ingram_micro.rb +42 -0
  17. data/lib/ingram_micro/.DS_Store +0 -0
  18. data/lib/ingram_micro/base_element.rb +32 -0
  19. data/lib/ingram_micro/client.rb +49 -0
  20. data/lib/ingram_micro/configuration.rb +46 -0
  21. data/lib/ingram_micro/elements/credit_card_information.rb +26 -0
  22. data/lib/ingram_micro/elements/customer.rb +23 -0
  23. data/lib/ingram_micro/elements/detail.rb +19 -0
  24. data/lib/ingram_micro/elements/message_header_no_pw.rb +21 -0
  25. data/lib/ingram_micro/elements/message_header_pw.rb +22 -0
  26. data/lib/ingram_micro/elements/purchase_order_information.rb +15 -0
  27. data/lib/ingram_micro/elements/return_authorization_line_item.rb +39 -0
  28. data/lib/ingram_micro/elements/return_authorization_submission.rb +67 -0
  29. data/lib/ingram_micro/elements/return_order_header.rb +29 -0
  30. data/lib/ingram_micro/elements/sales_order_header.rb +27 -0
  31. data/lib/ingram_micro/elements/sales_order_line_item.rb +37 -0
  32. data/lib/ingram_micro/elements/sales_order_submission.rb +62 -0
  33. data/lib/ingram_micro/elements/shipment_information.rb +69 -0
  34. data/lib/ingram_micro/elements/shipment_status.rb +44 -0
  35. data/lib/ingram_micro/elements/shipment_status_line_item.rb +28 -0
  36. data/lib/ingram_micro/errors/invalid_type.rb +2 -0
  37. data/lib/ingram_micro/errors/missing_field.rb +2 -0
  38. data/lib/ingram_micro/request_processor.rb +11 -0
  39. data/lib/ingram_micro/transmission.rb +50 -0
  40. data/lib/ingram_micro/transmissions/check_shipment_status.rb +45 -0
  41. data/lib/ingram_micro/transmissions/return_authorization.rb +50 -0
  42. data/lib/ingram_micro/transmissions/sales_order.rb +55 -0
  43. data/lib/ingram_micro/version.rb +3 -0
  44. data/xsd/.DS_Store +0 -0
  45. data/xsd/BPXML_InventoryStatus.xsd +49 -0
  46. data/xsd/inbound/BPXML-LoadReject.xsd +686 -0
  47. data/xsd/inbound/BPXML-LoadSuccess.xsd +696 -0
  48. data/xsd/inbound/BPXML-ReturnReceipt.xsd +664 -0
  49. data/xsd/inbound/BPXML-ShipAdvice.xsd +758 -0
  50. data/xsd/inbound/BPXML-StandardResponse.xsd +122 -0
  51. data/xsd/outbound/BPXML-ReturnAuthorization.xsd +641 -0
  52. data/xsd/outbound/BPXML-SalesOrder.xsd +753 -0
  53. data/xsd/outbound/BPXML-ShipmentStatus.xsd +232 -0
  54. data/xsd/xml_samples/.DS_Store +0 -0
  55. data/xsd/xml_samples/Sales_order_sample.xml +143 -0
  56. metadata +227 -0
@@ -0,0 +1,758 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3
+ <xs:annotation>
4
+ <xs:documentation xml:lang="en"> This schema captures the requirement details for the outbound Ship Advice process. The XML document generated by Brightpoint will be based on
5
+ this schema and information available will be based on the elements specified in this transaction. ome new fields have been added as of December 2008 and are stated as such
6
+ in the documentation.</xs:documentation>
7
+ </xs:annotation>
8
+ <xs:element name="message">
9
+ <xs:annotation>
10
+ <xs:documentation xml:lang="en"> This is the root document element used to encapsulate the entire message. </xs:documentation>
11
+ </xs:annotation>
12
+ <xs:complexType>
13
+ <xs:sequence>
14
+ <xs:element ref="message-header" minOccurs="1" maxOccurs="1"/>
15
+ <xs:element ref="ship-advice" minOccurs="1" maxOccurs="unbounded"/>
16
+ <xs:element name="transactionInfo" minOccurs="1" maxOccurs="1"/>
17
+ </xs:sequence>
18
+ </xs:complexType>
19
+ </xs:element>
20
+ <xs:element name="message-header">
21
+ <xs:complexType>
22
+ <xs:sequence>
23
+ <xs:element ref="message-id" maxOccurs="1" minOccurs="1"/>
24
+ <xs:element ref="transaction-name" maxOccurs="1" minOccurs="1"/>
25
+ <xs:element ref="partner-name" maxOccurs="1" minOccurs="1"/>
26
+ <xs:element ref="partner-password" minOccurs="0" maxOccurs="1"/>
27
+ <xs:element ref="source-url" minOccurs="0" maxOccurs="1"/>
28
+ <xs:element ref="create-timestamp" minOccurs="1" maxOccurs="1"/>
29
+ <xs:element ref="response-request" minOccurs="1" maxOccurs="1"/>
30
+ </xs:sequence>
31
+ </xs:complexType>
32
+ </xs:element>
33
+ <xs:element name="message-id" type="xs:string">
34
+ <xs:annotation>
35
+ <xs:documentation xml:lang="en">Unique message identification ID</xs:documentation>
36
+ </xs:annotation>
37
+ </xs:element>
38
+ <xs:element default="ship-advice" name="transaction-name" type="xs:string">
39
+ <xs:annotation>
40
+ <xs:documentation xml:lang="en">The name of the inbound message transaction. In the case of this transaction it is ship-advice.</xs:documentation>
41
+ </xs:annotation>
42
+ </xs:element>
43
+ <xs:element name="partner-name" type="xs:string">
44
+ <xs:annotation>
45
+ <xs:documentation xml:lang="en">Short name of partner be used to identify mappings of data.</xs:documentation>
46
+ </xs:annotation>
47
+ </xs:element>
48
+ <xs:element name="partner-password" nillable="true" type="xs:string">
49
+ <xs:annotation>
50
+ <xs:documentation xml:lang="en">This is an optional password that can be used by the partner to add more validation. This is a message level validation that is not required
51
+ beyond the initial validation of inbound message or the final validation before submitting an outbound message.</xs:documentation>
52
+ </xs:annotation>
53
+ </xs:element>
54
+ <xs:element name="source-url" type="xs:anyURI">
55
+ <xs:annotation>
56
+ <xs:documentation xml:lang="en">Unique Resource Locator that posts the XML Document.</xs:documentation>
57
+ </xs:annotation>
58
+ </xs:element>
59
+ <xs:element name="create-timestamp" type="xs:string">
60
+ <xs:annotation>
61
+ <xs:documentation xml:lang="en">Date and Time at which XML Document was generated from source system. In CCYYMMDDHHMISS.</xs:documentation>
62
+ </xs:annotation>
63
+ </xs:element>
64
+ <xs:element name="response-request" final="#all">
65
+ <xs:annotation>
66
+ <xs:documentation xml:lang="en">Flag to determine if the receiving party is required to send a response back or not. 0: Response Not Required; 1: Response Required</xs:documentation>
67
+ </xs:annotation>
68
+ <xs:simpleType>
69
+ <xs:restriction base="xs:integer">
70
+ <xs:enumeration value="0"/>
71
+ <xs:enumeration value="1"/>
72
+ </xs:restriction>
73
+ </xs:simpleType>
74
+ </xs:element>
75
+ <xs:element name="ship-advice">
76
+ <xs:annotation>
77
+ <xs:documentation xml:lang="en"> Main Element for the Ship Advice XML Document which contains all related information </xs:documentation>
78
+ </xs:annotation>
79
+ <xs:complexType>
80
+ <xs:sequence>
81
+ <xs:element ref="header" minOccurs="1" maxOccurs="1"/>
82
+ <xs:element ref="detail" minOccurs="1" maxOccurs="1"/>
83
+ </xs:sequence>
84
+ </xs:complexType>
85
+ </xs:element>
86
+ <xs:element name="header">
87
+ <xs:complexType>
88
+ <xs:sequence>
89
+ <xs:element ref="customer-id" minOccurs="1" maxOccurs="1"/>
90
+ <xs:element ref="business-name" minOccurs="0" maxOccurs="1"/>
91
+ <xs:element ref="carrier-name" minOccurs="0" maxOccurs="1"/>
92
+ <xs:element ref="ultimate-destination-code" minOccurs="0" maxOccurs="1"/>
93
+ <xs:element ref="packing-list-number" minOccurs="0" maxOccurs="1"/>
94
+ <xs:element ref="release-number" minOccurs="0" maxOccurs="1"/>
95
+ <xs:element ref="customer-information" minOccurs="0" maxOccurs="1"/>
96
+ <xs:element ref="shipment-information" minOccurs="1" maxOccurs="1"/>
97
+ <xs:element ref="purchase-order-information" minOccurs="0" maxOccurs="1"/>
98
+ <xs:element ref="credit-card-information" minOccurs="0" maxOccurs="1"/>
99
+ <xs:element ref="invoice-information" minOccurs="0" maxOccurs="1"/>
100
+ <xs:element ref="order-header" minOccurs="1" maxOccurs="1"/>
101
+ </xs:sequence>
102
+ </xs:complexType>
103
+ </xs:element>
104
+ <xs:element name="customer-id" type="xs:string">
105
+ <xs:annotation>
106
+ <xs:documentation xml:lang="en"> Customer Identification number in the Brightpoint's system. This is the value used to identify the customer in the Customer Master table in
107
+ JD Edwards.</xs:documentation>
108
+ </xs:annotation>
109
+ </xs:element>
110
+ <xs:element name="business-name" type="xs:string"/>
111
+ <xs:element name="carrier-name" type="xs:string"/>
112
+ <xs:element name="ultimate-destination-code" type="xs:string"/>
113
+ <xs:element name="packing-list-number" type="xs:integer"/>
114
+ <xs:element name="release-number" type="xs:string"/>
115
+ <xs:element name="customer-information">
116
+ <xs:annotation>
117
+ <xs:documentation xml:lang="en">Main Element which contains all customer related information.</xs:documentation>
118
+ </xs:annotation>
119
+ <xs:complexType>
120
+ <xs:sequence>
121
+ <xs:element ref="customer-first-name" minOccurs="1" maxOccurs="1"/>
122
+ <xs:element ref="customer-last-name" minOccurs="1" maxOccurs="1"/>
123
+ <xs:element ref="customer-middle-initial" minOccurs="0" maxOccurs="1"/>
124
+ <xs:element ref="customer-address1" minOccurs="1" maxOccurs="1"/>
125
+ <xs:element ref="customer-address2" minOccurs="0" maxOccurs="1"/>
126
+ <xs:element ref="customer-address3" minOccurs="0" maxOccurs="1"/>
127
+ <xs:element ref="customer-city" minOccurs="1" maxOccurs="1"/>
128
+ <xs:element ref="customer-state" minOccurs="1" maxOccurs="1"/>
129
+ <xs:element ref="customer-post-code" minOccurs="1" maxOccurs="1"/>
130
+ <xs:element ref="customer-country-code" minOccurs="1" maxOccurs="1"/>
131
+ <xs:element ref="customer-phone1" minOccurs="0" maxOccurs="1"/>
132
+ <xs:element ref="customer-phone2" minOccurs="0" maxOccurs="1"/>
133
+ <xs:element ref="customer-fax" minOccurs="0" maxOccurs="1"/>
134
+ <xs:element ref="customer-email" minOccurs="0" maxOccurs="1"/>
135
+ </xs:sequence>
136
+ </xs:complexType>
137
+ </xs:element>
138
+ <xs:element name="customer-first-name" type="xs:string"/>
139
+ <xs:element name="customer-last-name" type="xs:string"/>
140
+ <xs:element name="customer-middle-initial" type="xs:string"/>
141
+ <xs:element name="customer-address1" type="xs:string"/>
142
+ <xs:element name="customer-address2" type="xs:string"/>
143
+ <xs:element name="customer-address3" type="xs:string"/>
144
+ <xs:element name="customer-city" type="xs:string"/>
145
+ <xs:element name="customer-state" type="xs:string"/>
146
+ <xs:element name="customer-post-code" type="xs:string"/>
147
+ <xs:element name="customer-country-code" type="xs:string"/>
148
+ <xs:element name="customer-phone1" type="xs:string"/>
149
+ <xs:element name="customer-phone2" type="xs:string"/>
150
+ <xs:element name="customer-fax" type="xs:string"/>
151
+ <xs:element name="customer-email" type="xs:string"/>
152
+ <xs:element name="shipment-information">
153
+ <xs:complexType>
154
+ <xs:sequence>
155
+ <xs:element ref="ship-first-name" minOccurs="1" maxOccurs="1"/>
156
+ <xs:element ref="ship-last-name" minOccurs="1" maxOccurs="1"/>
157
+ <xs:element ref="ship-middle-initial" minOccurs="0" maxOccurs="1"/>
158
+ <xs:element ref="ship-address1" minOccurs="1" maxOccurs="1"/>
159
+ <xs:element ref="ship-address2" minOccurs="0" maxOccurs="1"/>
160
+ <xs:element ref="ship-address3" minOccurs="0" maxOccurs="1"/>
161
+ <xs:element ref="ship-city" minOccurs="1" maxOccurs="1"/>
162
+ <xs:element ref="ship-state" minOccurs="1" maxOccurs="1"/>
163
+ <xs:element ref="ship-post-code" minOccurs="1" maxOccurs="1"/>
164
+ <xs:element ref="ship-country-code" minOccurs="1" maxOccurs="1"/>
165
+ <xs:element ref="ship-phone1" minOccurs="0" maxOccurs="1"/>
166
+ <xs:element ref="ship-phone2" minOccurs="0" maxOccurs="1"/>
167
+ <xs:element ref="ship-fax" minOccurs="0" maxOccurs="1"/>
168
+ <xs:element ref="ship-email" minOccurs="0" maxOccurs="1"/>
169
+ <xs:element ref="ship-via" minOccurs="1" maxOccurs="1"/>
170
+ <xs:element ref="ship-request-date" minOccurs="1" maxOccurs="1"/>
171
+ <xs:element ref="ship-request-from" minOccurs="0" maxOccurs="1"/>
172
+ <xs:element ref="ship-request-warehouse" minOccurs="0" maxOccurs="1"/>
173
+ </xs:sequence>
174
+ </xs:complexType>
175
+ </xs:element>
176
+ <xs:element name="ship-first-name" type="xs:string"/>
177
+ <xs:element name="ship-last-name" type="xs:string"/>
178
+ <xs:element name="ship-middle-initial" type="xs:string"/>
179
+ <xs:element name="ship-address1" type="xs:string"/>
180
+ <xs:element name="ship-address2" type="xs:string"/>
181
+ <xs:element name="ship-address3" type="xs:string"/>
182
+ <xs:element name="ship-city" type="xs:string"/>
183
+ <xs:element name="ship-state" type="xs:string"/>
184
+ <xs:element name="ship-post-code" type="xs:string"/>
185
+ <xs:element name="ship-country-code" type="xs:string"/>
186
+ <xs:element name="ship-phone1" type="xs:string"/>
187
+ <xs:element name="ship-phone2" type="xs:string"/>
188
+ <xs:element name="ship-fax" type="xs:string"/>
189
+ <xs:element name="ship-email" type="xs:string"/>
190
+ <xs:element name="ship-via" type="xs:string"/>
191
+ <xs:element name="ship-request-date" type="xs:string">
192
+ <xs:annotation>
193
+ <xs:documentation xml:lang="en">Date on which order is requested for shipment. In CCYYMMDD.</xs:documentation>
194
+ </xs:annotation>
195
+ </xs:element>
196
+ <xs:element name="ship-request-from" type="xs:string">
197
+ <xs:annotation>
198
+ <xs:documentation xml:lang="en">City from which Shipment is requested.</xs:documentation>
199
+ </xs:annotation>
200
+ </xs:element>
201
+ <xs:element name="ship-request-warehouse" type="xs:string">
202
+ <xs:annotation>
203
+ <xs:documentation xml:lang="en">Virtual Warehouse (Site) from which Shipment is requested.</xs:documentation>
204
+ </xs:annotation>
205
+ </xs:element>
206
+ <xs:element name="ship-to-code" type="xs:string">
207
+ <xs:annotation>
208
+ <xs:documentation xml:lang="en">Permanent Ship To Code or GLN as present in Brightpoint's system.</xs:documentation>
209
+ </xs:annotation>
210
+ </xs:element>
211
+ <xs:element name="purchase-order-information">
212
+ <xs:complexType>
213
+ <xs:sequence>
214
+ <xs:element ref="purchase-order-number" minOccurs="1" maxOccurs="1"/>
215
+ <xs:element ref="account-description" minOccurs="1" maxOccurs="1"/>
216
+ <xs:element ref="purchase-order-amount" minOccurs="1" maxOccurs="1"/>
217
+ <xs:element ref="currency-code" minOccurs="1" maxOccurs="1"/>
218
+ <xs:element ref="comments" minOccurs="0" maxOccurs="1"/>
219
+ </xs:sequence>
220
+ </xs:complexType>
221
+ </xs:element>
222
+ <xs:element name="purchase-order-number" type="xs:string">
223
+ <xs:annotation>
224
+ <xs:documentation xml:lang="en">This can be stored as a unique or non-unique value. Please discuss with your Brightpoint Account Executive.</xs:documentation>
225
+ </xs:annotation>
226
+ </xs:element>
227
+ <xs:element name="account-description" type="xs:string">
228
+ <xs:annotation>
229
+ <xs:documentation xml:lang="en">Description of the account against which PO is generated.</xs:documentation>
230
+ </xs:annotation>
231
+ </xs:element>
232
+ <xs:element name="purchase-order-amount" type="xs:decimal"/>
233
+ <xs:element name="currency-code" type="xs:string">
234
+ <xs:annotation>
235
+ <xs:documentation xml:lang="en">Only ISO standard currency codes are allowed.</xs:documentation>
236
+ </xs:annotation>
237
+ </xs:element>
238
+ <xs:element name="comments" type="xs:string"/>
239
+ <xs:element name="credit-card-information" nillable="true">
240
+ <xs:annotation>
241
+ <xs:documentation xml:lang="en">This element contains all credit card related information for the order.</xs:documentation>
242
+ </xs:annotation>
243
+ <xs:complexType>
244
+ <xs:sequence>
245
+ <xs:element ref="credit-card-number" minOccurs="1" maxOccurs="1"/>
246
+ <xs:element ref="credit-card-expiration-date" minOccurs="1" maxOccurs="1"/>
247
+ <xs:element ref="credit-card-identification" minOccurs="1" maxOccurs="1"/>
248
+ <xs:element ref="global-card-classification-code" minOccurs="1" maxOccurs="1"/>
249
+ <xs:element ref="card-holder-name" minOccurs="1" maxOccurs="1"/>
250
+ <xs:element ref="card-holder-address1" minOccurs="1" maxOccurs="1"/>
251
+ <xs:element ref="card-holder-address2" minOccurs="0" maxOccurs="1"/>
252
+ <xs:element ref="card-holder-city" minOccurs="1" maxOccurs="1"/>
253
+ <xs:element ref="card-holder-state" minOccurs="1" maxOccurs="1"/>
254
+ <xs:element ref="card-holder-post-code" minOccurs="1" maxOccurs="1"/>
255
+ <xs:element ref="card-holder-country-code" minOccurs="1" maxOccurs="1"/>
256
+ </xs:sequence>
257
+ </xs:complexType>
258
+ </xs:element>
259
+ <xs:element name="credit-card-number" type="xs:string">
260
+ <xs:annotation>
261
+ <xs:documentation xml:lang="en">Credit Cart Account Number. This should only have the last 4 digits exposed and the other values must be masked over.</xs:documentation>
262
+ </xs:annotation>
263
+ </xs:element>
264
+ <xs:element name="credit-card-expiration-date" type="xs:string">
265
+ <xs:annotation>
266
+ <xs:documentation xml:lang="en">Date of Expiration on the Credit Card Account. In CCYYMM Format.</xs:documentation>
267
+ </xs:annotation>
268
+ </xs:element>
269
+ <xs:element name="credit-card-identification" type="xs:string">
270
+ <xs:annotation>
271
+ <xs:documentation xml:lang="en">Identification Name of Credit Card issuing authority. Ex: VISA, MC, AMEX.</xs:documentation>
272
+ </xs:annotation>
273
+ </xs:element>
274
+ <xs:element name="global-card-classification-code" type="xs:string">
275
+ <xs:annotation>
276
+ <xs:documentation xml:lang="en">Global Identification of Credit Card issuing authority.</xs:documentation>
277
+ </xs:annotation>
278
+ </xs:element>
279
+ <xs:element name="card-holder-name" type="xs:string">
280
+ <xs:annotation>
281
+ <xs:documentation xml:lang="en">Name of Card Holder.</xs:documentation>
282
+ </xs:annotation>
283
+ </xs:element>
284
+ <xs:element name="card-holder-address1" type="xs:string">
285
+ <xs:annotation>
286
+ <xs:documentation xml:lang="en">Address1 field for Credit Card Holder.</xs:documentation>
287
+ </xs:annotation>
288
+ </xs:element>
289
+ <xs:element name="card-holder-address2" type="xs:string">
290
+ <xs:annotation>
291
+ <xs:documentation xml:lang="en">Address2 field for Credit Card Holder.</xs:documentation>
292
+ </xs:annotation>
293
+ </xs:element>
294
+ <xs:element name="card-holder-city" type="xs:string">
295
+ <xs:annotation>
296
+ <xs:documentation xml:lang="en">City field for Credit Card Holder.</xs:documentation>
297
+ </xs:annotation>
298
+ </xs:element>
299
+ <xs:element name="card-holder-state" type="xs:string">
300
+ <xs:annotation>
301
+ <xs:documentation xml:lang="en">State field for Credit Card Holder.</xs:documentation>
302
+ </xs:annotation>
303
+ </xs:element>
304
+ <xs:element name="card-holder-post-code" type="xs:string">
305
+ <xs:annotation>
306
+ <xs:documentation xml:lang="en">Post Code field for Credit Card Holder.</xs:documentation>
307
+ </xs:annotation>
308
+ </xs:element>
309
+ <xs:element name="card-holder-country-code" type="xs:string">
310
+ <xs:annotation>
311
+ <xs:documentation xml:lang="en">Country Code field for Credit Card Holder. Must be compliant with the ISO Standard for Currency Codes.</xs:documentation>
312
+ </xs:annotation>
313
+ </xs:element>
314
+ <xs:element name="invoice-information">
315
+ <xs:complexType>
316
+ <xs:sequence>
317
+ <xs:element ref="invoice-number" minOccurs="1" maxOccurs="1"/>
318
+ <xs:element ref="invoice-creation-date" minOccurs="1" maxOccurs="1"/>
319
+ <xs:element ref="terms-due-days" minOccurs="1" maxOccurs="1"/>
320
+ <xs:element ref="invoice-expiration-date" minOccurs="1" maxOccurs="1"/>
321
+ <xs:element ref="terms-discount-percentage" minOccurs="0" maxOccurs="1"/>
322
+ <xs:element ref="terms-discount-due-days" minOccurs="0" maxOccurs="1"/>
323
+ <xs:element ref="terms-discount-expiration-date" minOccurs="0" maxOccurs="1"/>
324
+ <xs:element ref="terms-description" minOccurs="1" maxOccurs="1"/>
325
+ <xs:element ref="invoice-amount" minOccurs="1" maxOccurs="1"/>
326
+ <xs:element ref="invoice-discount" minOccurs="0" maxOccurs="1"/>
327
+ <xs:element ref="currency-code" minOccurs="1" maxOccurs="1"/>
328
+ </xs:sequence>
329
+ </xs:complexType>
330
+ </xs:element>
331
+ <xs:element name="invoice-number" type="xs:string"/>
332
+ <xs:element name="invoice-creation-date" type="xs:string"/>
333
+ <xs:element name="terms-due-days" type="xs:string"/>
334
+ <xs:element name="invoice-expiration-date" type="xs:string"/>
335
+ <xs:element name="terms-discount-percentage" type="xs:decimal"/>
336
+ <xs:element name="terms-discount-due-days" type="xs:string"/>
337
+ <xs:element name="terms-discount-expiration-date" type="xs:string"/>
338
+ <xs:element name="terms-description" type="xs:string"/>
339
+ <xs:element name="invoice-amount" type="xs:decimal"/>
340
+ <xs:element name="invoice-discount" type="xs:decimal"/>
341
+ <xs:element name="order-header">
342
+ <xs:complexType>
343
+ <xs:sequence>
344
+ <xs:element ref="customer-order-number" minOccurs="0" maxOccurs="1"/>
345
+ <xs:element ref="customer-order-date" minOccurs="1" maxOccurs="1"/>
346
+ <xs:element ref="order-reference" minOccurs="0" maxOccurs="1"/>
347
+ <xs:element ref="order-sub-total" minOccurs="0" maxOccurs="1"/>
348
+ <xs:element ref="order-discount" minOccurs="0" maxOccurs="1"/>
349
+ <xs:element ref="order-tax1" minOccurs="0" maxOccurs="1"/>
350
+ <xs:element ref="order-tax2" minOccurs="0" maxOccurs="1"/>
351
+ <xs:element ref="order-tax3" minOccurs="0" maxOccurs="1"/>
352
+ <xs:element ref="order-shipment-charge" minOccurs="0" maxOccurs="1"/>
353
+ <xs:element ref="order-total-net" minOccurs="0" maxOccurs="1"/>
354
+ <xs:element ref="order-status" minOccurs="0" maxOccurs="1"/>
355
+ <xs:element ref="order-type" minOccurs="1" maxOccurs="1"/>
356
+ <xs:element ref="customer-channel-type" minOccurs="0" maxOccurs="1"/>
357
+ <xs:element ref="customer-group-account" minOccurs="0" maxOccurs="1"/>
358
+ <xs:element ref="customer-seller-code" minOccurs="0" maxOccurs="1"/>
359
+ <xs:element ref="user-name" minOccurs="0" maxOccurs="1"/>
360
+ <xs:element ref="gift-flag" minOccurs="0" maxOccurs="1"/>
361
+ <xs:element ref="brightpoint-order-number"/>
362
+ <xs:element ref="warehouse-id" minOccurs="1" maxOccurs="1"/>
363
+ <xs:element ref="ship-date" minOccurs="1" maxOccurs="1"/>
364
+ <xs:element ref="ship-to-code" minOccurs="0" maxOccurs="1"/>
365
+ </xs:sequence>
366
+ </xs:complexType>
367
+ </xs:element>
368
+ <xs:element name="customer-order-number" type="xs:string">
369
+ <xs:annotation>
370
+ <xs:documentation xml:lang="en">Order number in sender's system. This is not a required value for the message but if you do send it, it must be unique in your system. You can
371
+ also send your PO# here if it is unique. Brightpoint requires that the Customer Order Number be unique in order to eliminate processing of duplicate orders to the same customer.</xs:documentation>
372
+ </xs:annotation>
373
+ </xs:element>
374
+ <xs:element name="customer-order-date" type="xs:string">
375
+ <xs:annotation>
376
+ <xs:documentation xml:lang="en">Order Date on sender's system. This is pass-through information.</xs:documentation>
377
+ </xs:annotation>
378
+ </xs:element>
379
+ <xs:element name="order-reference" type="xs:string">
380
+ <xs:annotation>
381
+ <xs:documentation xml:lang="en">This is the Order Reference. This is a pass-through information.</xs:documentation>
382
+ </xs:annotation>
383
+ </xs:element>
384
+ <xs:element name="order-sub-total" type="xs:decimal">
385
+ <xs:annotation>
386
+ <xs:documentation xml:lang="en">Sub-total amount for the order. This is pass-through information. </xs:documentation>
387
+ </xs:annotation>
388
+ </xs:element>
389
+ <xs:element name="order-discount" type="xs:decimal">
390
+ <xs:annotation>
391
+ <xs:documentation xml:lang="en">Discounted amount on the order. This is pass-through information. </xs:documentation>
392
+ </xs:annotation>
393
+ </xs:element>
394
+ <xs:element name="order-tax1" type="xs:decimal">
395
+ <xs:annotation>
396
+ <xs:documentation xml:lang="en">Primary tax field. Should contain the value of Sales Tax, Value Added Tax (VAT) etc. This is pass-through information.</xs:documentation>
397
+ </xs:annotation>
398
+ </xs:element>
399
+ <xs:element name="order-tax2" type="xs:decimal">
400
+ <xs:annotation>
401
+ <xs:documentation xml:lang="en">Integration specific second tax field. This is pass-through information.</xs:documentation>
402
+ </xs:annotation>
403
+ </xs:element>
404
+ <xs:element name="order-tax3" type="xs:decimal">
405
+ <xs:annotation>
406
+ <xs:documentation xml:lang="en">Integration specific third tax field. This is pass-through information.</xs:documentation>
407
+ </xs:annotation>
408
+ </xs:element>
409
+ <xs:element name="order-shipment-charge" type="xs:decimal">
410
+ <xs:annotation>
411
+ <xs:documentation xml:lang="en">Charge for shipment of product. If freeze-freight has a value of N, this is pass-through information.</xs:documentation>
412
+ </xs:annotation>
413
+ </xs:element>
414
+ <xs:element name="order-total-net" type="xs:decimal">
415
+ <xs:annotation>
416
+ <xs:documentation xml:lang="en">Net total on Order. This is pass-through information. </xs:documentation>
417
+ </xs:annotation>
418
+ </xs:element>
419
+ <xs:element name="order-status" type="xs:string"/>
420
+ <xs:element name="order-type" type="xs:string">
421
+ <xs:annotation>
422
+ <xs:documentation xml:lang="en">Order Type on Brightpoint's system.</xs:documentation>
423
+ </xs:annotation>
424
+ </xs:element>
425
+ <xs:element name="customer-channel-type" type="xs:string">
426
+ <xs:annotation>
427
+ <xs:documentation xml:lang="en">The customer's business channel from which the order is placed. This is a value that is captured to allow tie back to the customer's original
428
+ order in their system. This is pass-through information. This field has been added since December 2008.</xs:documentation>
429
+ </xs:annotation>
430
+ </xs:element>
431
+ <xs:element name="customer-group-account" type="xs:string">
432
+ <xs:annotation>
433
+ <xs:documentation xml:lang="en">The customer's group account in the customer system. This is a value that is captured to allow tie back to the customer's original order in
434
+ their system. This is pass-through information. This field has been added since December 2008.</xs:documentation>
435
+ </xs:annotation>
436
+ </xs:element>
437
+ <xs:element name="customer-seller-code" type="xs:string">
438
+ <xs:annotation>
439
+ <xs:documentation xml:lang="en">The customer's seller code in the customer system. This is a value that is captured to allow tie back to the customer's original order in
440
+ their system. This is pass-through information. This field has been added since December 2008.</xs:documentation>
441
+ </xs:annotation>
442
+ </xs:element>
443
+ <xs:element name="user-name" type="xs:string">
444
+ <xs:annotation>
445
+ <xs:documentation xml:lang="en">The customer's user name in the customer system. This is a value that is captured to allow tie back to the customer's original order in their
446
+ system. This may be captured at the header and/or the line level. This is pass-through information.</xs:documentation>
447
+ </xs:annotation>
448
+ </xs:element>
449
+ <xs:element default="N" final="#all" name="gift-flag">
450
+ <xs:annotation>
451
+ <xs:documentation xml:lang="en">Flag to determine if the product is being shipped as a gift. Y: Yes; N: No. This is pass-through information.</xs:documentation>
452
+ </xs:annotation>
453
+ <xs:simpleType>
454
+ <xs:restriction base="xs:string">
455
+ <xs:enumeration value="Y"/>
456
+ <xs:enumeration value="N"/>
457
+ </xs:restriction>
458
+ </xs:simpleType>
459
+ </xs:element>
460
+ <xs:element name="brightpoint-order-number" type="xs:string"/>
461
+ <xs:element name="warehouse-id" type="xs:string"/>
462
+ <xs:element name="ship-date" type="xs:string">
463
+ <xs:annotation>
464
+ <xs:documentation xml:lang="en">Date on which order was shipped. In CCYYMMDD.</xs:documentation>
465
+ </xs:annotation>
466
+ </xs:element>
467
+ <xs:element name="detail">
468
+ <xs:annotation>
469
+ <xs:documentation xml:lang="en">All lines associated with the specific header are included here.</xs:documentation>
470
+ </xs:annotation>
471
+ <xs:complexType>
472
+ <xs:sequence>
473
+ <xs:element ref="line-item" minOccurs="1" maxOccurs="unbounded"/>
474
+ </xs:sequence>
475
+ </xs:complexType>
476
+ </xs:element>
477
+ <xs:element name="line-item">
478
+ <xs:complexType>
479
+ <xs:sequence>
480
+ <xs:element ref="line-no" minOccurs="1" maxOccurs="1"/>
481
+ <xs:element ref="line-reference" minOccurs="0" maxOccurs="1"/>
482
+ <xs:element ref="item-code" minOccurs="1" maxOccurs="1"/>
483
+ <xs:element ref="universal-product-code" minOccurs="0" maxOccurs="1"/>
484
+ <xs:element ref="product-name" minOccurs="0" maxOccurs="1"/>
485
+ <xs:element ref="comments" minOccurs="0" maxOccurs="1"/>
486
+ <xs:element ref="ship-quantity" minOccurs="1" maxOccurs="1"/>
487
+ <xs:element ref="packs" minOccurs="0" maxOccurs="1"/>
488
+ <xs:element ref="internal-packs" minOccurs="0" maxOccurs="1"/>
489
+ <xs:element ref="unit-of-measure" minOccurs="1" maxOccurs="1"/>
490
+ <xs:element ref="sid" minOccurs="0" maxOccurs="1">
491
+ <xs:annotation>
492
+ <xs:documentation xml:lang="en">This field will be deprecated from this location by the end of March 2009.</xs:documentation>
493
+ </xs:annotation>
494
+ </xs:element>
495
+ <xs:element ref="serial-list" minOccurs="0" maxOccurs="1"/>
496
+ <xs:element ref="irdb" minOccurs="0" maxOccurs="1">
497
+ <xs:annotation>
498
+ <xs:documentation xml:lang="en">This field will be deprecated from this location by the end of March 2009.</xs:documentation>
499
+ </xs:annotation>
500
+ </xs:element>
501
+ <xs:element ref="market-id" minOccurs="0" maxOccurs="1"/>
502
+ <xs:element ref="line-status" minOccurs="0" maxOccurs="1"/>
503
+ <xs:element ref="base-price" minOccurs="0" maxOccurs="1"/>
504
+ <xs:element ref="line-discount" minOccurs="0" maxOccurs="1"/>
505
+ <xs:element ref="line-tax1" minOccurs="0" maxOccurs="1"/>
506
+ <xs:element ref="line-tax2" minOccurs="0" maxOccurs="1"/>
507
+ <xs:element ref="line-tax3" minOccurs="0" maxOccurs="1"/>
508
+ <xs:element ref="ship-via" minOccurs="0" maxOccurs="1"/>
509
+ <xs:element ref="bill-of-lading" minOccurs="0" maxOccurs="1"/>
510
+ <xs:element ref="pallet-id" minOccurs="0" maxOccurs="1"/>
511
+ <xs:element ref="scac" minOccurs="0" maxOccurs="1"/>
512
+ <xs:element ref="routing-description" minOccurs="0" maxOccurs="1"/>
513
+ <xs:element ref="container-id" minOccurs="0" maxOccurs="1"/>
514
+ <xs:element ref="ownership-flag" minOccurs="0" maxOccurs="1"/>
515
+ <xs:element ref="special-message" minOccurs="0" maxOccurs="1"/>
516
+ </xs:sequence>
517
+ </xs:complexType>
518
+ </xs:element>
519
+ <xs:element name="line-no" type="xs:string">
520
+ <xs:annotation>
521
+ <xs:documentation xml:lang="en">Line Number at the detail level in customer's system.</xs:documentation>
522
+ </xs:annotation>
523
+ </xs:element>
524
+ <xs:element name="line-reference" type="xs:string">
525
+ <xs:annotation>
526
+ <xs:documentation xml:lang="en">The customers line reference value in the customer's system. This is pass-through information. This field has been added since December 2008.</xs:documentation>
527
+ </xs:annotation>
528
+ </xs:element>
529
+ <xs:element name="item-code" type="xs:string">
530
+ <xs:annotation>
531
+ <xs:documentation xml:lang="en">Item Code for the product on Brightpoint's system.</xs:documentation>
532
+ </xs:annotation>
533
+ </xs:element>
534
+ <xs:element name="universal-product-code" type="xs:string">
535
+ <xs:annotation>
536
+ <xs:documentation xml:lang="en">UPC for the product.</xs:documentation>
537
+ </xs:annotation>
538
+ </xs:element>
539
+ <xs:element name="product-name" type="xs:string">
540
+ <xs:annotation>
541
+ <xs:documentation xml:lang="en">Name of product in the manufacturer's system.</xs:documentation>
542
+ </xs:annotation>
543
+ </xs:element>
544
+ <xs:element name="ship-quantity" type="xs:decimal">
545
+ <xs:annotation>
546
+ <xs:documentation xml:lang="en">Number of units of product shipped.</xs:documentation>
547
+ </xs:annotation>
548
+ </xs:element>
549
+ <xs:element name="packs" type="xs:string"/>
550
+ <xs:element name="internal-packs" type="xs:string"/>
551
+ <xs:element name="unit-of-measure" type="xs:string">
552
+ <xs:annotation>
553
+ <xs:documentation xml:lang="en"> The Unit of Measure used to associate with the quantity. This is to ensure that the proper multiples are used for the order. Example: EA -
554
+ Each, CT - Carton, PT - Pallet </xs:documentation>
555
+ </xs:annotation>
556
+ </xs:element>
557
+ <xs:element name="serial-list">
558
+ <xs:annotation>
559
+ <xs:documentation xml:lang="en">All serial numbers associated with the line.</xs:documentation>
560
+ </xs:annotation>
561
+ <xs:complexType>
562
+ <xs:sequence>
563
+ <xs:element ref="serial-numbers" minOccurs="1" maxOccurs="unbounded"/>
564
+ </xs:sequence>
565
+ </xs:complexType>
566
+ </xs:element>
567
+ <xs:element name="serial-numbers">
568
+ <xs:annotation>
569
+ <xs:documentation xml:lang="en"> Group of serial numbers for each unit. Previously, SID and ESN were defined outside this loop and have now been moved within the loop.</xs:documentation>
570
+ </xs:annotation>
571
+ <xs:complexType>
572
+ <xs:sequence>
573
+ <xs:element ref="min" minOccurs="0" maxOccurs="1"/>
574
+ <xs:element ref="sid" minOccurs="0" maxOccurs="1"/>
575
+ <xs:element ref="mdn" minOccurs="0" maxOccurs="1"/>
576
+ <xs:element ref="esn" minOccurs="0" maxOccurs="1"/>
577
+ <xs:element ref="sim" minOccurs="0" maxOccurs="1"/>
578
+ <xs:element ref="imei" minOccurs="0" maxOccurs="1"/>
579
+ <xs:element ref="sublock1" minOccurs="0" maxOccurs="1"/>
580
+ <xs:element ref="sublock2" minOccurs="0" maxOccurs="1"/>
581
+ <xs:element ref="sublock3" minOccurs="0" maxOccurs="1"/>
582
+ <xs:element ref="irdb" minOccurs="0" maxOccurs="1"/>
583
+ <xs:element ref="meid" minOccurs="0" maxOccurs="1"/>
584
+ <xs:element ref="iccid" minOccurs="0" maxOccurs="1"/>
585
+ <xs:element ref="macid" minOccurs="0" maxOccurs="1"/>
586
+ <xs:element ref="pesn" minOccurs="0" maxOccurs="1"/>
587
+ </xs:sequence>
588
+ </xs:complexType>
589
+ </xs:element>
590
+ <xs:element name="min" type="xs:string">
591
+ <xs:annotation>
592
+ <xs:documentation xml:lang="en">MIN for the device</xs:documentation>
593
+ </xs:annotation>
594
+ </xs:element>
595
+ <xs:element name="sid" type="xs:string">
596
+ <xs:annotation>
597
+ <xs:documentation xml:lang="en">SID for the device; going forward, this should only be populated in the serial-numbers segment. It is still outside of that segment for
598
+ backwards compatibility. The change to have this within the serial-numbers is introduced since December 2008.</xs:documentation>
599
+ </xs:annotation>
600
+ </xs:element>
601
+ <xs:element name="mdn" type="xs:string">
602
+ <xs:annotation>
603
+ <xs:documentation xml:lang="en">MDN for the device</xs:documentation>
604
+ </xs:annotation>
605
+ </xs:element>
606
+ <xs:element name="esn" type="xs:string">
607
+ <xs:annotation>
608
+ <xs:documentation xml:lang="en">ESN for the device</xs:documentation>
609
+ </xs:annotation>
610
+ </xs:element>
611
+ <xs:element name="sim" type="xs:string">
612
+ <xs:annotation>
613
+ <xs:documentation xml:lang="en">SIM for the device</xs:documentation>
614
+ </xs:annotation>
615
+ </xs:element>
616
+ <xs:element name="imei" type="xs:string">
617
+ <xs:annotation>
618
+ <xs:documentation xml:lang="en">IMEI for the device</xs:documentation>
619
+ </xs:annotation>
620
+ </xs:element>
621
+ <xs:element name="sublock1" type="xs:string">
622
+ <xs:annotation>
623
+ <xs:documentation xml:lang="en">Sublock 1 for the device</xs:documentation>
624
+ </xs:annotation>
625
+ </xs:element>
626
+ <xs:element name="sublock2" type="xs:string">
627
+ <xs:annotation>
628
+ <xs:documentation xml:lang="en">Sublock 2 for the device</xs:documentation>
629
+ </xs:annotation>
630
+ </xs:element>
631
+ <xs:element name="sublock3" type="xs:string">
632
+ <xs:annotation>
633
+ <xs:documentation xml:lang="en">Sublock 3 for the device</xs:documentation>
634
+ </xs:annotation>
635
+ </xs:element>
636
+ <xs:element name="irdb" type="xs:string">
637
+ <xs:annotation>
638
+ <xs:documentation xml:lang="en">IRDB for the device; going forward, this should only be populated in the serial-numbers segment. It is still outside of that segment for
639
+ backwards compatibility. The change to have this within the serial-numbers is introduced since December 2008.</xs:documentation>
640
+ </xs:annotation>
641
+ </xs:element>
642
+ <xs:element name="meid" type="xs:string">
643
+ <xs:annotation>
644
+ <xs:documentation xml:lang="en">MEID for the device</xs:documentation>
645
+ </xs:annotation>
646
+ </xs:element>
647
+ <xs:element name="iccid" type="xs:string">
648
+ <xs:annotation>
649
+ <xs:documentation xml:lang="en">ICCID for the device</xs:documentation>
650
+ </xs:annotation>
651
+ </xs:element>
652
+ <xs:element name="macid" type="xs:string">
653
+ <xs:annotation>
654
+ <xs:documentation xml:lang="en">MACID for the device</xs:documentation>
655
+ </xs:annotation>
656
+ </xs:element>
657
+ <xs:element name="pesn" type="xs:string">
658
+ <xs:annotation>
659
+ <xs:documentation xml:lang="en">PESN for the device</xs:documentation>
660
+ </xs:annotation>
661
+ </xs:element>
662
+ <xs:element name="market-id" type="xs:string">
663
+ <xs:annotation>
664
+ <xs:documentation xml:lang="en">Market ID for the device</xs:documentation>
665
+ </xs:annotation>
666
+ </xs:element>
667
+ <xs:element name="line-status" type="xs:string">
668
+ <xs:annotation>
669
+ <xs:documentation xml:lang="en">Status of line in customer's system. This is pass-through information.</xs:documentation>
670
+ </xs:annotation>
671
+ </xs:element>
672
+ <xs:element name="base-price" type="xs:decimal">
673
+ <xs:annotation>
674
+ <xs:documentation xml:lang="en">Base price of line item.</xs:documentation>
675
+ </xs:annotation>
676
+ </xs:element>
677
+ <xs:element name="line-discount" type="xs:decimal">
678
+ <xs:annotation>
679
+ <xs:documentation xml:lang="en">Discount on Line Item. This is pass-through information.</xs:documentation>
680
+ </xs:annotation>
681
+ </xs:element>
682
+ <xs:element name="line-tax1" type="xs:decimal">
683
+ <xs:annotation>
684
+ <xs:documentation xml:lang="en">Primary tax field for line item. Should contain the value of Sales Tax, Value Added Tax (VAT) etc. This is pass-through information.</xs:documentation>
685
+ </xs:annotation>
686
+ </xs:element>
687
+ <xs:element name="line-tax2" type="xs:decimal">
688
+ <xs:annotation>
689
+ <xs:documentation xml:lang="en">Integration specific second tax field for line item. This is pass-through information.</xs:documentation>
690
+ </xs:annotation>
691
+ </xs:element>
692
+ <xs:element name="line-tax3" type="xs:decimal">
693
+ <xs:annotation>
694
+ <xs:documentation xml:lang="en">Integration specific third tax field for line item. This is pass-through information.</xs:documentation>
695
+ </xs:annotation>
696
+ </xs:element>
697
+ <xs:element name="bill-of-lading" type="xs:string"/>
698
+ <xs:element name="pallet-id" type="xs:string"/>
699
+ <xs:element name="scac" type="xs:string"/>
700
+ <xs:element name="routing-description" type="xs:string"/>
701
+ <xs:element name="container-id" type="xs:string"/>
702
+ <xs:element name="ownership-flag" type="xs:string">
703
+ <xs:annotation>
704
+ <xs:documentation xml:lang="en">Customer specific code desginating ownership. This is pass-through information. This field has been added since December 2008.</xs:documentation>
705
+ </xs:annotation>
706
+ </xs:element>
707
+ <xs:element name="special-message">
708
+ <xs:annotation>
709
+ <xs:documentation>Cistomer specific special message</xs:documentation>
710
+ </xs:annotation>
711
+ <xs:complexType>
712
+ <xs:sequence>
713
+ <xs:element ref="special-message1" minOccurs="0" maxOccurs="1"/>
714
+ <xs:element ref="special-message2" minOccurs="0" maxOccurs="1"/>
715
+ <xs:element ref="special-message3" minOccurs="0" maxOccurs="1"/>
716
+ <xs:element ref="special-message4" minOccurs="0" maxOccurs="1"/>
717
+ <xs:element ref="special-message5" minOccurs="0" maxOccurs="1"/>
718
+ </xs:sequence>
719
+ </xs:complexType>
720
+ </xs:element>
721
+ <xs:element name="special-message1" type="xs:string">
722
+ <xs:annotation>
723
+ <xs:documentation xml:lang="en">Special Message 1.</xs:documentation>
724
+ </xs:annotation>
725
+ </xs:element>
726
+ <xs:element name="special-message2" type="xs:string">
727
+ <xs:annotation>
728
+ <xs:documentation xml:lang="en">Special Message 2.</xs:documentation>
729
+ </xs:annotation>
730
+ </xs:element>
731
+ <xs:element name="special-message3" type="xs:string">
732
+ <xs:annotation>
733
+ <xs:documentation xml:lang="en">Special Message 3.</xs:documentation>
734
+ </xs:annotation>
735
+ </xs:element>
736
+ <xs:element name="special-message4" type="xs:string">
737
+ <xs:annotation>
738
+ <xs:documentation xml:lang="en">Special Message 4.</xs:documentation>
739
+ </xs:annotation>
740
+ </xs:element>
741
+ <xs:element name="special-message5" type="xs:string">
742
+ <xs:annotation>
743
+ <xs:documentation xml:lang="en">Special Message 5.</xs:documentation>
744
+ </xs:annotation>
745
+ </xs:element>
746
+ <xs:element name="transactionInfo">
747
+ <xs:complexType>
748
+ <xs:sequence>
749
+ <xs:element ref="eventID" minOccurs="1" maxOccurs="1"/>
750
+ </xs:sequence>
751
+ </xs:complexType>
752
+ </xs:element>
753
+ <xs:element name="eventID" type="xs:string">
754
+ <xs:annotation>
755
+ <xs:documentation xml:lang="en">Event ID from the customer's system.</xs:documentation>
756
+ </xs:annotation>
757
+ </xs:element>
758
+ </xs:schema>