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,122 @@
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 default message response process. The XML document generated by Brightpoint will be based
5
+ on this schema and information available will be based on the elements specified in this transaction. </xs:documentation>
6
+ </xs:annotation>
7
+ <xs:element name="message">
8
+ <xs:annotation>
9
+ <xs:documentation xml:lang="en"> This is the root document element used to encapsulate the entire message. </xs:documentation>
10
+ </xs:annotation>
11
+ <xs:complexType>
12
+ <xs:sequence>
13
+ <xs:element ref="message-header" minOccurs="1" maxOccurs="1"/>
14
+ <xs:element ref="message-status" minOccurs="1" maxOccurs="1"/>
15
+ <xs:element ref="transactionInfo" minOccurs="0" maxOccurs="1"/>
16
+ </xs:sequence>
17
+ </xs:complexType>
18
+ </xs:element>
19
+ <xs:element name="message-header">
20
+ <xs:complexType>
21
+ <xs:sequence>
22
+ <xs:element ref="message-id" maxOccurs="1" minOccurs="1"/>
23
+ <xs:element ref="transaction-name" maxOccurs="1" minOccurs="1"/>
24
+ <xs:element ref="partner-name" maxOccurs="1" minOccurs="1"/>
25
+ <xs:element ref="partner-password" minOccurs="0" maxOccurs="1"/>
26
+ <xs:element ref="source-url" minOccurs="0" maxOccurs="1"/>
27
+ <xs:element ref="create-timestamp" minOccurs="1" maxOccurs="1"/>
28
+ <xs:element ref="response-request" minOccurs="1" maxOccurs="1"/>
29
+ </xs:sequence>
30
+ </xs:complexType>
31
+ </xs:element>
32
+ <xs:element name="message-id" type="xs:string">
33
+ <xs:annotation>
34
+ <xs:documentation xml:lang="en">Unique message identification ID</xs:documentation>
35
+ </xs:annotation>
36
+ </xs:element>
37
+ <xs:element default="ship-advice" name="transaction-name" type="xs:string">
38
+ <xs:annotation>
39
+ <xs:documentation xml:lang="en">The name of the inbound message for which the response is being provided.</xs:documentation>
40
+ </xs:annotation>
41
+ </xs:element>
42
+ <xs:element name="partner-name" type="xs:string">
43
+ <xs:annotation>
44
+ <xs:documentation xml:lang="en">Short name of partner be used to identify mappings of data.</xs:documentation>
45
+ </xs:annotation>
46
+ </xs:element>
47
+ <xs:element name="partner-password" nillable="true" type="xs:string">
48
+ <xs:annotation>
49
+ <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
50
+ beyond the initial validation of inbound message or the final validation before submitting an outbound message.</xs:documentation>
51
+ </xs:annotation>
52
+ </xs:element>
53
+ <xs:element name="source-url" type="xs:anyURI">
54
+ <xs:annotation>
55
+ <xs:documentation xml:lang="en">Unique Resource Locator that posts the XML Document.</xs:documentation>
56
+ </xs:annotation>
57
+ </xs:element>
58
+ <xs:element name="create-timestamp" type="xs:string">
59
+ <xs:annotation>
60
+ <xs:documentation xml:lang="en">Date and Time at which XML Document was generated from source system. In CCYYMMDDHHMISS.</xs:documentation>
61
+ </xs:annotation>
62
+ </xs:element>
63
+ <xs:element name="response-request" final="#all">
64
+ <xs:annotation>
65
+ <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>
66
+ </xs:annotation>
67
+ <xs:simpleType>
68
+ <xs:restriction base="xs:integer">
69
+ <xs:enumeration value="0"/>
70
+ <xs:enumeration value="1"/>
71
+ </xs:restriction>
72
+ </xs:simpleType>
73
+ </xs:element>
74
+ <xs:element name="message-status">
75
+ <xs:complexType>
76
+ <xs:sequence>
77
+ <xs:element ref="status-code" minOccurs="1" maxOccurs="1"/>
78
+ <xs:element ref="status-description" minOccurs="1" maxOccurs="1"/>
79
+ <xs:element ref="comments" minOccurs="0" maxOccurs="1"/>
80
+ <xs:element ref="response-timestamp" minOccurs="1" maxOccurs="1"/>
81
+ <xs:element ref="filename" minOccurs="0" maxOccurs="1"/>
82
+ </xs:sequence>
83
+ </xs:complexType>
84
+ </xs:element>
85
+ <xs:element name="status-code" type="xs:integer">
86
+ <xs:annotation>
87
+ <xs:documentation xml:lang="en">The status-code of 0 would denote success whereas 1 would denote failure.</xs:documentation>
88
+ </xs:annotation>
89
+ </xs:element>
90
+ <xs:element name="status-description" type="xs:string">
91
+ <xs:annotation>
92
+ <xs:documentation xml:lang="en">The descriptive value of the status to denote success or failure.</xs:documentation>
93
+ </xs:annotation>
94
+ </xs:element>
95
+ <xs:element name="comments" type="xs:string">
96
+ <xs:annotation>
97
+ <xs:documentation xml:lang="en">If the system of record is able to provide a detailed explanation, it would be sent here.</xs:documentation>
98
+ </xs:annotation>
99
+ </xs:element>
100
+ <xs:element name="response-timestamp" type="xs:string">
101
+ <xs:annotation>
102
+ <xs:documentation xml:lang="en">Date and Time at which the response was generated from the target system. In CCYYMMDDHHMISS.</xs:documentation>
103
+ </xs:annotation>
104
+ </xs:element>
105
+ <xs:element name="filename" type="xs:string">
106
+ <xs:annotation>
107
+ <xs:documentation xml:lang="en">If the request document was stored to a document on a file system, the name would be provided for troubleshooting at a future time.</xs:documentation>
108
+ </xs:annotation>
109
+ </xs:element>
110
+ <xs:element name="transactionInfo">
111
+ <xs:complexType>
112
+ <xs:sequence>
113
+ <xs:element ref="eventID" minOccurs="1" maxOccurs="1"/>
114
+ </xs:sequence>
115
+ </xs:complexType>
116
+ </xs:element>
117
+ <xs:element name="eventID" type="xs:string">
118
+ <xs:annotation>
119
+ <xs:documentation xml:lang="en">Event ID from the customer's system.</xs:documentation>
120
+ </xs:annotation>
121
+ </xs:element>
122
+ </xs:schema>
@@ -0,0 +1,641 @@
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 Return Authorization process requested by Brightpoint. The XML document sent to
5
+ Brightpoint will be based on this schema and information available will be based on the elements specified in this transaction. </xs:documentation>
6
+ </xs:annotation>
7
+ <xs:element name="message">
8
+ <xs:annotation>
9
+ <xs:documentation xml:lang="en"> This is the root document element used to encapsulate the entire message. </xs:documentation>
10
+ </xs:annotation>
11
+ <xs:complexType>
12
+ <xs:sequence>
13
+ <xs:element ref="message-header" minOccurs="1" maxOccurs="1"/>
14
+ <xs:element ref="return-authorization-submission" minOccurs="1" maxOccurs="unbounded"/>
15
+ </xs:sequence>
16
+ </xs:complexType>
17
+ </xs:element>
18
+ <xs:element name="message-header">
19
+ <xs:complexType>
20
+ <xs:sequence>
21
+ <xs:element ref="message-id" minOccurs="1" maxOccurs="1"/>
22
+ <xs:element ref="transaction-name" minOccurs="1" maxOccurs="1"/>
23
+ <xs:element ref="partner-name" minOccurs="1" maxOccurs="1"/>
24
+ <xs:element ref="partner-password" minOccurs="0" maxOccurs="1"/>
25
+ <xs:element ref="source-url" minOccurs="1" maxOccurs="1"/>
26
+ <xs:element ref="create-timestamp" minOccurs="1" maxOccurs="1"/>
27
+ <xs:element ref="response-request" minOccurs="1" maxOccurs="1"/>
28
+ </xs:sequence>
29
+ </xs:complexType>
30
+ </xs:element>
31
+ <xs:element name="message-id" type="xs:integer">
32
+ <xs:annotation>
33
+ <xs:documentation xml:lang="en">Unique message identification ID</xs:documentation>
34
+ </xs:annotation>
35
+ </xs:element>
36
+ <xs:element name="transaction-name" type="xs:string" default="return-authorization-submission">
37
+ <xs:annotation>
38
+ <xs:documentation xml:lang="en">The name of the inbound message transaction. In the case of this transaction it is return-authorization-submission.</xs:documentation>
39
+ </xs:annotation>
40
+ </xs:element>
41
+ <xs:element name="partner-name" type="xs:string">
42
+ <xs:annotation>
43
+ <xs:documentation xml:lang="en">Short name of partner be used to identify mappings of data.</xs:documentation>
44
+ </xs:annotation>
45
+ </xs:element>
46
+ <xs:element name="partner-password" type="xs:string">
47
+ <xs:annotation>
48
+ <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
49
+ beyond the initial validation of inbound message or the final validation before submitting an outbound message.</xs:documentation>
50
+ </xs:annotation>
51
+ </xs:element>
52
+ <xs:element name="source-url" type="xs:anyURI">
53
+ <xs:annotation>
54
+ <xs:documentation xml:lang="en">Unique Resource Locator that posts the XML Document.</xs:documentation>
55
+ </xs:annotation>
56
+ </xs:element>
57
+ <xs:element name="create-timestamp" type="xs:string">
58
+ <xs:annotation>
59
+ <xs:documentation xml:lang="en">Date and Time at which XML Document was generated from source system. In CCYYMMDDHHMISS.</xs:documentation>
60
+ </xs:annotation>
61
+ </xs:element>
62
+ <xs:element name="response-request" final="#all">
63
+ <xs:annotation>
64
+ <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>
65
+ </xs:annotation>
66
+ <xs:simpleType>
67
+ <xs:restriction base="xs:integer">
68
+ <xs:enumeration value="0"/>
69
+ <xs:enumeration value="1"/>
70
+ </xs:restriction>
71
+ </xs:simpleType>
72
+ </xs:element>
73
+ <xs:element name="return-authorization-submission">
74
+ <xs:annotation>
75
+ <xs:documentation xml:lang="en">The base contents of this message are contained in the element.</xs:documentation>
76
+ </xs:annotation>
77
+ <xs:complexType>
78
+ <xs:sequence>
79
+ <xs:element ref="header" minOccurs="1" maxOccurs="1"/>
80
+ <xs:element ref="detail" minOccurs="1" maxOccurs="1"/>
81
+ </xs:sequence>
82
+ </xs:complexType>
83
+ </xs:element>
84
+ <xs:element name="header">
85
+ <xs:annotation>
86
+ <xs:documentation xml:lang="en">Header content of the return authorization request.</xs:documentation>
87
+ </xs:annotation>
88
+ <xs:complexType>
89
+ <xs:sequence>
90
+ <xs:element ref="customer-id" minOccurs="1" maxOccurs="1"/>
91
+ <xs:element ref="business-name" minOccurs="0" maxOccurs="1"/>
92
+ <xs:element ref="carrier-name" minOccurs="0" maxOccurs="1"/>
93
+ <xs:element ref="customer-information" minOccurs="0" maxOccurs="1"/>
94
+ <xs:element ref="shipment-information" minOccurs="1" maxOccurs="1"/>
95
+ <xs:element ref="purchase-order-information" minOccurs="0" maxOccurs="1"/>
96
+ <xs:element ref="credit-card-information" minOccurs="0" maxOccurs="1"/>
97
+ <xs:element ref="order-header" minOccurs="1" maxOccurs="1"/>
98
+ </xs:sequence>
99
+ </xs:complexType>
100
+ </xs:element>
101
+ <xs:element name="customer-id" type="xs:string">
102
+ <xs:annotation>
103
+ <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 JD Edwards.</xs:documentation>
104
+ </xs:annotation>
105
+ </xs:element>
106
+ <xs:element name="business-name" type="xs:string">
107
+ <xs:annotation>
108
+ <xs:documentation xml:lang="en">The official name of your business.</xs:documentation>
109
+ </xs:annotation>
110
+ </xs:element>
111
+ <xs:element name="carrier-name" type="xs:string">
112
+ <xs:annotation>
113
+ <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>
114
+ </xs:annotation>
115
+ </xs:element>
116
+ <xs:element name="customer-information">
117
+ <xs:annotation>
118
+ <xs:documentation xml:lang="en">Main Element which contains all customer related information.</xs:documentation>
119
+ </xs:annotation>
120
+ <xs:complexType>
121
+ <xs:sequence>
122
+ <xs:element ref="customer-first-name" minOccurs="1" maxOccurs="1"/>
123
+ <xs:element ref="customer-last-name" minOccurs="1" maxOccurs="1"/>
124
+ <xs:element ref="customer-middle-initial" minOccurs="0" maxOccurs="1"/>
125
+ <xs:element ref="customer-address1" minOccurs="1" maxOccurs="1"/>
126
+ <xs:element ref="customer-address2" minOccurs="0" maxOccurs="1"/>
127
+ <xs:element ref="customer-address3" minOccurs="0" maxOccurs="1"/>
128
+ <xs:element ref="customer-city" minOccurs="1" maxOccurs="1"/>
129
+ <xs:element ref="customer-state" minOccurs="1" maxOccurs="1"/>
130
+ <xs:element ref="customer-post-code" minOccurs="1" maxOccurs="1"/>
131
+ <xs:element ref="customer-country-code" minOccurs="1" maxOccurs="1"/>
132
+ <xs:element ref="customer-phone1" minOccurs="1" maxOccurs="1"/>
133
+ <xs:element ref="customer-phone2" minOccurs="0" maxOccurs="1"/>
134
+ <xs:element ref="customer-fax" minOccurs="0" maxOccurs="1"/>
135
+ <xs:element ref="customer-email" minOccurs="0" maxOccurs="1"/>
136
+ </xs:sequence>
137
+ </xs:complexType>
138
+ </xs:element>
139
+ <xs:element name="customer-first-name" type="xs:string"/>
140
+ <xs:element name="customer-last-name" type="xs:string"/>
141
+ <xs:element name="customer-middle-initial" type="xs:string"/>
142
+ <xs:element name="customer-address1" type="xs:string"/>
143
+ <xs:element name="customer-address2" type="xs:string"/>
144
+ <xs:element name="customer-address3" type="xs:string"/>
145
+ <xs:element name="customer-city" type="xs:string"/>
146
+ <xs:element name="customer-state" type="xs:string"/>
147
+ <xs:element name="customer-post-code" type="xs:string"/>
148
+ <xs:element name="customer-country-code" type="xs:string"/>
149
+ <xs:element name="customer-phone1" type="xs:string"/>
150
+ <xs:element name="customer-phone2" type="xs:string"/>
151
+ <xs:element name="customer-fax" type="xs:string"/>
152
+ <xs:element name="customer-email" type="xs:string"/>
153
+ <xs:element name="shipment-information">
154
+ <xs:complexType>
155
+ <xs:sequence>
156
+ <xs:element ref="ship-first-name" minOccurs="1" maxOccurs="1"/>
157
+ <xs:element ref="ship-last-name" minOccurs="1" maxOccurs="1"/>
158
+ <xs:element ref="ship-middle-initial" minOccurs="0" maxOccurs="1"/>
159
+ <xs:element ref="ship-address1" minOccurs="1" maxOccurs="1"/>
160
+ <xs:element ref="ship-address2" minOccurs="0" maxOccurs="1"/>
161
+ <xs:element ref="ship-address3" minOccurs="0" maxOccurs="1"/>
162
+ <xs:element ref="ship-city" minOccurs="1" maxOccurs="1"/>
163
+ <xs:element ref="ship-state" minOccurs="1" maxOccurs="1"/>
164
+ <xs:element ref="ship-post-code" minOccurs="1" maxOccurs="1"/>
165
+ <xs:element ref="ship-country-code" minOccurs="1" maxOccurs="1"/>
166
+ <xs:element ref="ship-phone1" minOccurs="0" maxOccurs="1"/>
167
+ <xs:element ref="ship-phone2" minOccurs="0" maxOccurs="1"/>
168
+ <xs:element ref="ship-fax" minOccurs="0" maxOccurs="1"/>
169
+ <xs:element ref="ship-email" minOccurs="0" maxOccurs="1"/>
170
+ <xs:element ref="ship-via" minOccurs="1" maxOccurs="1"/>
171
+ <xs:element ref="ship-request-date" minOccurs="1" maxOccurs="1"/>
172
+ <xs:element ref="ship-request-from" minOccurs="0" maxOccurs="1"/>
173
+ <xs:element ref="ship-request-warehouse" minOccurs="0" maxOccurs="1"/>
174
+ <xs:element ref="ship-to-code" minOccurs="0" maxOccurs="1"/>
175
+ </xs:sequence>
176
+ </xs:complexType>
177
+ </xs:element>
178
+ <xs:element name="ship-first-name" type="xs:string"/>
179
+ <xs:element name="ship-last-name" type="xs:string"/>
180
+ <xs:element name="ship-middle-initial" type="xs:string"/>
181
+ <xs:element name="ship-address1" type="xs:string"/>
182
+ <xs:element name="ship-address2" type="xs:string"/>
183
+ <xs:element name="ship-address3" type="xs:string"/>
184
+ <xs:element name="ship-city" type="xs:string"/>
185
+ <xs:element name="ship-state" type="xs:string"/>
186
+ <xs:element name="ship-post-code" type="xs:string"/>
187
+ <xs:element name="ship-country-code" type="xs:string"/>
188
+ <xs:element name="ship-phone1" type="xs:string"/>
189
+ <xs:element name="ship-phone2" type="xs:string"/>
190
+ <xs:element name="ship-fax" type="xs:string"/>
191
+ <xs:element name="ship-email" type="xs:string"/>
192
+ <xs:element name="ship-via" type="xs:string"/>
193
+ <xs:element name="ship-request-date" type="xs:string">
194
+ <xs:annotation>
195
+ <xs:documentation xml:lang="en">Date on which order is requested for shipment. In CCYYMMDD.</xs:documentation>
196
+ </xs:annotation>
197
+ </xs:element>
198
+ <xs:element name="ship-request-from" type="xs:string">
199
+ <xs:annotation>
200
+ <xs:documentation xml:lang="en">City from which Shipment is requested.</xs:documentation>
201
+ </xs:annotation>
202
+ </xs:element>
203
+ <xs:element name="ship-request-warehouse" type="xs:string">
204
+ <xs:annotation>
205
+ <xs:documentation xml:lang="en">Virtual Warehouse (Site) from which Shipment is requested.</xs:documentation>
206
+ </xs:annotation>
207
+ </xs:element>
208
+ <xs:element name="ship-to-code" type="xs:string">
209
+ <xs:annotation>
210
+ <xs:documentation xml:lang="en">Permanent Ship To Code or GLN as present in Brightpoint's system.</xs:documentation>
211
+ </xs:annotation>
212
+ </xs:element>
213
+ <xs:element name="purchase-order-information">
214
+ <xs:complexType>
215
+ <xs:sequence>
216
+ <xs:element ref="purchase-order-number" minOccurs="1" maxOccurs="1"/>
217
+ <xs:element ref="account-description" minOccurs="1" maxOccurs="1"/>
218
+ <xs:element ref="purchase-order-amount" minOccurs="1" maxOccurs="1"/>
219
+ <xs:element ref="purchase-order-event" minOccurs="0" maxOccurs="1"/>
220
+ <xs:element ref="currency-code" minOccurs="1" maxOccurs="1"/>
221
+ <xs:element ref="comments" minOccurs="0" maxOccurs="1"/>
222
+ </xs:sequence>
223
+ </xs:complexType>
224
+ </xs:element>
225
+ <xs:element name="purchase-order-number" type="xs:string">
226
+ <xs:annotation>
227
+ <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>
228
+ </xs:annotation>
229
+ </xs:element>
230
+ <xs:element name="account-description" type="xs:string">
231
+ <xs:annotation>
232
+ <xs:documentation xml:lang="en">Description of the account against which PO is generated.</xs:documentation>
233
+ </xs:annotation>
234
+ </xs:element>
235
+ <xs:element name="purchase-order-amount" type="xs:decimal"/>
236
+ <xs:element name="purchase-order-event" type="xs:string">
237
+ <xs:annotation>
238
+ <xs:documentation xml:lang="en">Any additional event ID associated with the PO. This can be used for linking separate system data.</xs:documentation>
239
+ </xs:annotation>
240
+ </xs:element>
241
+ <xs:element name="currency-code" type="xs:string">
242
+ <xs:annotation>
243
+ <xs:documentation xml:lang="en">Only ISO standard currency codes are allowed.</xs:documentation>
244
+ </xs:annotation>
245
+ </xs:element>
246
+ <xs:element name="comments" type="xs:string"/>
247
+ <xs:element name="credit-card-information" nillable="true">
248
+ <xs:annotation>
249
+ <xs:documentation xml:lang="en">
250
+ This element contains all credit card related information for the order. Please note that due to restrictions for PCI compliance
251
+ we are only able to receive the last 4 digits of the credit card number preceded by Xs for each of the other digits.
252
+ </xs:documentation>
253
+ </xs:annotation>
254
+ <xs:complexType>
255
+ <xs:sequence>
256
+ <xs:element ref="credit-card-number" minOccurs="1" maxOccurs="1"/>
257
+ <xs:element ref="credit-card-expiration-date" minOccurs="1" maxOccurs="1"/>
258
+ <xs:element ref="credit-card-identification" minOccurs="1" maxOccurs="1"/>
259
+ <xs:element ref="global-card-classification-code" minOccurs="1" maxOccurs="1"/>
260
+ <xs:element ref="card-holder-name" minOccurs="1" maxOccurs="1"/>
261
+ <xs:element ref="card-holder-address1" minOccurs="1" maxOccurs="1"/>
262
+ <xs:element ref="card-holder-address2" minOccurs="0" maxOccurs="1"/>
263
+ <xs:element ref="card-holder-city" minOccurs="1" maxOccurs="1"/>
264
+ <xs:element ref="card-holder-state" minOccurs="1" maxOccurs="1"/>
265
+ <xs:element ref="card-holder-post-code" minOccurs="1" maxOccurs="1"/>
266
+ <xs:element ref="card-holder-country-code" minOccurs="1" maxOccurs="1"/>
267
+ <xs:element ref="authorized-amount" minOccurs="0" maxOccurs="1"/>
268
+ <xs:element ref="billing-sequence-number" minOccurs="0" maxOccurs="1"/>
269
+ <xs:element ref="billing-authorization-response" minOccurs="0" maxOccurs="1"/>
270
+ <xs:element ref="billing-address-match" minOccurs="0" maxOccurs="1"/>
271
+ <xs:element ref="billing-zip-match" minOccurs="0" maxOccurs="1"/>
272
+ <xs:element ref="avs-hold" minOccurs="0" maxOccurs="1"/>
273
+ <xs:element ref="merchant-name" minOccurs="0" maxOccurs="1"/>
274
+ </xs:sequence>
275
+ </xs:complexType>
276
+ </xs:element>
277
+ <xs:element name="credit-card-number" type="xs:string">
278
+ <xs:annotation>
279
+ <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>
280
+ </xs:annotation>
281
+ </xs:element>
282
+ <xs:element name="credit-card-expiration-date" type="xs:string">
283
+ <xs:annotation>
284
+ <xs:documentation xml:lang="en">Date of Expiration on the Credit Card Account. In CCYYMM Format.</xs:documentation>
285
+ </xs:annotation>
286
+ </xs:element>
287
+ <xs:element name="credit-card-identification" type="xs:string">
288
+ <xs:annotation>
289
+ <xs:documentation xml:lang="en">Identification Name of Credit Card issuing authority. Ex: VISA, MC, AMEX.</xs:documentation>
290
+ </xs:annotation>
291
+ </xs:element>
292
+ <xs:element name="global-card-classification-code" type="xs:string">
293
+ <xs:annotation>
294
+ <xs:documentation xml:lang="en">Global Identification of Credit Card issuing authority.</xs:documentation>
295
+ </xs:annotation>
296
+ </xs:element>
297
+ <xs:element name="card-holder-name" type="xs:string">
298
+ <xs:annotation>
299
+ <xs:documentation xml:lang="en">Name of Card Holder.</xs:documentation>
300
+ </xs:annotation>
301
+ </xs:element>
302
+ <xs:element name="card-holder-address1" type="xs:string">
303
+ <xs:annotation>
304
+ <xs:documentation xml:lang="en">Address1 field for Credit Card Holder.</xs:documentation>
305
+ </xs:annotation>
306
+ </xs:element>
307
+ <xs:element name="card-holder-address2" type="xs:string">
308
+ <xs:annotation>
309
+ <xs:documentation xml:lang="en">Address2 field for Credit Card Holder.</xs:documentation>
310
+ </xs:annotation>
311
+ </xs:element>
312
+ <xs:element name="card-holder-city" type="xs:string">
313
+ <xs:annotation>
314
+ <xs:documentation xml:lang="en">City field for Credit Card Holder.</xs:documentation>
315
+ </xs:annotation>
316
+ </xs:element>
317
+ <xs:element name="card-holder-state" type="xs:string">
318
+ <xs:annotation>
319
+ <xs:documentation xml:lang="en">State field for Credit Card Holder.</xs:documentation>
320
+ </xs:annotation>
321
+ </xs:element>
322
+ <xs:element name="card-holder-post-code" type="xs:string">
323
+ <xs:annotation>
324
+ <xs:documentation xml:lang="en">Post Code field for Credit Card Holder.</xs:documentation>
325
+ </xs:annotation>
326
+ </xs:element>
327
+ <xs:element name="card-holder-country-code" type="xs:string">
328
+ <xs:annotation>
329
+ <xs:documentation xml:lang="en">Country Code field for Credit Card Holder. Must be compliant with the ISO Standard for Currency Codes.</xs:documentation>
330
+ </xs:annotation>
331
+ </xs:element>
332
+ <xs:element name="authorized-amount" type="xs:decimal">
333
+ <xs:annotation>
334
+ <xs:documentation xml:lang="en">The amount that has been authorized on the order as approved for fund capture.</xs:documentation>
335
+ </xs:annotation>
336
+ </xs:element>
337
+ <xs:element name="billing-sequence-number" type="xs:string">
338
+ <xs:annotation>
339
+ <xs:documentation xml:lang="en">The sequence number issued by the credit card authority for authorization code.</xs:documentation>
340
+ </xs:annotation>
341
+ </xs:element>
342
+ <xs:element name="billing-authorization-response" type="xs:string">
343
+ <xs:annotation>
344
+ <xs:documentation xml:lang="en">The authorization response string for credit card authorization requests.</xs:documentation>
345
+ </xs:annotation>
346
+ </xs:element>
347
+ <xs:element name="billing-address-match" type="xs:string">
348
+ <xs:annotation>
349
+ <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>
350
+ </xs:annotation>
351
+ </xs:element>
352
+ <xs:element name="billing-zip-match" type="xs:string">
353
+ <xs:annotation>
354
+ <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>
355
+ </xs:annotation>
356
+ </xs:element>
357
+ <xs:element name="avs-hold" type="xs:string">
358
+ <xs:annotation>
359
+ <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>
360
+ </xs:annotation>
361
+ </xs:element>
362
+ <xs:element name="merchant-name" type="xs:string">
363
+ <xs:annotation>
364
+ <xs:documentation xml:lang="en">The merchant account against which the credit request has been placed.</xs:documentation>
365
+ </xs:annotation>
366
+ </xs:element>
367
+ <xs:element name="order-header">
368
+ <xs:annotation>
369
+ <xs:documentation xml:lang="en">Main Element that contains all basic order related information.</xs:documentation>
370
+ </xs:annotation>
371
+ <xs:complexType>
372
+ <xs:sequence>
373
+ <xs:element ref="customer-order-number" minOccurs="0" maxOccurs="1"/>
374
+ <xs:element ref="brightpoint-order-number" minOccurs="0" maxOccurs="1"/>
375
+ <xs:element ref="order-reference" minOccurs="0" maxOccurs="1"/>
376
+ <xs:element ref="customer-order-date" minOccurs="1" maxOccurs="1"/>
377
+ <xs:element ref="order-sub-total" minOccurs="0" maxOccurs="1"/>
378
+ <xs:element ref="order-discount" minOccurs="0" maxOccurs="1"/>
379
+ <xs:element ref="order-tax1" minOccurs="0" maxOccurs="1"/>
380
+ <xs:element ref="order-tax2" minOccurs="0" maxOccurs="1"/>
381
+ <xs:element ref="order-tax3" minOccurs="0" maxOccurs="1"/>
382
+ <xs:element ref="order-shipment-charge" minOccurs="0" maxOccurs="1"/>
383
+ <xs:element ref="order-total-net" minOccurs="0" maxOccurs="1"/>
384
+ <xs:element ref="order-status" minOccurs="0" maxOccurs="1"/>
385
+ <xs:element ref="order-type" minOccurs="1" maxOccurs="1"/>
386
+ <xs:element ref="return-request-expiration-date" minOccurs="0" maxOccurs="1"/>
387
+ </xs:sequence>
388
+ </xs:complexType>
389
+ </xs:element>
390
+ <xs:element name="customer-order-number" type="xs:string">
391
+ <xs:annotation>
392
+ <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
393
+ 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
394
+ customer. </xs:documentation>
395
+ </xs:annotation>
396
+ </xs:element>
397
+ <xs:element name="brightpoint-order-number" type="xs:string">
398
+ <xs:annotation>
399
+ <xs:documentation xml:lang="en"> Order number in Brightpoint's system if the order was originally shipped by Brightpoint and needs to be tracked as such. </xs:documentation>
400
+ </xs:annotation>
401
+ </xs:element>
402
+ <xs:element name="order-reference" type="xs:string">
403
+ <xs:annotation>
404
+ <xs:documentation xml:lang="en">This is the Order Reference. This is a pass-through information.</xs:documentation>
405
+ </xs:annotation>
406
+ </xs:element>
407
+ <xs:element name="customer-order-date" type="xs:string">
408
+ <xs:annotation>
409
+ <xs:documentation xml:lang="en">Order Date on sender's system. This is pass-through information. In CCYYMMDD.</xs:documentation>
410
+ </xs:annotation>
411
+ </xs:element>
412
+ <xs:element name="order-sub-total" type="xs:decimal">
413
+ <xs:annotation>
414
+ <xs:documentation xml:lang="en">Sub-total amount for the order. This is pass-through information. </xs:documentation>
415
+ </xs:annotation>
416
+ </xs:element>
417
+ <xs:element name="order-discount" type="xs:decimal">
418
+ <xs:annotation>
419
+ <xs:documentation xml:lang="en">Discounted amount on the order. This is pass-through information. </xs:documentation>
420
+ </xs:annotation>
421
+ </xs:element>
422
+ <xs:element name="order-tax1" type="xs:decimal">
423
+ <xs:annotation>
424
+ <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>
425
+ </xs:annotation>
426
+ </xs:element>
427
+ <xs:element name="order-tax2" type="xs:decimal">
428
+ <xs:annotation>
429
+ <xs:documentation xml:lang="en">Integration specific second tax field. This is pass-through information.</xs:documentation>
430
+ </xs:annotation>
431
+ </xs:element>
432
+ <xs:element name="order-tax3" type="xs:decimal">
433
+ <xs:annotation>
434
+ <xs:documentation xml:lang="en">Integration specific third tax field. This is pass-through information.</xs:documentation>
435
+ </xs:annotation>
436
+ </xs:element>
437
+ <xs:element name="order-shipment-charge" type="xs:decimal">
438
+ <xs:annotation>
439
+ <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>
440
+ </xs:annotation>
441
+ </xs:element>
442
+ <xs:element name="order-total-net" type="xs:decimal">
443
+ <xs:annotation>
444
+ <xs:documentation xml:lang="en">Net total on Order. This is pass-through information. </xs:documentation>
445
+ </xs:annotation>
446
+ </xs:element>
447
+ <xs:element name="order-status" type="xs:string"/>
448
+ <xs:element name="order-type" type="xs:string">
449
+ <xs:annotation>
450
+ <xs:documentation xml:lang="en">Order Type on Brightpoint's system.</xs:documentation>
451
+ </xs:annotation>
452
+ </xs:element>
453
+ <xs:element name="return-request-expiration-date" type="xs:string">
454
+ <xs:annotation>
455
+ <xs:documentation xml:lang="en">Return Request Expiration Date on sender's system. In CCYYMMDD.</xs:documentation>
456
+ </xs:annotation>
457
+ </xs:element>
458
+ <xs:element name="detail">
459
+ <xs:annotation>
460
+ <xs:documentation xml:lang="en">All lines associated with the specific header are included here.</xs:documentation>
461
+ </xs:annotation>
462
+ <xs:complexType>
463
+ <xs:sequence>
464
+ <xs:element ref="line-item" minOccurs="1" maxOccurs="unbounded"/>
465
+ </xs:sequence>
466
+ </xs:complexType>
467
+ </xs:element>
468
+ <xs:element name="line-item">
469
+ <xs:complexType>
470
+ <xs:sequence>
471
+ <xs:element ref="line-no" minOccurs="1" maxOccurs="1"/>
472
+ <xs:element ref="line-reference" minOccurs="0" maxOccurs="1"/>
473
+ <xs:element ref="item-code" minOccurs="1" maxOccurs="1"/>
474
+ <xs:element ref="universal-product-code" minOccurs="0" maxOccurs="1"/>
475
+ <xs:element ref="product-name" minOccurs="0" maxOccurs="1"/>
476
+ <xs:element ref="comments" minOccurs="0" maxOccurs="1"/>
477
+ <xs:element ref="quantity" minOccurs="1" maxOccurs="1"/>
478
+ <xs:element ref="unit-of-measure" minOccurs="1" maxOccurs="1"/>
479
+ <xs:element ref="min" minOccurs="0" maxOccurs="1"/>
480
+ <xs:element ref="sid" minOccurs="0" maxOccurs="1"/>
481
+ <xs:element ref="esn" minOccurs="0" maxOccurs="1"/>
482
+ <xs:element ref="imei" minOccurs="0" maxOccurs="1"/>
483
+ <xs:element ref="market-id" minOccurs="0" maxOccurs="1"/>
484
+ <xs:element ref="line-status" minOccurs="0" maxOccurs="1"/>
485
+ <xs:element ref="base-price" minOccurs="0" maxOccurs="1"/>
486
+ <xs:element ref="line-discount" minOccurs="0" maxOccurs="1"/>
487
+ <xs:element ref="line-tax1" minOccurs="0" maxOccurs="1"/>
488
+ <xs:element ref="line-tax2" minOccurs="0" maxOccurs="1"/>
489
+ <xs:element ref="line-tax3" minOccurs="0" maxOccurs="1"/>
490
+ <xs:element ref="ship-date" minOccurs="0" maxOccurs="1"/>
491
+ <xs:element ref="failure-date" minOccurs="0" maxOccurs="1"/>
492
+ <xs:element ref="failure-description" minOccurs="0" maxOccurs="1"/>
493
+ <xs:element ref="special-message" minOccurs="0" maxOccurs="1"/>
494
+ </xs:sequence>
495
+ </xs:complexType>
496
+ </xs:element>
497
+ <xs:element name="line-no" type="xs:string">
498
+ <xs:annotation>
499
+ <xs:documentation xml:lang="en">Line Number at the detail level in customer's system.</xs:documentation>
500
+ </xs:annotation>
501
+ </xs:element>
502
+ <xs:element name="line-reference" type="xs:string">
503
+ <xs:annotation>
504
+ <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>
505
+ </xs:annotation>
506
+ </xs:element>
507
+ <xs:element name="item-code" type="xs:string">
508
+ <xs:annotation>
509
+ <xs:documentation xml:lang="en">Item Code for the product on Brightpoint's system.</xs:documentation>
510
+ </xs:annotation>
511
+ </xs:element>
512
+ <xs:element name="universal-product-code" type="xs:string">
513
+ <xs:annotation>
514
+ <xs:documentation xml:lang="en">UPC for the product.</xs:documentation>
515
+ </xs:annotation>
516
+ </xs:element>
517
+ <xs:element name="product-name" type="xs:string">
518
+ <xs:annotation>
519
+ <xs:documentation xml:lang="en">Name of product in the manufacturer's system.</xs:documentation>
520
+ </xs:annotation>
521
+ </xs:element>
522
+ <xs:element name="quantity" type="xs:decimal">
523
+ <xs:annotation>
524
+ <xs:documentation xml:lang="en">Number of units of product ordered.</xs:documentation>
525
+ </xs:annotation>
526
+ </xs:element>
527
+ <xs:element name="unit-of-measure" type="xs:string">
528
+ <xs:annotation>
529
+ <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 -
530
+ Each, CT - Carton, PT - Pallet </xs:documentation>
531
+ </xs:annotation>
532
+ </xs:element>
533
+ <xs:element name="min" type="xs:string">
534
+ <xs:annotation>
535
+ <xs:documentation xml:lang="en">MIN for the device</xs:documentation>
536
+ </xs:annotation>
537
+ </xs:element><xs:element name="sid" type="xs:string">
538
+ <xs:annotation>
539
+ <xs:documentation xml:lang="en">SID for the device</xs:documentation>
540
+ </xs:annotation>
541
+ </xs:element>
542
+ <xs:element name="esn" type="xs:string">
543
+ <xs:annotation>
544
+ <xs:documentation xml:lang="en">ESN for the device</xs:documentation>
545
+ </xs:annotation>
546
+ </xs:element>
547
+ <xs:element name="imei" type="xs:string">
548
+ <xs:annotation>
549
+ <xs:documentation xml:lang="en">IMEI for the device</xs:documentation>
550
+ </xs:annotation>
551
+ </xs:element>
552
+ <xs:element name="market-id" type="xs:string">
553
+ <xs:annotation>
554
+ <xs:documentation xml:lang="en">Market ID for the device</xs:documentation>
555
+ </xs:annotation>
556
+ </xs:element>
557
+ <xs:element name="line-status" type="xs:string">
558
+ <xs:annotation>
559
+ <xs:documentation xml:lang="en">Status of line in customer's system. This is pass-through information.</xs:documentation>
560
+ </xs:annotation>
561
+ </xs:element>
562
+ <xs:element name="base-price" type="xs:decimal">
563
+ <xs:annotation>
564
+ <xs:documentation xml:lang="en">Base price of line item.</xs:documentation>
565
+ </xs:annotation>
566
+ </xs:element>
567
+ <xs:element name="line-discount" type="xs:decimal">
568
+ <xs:annotation>
569
+ <xs:documentation xml:lang="en">Discount on Line Item. This is pass-through information.</xs:documentation>
570
+ </xs:annotation>
571
+ </xs:element>
572
+ <xs:element name="line-tax1" type="xs:decimal">
573
+ <xs:annotation>
574
+ <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>
575
+ </xs:annotation>
576
+ </xs:element>
577
+ <xs:element name="line-tax2" type="xs:decimal">
578
+ <xs:annotation>
579
+ <xs:documentation xml:lang="en">Integration specific second tax field for line item. This is pass-through information.</xs:documentation>
580
+ </xs:annotation>
581
+ </xs:element>
582
+ <xs:element name="line-tax3" type="xs:decimal">
583
+ <xs:annotation>
584
+ <xs:documentation xml:lang="en">Integration specific third tax field for line item. This is pass-through information.</xs:documentation>
585
+ </xs:annotation>
586
+ </xs:element>
587
+ <xs:element name="ship-date" type="xs:string">
588
+ <xs:annotation>
589
+ <xs:documentation xml:lang="en">Date on which line was shipped. In CCYYMMDD.</xs:documentation>
590
+ </xs:annotation>
591
+ </xs:element>
592
+ <xs:element name="failure-date" type="xs:string">
593
+ <xs:annotation>
594
+ <xs:documentation xml:lang="en">Date on which failure was reported. In CCYYMMDD.</xs:documentation>
595
+ </xs:annotation>
596
+ </xs:element>
597
+ <xs:element name="failure-description" type="xs:string">
598
+ <xs:annotation>
599
+ <xs:documentation xml:lang="en">Descriptive value for failures.</xs:documentation>
600
+ </xs:annotation>
601
+ </xs:element>
602
+ <xs:element name="special-message">
603
+ <xs:annotation>
604
+ <xs:documentation>Cistomer specific special message</xs:documentation>
605
+ </xs:annotation>
606
+ <xs:complexType>
607
+ <xs:sequence>
608
+ <xs:element ref="special-message1" minOccurs="0" maxOccurs="1"/>
609
+ <xs:element ref="special-message2" minOccurs="0" maxOccurs="1"/>
610
+ <xs:element ref="special-message3" minOccurs="0" maxOccurs="1"/>
611
+ <xs:element ref="special-message4" minOccurs="0" maxOccurs="1"/>
612
+ <xs:element ref="special-message5" minOccurs="0" maxOccurs="1"/>
613
+ </xs:sequence>
614
+ </xs:complexType>
615
+ </xs:element>
616
+ <xs:element name="special-message1" type="xs:string">
617
+ <xs:annotation>
618
+ <xs:documentation xml:lang="en">Special Message 1.</xs:documentation>
619
+ </xs:annotation>
620
+ </xs:element>
621
+ <xs:element name="special-message2" type="xs:string">
622
+ <xs:annotation>
623
+ <xs:documentation xml:lang="en">Special Message 2.</xs:documentation>
624
+ </xs:annotation>
625
+ </xs:element>
626
+ <xs:element name="special-message3" type="xs:string">
627
+ <xs:annotation>
628
+ <xs:documentation xml:lang="en">Special Message 3.</xs:documentation>
629
+ </xs:annotation>
630
+ </xs:element>
631
+ <xs:element name="special-message4" type="xs:string">
632
+ <xs:annotation>
633
+ <xs:documentation xml:lang="en">Special Message 4.</xs:documentation>
634
+ </xs:annotation>
635
+ </xs:element>
636
+ <xs:element name="special-message5" type="xs:string">
637
+ <xs:annotation>
638
+ <xs:documentation xml:lang="en">Special Message 5.</xs:documentation>
639
+ </xs:annotation>
640
+ </xs:element>
641
+ </xs:schema>