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,753 @@
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 Inbound Sales Order process requested by Brightpoint. The XML document generated by
5
+ Brightpoint will be based on this schema and information available will be based on the elements specified in this transaction. Some new fields have been added as of December
6
+ 2008 and are stated as such 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"/>
15
+ <xs:element ref="sales-order-submission" maxOccurs="unbounded"/>
16
+ <xs:element ref="transactionInfo"/>
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"/>
24
+ <xs:element ref="transaction-name"/>
25
+ <xs:element ref="partner-name"/>
26
+ <xs:element ref="partner-password" minOccurs="0"/>
27
+ <xs:element ref="source-url"/>
28
+ <xs:element ref="create-timestamp"/>
29
+ <xs:element ref="response-request"/>
30
+ </xs:sequence>
31
+ </xs:complexType>
32
+ </xs:element>
33
+ <xs:element name="message-id" type="xs:integer">
34
+ <xs:annotation>
35
+ <xs:documentation xml:lang="en">Unique message identification ID</xs:documentation>
36
+ </xs:annotation>
37
+ </xs:element>
38
+ <xs:element name="transaction-name" type="xs:string" default="sales-order-submission">
39
+ <xs:annotation>
40
+ <xs:documentation xml:lang="en">The name of the inbound message transaction. In the case of this transaction it is sales-order-submission.</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" 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="sales-order-submission">
76
+ <xs:annotation>
77
+ <xs:documentation xml:lang="en">The base contents of this message are contained in the element.</xs:documentation>
78
+ </xs:annotation>
79
+ <xs:complexType>
80
+ <xs:sequence>
81
+ <xs:element ref="header"/>
82
+ <xs:element ref="detail"/>
83
+ </xs:sequence>
84
+ </xs:complexType>
85
+ </xs:element>
86
+ <xs:element name="header">
87
+ <xs:annotation>
88
+ <xs:documentation xml:lang="en">Header content of the sales order.</xs:documentation>
89
+ </xs:annotation>
90
+ <xs:complexType>
91
+ <xs:sequence>
92
+ <xs:element ref="customer-id"/>
93
+ <xs:element ref="business-name" minOccurs="0"/>
94
+ <xs:element ref="carrier-name" minOccurs="0"/>
95
+ <xs:element ref="customer-information" minOccurs="0"/>
96
+ <xs:element ref="shipment-information"/>
97
+ <xs:element ref="purchase-order-information" minOccurs="0"/>
98
+ <xs:element ref="credit-card-information" minOccurs="0"/>
99
+ <xs:element ref="order-header"/>
100
+ </xs:sequence>
101
+ </xs:complexType>
102
+ </xs:element>
103
+ <xs:element name="customer-id" type="xs:string">
104
+ <xs:annotation>
105
+ <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.</xs:documentation>
106
+ </xs:annotation>
107
+ </xs:element>
108
+ <xs:element name="business-name" type="xs:string">
109
+ <xs:annotation>
110
+ <xs:documentation xml:lang="en">The official name of your business.</xs:documentation>
111
+ </xs:annotation>
112
+ </xs:element>
113
+ <xs:element name="carrier-name" type="xs:string">
114
+ <xs:annotation>
115
+ <xs:documentation xml:lang="en">If you are a third party doing business on behalf of a carrier then you would provide the official name of the carrier here.</xs:documentation>
116
+ </xs:annotation>
117
+ </xs:element>
118
+ <xs:element name="customer-information">
119
+ <xs:annotation>
120
+ <xs:documentation xml:lang="en">Main Element which contains all customer related information.</xs:documentation>
121
+ </xs:annotation>
122
+ <xs:complexType>
123
+ <xs:sequence>
124
+ <xs:element ref="customer-first-name"/>
125
+ <xs:element ref="customer-last-name"/>
126
+ <xs:element ref="customer-middle-initial" minOccurs="0"/>
127
+ <xs:element ref="customer-address1"/>
128
+ <xs:element ref="customer-address2" minOccurs="0"/>
129
+ <xs:element ref="customer-address3" minOccurs="0"/>
130
+ <xs:element ref="customer-city"/>
131
+ <xs:element ref="customer-state"/>
132
+ <xs:element ref="customer-post-code"/>
133
+ <xs:element ref="customer-country-code"/>
134
+ <xs:element ref="customer-phone1"/>
135
+ <xs:element ref="customer-phone2" minOccurs="0"/>
136
+ <xs:element ref="customer-fax" minOccurs="0"/>
137
+ <xs:element ref="customer-email" minOccurs="0"/>
138
+ </xs:sequence>
139
+ </xs:complexType>
140
+ </xs:element>
141
+ <xs:element name="customer-first-name" type="xs:string"/>
142
+ <xs:element name="customer-last-name" type="xs:string"/>
143
+ <xs:element name="customer-middle-initial" type="xs:string"/>
144
+ <xs:element name="customer-address1" type="xs:string"/>
145
+ <xs:element name="customer-address2" type="xs:string"/>
146
+ <xs:element name="customer-address3" type="xs:string"/>
147
+ <xs:element name="customer-city" type="xs:string"/>
148
+ <xs:element name="customer-state" type="xs:string"/>
149
+ <xs:element name="customer-post-code" type="xs:string"/>
150
+ <xs:element name="customer-country-code" type="xs:string"/>
151
+ <xs:element name="customer-phone1" type="xs:string"/>
152
+ <xs:element name="customer-phone2" type="xs:string"/>
153
+ <xs:element name="customer-fax" type="xs:string"/>
154
+ <xs:element name="customer-email" type="xs:string"/>
155
+ <xs:element name="shipment-information">
156
+ <xs:complexType>
157
+ <xs:sequence>
158
+ <xs:element ref="ship-first-name"/>
159
+ <xs:element ref="ship-last-name"/>
160
+ <xs:element ref="ship-middle-initial" minOccurs="0"/>
161
+ <xs:element ref="ship-address1"/>
162
+ <xs:element ref="ship-address2" minOccurs="0"/>
163
+ <xs:element ref="ship-address3" minOccurs="0"/>
164
+ <xs:element ref="ship-city"/>
165
+ <xs:element ref="ship-state"/>
166
+ <xs:element ref="ship-post-code"/>
167
+ <xs:element ref="ship-country-code"/>
168
+ <xs:element ref="ship-phone1"/>
169
+ <xs:element ref="ship-phone2" minOccurs="0"/>
170
+ <xs:element ref="ship-fax" minOccurs="0"/>
171
+ <xs:element ref="ship-email" minOccurs="0"/>
172
+ <xs:element ref="ship-via"/>
173
+ <xs:element ref="ship-request-date"/>
174
+ <xs:element ref="ship-no-later" minOccurs="0"/>
175
+ <xs:element ref="no-ship-before" minOccurs="0"/>
176
+ <xs:element ref="ship-request-from" minOccurs="0"/>
177
+ <xs:element ref="ship-request-warehouse" minOccurs="0"/>
178
+
179
+ <xs:element ref="ship-to-code" minOccurs="0"/>
180
+ </xs:sequence>
181
+ </xs:complexType>
182
+ </xs:element>
183
+ <xs:element name="ship-first-name" type="xs:string"/>
184
+ <xs:element name="ship-last-name" type="xs:string"/>
185
+ <xs:element name="ship-middle-initial" type="xs:string"/>
186
+ <xs:element name="ship-address1" type="xs:string"/>
187
+ <xs:element name="ship-address2" type="xs:string"/>
188
+ <xs:element name="ship-address3" type="xs:string"/>
189
+ <xs:element name="ship-city" type="xs:string"/>
190
+ <xs:element name="ship-state" type="xs:string"/>
191
+ <xs:element name="ship-post-code" type="xs:string"/>
192
+ <xs:element name="ship-country-code" type="xs:string"/>
193
+ <xs:element name="ship-phone1" type="xs:string"/>
194
+ <xs:element name="ship-phone2" type="xs:string"/>
195
+ <xs:element name="ship-fax" type="xs:string"/>
196
+ <xs:element name="ship-email" type="xs:string"/>
197
+ <xs:element name="ship-via" type="xs:string"/>
198
+ <xs:element name="ship-request-date" type="xs:string">
199
+ <xs:annotation>
200
+ <xs:documentation xml:lang="en">Date on which order is requested for shipment. In CCYYMMDD.</xs:documentation>
201
+ </xs:annotation>
202
+ </xs:element>
203
+ <xs:element name="ship-no-later" type="xs:string">
204
+ <xs:annotation>
205
+ <xs:documentation xml:lang="en">Latest Date on which order is requested for shipment. In CCYYMMDD.</xs:documentation>
206
+ </xs:annotation>
207
+ </xs:element>
208
+ <xs:element name="no-ship-before" type="xs:string">
209
+ <xs:annotation>
210
+ <xs:documentation xml:lang="en">Earliest Date on which order is requested for shipment. In CCYYMMDD.</xs:documentation>
211
+ </xs:annotation>
212
+ </xs:element>
213
+ <xs:element name="ship-request-from" type="xs:string">
214
+ <xs:annotation>
215
+ <xs:documentation xml:lang="en">City from which Shipment is requested.</xs:documentation>
216
+ </xs:annotation>
217
+ </xs:element>
218
+ <xs:element name="ship-request-warehouse" type="xs:string">
219
+ <xs:annotation>
220
+ <xs:documentation xml:lang="en">Virtual Warehouse (Site) from which Shipment is requested.</xs:documentation>
221
+ </xs:annotation>
222
+ </xs:element>
223
+ <xs:element name="ship-to-code" type="xs:string">
224
+ <xs:annotation>
225
+ <xs:documentation xml:lang="en">Permanent Ship To Code or GLN as present in Brightpoint's system.</xs:documentation>
226
+ </xs:annotation>
227
+ </xs:element>
228
+ <xs:element name="purchase-order-information">
229
+ <xs:complexType>
230
+ <xs:sequence>
231
+ <xs:element ref="purchase-order-number"/>
232
+ <xs:element ref="account-description"/>
233
+ <xs:element ref="purchase-order-amount"/>
234
+ <xs:element ref="purchase-order-event" minOccurs="0"/>
235
+ <xs:element ref="currency-code"/>
236
+ <xs:element ref="comments" minOccurs="0"/>
237
+ </xs:sequence>
238
+ </xs:complexType>
239
+ </xs:element>
240
+ <xs:element name="purchase-order-number" type="xs:string">
241
+ <xs:annotation>
242
+ <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>
243
+ </xs:annotation>
244
+ </xs:element>
245
+ <xs:element name="account-description" type="xs:string">
246
+ <xs:annotation>
247
+ <xs:documentation xml:lang="en">Description of the account against which PO is generated.</xs:documentation>
248
+ </xs:annotation>
249
+ </xs:element>
250
+ <xs:element name="purchase-order-amount" type="xs:decimal"/>
251
+ <xs:element name="purchase-order-event" type="xs:string">
252
+ <xs:annotation>
253
+ <xs:documentation xml:lang="en">Any additional event ID associated with the PO. This can be used for linking separate system data.</xs:documentation>
254
+ </xs:annotation>
255
+ </xs:element>
256
+ <xs:element name="currency-code" type="xs:string">
257
+ <xs:annotation>
258
+ <xs:documentation xml:lang="en">Only ISO standard currency codes are allowed.</xs:documentation>
259
+ </xs:annotation>
260
+ </xs:element>
261
+ <xs:element name="comments" type="xs:string"/>
262
+ <xs:element name="credit-card-information" nillable="true">
263
+ <xs:annotation>
264
+ <xs:documentation xml:lang="en">
265
+ This element contains all credit card related information for the order. Please note that due to PCI compliance issues, we can
266
+ only accept the last four digits of a credit card number. The prior digits must be replaced with X characters.
267
+ </xs:documentation>
268
+ </xs:annotation>
269
+ <xs:complexType>
270
+ <xs:sequence>
271
+ <xs:element ref="credit-card-number"/>
272
+ <xs:element ref="credit-card-expiration-date"/>
273
+ <xs:element ref="credit-card-identification"/>
274
+ <xs:element ref="global-card-classification-code"/>
275
+ <xs:element ref="card-holder-name"/>
276
+ <xs:element ref="card-holder-address1"/>
277
+ <xs:element ref="card-holder-address2" minOccurs="0"/>
278
+ <xs:element ref="card-holder-city"/>
279
+ <xs:element ref="card-holder-state"/>
280
+ <xs:element ref="card-holder-post-code"/>
281
+ <xs:element ref="card-holder-country-code"/>
282
+ <xs:element ref="authorized-amount" minOccurs="0"/>
283
+ <xs:element ref="billing-sequence-number" minOccurs="0"/>
284
+ <xs:element ref="billing-authorization-response" minOccurs="0"/>
285
+ <xs:element ref="billing-address-match" minOccurs="0"/>
286
+ <xs:element ref="billing-zip-match" minOccurs="0"/>
287
+ <xs:element ref="avs-hold" minOccurs="0"/>
288
+ <xs:element ref="merchant-name" minOccurs="0"/>
289
+ </xs:sequence>
290
+ </xs:complexType>
291
+ </xs:element>
292
+ <xs:element name="credit-card-number" type="xs:string">
293
+ <xs:annotation>
294
+ <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>
295
+ </xs:annotation>
296
+ </xs:element>
297
+ <xs:element name="credit-card-expiration-date" type="xs:string">
298
+ <xs:annotation>
299
+ <xs:documentation xml:lang="en">Date of Expiration on the Credit Card Account. In CCYYMM Format.</xs:documentation>
300
+ </xs:annotation>
301
+ </xs:element>
302
+ <xs:element name="credit-card-identification" type="xs:string">
303
+ <xs:annotation>
304
+ <xs:documentation xml:lang="en">Identification Name of Credit Card issuing authority. Ex: VISA, MC, AMEX.</xs:documentation>
305
+ </xs:annotation>
306
+ </xs:element>
307
+ <xs:element name="global-card-classification-code" type="xs:string">
308
+ <xs:annotation>
309
+ <xs:documentation xml:lang="en">Global Identification of Credit Card issuing authority.</xs:documentation>
310
+ </xs:annotation>
311
+ </xs:element>
312
+ <xs:element name="card-holder-name" type="xs:string">
313
+ <xs:annotation>
314
+ <xs:documentation xml:lang="en">Name of Card Holder.</xs:documentation>
315
+ </xs:annotation>
316
+ </xs:element>
317
+ <xs:element name="card-holder-address1" type="xs:string">
318
+ <xs:annotation>
319
+ <xs:documentation xml:lang="en">Address1 field for Credit Card Holder.</xs:documentation>
320
+ </xs:annotation>
321
+ </xs:element>
322
+ <xs:element name="card-holder-address2" type="xs:string">
323
+ <xs:annotation>
324
+ <xs:documentation xml:lang="en">Address2 field for Credit Card Holder.</xs:documentation>
325
+ </xs:annotation>
326
+ </xs:element>
327
+ <xs:element name="card-holder-city" type="xs:string">
328
+ <xs:annotation>
329
+ <xs:documentation xml:lang="en">City field for Credit Card Holder.</xs:documentation>
330
+ </xs:annotation>
331
+ </xs:element>
332
+ <xs:element name="card-holder-state" type="xs:string">
333
+ <xs:annotation>
334
+ <xs:documentation xml:lang="en">State field for Credit Card Holder.</xs:documentation>
335
+ </xs:annotation>
336
+ </xs:element>
337
+ <xs:element name="card-holder-post-code" type="xs:string">
338
+ <xs:annotation>
339
+ <xs:documentation xml:lang="en">Post Code field for Credit Card Holder.</xs:documentation>
340
+ </xs:annotation>
341
+ </xs:element>
342
+ <xs:element name="card-holder-country-code" type="xs:string">
343
+ <xs:annotation>
344
+ <xs:documentation xml:lang="en">Country Code field for Credit Card Holder. Must be compliant with the ISO Standard for Currency Codes.</xs:documentation>
345
+ </xs:annotation>
346
+ </xs:element>
347
+ <xs:element name="authorized-amount" type="xs:decimal">
348
+ <xs:annotation>
349
+ <xs:documentation xml:lang="en">The amount that has been authorized on the order as approved for fund capture.</xs:documentation>
350
+ </xs:annotation>
351
+ </xs:element>
352
+ <xs:element name="billing-sequence-number" type="xs:string">
353
+ <xs:annotation>
354
+ <xs:documentation xml:lang="en">The sequence number issued by the credit card authority for authorization code.</xs:documentation>
355
+ </xs:annotation>
356
+ </xs:element>
357
+ <xs:element name="billing-authorization-response" type="xs:string">
358
+ <xs:annotation>
359
+ <xs:documentation xml:lang="en">The authorization response string for credit card authorization requests.</xs:documentation>
360
+ </xs:annotation>
361
+ </xs:element>
362
+ <xs:element name="billing-address-match" type="xs:string">
363
+ <xs:annotation>
364
+ <xs:documentation xml:lang="en">The string to determine if the billing street address matched with the record on the credit card or not. This is a Y or an N.</xs:documentation>
365
+ </xs:annotation>
366
+ </xs:element>
367
+ <xs:element name="billing-zip-match" type="xs:string">
368
+ <xs:annotation>
369
+ <xs:documentation xml:lang="en">The string to determine if the billing post code matched with the record on the credit card or not. This is a Y or an N.</xs:documentation>
370
+ </xs:annotation>
371
+ </xs:element>
372
+ <xs:element name="avs-hold" type="xs:string">
373
+ <xs:annotation>
374
+ <xs:documentation xml:lang="en">The string to determine if the credit card authorization is on AVS hold or not. This is a Y or an N.</xs:documentation>
375
+ </xs:annotation>
376
+ </xs:element>
377
+ <xs:element name="merchant-name" type="xs:string">
378
+ <xs:annotation>
379
+ <xs:documentation xml:lang="en">The merchant account against which the credit request has been placed.</xs:documentation>
380
+ </xs:annotation>
381
+ </xs:element>
382
+ <xs:element name="order-header">
383
+ <xs:annotation>
384
+ <xs:documentation xml:lang="en">Main Element that contains all basic order related information.</xs:documentation>
385
+ </xs:annotation>
386
+ <xs:complexType>
387
+ <xs:sequence>
388
+ <xs:element ref="customer-order-number" minOccurs="0"/>
389
+ <xs:element ref="customer-order-date"/>
390
+ <xs:element ref="order-reference" minOccurs="0"/>
391
+ <xs:element ref="vendor-number" minOccurs="0"/>
392
+ <xs:element ref="department-number" minOccurs="0"/>
393
+ <xs:element ref="order-sub-total" minOccurs="0"/>
394
+ <xs:element ref="order-discount" minOccurs="0"/>
395
+ <xs:element ref="order-tax1" minOccurs="0"/>
396
+ <xs:element ref="order-tax2" minOccurs="0"/>
397
+ <xs:element ref="order-tax3" minOccurs="0"/>
398
+ <xs:element ref="order-shipment-charge" minOccurs="0"/>
399
+ <xs:element ref="order-total-net" minOccurs="0"/>
400
+ <xs:element ref="order-status" minOccurs="0"/>
401
+ <xs:element ref="order-type"/>
402
+ <xs:element ref="customer-channel-type" minOccurs="0"/>
403
+ <xs:element ref="customer-group-account" minOccurs="0"/>
404
+ <xs:element ref="customer-seller-code" minOccurs="0"/>
405
+ <xs:element ref="user-name" minOccurs="0"/>
406
+ <xs:element ref="gift-flag" minOccurs="0"/>
407
+ <xs:element ref="packing-slip-format" minOccurs="0"/>
408
+ <xs:element ref="special-header-message" minOccurs="0"/>
409
+ </xs:sequence>
410
+ </xs:complexType>
411
+ </xs:element>
412
+ <xs:element name="customer-order-number" type="xs:string">
413
+ <xs:annotation>
414
+ <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
415
+ can 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
416
+ customer. </xs:documentation>
417
+ </xs:annotation>
418
+ </xs:element>
419
+ <xs:element name="customer-order-date" type="xs:string">
420
+ <xs:annotation>
421
+ <xs:documentation xml:lang="en">Order Date on sender's system. This is pass-through information. In CCYYMMDD.</xs:documentation>
422
+ </xs:annotation>
423
+ </xs:element>
424
+ <xs:element name="order-reference" type="xs:string">
425
+ <xs:annotation>
426
+ <xs:documentation xml:lang="en">This is the Order Reference. This is a pass-through information.</xs:documentation>
427
+ </xs:annotation>
428
+ </xs:element>
429
+ <xs:element name="vendor-number" type="xs:string"/>
430
+ <xs:element name="department-number" type="xs:string"/>
431
+ <xs:element name="order-sub-total" type="xs:decimal">
432
+ <xs:annotation>
433
+ <xs:documentation xml:lang="en">Sub-total amount for the order. This is pass-through information. </xs:documentation>
434
+ </xs:annotation>
435
+ </xs:element>
436
+ <xs:element name="order-discount" type="xs:decimal">
437
+ <xs:annotation>
438
+ <xs:documentation xml:lang="en">Discounted amount on the order. This is pass-through information. </xs:documentation>
439
+ </xs:annotation>
440
+ </xs:element>
441
+ <xs:element name="order-tax1" type="xs:decimal">
442
+ <xs:annotation>
443
+ <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>
444
+ </xs:annotation>
445
+ </xs:element>
446
+ <xs:element name="order-tax2" type="xs:decimal">
447
+ <xs:annotation>
448
+ <xs:documentation xml:lang="en">Integration specific second tax field. This is pass-through information.</xs:documentation>
449
+ </xs:annotation>
450
+ </xs:element>
451
+ <xs:element name="order-tax3" type="xs:decimal">
452
+ <xs:annotation>
453
+ <xs:documentation xml:lang="en">Integration specific third tax field. This is pass-through information.</xs:documentation>
454
+ </xs:annotation>
455
+ </xs:element>
456
+ <xs:element name="order-shipment-charge" type="xs:decimal">
457
+ <xs:annotation>
458
+ <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>
459
+ </xs:annotation>
460
+ </xs:element>
461
+ <xs:element name="order-total-net" type="xs:decimal">
462
+ <xs:annotation>
463
+ <xs:documentation xml:lang="en">Net total on Order. This is pass-through information. </xs:documentation>
464
+ </xs:annotation>
465
+ </xs:element>
466
+ <xs:element name="order-status" type="xs:string"/>
467
+ <xs:element name="order-type" type="xs:string">
468
+ <xs:annotation>
469
+ <xs:documentation xml:lang="en">Order Type on Brightpoint's system.</xs:documentation>
470
+ </xs:annotation>
471
+ </xs:element>
472
+ <xs:element name="customer-channel-type" type="xs:string">
473
+ <xs:annotation>
474
+ <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
475
+ order in their system. This is pass-through information. This field has been added since December 2008. </xs:documentation>
476
+ </xs:annotation>
477
+ </xs:element>
478
+ <xs:element name="customer-group-account" type="xs:string">
479
+ <xs:annotation>
480
+ <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
481
+ their system. This is pass-through information. This field has been added since December 2008.</xs:documentation>
482
+ </xs:annotation>
483
+ </xs:element>
484
+ <xs:element name="customer-seller-code" type="xs:string">
485
+ <xs:annotation>
486
+ <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
487
+ their system. This is pass-through information. This field has been added since December 2008.</xs:documentation>
488
+ </xs:annotation>
489
+ </xs:element>
490
+ <xs:element name="user-name" type="xs:string">
491
+ <xs:annotation>
492
+ <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
493
+ system. This may be captured at the header and/or the line level. This is pass-through information.</xs:documentation>
494
+ </xs:annotation>
495
+ </xs:element>
496
+ <xs:element name="gift-flag" final="#all" default="N">
497
+ <xs:annotation>
498
+ <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>
499
+ </xs:annotation>
500
+ <xs:simpleType>
501
+ <xs:restriction base="xs:string">
502
+ <xs:enumeration value="Y"/>
503
+ <xs:enumeration value="N"/>
504
+ </xs:restriction>
505
+ </xs:simpleType>
506
+ </xs:element>
507
+ <xs:element name="packing-slip-format" type="xs:string">
508
+ <xs:annotation>
509
+ <xs:documentation xml:lang="en">A value for determining what packing-slip should be used when the order is shipped. This field has been added since December 2008.</xs:documentation>
510
+ </xs:annotation>
511
+ </xs:element>
512
+ <xs:element name="special-header-message">
513
+ <xs:annotation>
514
+ <xs:documentation>Customer specific special header message</xs:documentation>
515
+ </xs:annotation>
516
+ <xs:complexType>
517
+ <xs:sequence>
518
+ <xs:element ref="special-header-message1" minOccurs="0" maxOccurs="1"/>
519
+ <xs:element ref="special-header-message2" minOccurs="0" maxOccurs="1"/>
520
+ <xs:element ref="special-header-message3" minOccurs="0" maxOccurs="1"/>
521
+ <xs:element ref="special-header-message4" minOccurs="0" maxOccurs="1"/>
522
+ <xs:element ref="special-header-message5" minOccurs="0" maxOccurs="1"/>
523
+ </xs:sequence>
524
+ </xs:complexType>
525
+ </xs:element>
526
+ <xs:element name="special-header-message1" type="xs:string">
527
+ <xs:annotation>
528
+ <xs:documentation xml:lang="en">Special Header Message 1.</xs:documentation>
529
+ </xs:annotation>
530
+ </xs:element>
531
+ <xs:element name="special-header-message2" type="xs:string">
532
+ <xs:annotation>
533
+ <xs:documentation xml:lang="en">Special Header Message 2.</xs:documentation>
534
+ </xs:annotation>
535
+ </xs:element>
536
+ <xs:element name="special-header-message3" type="xs:string">
537
+ <xs:annotation>
538
+ <xs:documentation xml:lang="en">Special Header Message 3.</xs:documentation>
539
+ </xs:annotation>
540
+ </xs:element>
541
+ <xs:element name="special-header-message4" type="xs:string">
542
+ <xs:annotation>
543
+ <xs:documentation xml:lang="en">Special Header Message 4.</xs:documentation>
544
+ </xs:annotation>
545
+ </xs:element>
546
+ <xs:element name="special-header-message5" type="xs:string">
547
+ <xs:annotation>
548
+ <xs:documentation xml:lang="en">Special Header Message 5.</xs:documentation>
549
+ </xs:annotation>
550
+ </xs:element>
551
+ <xs:element name="detail">
552
+ <xs:annotation>
553
+ <xs:documentation xml:lang="en">All lines associated with the specific header are included here.</xs:documentation>
554
+ </xs:annotation>
555
+ <xs:complexType>
556
+ <xs:sequence>
557
+ <xs:element ref="line-item" maxOccurs="unbounded"/>
558
+ </xs:sequence>
559
+ </xs:complexType>
560
+ </xs:element>
561
+ <xs:element name="line-item">
562
+ <xs:complexType>
563
+ <xs:sequence>
564
+ <xs:element ref="line-no"/>
565
+ <xs:element ref="line-reference" minOccurs="0"/>
566
+ <xs:element ref="item-code"/>
567
+ <xs:element ref="universal-product-code" minOccurs="0"/>
568
+ <xs:element ref="product-name" minOccurs="0"/>
569
+ <xs:element ref="comments" minOccurs="0"/>
570
+ <xs:element ref="quantity"/>
571
+ <xs:element ref="unit-of-measure"/>
572
+ <xs:element ref="sid" minOccurs="0"/>
573
+ <xs:element ref="esn" minOccurs="0"/>
574
+ <xs:element ref="min" minOccurs="0"/>
575
+ <xs:element ref="mdn" minOccurs="0"/>
576
+ <xs:element ref="irdb" minOccurs="0"/>
577
+ <xs:element ref="imei" minOccurs="0"/>
578
+ <xs:element ref="market-id" minOccurs="0"/>
579
+ <xs:element ref="line-status" minOccurs="0"/>
580
+ <xs:element ref="base-price" minOccurs="0"/>
581
+ <xs:element ref="line-discount" minOccurs="0"/>
582
+ <xs:element ref="line-tax1" minOccurs="0"/>
583
+ <xs:element ref="line-tax2" minOccurs="0"/>
584
+ <xs:element ref="line-tax3" minOccurs="0"/>
585
+ <xs:element ref="ownership-flag" minOccurs="0"/>
586
+ <xs:element ref="special-message" minOccurs="0" maxOccurs="1"/>
587
+ </xs:sequence>
588
+ </xs:complexType>
589
+ </xs:element>
590
+ <xs:element name="line-no" type="xs:string">
591
+ <xs:annotation>
592
+ <xs:documentation xml:lang="en">Line Number at the detail level in customer's system.</xs:documentation>
593
+ </xs:annotation>
594
+ </xs:element>
595
+ <xs:element name="line-reference" type="xs:string">
596
+ <xs:annotation>
597
+ <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>
598
+ </xs:annotation>
599
+ </xs:element>
600
+ <xs:element name="item-code" type="xs:string">
601
+ <xs:annotation>
602
+ <xs:documentation xml:lang="en">Item Code for the product on Brightpoint's system.</xs:documentation>
603
+ </xs:annotation>
604
+ </xs:element>
605
+ <xs:element name="universal-product-code" type="xs:string">
606
+ <xs:annotation>
607
+ <xs:documentation xml:lang="en">UPC for the product.</xs:documentation>
608
+ </xs:annotation>
609
+ </xs:element>
610
+ <xs:element name="product-name" type="xs:string">
611
+ <xs:annotation>
612
+ <xs:documentation xml:lang="en">Name of product in the manufacturer's system.</xs:documentation>
613
+ </xs:annotation>
614
+ </xs:element>
615
+ <xs:element name="quantity" type="xs:decimal">
616
+ <xs:annotation>
617
+ <xs:documentation xml:lang="en">Number of units of product ordered.</xs:documentation>
618
+ </xs:annotation>
619
+ </xs:element>
620
+ <xs:element name="unit-of-measure" type="xs:string">
621
+ <xs:annotation>
622
+ <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 -
623
+ Each, CT - Carton, PT - Pallet </xs:documentation>
624
+ </xs:annotation>
625
+ </xs:element>
626
+ <xs:element name="sid" type="xs:string">
627
+ <xs:annotation>
628
+ <xs:documentation xml:lang="en">SID for the device</xs:documentation>
629
+ </xs:annotation>
630
+ </xs:element>
631
+ <xs:element name="esn" type="xs:string">
632
+ <xs:annotation>
633
+ <xs:documentation xml:lang="en">ESN for the device</xs:documentation>
634
+ </xs:annotation>
635
+ </xs:element>
636
+ <xs:element name="min" type="xs:string">
637
+ <xs:annotation>
638
+ <xs:documentation xml:lang="en">MIN for the device</xs:documentation>
639
+ </xs:annotation>
640
+ </xs:element>
641
+ <xs:element name="mdn" type="xs:string">
642
+ <xs:annotation>
643
+ <xs:documentation xml:lang="en">MDN for the device</xs:documentation>
644
+ </xs:annotation>
645
+ </xs:element>
646
+ <xs:element name="irdb" type="xs:string">
647
+ <xs:annotation>
648
+ <xs:documentation xml:lang="en">IRDB/PRL for the device</xs:documentation>
649
+ </xs:annotation>
650
+ </xs:element>
651
+ <xs:element name="imei" type="xs:string">
652
+ <xs:annotation>
653
+ <xs:documentation xml:lang="en">IMEI for the device</xs:documentation>
654
+ </xs:annotation>
655
+ </xs:element>
656
+ <xs:element name="market-id" type="xs:string">
657
+ <xs:annotation>
658
+ <xs:documentation xml:lang="en">Market ID for the device</xs:documentation>
659
+ </xs:annotation>
660
+ </xs:element>
661
+ <xs:element name="line-status" type="xs:string">
662
+ <xs:annotation>
663
+ <xs:documentation xml:lang="en">Status of line in customer's system. This is pass-through information.</xs:documentation>
664
+ </xs:annotation>
665
+ </xs:element>
666
+ <xs:element name="base-price" type="xs:decimal">
667
+ <xs:annotation>
668
+ <xs:documentation xml:lang="en">Base price of line item.</xs:documentation>
669
+ </xs:annotation>
670
+ </xs:element>
671
+ <xs:element name="line-discount" type="xs:decimal">
672
+ <xs:annotation>
673
+ <xs:documentation xml:lang="en">Discount on Line Item. This is pass-through information.</xs:documentation>
674
+ </xs:annotation>
675
+ </xs:element>
676
+ <xs:element name="line-tax1" type="xs:decimal">
677
+ <xs:annotation>
678
+ <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>
679
+ </xs:annotation>
680
+ </xs:element>
681
+ <xs:element name="line-tax2" type="xs:decimal">
682
+ <xs:annotation>
683
+ <xs:documentation xml:lang="en">Integration specific second tax field for line item. This is pass-through information.</xs:documentation>
684
+ </xs:annotation>
685
+ </xs:element>
686
+ <xs:element name="line-tax3" type="xs:decimal">
687
+ <xs:annotation>
688
+ <xs:documentation xml:lang="en">Integration specific third tax field for line item. This is pass-through information.</xs:documentation>
689
+ </xs:annotation>
690
+ </xs:element>
691
+ <xs:element name="ownership-flag" type="xs:string">
692
+ <xs:annotation>
693
+ <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>
694
+ </xs:annotation>
695
+ </xs:element>
696
+ <xs:element name="special-message">
697
+ <xs:annotation>
698
+ <xs:documentation>Cistomer specific special message</xs:documentation>
699
+ </xs:annotation>
700
+ <xs:complexType>
701
+ <xs:sequence>
702
+ <xs:element ref="special-message1" minOccurs="0" maxOccurs="1"/>
703
+ <xs:element ref="special-message2" minOccurs="0" maxOccurs="1"/>
704
+ <xs:element ref="special-message3" minOccurs="0" maxOccurs="1"/>
705
+ <xs:element ref="special-message4" minOccurs="0" maxOccurs="1"/>
706
+ <xs:element ref="special-message5" minOccurs="0" maxOccurs="1"/>
707
+ <xs:element ref="special-message6" minOccurs="0" maxOccurs="1"/>
708
+ </xs:sequence>
709
+ </xs:complexType>
710
+ </xs:element>
711
+ <xs:element name="special-message1" type="xs:string">
712
+ <xs:annotation>
713
+ <xs:documentation xml:lang="en">Special Message 1.</xs:documentation>
714
+ </xs:annotation>
715
+ </xs:element>
716
+ <xs:element name="special-message2" type="xs:string">
717
+ <xs:annotation>
718
+ <xs:documentation xml:lang="en">Special Message 2.</xs:documentation>
719
+ </xs:annotation>
720
+ </xs:element>
721
+ <xs:element name="special-message3" type="xs:string">
722
+ <xs:annotation>
723
+ <xs:documentation xml:lang="en">Special Message 3.</xs:documentation>
724
+ </xs:annotation>
725
+ </xs:element>
726
+ <xs:element name="special-message4" type="xs:string">
727
+ <xs:annotation>
728
+ <xs:documentation xml:lang="en">Special Message 4.</xs:documentation>
729
+ </xs:annotation>
730
+ </xs:element>
731
+ <xs:element name="special-message5" type="xs:string">
732
+ <xs:annotation>
733
+ <xs:documentation xml:lang="en">Special Message 5.</xs:documentation>
734
+ </xs:annotation>
735
+ </xs:element>
736
+ <xs:element name="special-message6" type="xs:string">
737
+ <xs:annotation>
738
+ <xs:documentation xml:lang="en">Special Message 6.</xs:documentation>
739
+ </xs:annotation>
740
+ </xs:element>
741
+ <xs:element name="transactionInfo">
742
+ <xs:complexType>
743
+ <xs:sequence>
744
+ <xs:element ref="eventID"/>
745
+ </xs:sequence>
746
+ </xs:complexType>
747
+ </xs:element>
748
+ <xs:element name="eventID" type="xs:string">
749
+ <xs:annotation>
750
+ <xs:documentation xml:lang="en">Event ID from the customer's system.</xs:documentation>
751
+ </xs:annotation>
752
+ </xs:element>
753
+ </xs:schema>