lib/data/couriers/fedex.json in tracking_number-1.3.5 vs lib/data/couriers/fedex.json in tracking_number-1.4.0
- old
+ new
@@ -2,10 +2,11 @@
"name": "FedEx",
"courier_code": "fedex",
"tracking_numbers": [
{
"name": "FedEx Express (12)",
+ "id": "fedex_12",
"regex": "\\s*(?<SerialNumber>([0-9]\\s*){11})(?<CheckDigit>[0-9]\\s*)",
"validation": {
"checksum": {
"name": "sum_product_with_weightings_and_modulo",
"weightings": [
@@ -40,10 +41,11 @@
]
}
},
{
"name": "FedEx Express (34)",
+ "id": "fedex_34",
"regex": [
"\\s*1\\s*0\\s*[0-9]\\s*[0-9]\\s*[0-9]\\s*",
"([0-9]\\s*){10}",
"(?<DestinationZip>([0-9]\\s*){5})",
"(?<SerialNumber>([0-9]\\s*){13})",
@@ -86,23 +88,42 @@
]
}
},
{
"name": "FedEx SmartPost",
- "description": "IMpb CO3 standard",
+ "id": "fedex_smartpost",
+ "description": "Shipped by FedEx, Delivered by USPS",
"regex": [
"\\s*(?:",
"(?:(?<RoutingApplicationId>4\\s*2\\s*0\\s*)(?<DestinationZip>([0-9]\\s*){5}))?",
"(?<ApplicationIdentifier>9\\s*2\\s*)",
")?",
"(?<SerialNumber>",
- "(?<ServiceType>([0-9]\\s*){3})",
- "(?<ShipperId>([0-9]\\s*){9})",
- "(?<PackageId>([0-9]\\s*){7})",
+ "(?<SCNC>([0-9]\\s*){2})",
+ "(?<ServiceType>([0-9]\\s*){2})",
+ "(?<ShipperId>([0-9]\\s*){8})",
+ "(?<PackageId>([0-9]\\s*){11}|([0-9]\\s*){7})",
")",
"(?<CheckDigit>([0-9]\\s*))"
],
+ "additional": [
+ {
+ "name": "Service Type",
+ "regex_group_name": "ServiceType",
+ "lookup": [
+ {
+ "matches_regex": ".",
+ "name": "Delivered by USPS"
+ }
+ ]
+ }
+ ],
+ "partners": [{
+ "partner_id": "usps_91",
+ "partner_type": "carrier",
+ "description": "FedEx SmartPost is a shipping service that utilizes FedEx for the initial transport and the United States Postal Service for final delivery."
+ }],
"validation": {
"checksum": {
"name": "mod10",
"evens_multiplier": 3,
"odds_multiplier": 1
@@ -116,11 +137,10 @@
},
"tracking_url": "https://www.fedex.com/apps/fedextrack/?tracknumbers=%s",
"test_numbers": {
"valid": [
"61299998820821171811",
- " 6 1 2 9 9 9 9 8 8 2 0 8 2 1 1 7 1 8 1 1 ",
"9261292700768711948021",
"420 11213 92 6129098349792366623 8",
"92 6129098349792366623 8",
"6129098349792366623 8"
],
@@ -132,10 +152,11 @@
]
}
},
{
"name": "FedEx Ground",
+ "id": "fedex_ground",
"regex": "\\s*(?<SerialNumber>([0-9]\\s*){14})(?<CheckDigit>([0-9]\\s*))",
"validation": {
"checksum": {
"name": "mod10",
"evens_multiplier": 1,
@@ -155,10 +176,11 @@
]
}
},
{
"name": "FedEx Ground (SSCC-18)",
+ "id": "fedex_ground_sscc_18",
"regex": "\\s*(?<ShippingContainerType>([0-9]\\s*){2})(?<SerialNumber>([0-9]\\s*){15})(?<CheckDigit>[0-9]\\s*)",
"tracking_url": "https://www.fedex.com/apps/fedextrack/?tracknumbers=%s",
"validation": {
"checksum": {
"name": "mod10",
@@ -200,10 +222,11 @@
}
]
},
{
"name": "FedEx Ground 96 (22)",
+ "id": "fedex_ground_96",
"regex": [
"\\s*(?<ApplicationIdentifier>9\\s*6\\s*)",
"(?<SCNC>([0-9]\\s*){2})",
"(?<ServiceType>([0-9]\\s*){3})",
"(?<SerialNumber>(?<ShipperId>([0-9]\\s*){7})(?<PackageId>([0-9]\\s*){7}))",
@@ -227,9 +250,10 @@
]
}
},
{
"name": "FedEx Ground GSN",
+ "id": "fedex_ground_gsn",
"regex": [
"\\s*(?<ApplicationIdentifier>9\\s*6\\s*)",
"(?<SCNC>([0-9]\\s*){2})",
"([0-9]\\s*){5}",
"(?<GSN>([0-9]\\s*){10})",