ingram_micro 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>