tracking_number 1.3.0 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tracking_number
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Keen
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-05 00:00:00.000000000 Z
11
+ date: 2022-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -147,26 +147,16 @@ extra_rdoc_files:
147
147
  files:
148
148
  - ".document"
149
149
  - ".github/dependabot.yml"
150
+ - ".github/workflows/release.yml"
150
151
  - ".github/workflows/ruby.yml"
151
152
  - ".gitignore"
152
153
  - ".gitmodules"
153
- - ".travis.yml"
154
+ - ".tool-versions"
154
155
  - CHANGELOG.md
155
156
  - Gemfile
156
157
  - LICENSE.txt
157
158
  - README.md
158
159
  - Rakefile
159
- - lib/data/couriers/amazon.json
160
- - lib/data/couriers/canadapost.json
161
- - lib/data/couriers/dhl.json
162
- - lib/data/couriers/dpd.json
163
- - lib/data/couriers/fedex.json
164
- - lib/data/couriers/landmark.json
165
- - lib/data/couriers/lasership.json
166
- - lib/data/couriers/ontrac.json
167
- - lib/data/couriers/s10.json
168
- - lib/data/couriers/ups.json
169
- - lib/data/couriers/usps.json
170
160
  - lib/tracking_number.rb
171
161
  - lib/tracking_number/active_model_validator.rb
172
162
  - lib/tracking_number/base.rb
@@ -175,16 +165,18 @@ files:
175
165
  - lib/tracking_number/loader.rb
176
166
  - lib/tracking_number/unknown.rb
177
167
  - lib/tracking_number/version.rb
168
+ - package.json
178
169
  - test/active_model_validator_test.rb
179
170
  - test/test_helper.rb
180
171
  - test/tracking_number_meta_test.rb
181
172
  - test/tracking_number_test.rb
182
173
  - tracking_number.gemspec
174
+ - yarn.lock
183
175
  homepage: http://github.com/jkeen/tracking_number
184
176
  licenses:
185
177
  - MIT
186
178
  metadata: {}
187
- post_install_message:
179
+ post_install_message:
188
180
  rdoc_options: []
189
181
  require_paths:
190
182
  - lib
@@ -199,12 +191,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
191
  - !ruby/object:Gem::Version
200
192
  version: '0'
201
193
  requirements: []
202
- rubygems_version: 3.2.32
203
- signing_key:
194
+ rubyforge_project:
195
+ rubygems_version: 2.7.6
196
+ signing_key:
204
197
  specification_version: 4
205
198
  summary: Identifies valid tracking numbers
206
- test_files:
207
- - test/active_model_validator_test.rb
208
- - test/test_helper.rb
209
- - test/tracking_number_meta_test.rb
210
- - test/tracking_number_test.rb
199
+ test_files: []
data/.travis.yml DELETED
@@ -1,20 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
- rvm:
5
- - 2.0.0
6
- - 2.1.10
7
- - 2.2.9
8
- - 2.3.6
9
- - 2.4.3
10
- - 2.5.0
11
- before_install:
12
- - travis_retry gem update --system
13
- deploy:
14
- provider: rubygems
15
- api_key:
16
- secure: AkaGJCc8pCkVY5IPVa3dwvS4wvPlMHHkyqrIpi8G5nFiDFjtHjWY7tDUfFCxMrF7WNXWVNg/bgkzwfvoAZcvGVU9grzCDqTC9uvsF5V3hB5FikyQ6h++mJRCiYzfLbjzyAT3FAuB49dXYeZR/eOKPPqn9jMAQPyHd6+PAGE3BeI=
17
- gem: tracking_number
18
- on:
19
- tags: true
20
- repo: jkeen/tracking_number
@@ -1,43 +0,0 @@
1
- {
2
- "name": "Amazon",
3
- "courier_code": "amazon",
4
- "tracking_numbers": [
5
- {
6
- "name": "Amazon Logistics",
7
- "regex": [
8
- "\\s*T\\s*B\\s*A\\s*(?<SerialNumber>([0-9]\\s*){12,12})\\s*"
9
- ],
10
- "validation": {},
11
- "test_numbers": {
12
- "valid": [
13
- "TBA000000000000",
14
- "TBA010000000000",
15
- " T B A 0 0 0 0 0 0 0 0 0 0 0 0 ",
16
- "TBA502887274000"
17
- ],
18
- "invalid": [
19
- "TBA50288727400A",
20
- "000000000000000",
21
- "000000000000",
22
- "TBB000000000000"
23
- ]
24
- }
25
- },
26
- {
27
- "name": "Amazon International",
28
- "regex": [
29
- "\\s*[AFC]\\s*(?<SerialNumber>([0-9]\\s*){10,10})\\s*"
30
- ],
31
- "validation": {},
32
- "test_numbers": {
33
- "valid": [
34
- "C1004444443",
35
- "C1004444444"
36
- ],
37
- "invalid": [
38
- "D1234567890"
39
- ]
40
- }
41
- }
42
- ]
43
- }
@@ -1,30 +0,0 @@
1
- {
2
- "name": "Canada Post",
3
- "courier_code": "canada_post",
4
- "tracking_numbers": [
5
- {
6
- "name": "Canada Post (16)",
7
- "regex": "\\s*(?<SerialNumber>(?<OriginId>([0-9]\\s*){7})([0-9]\\s*){8})(?<CheckDigit>[0-9]\\s*)",
8
- "validation": {
9
- "checksum": {
10
- "name": "mod10",
11
- "evens_multiplier": 3,
12
- "odds_multiplier": 1
13
- }
14
- },
15
- "tracking_url": "https://www.canadapost-postescanada.ca/track-reperage/en#/search?searchFor=%s",
16
- "test_numbers": {
17
- "valid": [
18
- "0073938000549297",
19
- "7035114477138472",
20
- "4002847016405018"
21
- ],
22
- "invalid": [
23
- "0073938000549292",
24
- "7035114477138471",
25
- "5002847016405018"
26
- ]
27
- }
28
- }
29
- ]
30
- }
@@ -1,66 +0,0 @@
1
- {
2
- "name": "DHL",
3
- "courier_code": "dhl",
4
- "tracking_numbers": [
5
- {
6
- "name": "DHL Express",
7
- "regex": "\\s*(?<SerialNumber>([0-9]\\s*){9})(?<CheckDigit>([0-9]\\s*))",
8
- "validation": {
9
- "checksum": {
10
- "name": "mod7"
11
- }
12
- },
13
- "tracking_url": "http://www.dhl.com/en/express/tracking.html?brand=DHL&AWB=%s",
14
- "test_numbers": {
15
- "valid": [
16
- "3318810025",
17
- "8487135506",
18
- "3318810036",
19
- " 3 3 1 8 8 1 0 0 3 6 ",
20
- "3318810014"
21
- ],
22
- "invalid": [
23
- "3318810010",
24
- "3318810034",
25
- "3318810011"
26
- ]
27
- }
28
- },
29
- {
30
- "name": "DHL Express Air",
31
- "regex": "\\s*(?<SerialNumber>([0-9]\\s*){10})(?<CheckDigit>[0-9]\\s*)",
32
- "validation": {
33
- "checksum": {
34
- "name": "mod7"
35
- }
36
- },
37
- "tracking_url": "http://www.dhl.com/en/express/tracking.html?brand=DHL&AWB=%s",
38
- "test_numbers": {
39
- "valid": [
40
- "73891051146",
41
- " 7 3 8 9 1 0 5 1 1 4 6 "
42
- ],
43
- "invalid": [
44
- "73891051149",
45
- "73891051147"
46
- ]
47
- }
48
- },
49
- {
50
- "name": "DHL E-Commerce",
51
- "regex": "\\s*((G\\s*M\\s*)|(L\\s*X\\s*)|(R\\s*X\\s*)|(U\\s*V\\s*)|(C\\s*N\\s*)|(S\\s*G\\s*)|(T\\s*H\\s*)|(I\\s*N\\s*)|(H\\s*K\\s*)|(M\\s*Y\\s*))\\s*(?<SerialNumber>(\\w\\s*){10,39})",
52
- "validation": {},
53
- "tracking_url": "http://www.dhl.com/en/express/tracking.html?brand=DHL&AWB=%s",
54
- "test_numbers": {
55
- "valid": [
56
- "GM2951173225174494",
57
- "GM295117494011169042"
58
- ],
59
- "invalid": [
60
- "GS295117494011169041",
61
- "GR295117494011169045"
62
- ]
63
- }
64
- }
65
- ]
66
- }
@@ -1,339 +0,0 @@
1
- {
2
- "name": "DPD",
3
- "courier_code": "dpd",
4
- "tracking_numbers": [
5
- {
6
- "name": "DPD (28)",
7
- "regex": [
8
- "\\s*",
9
- "(?<SerialNumber>",
10
- "(?<DestinationZip>([0-9]\\s*){7})",
11
- "([0-9]\\s*){14}",
12
- "(?<ServiceType>([0-9]\\s*){3})",
13
- "(?<CountryCode>([0-9]\\s*){3})",
14
- ")",
15
- "(?<CheckDigit>[0-9A-Z]\\s*)"
16
- ],
17
- "validation": {
18
- "checksum": {
19
- "name": "mod_37_36"
20
- }
21
- },
22
- "tracking_url": "https://www.dpdgroup.com/nl/mydpd/my-parcels/track?lang=en&parcelNumber=%s",
23
- "test_numbers": {
24
- "valid": [
25
- "00 81827 0998 0000 0200 33 350 276 C",
26
- "0081 827 0998 0000 0200 45 327 276 N"
27
- ],
28
- "invalid": [
29
- "008182709980000020033350276A",
30
- "0081 827 0998 0000 0200 45 000 000 N"
31
- ]
32
- },
33
- "additional": [
34
- {
35
- "name": "Service Type",
36
- "regex_group_name": "ServiceType",
37
- "lookup": [
38
- {"matches":"101","name":"D","description":"normal parcel"},
39
- {"matches":"102","name":"D-HAZ","description":"normal parcel, hazardous goods"},
40
- {"matches":"105","name":"D-EXW","description":"normal parcel, ex works"},
41
- {"matches":"106","name":"D-EXW-HAZ","description":"normal parcel, ex works, hazardous goods"},
42
- {"matches":"109","name":"D-COD","description":"normal parcel, C.O.D."},
43
- {"matches":"110","name":"D-COD-HAZ","description":"normal parcel, C.O.D., hazardous goods"},
44
- {"matches":"113","name":"D-SWAP","description":"normal parcel, exchange"},
45
- {"matches":"136","name":"D","description":"small parcel"},
46
- {"matches":"154","name":"PARCELLetter","description":"PARCELLetter"},
47
- {"matches":"155","name":"PM2","description":"Guarantee"},
48
- {"matches":"161","name":"PM2-COD","description":"Guarantee, C.O.D."},
49
- {"matches":"179","name":"AM1","description":"DPD 10:00"},
50
- {"matches":"191","name":"AM1-COD","description":"DPD 10:00, C.O.D."},
51
- {"matches":"225","name":"AM2","description":"DPD 12:00"},
52
- {"matches":"237","name":"AM2-COD","description":"DPD 12:00, C.O.D."},
53
- {"matches":"350","name":"AM0","description":"DPD 8:30"}
54
- ]
55
- },
56
- {
57
- "name": "Country Code",
58
- "regex_group_name": "CountryCode",
59
- "lookup": [
60
- {"matches":"818","country_code":"EGY","country_short_code":"EG","country":"Aegypten"},
61
- {"matches":"226","country_code":"GNQ","country_short_code":"GQ","country":"Aequatorial-Guinea"},
62
- {"matches":"231","country_code":"ETH","country_short_code":"ET","country":"Aethiopien"},
63
- {"matches":"004","country_code":"AFG","country_short_code":"AF","country":"Afghanistan"},
64
- {"matches":"248","country_code":"ALA","country_short_code":"AX","country":"Aland-Inseln"},
65
- {"matches":"008","country_code":"ALB","country_short_code":"AL","country":"Albanien"},
66
- {"matches":"012","country_code":"DZA","country_short_code":"DZ","country":"Algerien"},
67
- {"matches":"016","country_code":"ASM","country_short_code":"AS","country":"Amerikanisch-Samoa"},
68
- {"matches":"020","country_code":"AND","country_short_code":"AD","country":"Andorra"},
69
- {"matches":"024","country_code":"AGO","country_short_code":"AO","country":"Angola"},
70
- {"matches":"660","country_code":"AIA","country_short_code":"AI","country":"Anguilla"},
71
- {"matches":"010","country_code":"ATA","country_short_code":"AQ","country":"Antarctica"},
72
- {"matches":"028","country_code":"ATG","country_short_code":"AG","country":"Antigua & Barbuda"},
73
- {"matches":"032","country_code":"ARG","country_short_code":"AR","country":"Argentinien"},
74
- {"matches":"051","country_code":"ARM","country_short_code":"AM","country":"Armenien"},
75
- {"matches":"533","country_code":"ABW","country_short_code":"AW","country":"Aruba"},
76
- {"matches":"031","country_code":"AZE","country_short_code":"AZ","country":"Aserbaidschan"},
77
- {"matches":"036","country_code":"AUS","country_short_code":"AU","country":"Australien"},
78
- {"matches":"044","country_code":"BHS","country_short_code":"BS","country":"Bahamas"},
79
- {"matches":"048","country_code":"BHR","country_short_code":"BH","country":"Bahrain"},
80
- {"matches":"050","country_code":"BGD","country_short_code":"BD","country":"Bangladesh"},
81
- {"matches":"052","country_code":"BRB","country_short_code":"BB","country":"Barbados"},
82
- {"matches":"056","country_code":"BEL","country_short_code":"BE","country":"Belgien"},
83
- {"matches":"084","country_code":"BLZ","country_short_code":"BZ","country":"Belize"},
84
- {"matches":"204","country_code":"BEN","country_short_code":"BJ","country":"Benin"},
85
- {"matches":"060","country_code":"BMU","country_short_code":"BM","country":"Bermudas"},
86
- {"matches":"064","country_code":"BTN","country_short_code":"BT","country":"Bhutan"},
87
- {"matches":"068","country_code":"BOL","country_short_code":"BO","country":"Bolivien"},
88
- {"matches":"535","country_code":"BES","country_short_code":"BQ","country":"Bonaire, Sint Eustatius und Saba"},
89
- {"matches":"070","country_code":"BIH","country_short_code":"BA","country":"Bosnien & Herzegowina"},
90
- {"matches":"072","country_code":"BWA","country_short_code":"BW","country":"Botswana"},
91
- {"matches":"074","country_code":"BVT","country_short_code":"BV","country":"Bouvet-Insel"},
92
- {"matches":"076","country_code":"BRA","country_short_code":"BR","country":"Brasilien"},
93
- {"matches":"086","country_code":"IOT","country_short_code":"IO","country":"British Indian Ocean Territory"},
94
- {"matches":"096","country_code":"BRN","country_short_code":"BN","country":"Brunei Darussalam"},
95
- {"matches":"100","country_code":"BGR","country_short_code":"BG","country":"Bulgarien"},
96
- {"matches":"854","country_code":"BFA","country_short_code":"BF","country":"Burkina Faso"},
97
- {"matches":"108","country_code":"BDI","country_short_code":"BI","country":"Burundi"},
98
- {"matches":"136","country_code":"CYM","country_short_code":"KY","country":"Cayman-Inseln"},
99
- {"matches":"152","country_code":"CHL","country_short_code":"CL","country":"Chile"},
100
- {"matches":"156","country_code":"CHN","country_short_code":"CN","country":"China"},
101
- {"matches":"184","country_code":"COK","country_short_code":"CK","country":"Cook Inseln"},
102
- {"matches":"188","country_code":"CRI","country_short_code":"CR","country":"Costa Rica"},
103
- {"matches":"531","country_code":"CUW","country_short_code":"CW","country":"Curacao"},
104
- {"matches":"208","country_code":"DNK","country_short_code":"DK","country":"Daenemark"},
105
- {"matches":"276","country_code":"DEU","country_short_code":"DE","country":"Deutschland"},
106
- {"matches":"212","country_code":"DMA","country_short_code":"DM","country":"Dominica"},
107
- {"matches":"214","country_code":"DOM","country_short_code":"DO","country":"Dominikanische Republik"},
108
- {"matches":"262","country_code":"DJI","country_short_code":"DJ","country":"Dschibuti"},
109
- {"matches":"218","country_code":"ECU","country_short_code":"EC","country":"Ecuador"},
110
- {"matches":"222","country_code":"SLV","country_short_code":"SV","country":"El Salvador"},
111
- {"matches":"384","country_code":"CIV","country_short_code":"CI","country":"Elfenbeinkueste"},
112
- {"matches":"232","country_code":"ERI","country_short_code":"ER","country":"Eritrea"},
113
- {"matches":"233","country_code":"EST","country_short_code":"EE","country":"Estland"},
114
- {"matches":"234","country_code":"FRO","country_short_code":"FO","country":"Faeroer Inseln"},
115
- {"matches":"238","country_code":"FLK","country_short_code":"FK","country":"Falkland Inseln"},
116
- {"matches":"242","country_code":"FJI","country_short_code":"FJ","country":"Fidschi"},
117
- {"matches":"246","country_code":"FIN","country_short_code":"FI","country":"Finnland"},
118
- {"matches":"250","country_code":"FRA","country_short_code":"FR","country":"Frankreich"},
119
- {"matches":"260","country_code":"ATF","country_short_code":"TF","country":"Franzoesische Sued- und Antarktisterritorien"},
120
- {"matches":"258","country_code":"PYF","country_short_code":"PF","country":"Franzoesisch-Polynesien"},
121
- {"matches":"266","country_code":"GAB","country_short_code":"GA","country":"Gabun"},
122
- {"matches":"270","country_code":"GMB","country_short_code":"GM","country":"Gambia"},
123
- {"matches":"268","country_code":"GEO","country_short_code":"GE","country":"Georgien"},
124
- {"matches":"288","country_code":"GHA","country_short_code":"GH","country":"Ghana"},
125
- {"matches":"292","country_code":"GIB","country_short_code":"GI","country":"Gibraltar"},
126
- {"matches":"308","country_code":"GRD","country_short_code":"GD","country":"Grenada"},
127
- {"matches":"300","country_code":"GRC","country_short_code":"GR","country":"Griechenland"},
128
- {"matches":"304","country_code":"GRL","country_short_code":"GL","country":"Groenland"},
129
- {"matches":"826","country_code":"GBR","country_short_code":"GB","country":"Grossbritannien & Nordirland"},
130
- {"matches":"312","country_code":"GLP","country_short_code":"GP","country":"Guadeloupe"},
131
- {"matches":"316","country_code":"GUM","country_short_code":"GU","country":"Guam"},
132
- {"matches":"320","country_code":"GTM","country_short_code":"GT","country":"Guatemala"},
133
- {"matches":"831","country_code":"GGY","country_short_code":"GG","country":"Guernsey"},
134
- {"matches":"324","country_code":"GIN","country_short_code":"GN","country":"Guinea"},
135
- {"matches":"624","country_code":"GNB","country_short_code":"GW","country":"Guinea-Bissau"},
136
- {"matches":"328","country_code":"GUY","country_short_code":"GY","country":"Guyana"},
137
- {"matches":"254","country_code":"GUF","country_short_code":"GF","country":"Guyana (Franzoesisch)"},
138
- {"matches":"332","country_code":"HTI","country_short_code":"HT","country":"Haiti"},
139
- {"matches":"334","country_code":"HMD","country_short_code":"HM","country":"Heard & Mc Donalds Inseln"},
140
- {"matches":"340","country_code":"HND","country_short_code":"HN","country":"Honduras"},
141
- {"matches":"344","country_code":"HKG","country_short_code":"HK","country":"Hong Kong"},
142
- {"matches":"356","country_code":"IND","country_short_code":"IN","country":"Indien"},
143
- {"matches":"360","country_code":"IDN","country_short_code":"ID","country":"Indonesien"},
144
- {"matches":"364","country_code":"IRN","country_short_code":"IR","country":"Iran"},
145
- {"matches":"368","country_code":"IRQ","country_short_code":"IQ","country":"Iraq"},
146
- {"matches":"372","country_code":"IRL","country_short_code":"IE","country":"Irland"},
147
- {"matches":"352","country_code":"ISL","country_short_code":"IS","country":"Island"},
148
- {"matches":"833","country_code":"IMN","country_short_code":"IM","country":"Isle of Man"},
149
- {"matches":"376","country_code":"ISR","country_short_code":"IL","country":"Israel"},
150
- {"matches":"380","country_code":"ITA","country_short_code":"IT","country":"Italien"},
151
- {"matches":"388","country_code":"JAM","country_short_code":"JM","country":"Jamaika"},
152
- {"matches":"392","country_code":"JPN","country_short_code":"JP","country":"Japan"},
153
- {"matches":"887","country_code":"YEM","country_short_code":"YE","country":"Jemen"},
154
- {"matches":"832","country_code":"JEY","country_short_code":"JE","country":"Jersey"},
155
- {"matches":"400","country_code":"JOR","country_short_code":"JO","country":"Jordanien"},
156
- {"matches":"092","country_code":"VGB","country_short_code":"VG","country":"Jungferninseln (britisch)"},
157
- {"matches":"116","country_code":"KHM","country_short_code":"KH","country":"Kambodscha"},
158
- {"matches":"120","country_code":"CMR","country_short_code":"CM","country":"Kamerun"},
159
- {"matches":"124","country_code":"CAN","country_short_code":"CA","country":"Kanada"},
160
- {"matches":"991","country_code":"ISC","country_short_code":"IC","country":"Kanarische Inseln"},
161
- {"matches":"132","country_code":"CPV","country_short_code":"CV","country":"Kapverdische Inseln"},
162
- {"matches":"583","country_code":"FSM","country_short_code":"FM","country":"Karolinen Inseln"},
163
- {"matches":"398","country_code":"KAZ","country_short_code":"KZ","country":"Kasachstan"},
164
- {"matches":"634","country_code":"QAT","country_short_code":"QA","country":"Katar"},
165
- {"matches":"404","country_code":"KEN","country_short_code":"KE","country":"Kenia"},
166
- {"matches":"417","country_code":"KGZ","country_short_code":"KG","country":"Kirgistan"},
167
- {"matches":"296","country_code":"KIR","country_short_code":"KI","country":"Kiribati"},
168
- {"matches":"581","country_code":"UMI","country_short_code":"UM","country":"Kleine vorgelagerte Inseln Vereinigter Staaten"},
169
- {"matches":"166","country_code":"CCK","country_short_code":"CC","country":"Kokos Inseln"},
170
- {"matches":"170","country_code":"COL","country_short_code":"CO","country":"Kolumbien"},
171
- {"matches":"174","country_code":"COM","country_short_code":"KM","country":"Komoren"},
172
- {"matches":"178","country_code":"COG","country_short_code":"CG","country":"Kongo"},
173
- {"matches":"180","country_code":"COD","country_short_code":"CD","country":"Kongo, Dem. Rep."},
174
- {"matches":"191","country_code":"HRV","country_short_code":"HR","country":"Kroatien"},
175
- {"matches":"192","country_code":"CUB","country_short_code":"CU","country":"Kuba"},
176
- {"matches":"414","country_code":"KWT","country_short_code":"KW","country":"Kuwait"},
177
- {"matches":"418","country_code":"LAO","country_short_code":"LA","country":"Laos"},
178
- {"matches":"426","country_code":"LSO","country_short_code":"LS","country":"Lesotho"},
179
- {"matches":"428","country_code":"LVA","country_short_code":"LV","country":"Lettland"},
180
- {"matches":"422","country_code":"LBN","country_short_code":"LB","country":"Libanon"},
181
- {"matches":"430","country_code":"LBR","country_short_code":"LR","country":"Liberia"},
182
- {"matches":"434","country_code":"LBY","country_short_code":"LY","country":"Libyen"},
183
- {"matches":"438","country_code":"LIE","country_short_code":"LI","country":"Liechtenstein"},
184
- {"matches":"440","country_code":"LTU","country_short_code":"LT","country":"Litauen"},
185
- {"matches":"442","country_code":"LUX","country_short_code":"LU","country":"Luxemburg"},
186
- {"matches":"446","country_code":"MAC","country_short_code":"MO","country":"Macao"},
187
- {"matches":"450","country_code":"MDG","country_short_code":"MG","country":"Madagaskar"},
188
- {"matches":"454","country_code":"MWI","country_short_code":"MW","country":"Malawi"},
189
- {"matches":"458","country_code":"MYS","country_short_code":"MY","country":"Malaysia"},
190
- {"matches":"462","country_code":"MDV","country_short_code":"MV","country":"Malediven"},
191
- {"matches":"466","country_code":"MLI","country_short_code":"ML","country":"Mali"},
192
- {"matches":"470","country_code":"MLT","country_short_code":"MT","country":"Malta"},
193
- {"matches":"504","country_code":"MAR","country_short_code":"MA","country":"Marokko"},
194
- {"matches":"584","country_code":"MHL","country_short_code":"MH","country":"Marshall Inseln"},
195
- {"matches":"474","country_code":"MTQ","country_short_code":"MQ","country":"Martinique"},
196
- {"matches":"478","country_code":"MRT","country_short_code":"MR","country":"Mauretanien"},
197
- {"matches":"480","country_code":"MUS","country_short_code":"MU","country":"Mauritius"},
198
- {"matches":"175","country_code":"MYT","country_short_code":"YT","country":"Mayotte"},
199
- {"matches":"807","country_code":"MKD","country_short_code":"MK","country":"Mazedonien"},
200
- {"matches":"484","country_code":"MEX","country_short_code":"MX","country":"Mexiko"},
201
- {"matches":"498","country_code":"MDA","country_short_code":"MD","country":"Moldawien"},
202
- {"matches":"492","country_code":"MCO","country_short_code":"MC","country":"Monaco"},
203
- {"matches":"496","country_code":"MNG","country_short_code":"MN","country":"Mongolei"},
204
- {"matches":"499","country_code":"MNE","country_short_code":"ME","country":"Montenegro"},
205
- {"matches":"500","country_code":"MSR","country_short_code":"MS","country":"Montserrat"},
206
- {"matches":"508","country_code":"MOZ","country_short_code":"MZ","country":"Mosambik"},
207
- {"matches":"104","country_code":"MMR","country_short_code":"MM","country":"Myanmar"},
208
- {"matches":"516","country_code":"NAM","country_short_code":"NA","country":"Namibia"},
209
- {"matches":"520","country_code":"NRU","country_short_code":"NR","country":"Nauru"},
210
- {"matches":"524","country_code":"NPL","country_short_code":"NP","country":"Nepal"},
211
- {"matches":"540","country_code":"NCL","country_short_code":"NC","country":"Neukaledonien"},
212
- {"matches":"554","country_code":"NZL","country_short_code":"NZ","country":"Neuseeland"},
213
- {"matches":"558","country_code":"NIC","country_short_code":"NI","country":"Nicaragua"},
214
- {"matches":"530","country_code":"ANT","country_short_code":"AN","country":"Niederlaendische Antillen"},
215
- {"matches":"528","country_code":"NLD","country_short_code":"NL","country":"Niederlande"},
216
- {"matches":"562","country_code":"NER","country_short_code":"NE","country":"Niger"},
217
- {"matches":"566","country_code":"NGA","country_short_code":"NG","country":"Nigeria"},
218
- {"matches":"570","country_code":"NIU","country_short_code":"NU","country":"Niue"},
219
- {"matches":"580","country_code":"MNP","country_short_code":"MP","country":"Noerdliche Marianen"},
220
- {"matches":"408","country_code":"PRK","country_short_code":"KP","country":"Nordkorea"},
221
- {"matches":"574","country_code":"NFK","country_short_code":"NF","country":"Norfolk Inseln"},
222
- {"matches":"578","country_code":"NOR","country_short_code":"NO","country":"Norwegen"},
223
- {"matches":"040","country_code":"AUT","country_short_code":"AT","country":"Oesterreich"},
224
- {"matches":"512","country_code":"OMN","country_short_code":"OM","country":"Oman"},
225
- {"matches":"626","country_code":"TLS","country_short_code":"TL","country":"Osttimor"},
226
- {"matches":"586","country_code":"PAK","country_short_code":"PK","country":"Pakistan"},
227
- {"matches":"275","country_code":"PSE","country_short_code":"PS","country":"Palaestina"},
228
- {"matches":"585","country_code":"PLW","country_short_code":"PW","country":"Palau"},
229
- {"matches":"591","country_code":"PAN","country_short_code":"PA","country":"Panama"},
230
- {"matches":"598","country_code":"PNG","country_short_code":"PG","country":"Papua-Neuguinea"},
231
- {"matches":"600","country_code":"PRY","country_short_code":"PY","country":"Paraguay"},
232
- {"matches":"604","country_code":"PER","country_short_code":"PE","country":"Peru"},
233
- {"matches":"608","country_code":"PHL","country_short_code":"PH","country":"Philippinen"},
234
- {"matches":"612","country_code":"PCN","country_short_code":"PN","country":"Pitcairn"},
235
- {"matches":"616","country_code":"POL","country_short_code":"PL","country":"Polen"},
236
- {"matches":"620","country_code":"PRT","country_short_code":"PT","country":"Portugal"},
237
- {"matches":"630","country_code":"PRI","country_short_code":"PR","country":"Puerto Rico"},
238
- {"matches":"638","country_code":"REU","country_short_code":"RE","country":"Reunion"},
239
- {"matches":"646","country_code":"RWA","country_short_code":"RW","country":"Ruanda"},
240
- {"matches":"642","country_code":"ROU","country_short_code":"RO","country":"Rumaenien"},
241
- {"matches":"643","country_code":"RUS","country_short_code":"RU","country":"Russland"},
242
- {"matches":"663","country_code":"MAF","country_short_code":"MF","country":"Saint Martin"},
243
- {"matches":"894","country_code":"ZMB","country_short_code":"ZM","country":"Samibia"},
244
- {"matches":"882","country_code":"WSM","country_short_code":"WS","country":"Samoa"},
245
- {"matches":"674","country_code":"SMR","country_short_code":"SM","country":"San Marino"},
246
- {"matches":"678","country_code":"STP","country_short_code":"ST","country":"Sao Tome & Principe"},
247
- {"matches":"682","country_code":"SAU","country_short_code":"SA","country":"Saudi Arabien"},
248
- {"matches":"752","country_code":"SWE","country_short_code":"SE","country":"Schweden"},
249
- {"matches":"756","country_code":"CHE","country_short_code":"CH","country":"Schweiz"},
250
- {"matches":"686","country_code":"SEN","country_short_code":"SN","country":"Senegal"},
251
- {"matches":"688","country_code":"SRB","country_short_code":"RS","country":"Serbien"},
252
- {"matches":"690","country_code":"SYC","country_short_code":"SC","country":"Seychellen"},
253
- {"matches":"694","country_code":"SLE","country_short_code":"SL","country":"Sierra Leone"},
254
- {"matches":"716","country_code":"ZWE","country_short_code":"ZW","country":"Simbabwe"},
255
- {"matches":"702","country_code":"SGP","country_short_code":"SG","country":"Singapur"},
256
- {"matches":"534","country_code":"SXM","country_short_code":"SX","country":"Sint Maarten (niederlaendischer Teil)"},
257
- {"matches":"703","country_code":"SVK","country_short_code":"SK","country":"Slowakei"},
258
- {"matches":"705","country_code":"SVN","country_short_code":"SI","country":"Slowenien"},
259
- {"matches":"090","country_code":"SLB","country_short_code":"SB","country":"Solomon Inseln"},
260
- {"matches":"706","country_code":"SOM","country_short_code":"SO","country":"Somalia"},
261
- {"matches":"724","country_code":"ESP","country_short_code":"ES","country":"Spanien"},
262
- {"matches":"144","country_code":"LKA","country_short_code":"LK","country":"Sri Lanka"},
263
- {"matches":"654","country_code":"SHN","country_short_code":"SH","country":"St. Helena"},
264
- {"matches":"659","country_code":"KNA","country_short_code":"KN","country":"St. Kitts und Nevis"},
265
- {"matches":"662","country_code":"LCA","country_short_code":"LC","country":"St. Lucia"},
266
- {"matches":"666","country_code":"SPM","country_short_code":"PM","country":"St. Pierre & Miquelon"},
267
- {"matches":"670","country_code":"VCT","country_short_code":"VC","country":"St. Vincent und die Grenadinen"},
268
- {"matches":"736","country_code":"SDN","country_short_code":"SD","country":"Sudan"},
269
- {"matches":"710","country_code":"ZAF","country_short_code":"ZA","country":"Suedafrika"},
270
- {"matches":"239","country_code":"SGS","country_short_code":"GS","country":"Suedgeorgien und die Suedlichen Sandwichinseln"},
271
- {"matches":"410","country_code":"KOR","country_short_code":"KR","country":"Suedkorea"},
272
- {"matches":"728","country_code":"SSD","country_short_code":"SS","country":"Suedsudan"},
273
- {"matches":"740","country_code":"SUR","country_short_code":"SR","country":"Suriname"},
274
- {"matches":"744","country_code":"SJM","country_short_code":"SJ","country":"Svalbard & Jan Mayen Inseln"},
275
- {"matches":"748","country_code":"SWZ","country_short_code":"SZ","country":"Swasiland"},
276
- {"matches":"760","country_code":"SYR","country_short_code":"SY","country":"Syrien"},
277
- {"matches":"762","country_code":"TJK","country_short_code":"TJ","country":"Tadschikistan"},
278
- {"matches":"158","country_code":"TWN","country_short_code":"TW","country":"Taiwan"},
279
- {"matches":"834","country_code":"TZA","country_short_code":"TZ","country":"Tansania"},
280
- {"matches":"764","country_code":"THA","country_short_code":"TH","country":"Thailand"},
281
- {"matches":"768","country_code":"TGO","country_short_code":"TG","country":"Togo"},
282
- {"matches":"772","country_code":"TKL","country_short_code":"TK","country":"Tokelau"},
283
- {"matches":"776","country_code":"TON","country_short_code":"TO","country":"Tonga"},
284
- {"matches":"780","country_code":"TTO","country_short_code":"TT","country":"Trinidad & Tobago"},
285
- {"matches":"148","country_code":"TCD","country_short_code":"TD","country":"Tschad"},
286
- {"matches":"203","country_code":"CZE","country_short_code":"CZ","country":"Tschechien (Republik)"},
287
- {"matches":"792","country_code":"TUR","country_short_code":"TR","country":"Tuerkei"},
288
- {"matches":"788","country_code":"TUN","country_short_code":"TN","country":"Tunesien"},
289
- {"matches":"795","country_code":"TKM","country_short_code":"TM","country":"Turkmenistan"},
290
- {"matches":"796","country_code":"TCA","country_short_code":"TC","country":"Turks & Caicos-Inseln"},
291
- {"matches":"798","country_code":"TUV","country_short_code":"TV","country":"Tuvalu"},
292
- {"matches":"800","country_code":"UGA","country_short_code":"UG","country":"Uganda"},
293
- {"matches":"804","country_code":"UKR","country_short_code":"UA","country":"Ukraine"},
294
- {"matches":"348","country_code":"HUN","country_short_code":"HU","country":"Ungarn"},
295
- {"matches":"858","country_code":"URY","country_short_code":"UY","country":"Uruguay"},
296
- {"matches":"850","country_code":"VIR","country_short_code":"VI","country":"US Virgin Islands"},
297
- {"matches":"840","country_code":"USA","country_short_code":"US","country":"USA"},
298
- {"matches":"860","country_code":"UZB","country_short_code":"UZ","country":"Usbekistan"},
299
- {"matches":"548","country_code":"VUT","country_short_code":"VU","country":"Vanuatu"},
300
- {"matches":"336","country_code":"VAT","country_short_code":"VA","country":"Vatikan"},
301
- {"matches":"862","country_code":"VEN","country_short_code":"VE","country":"Venezuela"},
302
- {"matches":"784","country_code":"ARE","country_short_code":"AE","country":"Vereinigte Arabische Emirate"},
303
- {"matches":"704","country_code":"VNM","country_short_code":"VN","country":"Vietnam"},
304
- {"matches":"876","country_code":"WLF","country_short_code":"WF","country":"Wallis & Futuna"},
305
- {"matches":"162","country_code":"CXR","country_short_code":"CX","country":"Weihnachtsinseln"},
306
- {"matches":"112","country_code":"BLR","country_short_code":"BY","country":"Weissrussland"},
307
- {"matches":"732","country_code":"ESH","country_short_code":"EH","country":"West Sahara"},
308
- {"matches":"140","country_code":"CAF","country_short_code":"CF","country":"Zentralafrika"},
309
- {"matches":"196","country_code":"CYP","country_short_code":"CY","country":"Zypern"}
310
- ]
311
- }
312
- ]
313
- },
314
- {
315
- "name": "DPD (14)",
316
- "regex": [
317
- "\\s*(?<SerialNumber>",
318
- "([0-9]\\s*){14}",
319
- ")",
320
- "(?<CheckDigit>[0-9A-Z]\\s*)"
321
- ],
322
- "validation": {
323
- "checksum": {
324
- "name": "mod_37_36"
325
- }
326
- },
327
- "tracking_url": "https://www.dpdgroup.com/nl/mydpd/my-parcels/track?lang=en&parcelNumber=%s",
328
- "test_numbers": {
329
- "valid": [
330
- "09 9800 0002 0033 F",
331
- "0998 0000 0200 34D"
332
- ],
333
- "invalid": [
334
- "09980000020033D"
335
- ]
336
- }
337
- }
338
- ]
339
- }