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})",