tracking_number 1.3.2 → 1.3.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f1c67af2720cc0d2ba41487f936900218b41a6ad950aa13df012c83254c4e79
4
- data.tar.gz: e62646e4968999d1683cc8a24962d58ad0506debd1a1e3f1c66c0c4239ea2ec8
3
+ metadata.gz: 6d8a86aeaa8c06073cb379d6c64b1637b8246c8cd54f821696c20c39348061b2
4
+ data.tar.gz: 8e561f7d1ea8c26d0003297ea4ce5cf9835b805bb6278714c10f81a164375f38
5
5
  SHA512:
6
- metadata.gz: 4679026723c90a20749b0088fcfb7fce805eceac56076f5d2620fad31cc3e48a0dae6f5d445784b0ad8351d46af534ae70ea8eb6ef8ef49e5f0ed34e29f1d130
7
- data.tar.gz: 8c49fcffcacf2be4a081229a2df411157614b3367611220cae997c9f4010b35c493623d4440bfc52d6ce608fe1e055cd014f1b2093f90e0cc099e984c70d045f
6
+ metadata.gz: 5920313b3ea08d709c564a3ca5b03e9ee34e0fe213e83fbdee53680504a24f02dac5fa9e774f864d77259e960100177abf9430b5e717991ec589d881f9f9d246
7
+ data.tar.gz: df3aab7b35d0cbfaa9b012439de32f0e38dac1217d65c14939dccbc8792ccb918059f58eafcb2f37d52de9f0b911ccaac8bfd16dceb9f0b94923fa0de8a94695
@@ -10,10 +10,19 @@ jobs:
10
10
  runs-on: ubuntu-18.04
11
11
  steps:
12
12
  - name: Checkout
13
- uses: actions/checkout@v2
13
+ uses: actions/checkout@v3
14
14
  with:
15
- fetch-depth: 0
15
+ submodules: true
16
16
  persist-credentials: false
17
+ - name: Set up Ruby
18
+ uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: ${{ matrix.ruby }}
21
+ - name: Build
22
+ run: |
23
+ gem install bundler
24
+ git submodule update --init --recursive
25
+ bundle install --jobs 4 --retry 3
17
26
  - name: Setup Node.js
18
27
  uses: actions/setup-node@v2
19
28
  with:
@@ -6,10 +6,12 @@ jobs:
6
6
  fail-fast: false
7
7
  matrix:
8
8
  os: [ ubuntu-latest ]
9
- ruby: [ '2.5', '2.6', '2.7', '3.0', '3.1' ]
9
+ ruby: [ '2.6', '2.7', '3.0', '3.1' ]
10
10
  runs-on: ${{ matrix.os }}
11
11
  steps:
12
12
  - uses: actions/checkout@v3
13
+ with:
14
+ submodules: true
13
15
  - name: Set up Ruby
14
16
  uses: ruby/setup-ruby@v1
15
17
  with:
@@ -17,7 +19,7 @@ jobs:
17
19
  - name: Build and test with Rake
18
20
  run: |
19
21
  gem install bundler
20
- git submodule update --init
22
+ git submodule update --init --recursive
21
23
  bundle install --jobs 4 --retry 3
22
24
  bundle exec rake
23
25
  publish:
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  tracking_number changelog
2
2
 
3
+ ## [1.3.5](https://github.com/jkeen/tracking_number/compare/v1.3.4...v1.3.5) (2023-01-09)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * modify release process to include submodules, the lack of which caused the 1.3.2 gem release to not work at all ([578af83](https://github.com/jkeen/tracking_number/commit/578af83d1b9da51c6edb8400d3aba8b195b66629))
9
+
3
10
  ## [1.3.2](https://github.com/jkeen/tracking_number/compare/v1.3.1...v1.3.2) (2022-12-23)
4
11
 
5
12
  # Changelog
@@ -0,0 +1,43 @@
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
+ }
@@ -0,0 +1,30 @@
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
+ }
@@ -0,0 +1,66 @@
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>([0-9]\\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
+ }
@@ -0,0 +1,339 @@
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
+ }