1870 lines
44 KiB
Python
1870 lines
44 KiB
Python
import re
|
|
|
|
|
|
def vin_year(vin_char: str) -> int:
|
|
YEAR_MAPPING = {
|
|
"A": 1980,
|
|
"B": 1981,
|
|
"C": 1982,
|
|
"D": 1983,
|
|
"E": 1984,
|
|
"F": 1985,
|
|
"G": 1986,
|
|
"H": 1987,
|
|
"J": 1988,
|
|
"K": 1989,
|
|
"L": 1990,
|
|
"M": 1991,
|
|
"N": 1992,
|
|
"P": 1993,
|
|
"R": 1994,
|
|
"S": 1995,
|
|
"T": 1996,
|
|
"V": 1997,
|
|
"W": 1998,
|
|
"X": 1999,
|
|
"Y": 2000,
|
|
"1": 2001,
|
|
"2": 2002,
|
|
"3": 2003,
|
|
"4": 2004,
|
|
"5": 2005,
|
|
"6": 2006,
|
|
"7": 2007,
|
|
"8": 2008,
|
|
"9": 2009,
|
|
"A": 2010,
|
|
"B": 2011,
|
|
"C": 2012,
|
|
"D": 2013,
|
|
"E": 2014,
|
|
"F": 2015,
|
|
"G": 2016,
|
|
"H": 2017,
|
|
"J": 2018,
|
|
"K": 2019,
|
|
"L": 2020,
|
|
"M": 2021,
|
|
"N": 2022,
|
|
"P": 2023,
|
|
"R": 2024,
|
|
"S": 2025,
|
|
"T": 2026,
|
|
"V": 2027,
|
|
"W": 2028,
|
|
"X": 2029,
|
|
"Y": 2030,
|
|
}
|
|
|
|
# Normalize the input character to uppercase
|
|
vin_char = vin_char.upper()
|
|
|
|
# Check if the character is valid
|
|
if vin_char not in YEAR_MAPPING:
|
|
raise ValueError(
|
|
f"Invalid year character: '{vin_char}'. Expected one of {list(YEAR_MAPPING.keys())}."
|
|
)
|
|
|
|
# Return the corresponding year
|
|
return YEAR_MAPPING[vin_char]
|
|
|
|
|
|
wmi_manufacturer_mapping = {
|
|
"AAA": "Audi",
|
|
"AAK": "FAW",
|
|
"AAM": "MAN",
|
|
"AAV": "Volkswagen",
|
|
"ABJ": "Mitsubishi",
|
|
"ABM": "BMW",
|
|
"ACV": "Isuzu",
|
|
"AC5": "Hyundai",
|
|
"ADM": "GM",
|
|
"ADN": "Nissan",
|
|
"ADR": "Renault",
|
|
"ADX": "Tata",
|
|
"AFA": "Ford",
|
|
"AFB": "Mazda",
|
|
"AHH": "Hino",
|
|
"AHM": "Honda",
|
|
"AHT": "Toyota",
|
|
"BR1": "Mercedes-Benz",
|
|
"HA0": "Wuxi",
|
|
"HA6": "Niu",
|
|
"HES": "smart",
|
|
"HL4": "Morini",
|
|
"HRV": "Henrey",
|
|
"JAA": "Isuzu",
|
|
"JAB": "Isuzu",
|
|
"JAC": "Isuzu",
|
|
"JAE": "Acura",
|
|
"JAL": "Isuzu",
|
|
"JA3": "Mitsubishi",
|
|
"JA4": "Mitsubishi",
|
|
"JA7": "Mitsubishi",
|
|
"JB3": "Dodge",
|
|
"JB4": "Dodge",
|
|
"JB7": "Dodge",
|
|
"JC0": "Ford",
|
|
"JC1": "Fiat",
|
|
"JC2": "Ford",
|
|
"JDA": "Daihatsu",
|
|
"JD1": "Daihatsu",
|
|
"JD2": "Daihatsu",
|
|
"JD4": "Daihatsu",
|
|
"JE3": "Eagle",
|
|
"JE4": "Mitsubishi",
|
|
"JF1": "Subaru",
|
|
"JF2": "Subaru",
|
|
"JF3": "Subaru",
|
|
"JF4": "Saab",
|
|
"JG1": "Chevrolet",
|
|
"JG7": "Pontiac",
|
|
"JGC": "Chevrolet",
|
|
"JGT": "GMC",
|
|
"JHA": "Hino",
|
|
"JHD": "Hino",
|
|
"JHF": "Honda",
|
|
"JHZ": "Honda",
|
|
"JHN": "Honda",
|
|
"JHL": "Honda",
|
|
"JHG": "Honda",
|
|
"JH5": "Honda",
|
|
"JH1": "Honda",
|
|
"JHM": "Honda",
|
|
"JH3": "Honda",
|
|
"JH4": "Acura",
|
|
"JJ3": "Chrysler",
|
|
"JLF": "Mitsubishi",
|
|
"JLS": "Sterling",
|
|
"JL5": "Mitsubishi",
|
|
"JL6": "Mitsubishi",
|
|
"JMA": "Mitsubishi",
|
|
"JMB": "Mitsubishi",
|
|
"JMF": "Mitsubishi",
|
|
"JMP": "Mitsubishi",
|
|
"JMR": "Mitsubishi",
|
|
"JMY": "Mitsubishi",
|
|
"JMZ": "Mazda",
|
|
"JM0": "Mazda",
|
|
"JM1": "Mazda",
|
|
"JM2": "Mazda",
|
|
"JM3": "Mazda",
|
|
"JM4": "Mazda",
|
|
"JM6": "Mazda",
|
|
"JM7": "Mazda",
|
|
"JNC": "Nissan",
|
|
"JNE": "Nissan",
|
|
"JNK": "Infiniti",
|
|
"JNR": "Infiniti",
|
|
"JN1": "Nissan",
|
|
"JN6": "Nissan",
|
|
"JN8": "Nissan",
|
|
"JPC": "Nissan",
|
|
"JP3": "Plymouth",
|
|
"JP4": "Plymouth",
|
|
"JP7": "Plymouth",
|
|
"JR2": "Isuzu",
|
|
"JST": "Suzuki",
|
|
"JS2": "Suzuki",
|
|
"JS3": "Suzuki",
|
|
"JS4": "Suzuki",
|
|
"JTB": "Toyota",
|
|
"JTD": "Toyota",
|
|
"JTE": "Toyota",
|
|
"JTF": "Toyota",
|
|
"JTG": "Toyota",
|
|
"JTH": "Lexus",
|
|
"JTJ": "Lexus",
|
|
"JTK": "Toyota",
|
|
"JTL": "Toyota",
|
|
"JTM": "Toyota",
|
|
"JTN": "Toyota",
|
|
"JTP": "Toyota",
|
|
"JT1": "Toyota",
|
|
"JT2": "Toyota",
|
|
"JT3": "Toyota",
|
|
"JT4": "Toyota",
|
|
"JT6": "Lexus",
|
|
"JT8": "Lexus",
|
|
"JW6": "Mitsubishi",
|
|
"J81": "Chevrolet",
|
|
"J87": "Pontiac",
|
|
"J8C": "Chevrolet",
|
|
"J8T": "GMC",
|
|
"J8Z": "Chevrolet",
|
|
"KF3": "Merkavim",
|
|
"KL": "Daewoo",
|
|
"KLA": "Daewoo",
|
|
"KLP": "CT&T United",
|
|
"KLT": "Tata Daewoo",
|
|
"KLU": "Tata Daewoo",
|
|
"KLY": "Daewoo",
|
|
"KL1": "Daewoo",
|
|
"KL2": "Daewoo",
|
|
"KL3": "Daewoo",
|
|
"KL4": "Daewoo",
|
|
"KL5": "Daewoo",
|
|
"KL6": "Daewoo",
|
|
"KL7": "Daewoo",
|
|
"KL8": "Daewoo",
|
|
"KM": "Hyundai",
|
|
"KMC": "Hyundai",
|
|
"KME": "Hyundai",
|
|
"KMF": "Hyundai",
|
|
"KMH": "Hyundai",
|
|
"KMJ": "Hyundai",
|
|
"KMT": "Genesis",
|
|
"KMU": "Genesis",
|
|
"KM8": "Hyundai",
|
|
"KNA": "Kia",
|
|
"KNC": "Kia",
|
|
"KND": "Kia",
|
|
"KNE": "Kia",
|
|
"KNF": "Kia",
|
|
"KNG": "Kia",
|
|
"KNJ": "Ford",
|
|
"KNM": "Renault",
|
|
"KN1": "Asia Motors",
|
|
"KN2": "Asia Motors",
|
|
"KPA": "SsangYong",
|
|
"KPB": "SsangYong",
|
|
"KPH": "Mitsubishi",
|
|
"KPT": "SsangYong",
|
|
"LA6": "King Long",
|
|
"LC0": "BYD",
|
|
"LBE": "Hyundai Shouwang",
|
|
"LBM": "Zongshen Piaggio",
|
|
"LBV": "BMW",
|
|
"LB1": "Fujian Benz",
|
|
"LB3": "Geely",
|
|
"LCR": "Gonow",
|
|
"LC2": "Kwang Yang",
|
|
"LDC": "Dongfeng",
|
|
"LDD": "Dandong Huanghai",
|
|
"LDK": "FAW Bus",
|
|
"LDN": "Soueast",
|
|
"LDP": "Voyah",
|
|
"LDY": "Zhongtong Bus,",
|
|
"LEF": "Jiangling",
|
|
"LET": "Jiangling Isuzu",
|
|
"LE4": "Beijing Benz",
|
|
"LFB": "FAW",
|
|
"LFF": "Wangye",
|
|
"LFM": "FAW Toyota",
|
|
"LFN": "FAW",
|
|
"LFP": "FAW",
|
|
"LFT": "FAW",
|
|
"LFV": "FAW Volkswagen,",
|
|
"LFW": "FAW JieFang,",
|
|
"LFZ": "Leapmotor",
|
|
"LGA": "Dongfeng",
|
|
"LGB": "Dongfeng",
|
|
"LGD": "Dongfeng",
|
|
"LGG": "Dongfeng",
|
|
"LGJ": "Dongfeng",
|
|
"LGL": "Guilin Daewoo",
|
|
"LGW": "Great Wall",
|
|
"LGX": "BYD",
|
|
"LHA": "Shuanghuan",
|
|
"LHB": "BAIC",
|
|
"LHG": "Guangzhou Honda",
|
|
"LH1": "FAW",
|
|
"LJC": "Jincheng",
|
|
"LJD": "Yueda Kia",
|
|
"LJN": "Zhengzhou Nissan",
|
|
"LJS": "Yaxing Coach",
|
|
"LJU": "Lotus Geely",
|
|
"LJX": "JMC Ford",
|
|
"LJ1": "JAC",
|
|
"LJ8": "Zotye",
|
|
"LKC": "Changhe",
|
|
"LKL": "Higer Bus",
|
|
"LKT": "Lifan",
|
|
"LLC": "Loncin",
|
|
"LLN": "Qoros",
|
|
"LLV": "Lifan",
|
|
"LL3": "Golden Dragon",
|
|
"LL6": "GAC Mitsubishi",
|
|
"LL8": "Linhai Yamaha",
|
|
"LME": "Skyworth",
|
|
"LMG": "GAC",
|
|
"LMV": "XPeng",
|
|
"LMW": "GAC",
|
|
"LM6": "SWM",
|
|
"LM8": "Seres",
|
|
"LNA": "GAC",
|
|
"LNB": "BAIC",
|
|
"LND": "JMEV",
|
|
"LNP": "NAC MG",
|
|
"LNY": "Yuejin",
|
|
"LMX": "Dongfeng Forthing",
|
|
"LPA": "Changan",
|
|
"LPE": "BYD",
|
|
"LPS": "Polestar",
|
|
"LRB": "SAIC Buick",
|
|
"LRD": "Foton",
|
|
"LRE": "SAIC Cadillac",
|
|
"LRW": "Tesla",
|
|
"LSC": "Changan",
|
|
"LSF": "SAIC Maxus",
|
|
"LSG": "SAIC Chevrolet",
|
|
"LSH": "SAIC Maxus",
|
|
"LSJ": "SAIC MG",
|
|
"LSK": "SAIC Maxus",
|
|
"LSV": "SAIC Volkswagen",
|
|
"LSY": "Brilliance",
|
|
"LS1": "Hyundai",
|
|
"LS4": "Changan",
|
|
"LS5": "Changan",
|
|
"LS6": "Changan",
|
|
"LS7": "JMC",
|
|
"LTA": "ZX Auto",
|
|
"LTN": "Soueast",
|
|
"LTV": "FAW Toyota",
|
|
"LUC": "Honda",
|
|
"LUD": "Dongfeng",
|
|
"LUX": "Dongfeng",
|
|
"LUZ": "Hozon",
|
|
"LVA": "Foton",
|
|
"LVB": "Foton",
|
|
"LVC": "Foton",
|
|
"LVF": "Changhe Suzuki",
|
|
"LVG": "GAC Toyota",
|
|
"LVH": "Dongfeng",
|
|
"LVM": "Chery",
|
|
"LVP": "Dongfeng",
|
|
"LVR": "Changan Mazda",
|
|
"LVS": "Changan Ford",
|
|
"LVT": "Chery",
|
|
"LVU": "Chery",
|
|
"LVV": "Chery",
|
|
"LVX": "Aiways",
|
|
"LVY": "Volvo",
|
|
"LVZ": "Dongfeng",
|
|
"LWG": "Chongqing",
|
|
"LWL": "Isuzu",
|
|
"LWV": "GAC",
|
|
"LW4": "Li Auto",
|
|
"LXV": "Borgward",
|
|
"LYB": "Yaxing",
|
|
"LYV": "Volvo",
|
|
"LZE": "Isuzu",
|
|
"LZF": "SAIC",
|
|
"LZG": "Shaanxi",
|
|
"LZK": "Huanghe",
|
|
"LZM": "MAN",
|
|
"LZS": "Meccanica",
|
|
"LZU": "Isuzu Bus",
|
|
"LZW": "SAIC",
|
|
"LZY": "Yutong",
|
|
"LZZ": "Sinotruk",
|
|
"LZ4": "Shangyang",
|
|
"L1N": "XPeng",
|
|
"L2C": "Chery",
|
|
"L3H": "Victory",
|
|
"L4F": "Suzhou Eagle",
|
|
"L5C": "KangDi",
|
|
"L5K": "Yongkang",
|
|
"L6T": "Lynk & Co",
|
|
"L82": "Baotian",
|
|
"L85": "Yongkang Huabao",
|
|
"L9N": "Taotao",
|
|
"MAH": "Fiat",
|
|
"MAJ": "Ford",
|
|
"MAK": "Honda",
|
|
"MAL": "Hyundai",
|
|
"MAT": "Tata",
|
|
"MA3": "Suzuki",
|
|
"MA6": "GM",
|
|
"MA7": "Hindustan",
|
|
"MBF": "Royal Enfield",
|
|
"MBH": "Suzuki & Nissan",
|
|
"MBJ": "Toyota",
|
|
"MBK": "MAN",
|
|
"MBL": "Hero MotoCorp",
|
|
"MBR": "Mercedes-Benz",
|
|
"MBU": "Swaraj",
|
|
"MBV": "Premier",
|
|
"MBX": "Piaggio",
|
|
"MBY": "Asia Motors",
|
|
"MB1": "Ashok Leyland",
|
|
"MCB": "GM",
|
|
"MCG": "Atul",
|
|
"MC1": "Force",
|
|
"MC2": "Eicher",
|
|
"MDH": "Nissan",
|
|
"MD6": "TVS",
|
|
"MD9": "Shuttles",
|
|
"MEC": "Daimler",
|
|
"MEE": "Renault",
|
|
"MEG": "Harley-Davidson",
|
|
"MER": "Benelli",
|
|
"MET": "Piaggio",
|
|
"MEX": "Škoda",
|
|
"ME1": "Yamaha",
|
|
"MZB": "Kia",
|
|
"MZZ": "Citroën",
|
|
"MZ7": "MG",
|
|
"M3G": "Isuzu",
|
|
"MF3": "Hyundai",
|
|
"MHD": "Suzuki",
|
|
"MHF": "Toyota",
|
|
"MHK": "Daihatsu",
|
|
"MHL": "Mercedes-Benz",
|
|
"MHR": "Honda",
|
|
"MLB": "Siam Yamaha Co",
|
|
"ML3": "Mitsubishi",
|
|
"MMA": "Mitsubishi",
|
|
"MMB": "Mitsubishi",
|
|
"MMC": "Mitsubishi",
|
|
"MMD": "Mitsubishi",
|
|
"MMF": "BMW",
|
|
"MML": "MG",
|
|
"MMM": "Chevrolet",
|
|
"MMR": "Subaru",
|
|
"MMS": "Suzuki",
|
|
"MMT": "Mitsubishi",
|
|
"MMU": "Holden",
|
|
"MNB": "Ford",
|
|
"MNK": "Hino",
|
|
"MNT": "Nissan",
|
|
"MNU": "Great Wall",
|
|
"MPA": "Isuzu",
|
|
"MPB": "Ford",
|
|
"MP1": "Isuzu",
|
|
"MP2": "Mazda Isuzu",
|
|
"MP5": "Foton",
|
|
"MRH": "Honda",
|
|
"MRT": "Neta",
|
|
"MR0": "Toyota",
|
|
"MR1": "Toyota",
|
|
"MR2": "Toyota",
|
|
"MR3": "Toyota",
|
|
"MXL": "Yutong",
|
|
"MX3": "Hyundai",
|
|
"NAA": "Iran Khodro",
|
|
"NAC": "Mammut",
|
|
"NAD": "Škoda",
|
|
"NAP": "Pars Khodro",
|
|
"NC9": "VIRA Diesel",
|
|
"NFB": "Honda",
|
|
"NG3": "Lucky Motors",
|
|
"NLA": "Honda",
|
|
"NLE": "Mercedes-Benz",
|
|
"NLH": "Hyundai",
|
|
"NLJ": "Hyundai",
|
|
"NLN": "Karsan",
|
|
"NLR": "Otokar",
|
|
"NLT": "Temsa",
|
|
"NL1": "TOGG",
|
|
"NMA": "MAN",
|
|
"NMB": "Mercedes-Benz",
|
|
"NMC": "BMC",
|
|
"NMT": "Toyota",
|
|
"NM0": "Ford",
|
|
"NM1": "Renault",
|
|
"NM4": "Tofa",
|
|
"NNA": "Anadolu Isuzu",
|
|
"NNN": "Gépébus Oréos 4X",
|
|
"NRE": "Bozankaya",
|
|
"NSA": "SamAvto",
|
|
"NS2": "JV MAN Auto",
|
|
"PAB": "Isuzu",
|
|
"PAD": "Honda",
|
|
"PE1": "Ford",
|
|
"PE3": "Mazda",
|
|
"PFD": "Hyundai",
|
|
"PL1": "Proton",
|
|
"PL8": "Inokom Hyundai",
|
|
"PLP": "Subaru",
|
|
"PLZ": "Isuzu",
|
|
"PMH": "Honda",
|
|
"PML": "Hicom",
|
|
"PMN": "Modenas",
|
|
"PM1": "BMW Mini",
|
|
"PM2": "Perodua",
|
|
"PM9/": "Bufori",
|
|
"PNA": "Stellantis",
|
|
"PNV": "Volvo",
|
|
"PN1": "UMW Toyota",
|
|
"PN2": "UMW Toyota",
|
|
"PN8": "Nissan",
|
|
"PPP": "Suzuki",
|
|
"PPV": "Volkswagen",
|
|
"PP1": "Mazda",
|
|
"PP3": "Hyundai",
|
|
"PRA": "Sinotruk",
|
|
"PRH": "Chery",
|
|
"PRX": "Kia",
|
|
"PR8": "Ford",
|
|
"RA1": "Steyr",
|
|
"LFA": "Ford Lio Hon",
|
|
"RFB": "Kymco",
|
|
"RFC": "Taiwan Golden Bee",
|
|
"RFD": "Tai Ling",
|
|
"RFG": "Sanyang",
|
|
"RFL": "Adly",
|
|
"RFT": "CPI",
|
|
"RF3": "Aeon Motor",
|
|
"RF5": "Yulon Motor",
|
|
"RGS": "Kawasaki",
|
|
"RHA": "Ford Lio Ho",
|
|
"RKJ": "Prince ",
|
|
"RKL": "Kuozui",
|
|
"RKM": "CMC",
|
|
"RKR": "Yamaha",
|
|
"RKT": "Honda",
|
|
"RK7": "Kawasaki",
|
|
"RLA": "Mitsubishi",
|
|
"RLC": "Yamaha Motor",
|
|
"RLE": "Isuzu",
|
|
"RLH": "Honda",
|
|
"RLL": "VinFast",
|
|
"RLM": "Mercedes-Benz",
|
|
"RLN": "VinFast",
|
|
"RL0": "Ford",
|
|
"RL4": "Toyota",
|
|
"RP8": "Piaggio",
|
|
"R3M": "Mangosteen",
|
|
"R4N": "Elyx",
|
|
"SAA": "Austin",
|
|
"SAB": "Optare",
|
|
"SAD": "Jaguar",
|
|
"SAF": "ERF",
|
|
"SAH": "Honda",
|
|
"SAJ": "Jaguar",
|
|
"SAL": "Land Rover",
|
|
"SAM": "Morris",
|
|
"SAR": "Rover MG",
|
|
"SAT": "Triumph",
|
|
"SAX": "Austin-Rover",
|
|
"SAZ": "Freight Rover",
|
|
"SA9/": "OX Global",
|
|
"SBB": "Leyland",
|
|
"SBC": "Iveco Ford",
|
|
"SBJ": "Leyland",
|
|
"SBL": "Leyland",
|
|
"SBM": "McLaren",
|
|
"SBS": "Scammell",
|
|
"SB1": "Toyota",
|
|
"SCA": "Rolls Royce",
|
|
"SCB": "Bentley",
|
|
"SCC": "Lotus",
|
|
"SCD": "Reliant",
|
|
"SCE": "DeLorean",
|
|
"SCF": "Aston Martin",
|
|
"SC5": "Wrightbus",
|
|
"SC6": "INEOS",
|
|
"SDB": "Talbot",
|
|
"SDF": "Dodge",
|
|
"SDG": "Renault",
|
|
"SDK": "Caterham",
|
|
"SDL": "TVR",
|
|
"SDP": "MG",
|
|
"SD7": "Aston Martin",
|
|
"SFA": "Ford",
|
|
"SFN": "Foden",
|
|
"SFZ": "Tesla",
|
|
"SGA": "Avondale",
|
|
"SGB": "Bailey",
|
|
"SGD": "Swift",
|
|
"SGE": "Elddis",
|
|
"SGL": "Lunaravans",
|
|
"SG4": "Coachman",
|
|
"SHH": "Honda",
|
|
"SHS": "Honda",
|
|
"SH7": "INEOS",
|
|
"SJA": "Bentley",
|
|
"SJK": "Infiniti",
|
|
"SJN": "Nissan",
|
|
"SJ1": "Ree",
|
|
"SKA": "Vauxhall",
|
|
"SKB": "Kel-Berg",
|
|
"SKF": "Bedford",
|
|
"SLA": "Rolls Royce",
|
|
"SLP": "JC Bamford",
|
|
"SNE": "Wartburg",
|
|
"SNT": "Trabant",
|
|
"SWH": "Temared",
|
|
"TLJ": "Jawa Moto",
|
|
"TMA": "Hyundai",
|
|
"TMB": "Škoda",
|
|
"TMC": "Hyundai",
|
|
"TMK": "Karosa",
|
|
"TMP": "Škoda",
|
|
"TMT": "Tatra",
|
|
"TNA": "Avia",
|
|
"TNE": "TAZ",
|
|
"TNT": "Tatra",
|
|
"TNU": "Tatra",
|
|
"TN9": "Karosa",
|
|
"TRA": "Ikarus Bus",
|
|
"TRC": "Csepel",
|
|
"TRU": "Audi",
|
|
"TSB": "Ikarus Bus",
|
|
"TSE": "Ikarus,",
|
|
"TSF": "Alfabusz",
|
|
"TSM": "Suzuki Fiat",
|
|
"TWG": "Ceatano Bus",
|
|
"TW1": "Toyota",
|
|
"TW2": "Ford",
|
|
"TW6": "Citroën",
|
|
"TW7": "Mini",
|
|
"TX5": "Mini",
|
|
"TYA": "Mitsubishi",
|
|
"TYB": "Mitsubishi",
|
|
"UN1": "Ford",
|
|
"UU1": "Dacia",
|
|
"UU2": "Oltcit",
|
|
"UU3": "ARO",
|
|
"UU4": "Roman",
|
|
"UU5": "Rocar",
|
|
"UU6": "Daewoo",
|
|
"UU7": "Euro Bus",
|
|
"UU9": "Astra Bus",
|
|
"UV9": "ATP Bus",
|
|
"UWR": "Robus",
|
|
"UZT": "UTB",
|
|
"U1A": "Sanos",
|
|
"U5Y": "Kia",
|
|
"U6Y": "Kia",
|
|
"VAG": "Steyr Daimler",
|
|
"VA4": "KSR",
|
|
"VBK": "KTM",
|
|
"VCF": "Fisker",
|
|
"VFA": "Renault",
|
|
"VFN": "Trailor",
|
|
"VF1": "Renault",
|
|
"VF2": "Renault",
|
|
"VF3": "Peugeot",
|
|
"VF4": "Talbot",
|
|
"VF5": "Iveco Unic",
|
|
"VF6": "Renault",
|
|
"VF7": "Citroën",
|
|
"VF8": "Matra",
|
|
"VGY": "Lohr",
|
|
"VG6": "Renault",
|
|
"VG7": "Renault",
|
|
"VG8": "Renault",
|
|
"VJR": "Ligier",
|
|
"VJY": "Gruau",
|
|
"VJ1": "Heuliez Bus",
|
|
"VJ2": "Mia Electric",
|
|
"VK1": "SEG",
|
|
"VK2": "Grandin",
|
|
"VK8": "Venturi",
|
|
"VLG": "Aixam-Mega",
|
|
"VLU": "Scania",
|
|
"VL4": "Citroën",
|
|
"VMK": "Renault",
|
|
"VM3": "Lamberet",
|
|
"VN1": "Renault",
|
|
"VN4": "Voxan",
|
|
"VNE": "Iveco",
|
|
"VNK": "Toyota",
|
|
"VNV": "Nissan",
|
|
"VRW": "Goupil",
|
|
"VR1": "DS",
|
|
"VR3": "Peugeot",
|
|
"VR7": "Citroën",
|
|
"VXE": "Opel",
|
|
"VXF": "Fiat",
|
|
"VXK": "Opel",
|
|
"VYF": "Fiat",
|
|
"VSA": "Mercedes-Benz",
|
|
"VSC": "Talbot",
|
|
"VSE": "Santana Suzuki",
|
|
"VSF": "Santana",
|
|
"VSK": "Nissan",
|
|
"VSR": "Leciñena",
|
|
"VSS": "SEAT",
|
|
"VSX": "Opel",
|
|
"VSY": "Renault",
|
|
"VS1": "Pegaso",
|
|
"VS5": "Renault",
|
|
"VS6": "Ford",
|
|
"VS7": "Citroën",
|
|
"VS8": "Peugeot",
|
|
"VTR": "Gas Gas",
|
|
"VVC": "SOR Ibrica",
|
|
"VV1": "Lecitrailer",
|
|
"VWA": "Nissan",
|
|
"VWF": "Guillén",
|
|
"VWV": "Volkswagen",
|
|
"WAC": "Audi",
|
|
"WAG": "Neoplan",
|
|
"WAP": "Alpina",
|
|
"WAU": "Audi",
|
|
"WA1": "Audi",
|
|
"WBA": "BMW",
|
|
"WBJ": "Bitters",
|
|
"WBS": "BMW",
|
|
"WBU": "Bürstner",
|
|
"WBX": "BMW",
|
|
"WBY": "BMW",
|
|
"WB1": "BMW",
|
|
"WB5": "BMW",
|
|
"WCD": "Freightliner",
|
|
"WDB": "Mercedes-Benz Maybach",
|
|
"WDC": "Mercedes-Benz",
|
|
"WDD": "Mercedes-Benz",
|
|
"WDF": "Mercedes-Benz",
|
|
"WDR": "Freightliner",
|
|
"WDT": "Dethleffs",
|
|
"WDW": "Dodge",
|
|
"WDY": "Freightliner",
|
|
"WDZ": "Mercedes-Benz",
|
|
"WD0": "Dodge",
|
|
"WD2": "Freightliner",
|
|
"WD3": "Mercedes-Benz",
|
|
"WD4": "Mercedes-Benz",
|
|
"WD5": "Freightliner",
|
|
"WD6": "Freightliner",
|
|
"WD8": "Dodge",
|
|
"WEB": "Evobus GmbH",
|
|
"WFC": "Fendt",
|
|
"WFD": "Fliegl Trailer",
|
|
"WF0": "Ford",
|
|
"WF1": "Merkur",
|
|
"WHB": "Hobby",
|
|
"WHY": "Hymer",
|
|
"WJM": "Iveco",
|
|
"WJR": "Irmscher",
|
|
"WKE": "Krone",
|
|
"WKK": "Setra",
|
|
"WKN": "Knaus",
|
|
"WK0": "Kögel",
|
|
"WLA": "Langendorf",
|
|
"WMA": "MAN & Bus",
|
|
"WME": "smart",
|
|
"WMW": "MINI",
|
|
"WMX": "Mercedes-Benz",
|
|
"WMZ": "MINI",
|
|
"WNA": "Next.e.GO Mobile SE",
|
|
"WP0": "Porsche",
|
|
"WP1": "Porsche",
|
|
"WSK": "Schmitz-Cargobull",
|
|
"WSM": "Schmitz-Cargobull",
|
|
"WSV": "Aebi Schmidt",
|
|
"WS5": "StreetScooter",
|
|
"WS7": "Sono",
|
|
"WTA": "Tabbert",
|
|
"WUA": "Audi",
|
|
"WU1": "Audi",
|
|
"WVG": "Volkswagen",
|
|
"WVP": "Viseon Bus",
|
|
"WVW": "Volkswagen",
|
|
"WV1": "Volkswagen",
|
|
"WV2": "Volkswagen",
|
|
"WV3": "Volkswagen",
|
|
"WV4": "Volkswagen",
|
|
"WZ1": "Toyota",
|
|
"W0L": "Opel",
|
|
"W0V": "Opel",
|
|
"W04": "Buick",
|
|
"W06": "Cadillac",
|
|
"W08": "Saturn Astra",
|
|
"W1A": "smart",
|
|
"W1K": "Mercedes-Benz",
|
|
"W1N": "Mercedes-Benz",
|
|
"W1T": "Mercedes-Benz",
|
|
"W1V": "Mercedes-Benz",
|
|
"W1W": "Mercedes-Benz",
|
|
"W1Y": "Mercedes-Benz",
|
|
"W1Z": "Mercedes-Benz",
|
|
"W2W": "Freightliner",
|
|
"W2Y": "Freightliner",
|
|
"W2Z": "Freightliner",
|
|
"XLA": "DAF Bus",
|
|
"XLB": "Volvo.",
|
|
"XLC": "Ford",
|
|
"XLD": "Pacton",
|
|
"XLE": "Scania",
|
|
"XLK": "Burg",
|
|
"XLR": "DAF",
|
|
"XLV": "DAF",
|
|
"XL3": "Ebusco",
|
|
"XL4": "Lightyear",
|
|
"XMC": "Mitsubishi",
|
|
"XMD": "Mitsubishi",
|
|
"XMG": "VDL Bus",
|
|
"XMR": "Nooteboom",
|
|
"XM4": "RAVO Holding",
|
|
"XNB": "Mitsubishi",
|
|
"XNC": "Mitsubishi",
|
|
"XP7": "Tesla",
|
|
"XTA": "Lada",
|
|
"XTB": "Moskvitch",
|
|
"XTC": "KAMAZ",
|
|
"XTE": "ZAZ",
|
|
"XTF": "GolAZ",
|
|
"XTH": "GAZ",
|
|
"XTK": "IzhAvto",
|
|
"XTP": "Ural",
|
|
"XTT": "UAZ",
|
|
"XTU": "Trolza",
|
|
"XTW": "LAZ",
|
|
"XTY": "LiAZ",
|
|
"XTZ": "ZiL",
|
|
"XUF": "General",
|
|
"XUU": "AvtoTor",
|
|
"XW7": "Toyota",
|
|
"XW8": "Volkswagen",
|
|
"XWB": "Daewoo",
|
|
"XWE": "AvtoTor",
|
|
"XWF": "AvtoTor",
|
|
"XX3": "Ujet",
|
|
"XZG": "Great Wall",
|
|
"X1E": "KAvZ",
|
|
"X1F": "NefAZ",
|
|
"X1M": "PAZ",
|
|
"X4X": "AvtoTor",
|
|
"X7L": "Renault",
|
|
"X7M": "Hyundai Vortex",
|
|
"X8U": "Scania",
|
|
"X96": "GAZ",
|
|
"X9F": "Ford",
|
|
"X9L": "GM",
|
|
"X9P": "Volvo",
|
|
"X9X": "Great Wall",
|
|
"YAF": "Faymonville",
|
|
"YAR": "Toyota",
|
|
"YBW": "Volkswagen",
|
|
"YB1": "Volvo",
|
|
"YB2": "Volvo",
|
|
"YB6": "Jonckheere",
|
|
"YE2": "Van Hool",
|
|
"YH1": "Solifer",
|
|
"YH2": "BRP",
|
|
"YH4": "Fisker",
|
|
"YK1": "Saab",
|
|
"YSC": "Cadillac",
|
|
"YSM": "Polestars",
|
|
"YSP": "Volta AB",
|
|
"YSR": "Polestar",
|
|
"YS2": "Scania",
|
|
"YS3": "Saabs",
|
|
"YS4": "Scania",
|
|
"YTN": "Saab",
|
|
"YT7": "Kabe",
|
|
"YV1": "Volvo",
|
|
"YV2": "Volvo",
|
|
"YV3": "Volvos",
|
|
"YV4": "Volvo",
|
|
"YYC": "Think Nordic",
|
|
"Y3M": "MAZ",
|
|
"Y4F": "Ford",
|
|
"Y4K": "Geely",
|
|
"Y6D": "ZAZ",
|
|
"Y6J": "Bogdan",
|
|
"Y6L": "Hyundai",
|
|
"Y6U": "Škoda",
|
|
"Y7B": "Bogdan",
|
|
"Y7C": "Great Wall",
|
|
"Y7F": "Boryspil Bus",
|
|
"Y8A": "LAZ",
|
|
"Y9H": "LAZ",
|
|
"ZAA": "Autobianchi",
|
|
"ZAC": "Jeep Dodge",
|
|
"ZAM": "Maserati",
|
|
"ZAP": "Piaggio",
|
|
"ZAR": "Alfa Romeo",
|
|
"ZAS": "Alfa Romeo",
|
|
"ZBB": "Bertone",
|
|
"ZBN": "Benelli",
|
|
"ZBW": "Rayton-Fissore",
|
|
"ZCB": "Bartoletti",
|
|
"ZCF": "Iveco",
|
|
"ZCG": "Cagiva",
|
|
"ZCM": "Menarinibus",
|
|
"ZC2": "Chrysler",
|
|
"ZDC": "Honda",
|
|
"ZDF": "Ferrari",
|
|
"ZDM": "Ducati",
|
|
"ZDT": "De Tomaso",
|
|
"ZDY": "Cacciamali",
|
|
"ZD0": "Yamaha",
|
|
"ZD3": "Beta Motor",
|
|
"ZD4": "Aprilia",
|
|
"ZES": "Bimota",
|
|
"ZFA": "Fiat",
|
|
"ZFB": "Fiat",
|
|
"ZFC": "Fiat",
|
|
"ZFF": "Ferrari",
|
|
"ZFM": "Fantic",
|
|
"ZFR": "Pininfarina",
|
|
"ZF4": "Qvale",
|
|
"ZGA": "Iveco Bus",
|
|
"ZGU": "Moto Guzzi",
|
|
"ZHW": "Lamborghini",
|
|
"ZJM": "Malaguti",
|
|
"ZJN": "Innocenti",
|
|
"ZJT": "Italjet",
|
|
"ZLA": "Lancia",
|
|
"ZLF": "Tazzari",
|
|
"ZLM": "Moto Morini",
|
|
"ZLV": "Laverda",
|
|
"ZNN": "Energica",
|
|
"ZN3": "Iveco Defence",
|
|
"ZN6": "Maserati",
|
|
"ZPB": "Lamborghini",
|
|
"ZPY": "DR",
|
|
"ZRG": "Tazzari",
|
|
"ZSG": "Ferrari",
|
|
"ZY1": "Adria",
|
|
"Z6F": "Ford",
|
|
"Z76": "SEMAZ",
|
|
"Z8M": "Marussia",
|
|
"Z8N": "Nissan",
|
|
"Z8T": "PCMA",
|
|
"Z9M": "Mercedes-Benz",
|
|
"Z94": "Hyundai",
|
|
"1B3": "Dodge",
|
|
"1B4": "Dodge",
|
|
"1B7": "Dodge",
|
|
"1BA": "Blue Bird",
|
|
"1BB": "Blue Bird",
|
|
"1BL": "Balko",
|
|
"1C3": "Chrysler",
|
|
"1C4": "Chrysler",
|
|
"1C6": "Chrysler",
|
|
"1C8": "Chrysler",
|
|
"1CM": "Checker",
|
|
"1CU": "Cushman Haulster",
|
|
"1CY": "Cranerier",
|
|
"1D3": "Dodge",
|
|
"1D4": "Dodge",
|
|
"1D7": "Dodge",
|
|
"1D8": "Dodge",
|
|
"1FA": "Ford",
|
|
"1FB": "Ford",
|
|
"1FC": "Ford",
|
|
"1FM": "Ford",
|
|
"1FT": "Ford",
|
|
"1FU": "Freightliner",
|
|
"1FV": "Freightliner",
|
|
"1F1": "Ford",
|
|
"1F6": "Ford",
|
|
"1G": "GM",
|
|
"1G0": "Opel",
|
|
"1G1": "Chevrolet",
|
|
"1G2": "Pontiac",
|
|
"1G3": "Oldsmobile",
|
|
"1G4": "Buick",
|
|
"1G5": "GMC",
|
|
"1G6": "Cadillac",
|
|
"1G7": "Pontiac",
|
|
"1G8": "Saturn",
|
|
"1GA": "Chevrolet",
|
|
"1GC": "Chevrolet",
|
|
"1GF": "Flxible",
|
|
"1GG": "Isuzu",
|
|
"1GH": "Holden",
|
|
"1GJ": "GMC",
|
|
"1GK": "GMC",
|
|
"1GM": "Pontiac",
|
|
"1GN": "Chevrolet",
|
|
"1GT": "GMC",
|
|
"1GY": "Cadillac",
|
|
"1HD": "Harley-Davidson",
|
|
"1HG": "Honda",
|
|
"1HS": "Caterpillar",
|
|
"1JC": "Jeep",
|
|
"1JT": "Jeep",
|
|
"1JU": "Marmon",
|
|
"1J4": "Jeep",
|
|
"1J7": "Jeep",
|
|
"1J8": "Jeep",
|
|
"1LN": "Lincoln",
|
|
"1L1": "Lincoln",
|
|
"1MB": "Mercedes-Benz",
|
|
"1ME": "Mercury",
|
|
"1MR": "Continental",
|
|
"1M0": "John Deere Gator",
|
|
"1M1": "Mack USA",
|
|
"1M2": "Mack USA",
|
|
"1M3": "Mack USA",
|
|
"1M4": "Mack USA",
|
|
"1N4": "Nissan",
|
|
"1N6": "Nissan",
|
|
"1NX": "Toyota",
|
|
"1P3": "Plymouth",
|
|
"1P4": "Plymouth",
|
|
"1PY": "John Deere",
|
|
"1TC": "Coachmen",
|
|
"1UJ": "Jayco",
|
|
"1UT": "Jeep",
|
|
"1VH": "Orion Bus",
|
|
"1VW": "Volkswagen",
|
|
"1V1": "Volkswagen",
|
|
"1V2": "Volkswagen",
|
|
"1WT": "Winnebago",
|
|
"1WU": "White Motor",
|
|
"1XA": "Excalibur",
|
|
"1XK": "Kenworth",
|
|
"1XM": "Renault",
|
|
"1XP": "Peterbilt",
|
|
"1Y1": "Chevrolet",
|
|
"1YJ": "Rokon",
|
|
"1YV": "Mazda",
|
|
"1ZV": "Ford",
|
|
"1ZW": "Mercury",
|
|
"10T": "Oshkosh",
|
|
"12A": "Avanti",
|
|
"137": "Hummer",
|
|
"16X": "Vixen",
|
|
"19U": "Acura",
|
|
"19V": "Acura",
|
|
"19X": "Honda",
|
|
"2A3": "Imperial",
|
|
"2BC": "Jeep",
|
|
"2BP": "Ski-Doo",
|
|
"2B1": "Orion Bus",
|
|
"2B3": "Dodge",
|
|
"2B4": "Dodge",
|
|
"2B5": "Dodge",
|
|
"2B7": "Dodge",
|
|
"2C1": "Chevrolet",
|
|
"2C3": "Chrysler",
|
|
"2C4": "Chrysler",
|
|
"2C7": "Pontiac",
|
|
"2C8": "Chrysler",
|
|
"2CC": "American Corporation",
|
|
"2CG": "Pontiac",
|
|
"2CK": "Pontiac",
|
|
"2CM": "American Corporation",
|
|
"2CN": "Chevrolet",
|
|
"2CT": "GMC",
|
|
"2D4": "Dodge",
|
|
"2D7": "Dodge",
|
|
"2D8": "Dodge",
|
|
"2EZ": "Electra Meccanica",
|
|
"2FA": "Ford",
|
|
"2FH": "Zenn",
|
|
"2FM": "Ford",
|
|
"2FT": "Ford",
|
|
"2FU": "Freightliner",
|
|
"2FV": "Freightliner",
|
|
"2FW": "Sterling",
|
|
"2FY": "New Flyer",
|
|
"2Gx": "GM",
|
|
"2G0": "GMC",
|
|
"2G1": "Chevrolet",
|
|
"2G2": "Pontiac",
|
|
"2G3": "Oldsmobile",
|
|
"2G4": "Buick",
|
|
"2G5": "GMC",
|
|
"2G6": "Cadillac",
|
|
"2G7": "Pontiac",
|
|
"2G8": "Chevrolet",
|
|
"2GA": "Chevrolet",
|
|
"2GC": "Chevrolet",
|
|
"2GH": "GMC",
|
|
"2GJ": "GMC",
|
|
"2GK": "GMC",
|
|
"2GN": "Chevrolet",
|
|
"2GT": "GMC",
|
|
"2HG": "Honda",
|
|
"2HH": "Acura",
|
|
"2HJ": "Honda",
|
|
"2HK": "Honda",
|
|
"2HM": "Hyundai",
|
|
"2HN": "Acura",
|
|
"2HS": "International Trucks",
|
|
"2J4": "Jeep",
|
|
"2LM": "Lincoln",
|
|
"2LN": "Lincoln",
|
|
"2M1": "Mack",
|
|
"2M2": "Mack",
|
|
"2ME": "Mercury",
|
|
"2MG": "Motor Coach Industries",
|
|
"2MR": "Mercury",
|
|
"2NV": "Nova Bus",
|
|
"2P3": "Plymouth",
|
|
"2P4": "Plymouth",
|
|
"2P5": "Plymouth",
|
|
"2PC": "Prevost",
|
|
"2S2": "Suzuki",
|
|
"2S3": "Suzuki",
|
|
"2T1": "Toyota",
|
|
"2T2": "Lexus",
|
|
"2T3": "Toyota",
|
|
"2V4": "Volkswagen",
|
|
"2V8": "Volkswagen",
|
|
"2WK": "WWestern Star Truck",
|
|
"2XK": "Kenworth",
|
|
"2XM": "Eagle Premier",
|
|
"2XP": "Peterbilt Truck",
|
|
"3AK": "Freightliner",
|
|
"3AL": "Freightliner",
|
|
"3AX": "Scania",
|
|
"3BE": "Scania",
|
|
"3BJ": "Western Star",
|
|
"3B3": "Dodge",
|
|
"3B4": "Dodge",
|
|
"3B7": "Dodge",
|
|
"3C3": "Chrysler",
|
|
"3C4": "Chrysler",
|
|
"3C6": "Chrysler",
|
|
"3C8": "Chrysler",
|
|
"3CE": "Volvo",
|
|
"3CZ": "Honda",
|
|
"3D3": "Dodge",
|
|
"3D4": "Dodge",
|
|
"3D7": "Dodge",
|
|
"3FA": "Ford",
|
|
"3FC": "Ford",
|
|
"3FE": "Ford",
|
|
"3FM": "Ford",
|
|
"3FN": "Ford",
|
|
"3FT": "Ford",
|
|
"3F6": "Sterling Bullet",
|
|
"3G": "GM",
|
|
"3G0": "Holden",
|
|
"3G1": "Chevrolet",
|
|
"3G2": "Pontiac",
|
|
"3G4": "Buick",
|
|
"3G5": "Buick",
|
|
"3G7": "Pontiac",
|
|
"3GC": "Chevrolet",
|
|
"3GK": "GMC",
|
|
"3GM": "Holden",
|
|
"3GN": "Chevrolet",
|
|
"3GP": "Honda",
|
|
"3GS": "Saturn",
|
|
"3GT": "GMC",
|
|
"3GY": "Cadillac",
|
|
"3H3": "Hyundai",
|
|
"3HC": "International Trucks",
|
|
"3HG": "Honda",
|
|
"3HS": "International Trucks & Caterpillar",
|
|
"3JB": "BRP",
|
|
"3KP": "Kia Hyundai",
|
|
"3LN": "Lincoln",
|
|
"3MA": "Mercury",
|
|
"3MD": "Mazda",
|
|
"3ME": "Mercury",
|
|
"3MF": "BMW",
|
|
"3MV": "Mazda",
|
|
"3MW": "BMW",
|
|
"3MY": "Toyota",
|
|
"3MZ": "Mazda",
|
|
"3N1": "Nissan",
|
|
"3N6": "Nissan Chevrolet",
|
|
"3N8": "Nissan",
|
|
"3NS": "Polaris",
|
|
"3NE": "Polaris",
|
|
"3P3": "Plymouth",
|
|
"3PC": "Infiniti",
|
|
"3TM": "Toyota",
|
|
"3TY": "Toyota",
|
|
"3VV": "Volkswagen",
|
|
"3VW": "Volkswagen",
|
|
"3WK": "Kenworth",
|
|
"3WP": "Peterbilt Truck",
|
|
"4A3": "Mitsubishi",
|
|
"4A4": "Mitsubishi",
|
|
"4B3": "Dodge",
|
|
"4C3": "Chrysler",
|
|
"4DR": "IC Bus",
|
|
"4EN": "E-ONE",
|
|
"4F2": "Mazda",
|
|
"4F4": "Mazda",
|
|
"4G1": "Chevrolet",
|
|
"4G2": "Pontiac",
|
|
"4G3": "Toyota",
|
|
"4G5": "GM",
|
|
"4GD": "Opel",
|
|
"4JG": "Mercedes-Benz",
|
|
"4KL": "Isuzu",
|
|
"4M2": "Mercury",
|
|
"4ML": "Oshkosh Trailer",
|
|
"4N2": "Nissan",
|
|
"4NU": "Isuzu",
|
|
"4P1": "Pierce",
|
|
"4P3": "Mitsubishi",
|
|
"4RK": "Nova Bus",
|
|
"4S1": "Isuzu",
|
|
"4S2": "Isuzu",
|
|
"4S3": "Subaru",
|
|
"4S4": "Subaru",
|
|
"4S6": "Honda",
|
|
"4TA": "Toyota",
|
|
"4T1": "Toyota",
|
|
"4T3": "Toyota",
|
|
"4T4": "Toyota",
|
|
"4UF": "Arctic Cat",
|
|
"4US": "BMW",
|
|
"4UZ": "Freightliner",
|
|
"4V1": "WhiteGMC Truck",
|
|
"4V3": "Volvo",
|
|
"4V4": "Volvo",
|
|
"4V6": "Volvo",
|
|
"4VA": "Volvo",
|
|
"4VG": "Volvo",
|
|
"4W5": "Acura",
|
|
"4XA": "Polaris",
|
|
"4X4": "Forest River",
|
|
"4YM": "Carry-On Trailer, Inc.",
|
|
"4Z3": "American LaFrance",
|
|
"43C": "Consulier",
|
|
"478": "Honda",
|
|
"480": "Sterling",
|
|
"5AS": "Global Electric Motorcars",
|
|
"5BP": "Solectria",
|
|
"5BZ": "Nissan",
|
|
"5CX": "Shelby",
|
|
"5DF": "Thomas Dennis",
|
|
"5FC": "Columbia Vehicle",
|
|
"5FN": "Honda",
|
|
"5FP": "Honda",
|
|
"5FR": "Acura",
|
|
"5FY": "New Flyer",
|
|
"5GA": "Buick",
|
|
"5GD": "Daewoo",
|
|
"5GN": "Hummer",
|
|
"5GR": "Hummer",
|
|
"5GT": "Hummer",
|
|
"5GZ": "Saturn",
|
|
"5G8": "Holden",
|
|
"5HD": "Harley-Davidson",
|
|
"5J6": "Honda",
|
|
"5J8": "Acura",
|
|
"5KB": "Honda",
|
|
"5KJ": "Western Star",
|
|
"5KK": "Western Star",
|
|
"5L1": "Lincoln",
|
|
"5LM": "Lincoln",
|
|
"5LT": "Lincoln",
|
|
"5N1": "Nissan Infiniti",
|
|
"5N3": "Infiniti",
|
|
"5NH": "Forest River",
|
|
"5NM": "Hyundai",
|
|
"5NP": "Hyundai",
|
|
"5NT": "Hyundai",
|
|
"5S3": "Saab",
|
|
"5SA": "Suzuki",
|
|
"5TB": "Toyota",
|
|
"5TD": "Toyota",
|
|
"5TE": "Toyota",
|
|
"5TF": "Toyota",
|
|
"5UM": "BMW",
|
|
"5UX": "BMW",
|
|
"5VF": "American Electric Vehicle Company",
|
|
"5XX": "Kia",
|
|
"5XY": "Kia Hyundai",
|
|
"5YF": "Toyota",
|
|
"5YJ": "Tesla",
|
|
"5YM": "BMW ",
|
|
"5YN": "Cruise",
|
|
"5Y2": "Pontiac",
|
|
"5ZT": "Forest River",
|
|
"5Z6": "Suzuki",
|
|
"50E": "Lucid",
|
|
"50G": "Karma Automotive",
|
|
"516": "Autocar",
|
|
"523": "VPG",
|
|
"52C": "GEM",
|
|
"53G": "Coda Automotive",
|
|
"53T": "Think North America in Elkhart, IN",
|
|
"546": "EBR",
|
|
"54C": "Winnebago",
|
|
"54D": "Chevrolet",
|
|
"55S": "Mercedes-Benz",
|
|
"57W": "Mobility Ventures",
|
|
"57X": "Polaris Slingshot",
|
|
"58A": "Lexus",
|
|
"6AB": "MAN",
|
|
"6AM": "Jayco",
|
|
"6F1": "Ford",
|
|
"6F2": "Iveco",
|
|
"6F4": "Nissan",
|
|
"6F5": "Kenworth",
|
|
"6FM": "Mack",
|
|
"6FP": "Ford",
|
|
"6G1": "GM",
|
|
"6G2": "Pontiac",
|
|
"6G3": "GM",
|
|
"6H8": "GM",
|
|
"6MM": "Mitsubishi",
|
|
"6MP": "Mercury",
|
|
"6T1": "Toyota",
|
|
"6U9": "Privately",
|
|
"7A1": "Mitsubishi",
|
|
"7A3": "Honda",
|
|
"7A4": "Toyota",
|
|
"7A5": "Ford",
|
|
"7A7": "Nissan",
|
|
"7FA": "Honda",
|
|
"7FC": "Rivian",
|
|
"7F7": "Arcimoto",
|
|
"7G2": "Tesla",
|
|
"7H4": "Hino",
|
|
"7H8": "Cenntro",
|
|
"7JD": "Volvo",
|
|
"7JR": "Volvo",
|
|
"7JZ": "Proterra",
|
|
"7KG": "Vanderhall",
|
|
"7MM": "Mazda",
|
|
"7MU": "Toyota",
|
|
"7MW": "Cenntro",
|
|
"7NA": "Navistar",
|
|
"7NY": "Lordstown",
|
|
"7PD": "Rivian",
|
|
"7SA": "Tesla",
|
|
"7SU": "Blue Arc",
|
|
"7SV": "Toyota",
|
|
"7SX": "Global Electric Motorcars",
|
|
"7SY": "Polestar",
|
|
"7TN": "Canoo",
|
|
"7VV": "Ree",
|
|
"7Z0": "Zoox",
|
|
"8AB": "Mercedes-Benz",
|
|
"8AC": "Mercedes-Benz",
|
|
"8AD": "Peugeot",
|
|
"8AE": "Peugeot",
|
|
"8AF": "Ford",
|
|
"8AG": "Chevrolet",
|
|
"8AJ": "Toyota",
|
|
"8AK": "Suzuki",
|
|
"8AN": "Nissan",
|
|
"8AP": "Fiat",
|
|
"8AT": "Iveco",
|
|
"8AW": "Volkswagen",
|
|
"8A1": "Renault",
|
|
"8A3": "Scania",
|
|
"8BB": "Agrale",
|
|
"8BC": "Citroën",
|
|
"8BR": "Mercedes-Benz",
|
|
"8BT": "Mercedes-Benz",
|
|
"8BU": "Mercedes-Benz",
|
|
"8C3": "Honda",
|
|
"8G1": "Renault",
|
|
"8GD": "Peugeot",
|
|
"8GG": "Chevrolet",
|
|
"8LD": "Chevrolet",
|
|
"8LF": "Maresa",
|
|
"8LG": "Aymesa",
|
|
"8L4": "Great Wall",
|
|
"8XD": "Ford",
|
|
"9BD": "Fiat",
|
|
"9BF": "Ford",
|
|
"9BG": "Chevrolet",
|
|
"9BH": "Hyundai",
|
|
"9BM": "Mercedes-Benz",
|
|
"9BN": "Mafersa",
|
|
"9BR": "Toyota",
|
|
"9BS": "Scania",
|
|
"9BV": "Volvo",
|
|
"9BW": "Volkswagen",
|
|
"9DF": "Puma",
|
|
"932": "Harley-Davidson",
|
|
"935": "Citroën",
|
|
"936": "Peugeot",
|
|
"937": "Dodge",
|
|
"93C": "Chevrolet",
|
|
"93H": "Honda",
|
|
"93K": "Volvo",
|
|
"93P": "Volare",
|
|
"93S": "Navistar",
|
|
"93R": "Toyota",
|
|
"93U": "Audi",
|
|
"93W": "Fiat",
|
|
"93V": "Navistar",
|
|
"93X": "Mitsubishi",
|
|
"93Y": "Renault",
|
|
"93Z": "Iveco",
|
|
"94D": "Nissan",
|
|
"94N": "RWM",
|
|
"95P": "CAOA",
|
|
"988": "Jeep Fiat",
|
|
"98M": "BMW",
|
|
"98P": "DAF",
|
|
"98R": "Chery",
|
|
"99A": "Audi",
|
|
"99H": "Shineray",
|
|
"99J": "Jaguar Land Rover",
|
|
"99K": "Haojue Kymco",
|
|
"99L": "BYD",
|
|
"9FB": "Renault",
|
|
"9FC": "Compañía",
|
|
"9GA": "Chevrolet",
|
|
"9UJ": "Chery",
|
|
"9UK": "Lifan",
|
|
"9UT": "Dongfeng",
|
|
"9UW": "Kia",
|
|
"9VC": "Fiat",
|
|
"9V7": "Citroën",
|
|
"9V8": "Peugeot",
|
|
"MM0": "Mazda",
|
|
"MM6": "Mazda",
|
|
"MM7": "Mazda",
|
|
"MM8": "Mazda",
|
|
}
|
|
|
|
|
|
def decode_vds(manufacturer, vds):
|
|
# Mapping of manufacturers to their VDS positions and corresponding models
|
|
vds_model_mapping = {
|
|
"Honda": {
|
|
1: {
|
|
"F": "Agila",
|
|
"G": "Insignia",
|
|
"J": "Mokka",
|
|
"L": "Antara",
|
|
"M": "Movano",
|
|
"P": ["Astra J", "Zafira C"],
|
|
"R": "Astra GTC J",
|
|
"S": "Meriva",
|
|
"V": "Combo II",
|
|
"W": "Cascada",
|
|
}
|
|
},
|
|
"Kia": {
|
|
1: {
|
|
"A": ["Rio", "EV9"],
|
|
"C": ["Niro", "EV6"],
|
|
"D": "Rio",
|
|
"E": ["Stinger", "Seltos"],
|
|
"F": ["Forte", "K4"],
|
|
"G": ["Optima", "Magentis", "K5"],
|
|
"H": "Rondo",
|
|
"J": "Soul",
|
|
"K": ["Mohave", "Sorento", "Sportage"],
|
|
"L": ["Cadenza", "K9"],
|
|
"M": "Sedona",
|
|
"N": "Carnival",
|
|
"P": ["Sportage", "Sorento", "Telluride"],
|
|
"R": "Sorento",
|
|
"S": "K9",
|
|
}
|
|
},
|
|
"Peugeot": {
|
|
1: {
|
|
"A": "604",
|
|
"2": "206",
|
|
"8": ["406", "508"],
|
|
"6": "407",
|
|
"9": "308",
|
|
"4": "308",
|
|
"B": "Expert",
|
|
"C": ["208", "504"],
|
|
"D": "301",
|
|
"3": "307",
|
|
"7": ["306", "Partner"],
|
|
"U": "2008",
|
|
"M": "3008",
|
|
}
|
|
},
|
|
"Toyota": {
|
|
1: { # 5th character in VDS
|
|
"0": "MR2 Spyder",
|
|
"1": "Tundra",
|
|
"3": ["Echo", "Yaris"],
|
|
"A": ["Highlander", "Sequoia", "Celica", "Supra"],
|
|
"B": "Avalon",
|
|
"C": ["Sienna", "Previa"],
|
|
"D": "T100",
|
|
"E": ["Corolla", "Matrix"],
|
|
"F": "FJ Cruiser",
|
|
"G": "Hilux",
|
|
"H": "Highlander",
|
|
"J": "Land Cruiser",
|
|
"K": "Camry",
|
|
"L": ["Tercel", "Paseo"],
|
|
"M": "Previa",
|
|
"N": "Tacoma",
|
|
"P": "Camry",
|
|
"R": ["4Runner", "Corolla"],
|
|
"T": "Celica FWD",
|
|
"U": "Prius",
|
|
"V": "RAV4",
|
|
"W": "MR2 non Spyder",
|
|
"X": "Cressida",
|
|
}
|
|
},
|
|
"Nissan": {
|
|
2: {
|
|
"A": ["Armada", "Titan", "Maxima"],
|
|
"B": "Sentra",
|
|
"C": "Versa (07-11)",
|
|
"D": ["Truck", "Xterra (00-04)", "Frontier"],
|
|
"J": "Maxima",
|
|
"L": "Altima",
|
|
"N": "Xterra (05-11)",
|
|
"P": "Kicks",
|
|
"R": "Pathfinder",
|
|
"S": ["240SX", "Rogue (08-11)"],
|
|
"T": "X Trail",
|
|
"U": "Altima",
|
|
"Y": "Patrol",
|
|
"Z": ["300Z", "350Z", "Murano"],
|
|
}
|
|
},
|
|
"Renault": {
|
|
2: { # 5th character in VDS
|
|
"0": "Twingo",
|
|
"1": "R4",
|
|
"2": "R25",
|
|
"3": "R4",
|
|
"4": ["R21", "Express"],
|
|
"5": ["Clio I", "Laguna", "R19", "Safrane"],
|
|
"A": ["Megane I", "Master"],
|
|
"B": "Clio II",
|
|
"C": "Kangoo",
|
|
"D": "Master",
|
|
"E": ["Espace III", "Avantime"],
|
|
"G": "Laguna II",
|
|
"H": "Master Propulsion",
|
|
"J": ["Vel Satis", "New Trafic"],
|
|
"K": "Espace IV",
|
|
"L": "Trafic",
|
|
"M": "Megan II",
|
|
"P": "Modus",
|
|
"S": ["Logan", "Sandero", "Duster", "Dokker", "Lodgy"],
|
|
"Y": "Koleos",
|
|
}
|
|
},
|
|
# New Manufacturers Added Below
|
|
"Ford": {
|
|
3: {
|
|
"A": ["Fiesta", "Focus"],
|
|
"B": ["Mustang", "Explorer"],
|
|
"C": "Ranger",
|
|
"D": ["Escape", "Edge"],
|
|
"E": "F-150",
|
|
"F": "Transit",
|
|
"G": "Bronco",
|
|
"H": "Expedition",
|
|
}
|
|
},
|
|
"BMW": {
|
|
4: {
|
|
"1": "1 Series",
|
|
"2": "2 Series",
|
|
"3": "3 Series",
|
|
"4": "4 Series",
|
|
"5": "5 Series",
|
|
"6": "6 Series",
|
|
"7": "7 Series",
|
|
"8": "8 Series",
|
|
"X": "X Series (SUV)",
|
|
"Z": "Z Series (Roadster)",
|
|
}
|
|
},
|
|
"Mercedes-Benz": {
|
|
3: {
|
|
"A": "A-Class",
|
|
"B": "B-Class",
|
|
"C": "C-Class",
|
|
"E": "E-Class",
|
|
"G": "G-Class",
|
|
"S": "S-Class",
|
|
"V": "V-Class",
|
|
"X": "GL-Class",
|
|
}
|
|
},
|
|
"Volkswagen": {
|
|
2: {
|
|
"1": "Golf",
|
|
"2": "Jetta",
|
|
"3": "Passat",
|
|
"4": "Tiguan",
|
|
"5": "Polo",
|
|
"6": "Arteon",
|
|
"7": "Atlas",
|
|
"8": "Touareg",
|
|
"9": "Beetle",
|
|
}
|
|
},
|
|
"Hyundai": {
|
|
1: {
|
|
"A": "Accent",
|
|
"B": "Elantra",
|
|
"C": "Sonata",
|
|
"D": "Tucson",
|
|
"E": "Santa Fe",
|
|
"F": "Kona",
|
|
"G": "Palisade",
|
|
"H": "Veloster",
|
|
"J": "Genesis",
|
|
}
|
|
},
|
|
"Chevrolet": {
|
|
2: {
|
|
"A": "Camaro",
|
|
"B": "Corvette",
|
|
"C": "Cruze",
|
|
"D": "Malibu",
|
|
"E": "Equinox",
|
|
"F": "Traverse",
|
|
"G": "Silverado",
|
|
"H": "Tahoe",
|
|
"J": "Suburban",
|
|
}
|
|
},
|
|
"Audi": {
|
|
3: {
|
|
"1": "A1",
|
|
"2": "A2",
|
|
"3": "A3",
|
|
"4": "A4",
|
|
"5": "A5",
|
|
"6": "A6",
|
|
"7": "A7",
|
|
"8": "A8",
|
|
"Q": "Q Series (SUV)",
|
|
"T": "TT",
|
|
}
|
|
},
|
|
"Subaru": {
|
|
2: {
|
|
"A": "Impreza",
|
|
"B": "Legacy",
|
|
"C": "Outback",
|
|
"D": "Forester",
|
|
"E": "Crosstrek",
|
|
"F": "BRZ",
|
|
"G": "Ascent",
|
|
}
|
|
},
|
|
"Mazda": {
|
|
1: {
|
|
"A": "Mazda3",
|
|
"B": "Mazda6",
|
|
"C": "CX-5",
|
|
"D": "CX-9",
|
|
"E": "MX-5 Miata",
|
|
"F": "CX-30",
|
|
"G": "RX-8",
|
|
}
|
|
},
|
|
"Dongfeng": {
|
|
1: {
|
|
"A": "A-Series",
|
|
"B": "SHINE",
|
|
"C": "C-Series",
|
|
"D": "MAGE",
|
|
"E": ["CAPTAIN E", "E32"],
|
|
"F": "CAPTAIN C",
|
|
"G": "S50",
|
|
"H": "Dongfeng Fengshen AX3",
|
|
"J": "Dongfeng Joyear SUV",
|
|
"K": "Dongfeng Rich 6",
|
|
"L": "Dongfeng Sokon",
|
|
"M": "Dongfeng Glory 580",
|
|
},
|
|
2: {
|
|
"3": "C35", # Specific models in C-Series
|
|
"1": "C31",
|
|
"2": "C32",
|
|
"7": "C72",
|
|
"6": "A60", # Specific models in A-Series
|
|
"3": "A30",
|
|
"X": ["AX7", "AX4"],
|
|
},
|
|
3: { # Third character (for AX models)
|
|
"7": "AX7", # Resolves AX7
|
|
"4": "AX4", # Resolves AX4
|
|
},
|
|
},
|
|
"Changan": {
|
|
1: {
|
|
"A": "Changan CS35",
|
|
"B": "Changan CS55",
|
|
"C": "Changan CS75",
|
|
"D": "Changan CS85",
|
|
"E": "Changan CS95",
|
|
"F": "Changan Eado",
|
|
"G": "Changan Raeton",
|
|
"H": "Changan Alsvin",
|
|
"J": "Changan UNI-T",
|
|
"K": "Changan UNI-K",
|
|
"L": "Changan Oushang",
|
|
"M": "Changan Benni",
|
|
}
|
|
},
|
|
"Chery": {
|
|
1: {
|
|
"A": "Chery Arrizo 5",
|
|
"B": "Chery Arrizo 7",
|
|
"C": "Chery Tiggo 3",
|
|
"D": "Chery Tiggo 5",
|
|
"E": "Chery Tiggo 7",
|
|
"F": "Chery Tiggo 8",
|
|
"G": "Chery QQ",
|
|
"H": "Chery Fulwin",
|
|
"J": "Chery Cowin",
|
|
"K": "Chery eQ1",
|
|
"L": "Chery Exeed TX",
|
|
"M": "Chery Exeed LX",
|
|
}
|
|
},
|
|
"MG": {
|
|
1: {
|
|
"A": "MG 3",
|
|
"B": "MG 5",
|
|
"C": "MG 6",
|
|
"D": "MG ZS",
|
|
"E": "MG HS",
|
|
"F": "MG RX5",
|
|
"G": "MG Marvel R",
|
|
"H": "MG EZS",
|
|
"J": "MG GT",
|
|
"K": "MG TF",
|
|
"L": "MG Cyberster",
|
|
}
|
|
},
|
|
"JMC": {
|
|
1: {
|
|
"A": "JMC Yusheng",
|
|
"B": "JMC Vigus",
|
|
"C": "JMC Baodian",
|
|
"D": "JMC Ford Transit",
|
|
"E": "JMC S350",
|
|
"F": "JMC Teshun",
|
|
"G": "JMC Realm",
|
|
"H": "JMC Yuhu",
|
|
"J": "JMC E200",
|
|
"K": "JMC E400",
|
|
}
|
|
},
|
|
"JAC": {
|
|
1: {
|
|
"A": "JAC J3",
|
|
"B": "JAC J4",
|
|
"C": "JAC J5",
|
|
"D": "JAC J6",
|
|
"E": "JAC J7",
|
|
"F": "JAC S2",
|
|
"G": "JAC S3",
|
|
"H": "JAC S4",
|
|
"J": "JAC S5",
|
|
"K": "JAC S7",
|
|
"L": "JAC iEV7S",
|
|
"M": "JAC iEVS4",
|
|
}
|
|
},
|
|
"BYD": {
|
|
1: {
|
|
"A": "BYD F3",
|
|
"B": "BYD F6",
|
|
"C": "BYD S6",
|
|
"D": "BYD Tang",
|
|
"E": "BYD Song",
|
|
"F": "BYD Yuan",
|
|
"G": "BYD Qin",
|
|
"H": "BYD Han",
|
|
"J": "BYD e5",
|
|
"K": "BYD e6",
|
|
"L": "BYD Dolphin",
|
|
"M": "BYD Seal",
|
|
}
|
|
},
|
|
"Geely": {
|
|
1: {
|
|
"A": "Geely Emgrand EC7",
|
|
"B": "Geely Emgrand GS",
|
|
"C": "Geely Emgrand GL",
|
|
"D": "Geely Boyue",
|
|
"E": "Geely Xingyue",
|
|
"F": "Geely Binrui",
|
|
"G": "Geely Borui",
|
|
"H": "Geely Vision",
|
|
"J": "Geely Coolray",
|
|
"K": "Geely Monjaro",
|
|
"L": "Geely Geometry A",
|
|
"M": "Geely Geometry C",
|
|
}
|
|
},
|
|
"Great Wall Motors (GWM)": {
|
|
1: {
|
|
"A": "GWM Haval H6",
|
|
"B": "GWM Haval H9",
|
|
"C": "GWM Haval Jolion",
|
|
"D": "GWM WEY VV5",
|
|
"E": "GWM WEY VV6",
|
|
"F": "GWM WEY VV7",
|
|
"G": "GWM Ora R1",
|
|
"H": "GWM Ora Good Cat",
|
|
"J": "GWM Poer",
|
|
"K": "GWM Tank 300",
|
|
"L": "GWM Tank 500",
|
|
}
|
|
},
|
|
"FAW": {
|
|
1: {
|
|
"A": "FAW Besturn B50",
|
|
"B": "FAW Besturn X40",
|
|
"C": "FAW Besturn X80",
|
|
"D": "FAW Hongqi H5",
|
|
"E": "FAW Hongqi H7",
|
|
"F": "FAW Hongqi HS5",
|
|
"G": "FAW Hongqi HS7",
|
|
"H": "FAW Jiefang Truck",
|
|
"J": "FAW Oley",
|
|
"K": "FAW Vita",
|
|
}
|
|
},
|
|
"SAIC Motor": {
|
|
1: {
|
|
"A": "SAIC Maxus G10",
|
|
"B": "SAIC Maxus G50",
|
|
"C": "SAIC Maxus T60",
|
|
"D": "SAIC Roewe RX5",
|
|
"E": "SAIC Roewe i5",
|
|
"F": "SAIC Roewe i6",
|
|
"G": "SAIC MG ZS",
|
|
"H": "SAIC MG HS",
|
|
"J": "SAIC IM LS7",
|
|
"K": "SAIC IM Marvel R",
|
|
}
|
|
},
|
|
}
|
|
|
|
# Get the mapping for the specified manufacturer
|
|
manufacturer_mapping = vds_model_mapping.get(manufacturer, {})
|
|
|
|
# Iterate through the positions and models in the manufacturer's mapping
|
|
for position, models in manufacturer_mapping.items():
|
|
# Check if the VDS has enough characters for the specified position
|
|
if position - 1 < len(vds):
|
|
key = vds[position - 1] # Get the character at the specified position
|
|
model = models.get(key, None) # Get the model(s) for the key
|
|
if model:
|
|
return model # Return the model if found
|
|
|
|
# Return "Unknown Model" if no match is found
|
|
return "Unknown Model"
|
|
|
|
|
|
def decode_vin_haikalna(vin):
|
|
if len(vin) != 17:
|
|
raise ValueError("Invalid VIN length. VIN must be 17 characters.")
|
|
|
|
pattern = r"^[A-HJ-NPR-Z0-9]{17}$"
|
|
if not re.match(pattern, vin):
|
|
raise Exception(
|
|
"VIN number must only contain alphanumeric symbols except 'I', 'O', and 'Q' "
|
|
)
|
|
|
|
vin = vin.upper()
|
|
|
|
wmi = vin[:3]
|
|
vds = vin[3:9]
|
|
vis = vin[9:17]
|
|
|
|
manufacturer = wmi_manufacturer_mapping.get(wmi, vds)
|
|
|
|
year_code = vis[0]
|
|
year = vin_year(year_code)
|
|
model = decode_vds(manufacturer, vds)
|
|
|
|
data = {
|
|
"maker": manufacturer,
|
|
"model": model,
|
|
"modelYear": year,
|
|
}
|
|
print(data)
|
|
return data
|