Files
cloud-services/pkg/vindecoder/vin_wmi_lookup.go

592 lines
16 KiB
Go

package vindecoder
// source: https://en.wikibooks.org/wiki/Vehicle_Identification_Numbers_(VIN_codes)/World_Manufacturer_Identifier_(WMI)
var vinWmiCodeMap = map[string]string{
// Africa
"AAV": "Volkswagen South Africa",
"AC5": "Hyundai South Africa",
"ADD": "Hyundai South Africa",
"AFA": "Ford South Africa",
"AHT": "Toyota South Africa",
// Japan
"JA3": "Mitsubishi",
"JA4": "Mitsubishi",
"JA*": "Isuzu",
"JD*": "Daihatsu",
"JF*": "Fuji Heavy Industries (Subaru)",
"JHA": "Hino",
"JHB": "Hino",
"JHC": "Hino",
"JHD": "Hino",
"JHE": "Hino",
"JHF": "Honda",
"JHG": "Honda",
"JHL": "Honda",
"JHM": "Honda",
"JHN": "Honda",
"JHZ": "Honda",
"JH1": "Honda",
"JH2": "Honda",
"JH3": "Honda",
"JH4": "Honda",
"JH5": "Honda",
"JK*": "Kawasaki (motorcycles)",
"JL5": "Mitsubishi Fuso",
"JM1": "Mazda",
"JMB": "Mitsubishi Motors",
"JMY": "Mitsubishi Motors",
"JMZ": "Mazda",
"JN*": "Nissan",
"JS*": "Suzuki",
"JT*": "Toyota",
"JY*": "Yamaha (motorcycles)",
// Korea
"KL*": "Daewoo General Motors South Korea",
"KM*": "Hyundai",
"KMY": "Daelim (motorcycles)",
"KM1": "Hyosung (motorcycles)",
"KN*": "Kia",
"KNM": "Renault Samsung",
"KPA": "SsangYong",
"KPT": "SsangYong",
// China
"LAE": "Jinan Qingqi Motorcycle",
"LAL": "Sundiro Honda Motorcycle",
"LAN": "Changzhou Yamasaki Motorcycle",
"LBB": "Zhejiang Qianjiang Motorcycle (Keeway/Generic)",
"LBE": "Beijing Hyundai",
"LBM": "Zongshen Piaggio",
"LBP": "Chongqing Jainshe Yamaha (motorcycles)",
"LB2": "Geely Motorcycles",
"LCE": "Hangzhou Chunfeng Motorcycles (CFMOTO)",
"LDC": "Dong Feng Peugeot Citroen (DPCA), China",
"LDD": "Dandong Huanghai Automobile",
"LDF": "Dezhou Fulu Vehicle (motorcycles)",
"LDN": "SouEast Motor",
"LDY": "Zhongtong Coach, China",
"LET": "Jiangling-Isuzu Motors, China",
"LE4": "Beijing Benz, China",
"LFB": "FAW, China (busses)",
"LFG": "Taizhou Chuanl Motorcycle Manufacturing",
"LFP": "FAW, China (passenger vehicles)",
"LFT": "FAW, China (trailers)",
"LFV": "FAW-Volkswagen, China",
"LFW": "FAW JieFang, China",
"LFY": "Changshu Light Motorcycle Factory",
"LGB": "Dong Feng (DFM), China",
"LGH": "Qoros (formerly Dong Feng (DFM)), China",
"LGX": "BYD Auto, China",
"LHB": "Beijing Automotive Industry Holding",
"LH1": "FAW-Haima, China",
"LJC": "JAC, China",
"LJ1": "JAC, China",
"LKL": "Suzhou King Long, China",
"LL6": "Hunan Changfeng Manufacture Joint-Stock",
"LL8": "Linhai (ATV)",
"LMC": "Suzuki Hong Kong (motorcycles)",
"LPR": "Yamaha Hong Kong (motorcycles)",
"LPS": "Polestar (Volvo) (Sweden)",
"LSG": "Shanghai General Motors, China",
"LSJ": "MG Motor UK Limited - SAIC Motor, Shanghai, China",
"LSV": "Shanghai Volkswagen, China",
"LSY": "Brilliance Zhonghua",
"LTP": "National Electric Vehicle Sweden AB (NEVS)",
"LTV": "Toyota Tian Jin",
"LUC": "Guangqi Honda, China",
"LVS": "Ford Chang An",
"LVV": "Chery, China",
"LVZ": "Dong Feng Sokon Motor Company (DFSK)",
"LV3": "National Electric Vehicle Sweden AB (NEVS)",
"LZM": "MAN China",
"LZE": "Isuzu Guangzhou, China",
"LZG": "Shaanxi Automobile Group, China",
"LZP": "Zhongshan Guochi Motorcycle (Baotian)",
"LZY": "Yutong Zhengzhou, China",
"LZZ": "Chongqing Shuangzing Mech & Elec (Howo)",
"L4B": "Xingyue Group (motorcycles)",
"L5C": "KangDi (ATV)",
"L5K": "Zhejiang Yongkang Easy Vehicle",
"L5N": "Zhejiang Taotao, China (ATV & motorcycles)",
"L5Y": "Merato Motorcycle Taizhou Zhongneng",
"L85": "Zhejiang Yongkang Huabao Electric Appliance",
"L8X": "Zhejiang Summit Huawin Motorcycle",
// India
"MAB": "Mahindra & Mahindra",
"MAC": "Mahindra & Mahindra",
"MAJ": "Ford India",
"MAK": "Honda Siel Cars India",
"MAL": "Hyundai India",
"MAT": "Tata Motors",
"MA1": "Mahindra & Mahindra",
"MA3": "Suzuki India (Maruti)",
"MA6": "GM India",
"MA7": "Mitsubishi India (formerly Honda)",
"MB8": "Suzuki India Motorcycles",
"MBH": "Suzuki India (Maruti)",
"MBJ": "Toyota India",
"MBR": "Mercedes-Benz Indiav",
"MB1": "Ashok Leyland",
"MCA": "Fiat India",
"MCB": "GM India",
"MC2": "Volvo Eicher commercial vehicles limited.",
"MDH": "Nissan India",
"MD2": "Bajaj Auto",
"MD9": "Shuttle Cars India",
"MEC": "Daimler India Commercial Vehicles",
"MEE": "Renault India",
"MEX": "Volkswagen India",
// Asia
"MHF": "Toyota Indonesia",
"MHR": "Honda Indonesia",
"MLC": "Suzuki Thailand",
"NAA": "Iran Khodro (Peugeot Iran)",
"NAP": "Pars Khodro",
"MLH": "Honda Thailand",
"MMA": "Mitsubishi Thailand",
"MMB": "Mitsubishi Thailand",
"MMC": "Mitsubishi Thailand",
"MMM": "Chevrolet Thailand",
"MMS": "Suzuki Thailand",
"MMT": "Mitsubishi Thailand",
"MMU": "Holden Thailand",
"MM8": "Mazda Thailand",
"MNB": "Ford Thailand",
"MNT": "Nissan Thailand",
"MPA": "Isuzu Thailand",
"MP1": "Isuzu Thailand",
"MRH": "Honda Thailand",
"MR0": "Toyota Thailand",
"MS0": "SSS MOTORS Myanmar",
"MS3": "Suzuki Myanmar Motor Co.,Ltd.",
"NLA": "Honda Türkiye",
"NLE": "Mercedes-Benz Türk Truck",
"NLH": "Hyundai Assan",
"NLN": "Karsan",
"NLR": "OTOKAR",
"NLT": "TEMSA",
"NMB": "Mercedes-Benz Türk Buses",
"NMC": "BMC",
"NM0": "Ford Turkey",
"NM4": "Tofaş Türk",
"NMT": "Toyota Türkiye",
"NNA": "Isuzu Turkey",
"PE1": "Ford Philippines",
"PE3": "Mazda Philippines",
"PL1": "Proton, Malaysia",
"PNA": "NAZA, Malaysia (Peugeot)",
"R2P": "Evoke Electric Motorcycles HK",
"RA1": "Steyr Trucks International FZE, UAE",
"RFB": "Kymco, Taiwan",
"RFG": "Sanyang SYM, Taiwan",
"RFL": "Adly, Taiwan",
"RFT": "CPI, Taiwan",
"RF3": "Aeon Motor, Taiwan",
// UK
"SAB": "Optare",
"SAD": "Jaguar (F-Pace, I-Pace)",
"SAL": "Land Rover",
"SAJ": "Jaguar",
"SAR": "Rover",
"SAX": "Austin-Rover",
"SB1": "Toyota UK",
"SBM": "McLaren",
"SCA": "Rolls Royce",
"SCB": "Bentley",
"SCC": "Lotus Cars",
"SCE": "DeLorean Motor Cars N. Ireland (UK)",
"SCF": "Aston",
"SCK": "iFor Williams",
"SDB": "Peugeot UK (formerly Talbot)",
"SED": "General Motors Luton Plant",
"SEY": "LDV",
"SFA": "Ford UK",
"SFD": "Alexander Dennis UK",
"SHH": "Honda UK",
"SHS": "Honda UK",
"SJN": "Nissan UK",
"SKF": "Vauxhall",
"SLP": "JCB Research UK",
"SMT": "Triumph Motorcycles",
// Europe
"SUF": "Fiat Auto Poland",
"SUL": "FSC (Poland)",
"SUP": "FSO-Daewoo (Poland)",
"SU9": "Solaris Bus & Coach (Poland)",
"SUU": "Solaris Bus & Coach (Poland)",
"SWV": "TA-NO (Poland)",
"TCC": "Micro Compact Car AG (smart 1998-1999)",
"TDM": "QUANTYA Swiss Electric Movement (Switzerland)",
"TK9": "SOR buses (Czech Republic)",
"TMA": "Hyundai Motor Manufacturing Czech",
"TMB": "Škoda (Czech Republic)",
"TMK": "Karosa (Czech Republic)",
"TMP": "Škoda trolleybuses (Czech Republic)",
"TMT": "Tatra (Czech Republic)",
"TM9": "Škoda trolleybuses (Czech Republic)",
"TNE": "TAZ",
"TN9": "Karosa (Czech Republic)",
"TRA": "Ikarus Bus",
"TRU": "Audi Hungary",
"TSB": "Ikarus Bus",
"TSE": "Ikarus Egyedi Autobuszgyar, (Hungary)",
"TSM": "Suzuki Hungary",
"TW1": "Toyota Caetano Portugal",
"TYA": "Mitsubishi Trucks Portugal",
"TYB": "Mitsubishi Trucks Portugal",
"UU1": "Renault Dacia, (Romania)",
"UU2": "Oltcit",
"UU3": "ARO",
"UU4": "Roman SA",
"UU5": "Rocar",
"UU6": "Daewoo Romania",
"UU7": "Euro Bus Diamond",
"UU9": "Astra Bus",
"UZT": "UTB (Uzina de Tractoare Brașov)",
"U5Y": "Kia Motors Slovakia",
"U6Y": "Kia Motors Slovakia",
"VAG": "Magna Steyr Puch",
"VAN": "MAN Austria",
"VBK": "KTM (Motorcycles)",
"VCF": "Fisker GmbH",
"VF1": "Renault",
"VF2": "Renault",
"VF3": "Peugeot",
"VF4": "Talbot",
"VF6": "Renault (Trucks & Buses)",
"VF7": "Citroën",
"VF8": "Matra",
"VG5": "MBK (motorcycles)",
"VLU": "Scania France",
"VN1": "SOVAB (France)",
"VNE": "Irisbus (France)",
"VNK": "Toyota France",
"VNV": "Renault-Nissan",
"VSA": "Mercedes-Benz Spain",
"VSE": "Suzuki Spain (Santana Motors)",
"VSK": "Nissan Spain",
"VSS": "SEAT",
"VSX": "Opel Spain",
"VS6": "Ford Spain",
"VS7": "Citroën Spain",
"VS9": "Carrocerias Ayats (Spain)",
"VTH": "Derbi (motorcycles)",
"VTL": "Yamaha Spain (motorcycles)",
"VTT": "Suzuki Spain (motorcycles)",
"VV9": "TAURO Spain",
"VWA": "Nissan Spain",
"VWV": "Volkswagen Spain",
"VX1": "Zastava / Yugo Serbia",
// Germany - formerly West, former East has other codes
"WAG": "Neoplan",
"WAU": "Audi",
"WA1": "Audi SUV",
"WBA": "BMW",
"WBS": "BMW M",
"WBW": "BMW",
"WBY": "BMW",
"WDA": "Daimler",
"WDB": "Mercedes-Benz",
"WDC": "DaimlerChrysler",
"WDD": "Mercedes-Benz",
"WDF": "Mercedes-Benz (commercial vehicles)",
"WEB": "Evobus GmbH (Mercedes-Bus)",
"WJM": "Iveco Magirus",
"WF0": "Ford Germany",
"WKE": "Fahrzeugwerk Bernard Krone (truck trailers)",
"WKK": "Kässbohrer/Setra",
"WMA": "MAN Germany",
"WME": "smart",
"WMW": "MINI",
"WMX": "Mercedes-AMG",
"WP0": "Porsche",
"WP1": "Porsche SUV",
"WSM": "Schmitz-Cargobull (truck trailers)",
"W09": "RUF",
"W0L": "Opel",
"W0V": "Opel (since 2017)",
"WUA": "Audi Sport GmbH (formerly quattro GmbH)",
"WVG": "Volkswagen MPV/SUV",
"WVW": "Volkswagen",
"WV1": "Volkswagen Commercial Vehicles",
"WV2": "Volkswagen Bus/Van",
"WV3": "Volkswagen Trucks",
// Europe
"XLB": "Volvo (NedCar)",
"XLE": "Scania Netherlands",
"XLR": "DAF (trucks)",
"XMC": "Mitsubishi (NedCar)",
"XMG": "VDL Bus & Coach",
"XTA": "Lada/AvtoVAZ (Russia)",
"XTC": "KAMAZ (Russia)",
"XTH": "GAZ (Russia)",
"XTT": "UAZ/Sollers (Russia)",
"XTU": "Trolza (Russia)",
"XTY": "LiAZ (Russia)",
"XUF": "General Motors Russia",
"XUU": "AvtoTor (Russia, General Motors SKD)",
"XW8": "Volkswagen Group Russia",
"XWB": "UZ-Daewoo (Uzbekistan)",
"XWE": "AvtoTor (Russia, Hyundai-Kia SKD)",
"X1M": "PAZ (Russia)",
"X4X": "AvtoTor (Russia, BMW SKD)",
"X7L": "Renault AvtoFramos (Russia)",
"X7M": "Hyundai TagAZ (Russia)",
"YBW": "Volkswagen Belgium",
"YB1": "Volvo Trucks Belgium",
"YCM": "Mazda Belgium",
"YE2": "Van Hool (buses)",
"YH2": "BRP Finland (Lynx snowmobiles)",
"YK1": "Saab-Valmet Finland",
"YSC": "Cadillac (Saab)",
"YS2": "Scania AB",
"YS3": "Saab",
"YS4": "Scania Bus",
"YTN": "Saab NEVS",
"YU7": "Husaberg (motorcycles)",
"YVV": "Polestar (Volvo) (Sweden)",
"YV1": "Volvo Cars",
"YV4": "Volvo Cars",
"YV2": "Volvo Trucks",
"YV3": "Volvo Buses",
"Y3M": "MAZ (Belarus)",
"Y6D": "Zaporozhets/AvtoZAZ (Ukraine)",
"ZAA": "Autobianchi",
"ZAM": "Maserati",
"ZAP": "Piaggio/Vespa/Gilera",
"ZAR": "Alfa Romeo",
"ZBN": "Benelli",
"ZCG": "Cagiva SpA / MV Agusta",
"ZCF": "Iveco",
"ZDC": "Honda Italia Industriale SpA",
"ZDM": "Ducati Motor Holdings SpA",
"ZDF": "Ferrari Dino",
"ZD0": "Yamaha Italy",
"ZD3": "Beta Motor",
"ZD4": "Aprilia",
"ZFA": "Fiat",
"ZFC": "Fiat V.I.",
"ZFF": "Ferrari",
"ZGU": "Moto Guzzi",
"ZHW": "Lamborghini",
"ZJM": "Malaguti",
"ZJN": "Innocenti",
"ZKH": "Husqvarna Motorcycles Italy",
"ZLA": "Lancia",
"Z8M": "Marussia (Russia)",
// European small production
"VF9-795": "Bugatti",
"XL9-363": "Spyker",
"YT9-007": "Koenigsegg",
"YT9-034": "Carvia",
// USA
"1B3": "Dodge",
"1C3": "Chrysler",
"1C4": "Chrysler",
"1C6": "Chrysler",
"1D3": "Dodge",
"1FA": "Ford Motor Company",
"1FB": "Ford Motor Company",
"1FC": "Ford Motor Company",
"1FD": "Ford Motor Company",
"1FM": "Ford Motor Company",
"1FT": "Ford Motor Company",
"1FU": "Freightliner",
"1FV": "Freightliner",
"1F9": "FWD Corp.",
"1G*": "General Motors USA",
"1GC": "Chevrolet Truck USA",
"1GT": "GMC Truck USA",
"1G1": "Chevrolet USA",
"1G2": "Pontiac USA",
"1G3": "Oldsmobile USA",
"1G4": "Buick USA",
"1G6": "Cadillac USA",
"1G8": "Saturn USA",
"1GM": "Pontiac USA",
"1GY": "Cadillac USA",
"1H*": "Honda USA",
"1HD": "Harley-Davidson",
"1HT": "International Truck and Engine Corp. USA",
"1J4": "Jeep",
"1J8": "Jeep",
"1L*": "Lincoln USA",
"1ME": "Mercury USA",
"1M1": "Mack Truck USA",
"1M2": "Mack Truck USA",
"1M3": "Mack Truck USA",
"1M4": "Mack Truck USA",
"1M9": "Mynatt Truck & Equipment",
"1N*": "Nissan USA",
"1NX": "NUMMI USA",
"1P3": "Plymouth USA",
"1PY": "John Deere USA",
"1R9": "Roadrunner Hay Squeeze USA",
"1VW": "Volkswagen USA",
"1XK": "Kenworth USA",
"1XP": "Peterbilt USA",
"1YV": "Mazda USA (AutoAlliance International)",
"1ZV": "Ford (AutoAlliance International)",
// Canada
"2A4": "Chrysler Canada",
"2BP": "Bombardier Recreational Products",
"2B3": "Dodge Canada",
"2B7": "Dodge Canada",
"2C3": "Chrysler Canada",
"2CN": "CAMI",
"2D3": "Dodge Canada",
"2FA": "Ford Motor Company Canada",
"2FB": "Ford Motor Company Canada",
"2FC": "Ford Motor Company Canada",
"2FM": "Ford Motor Company Canada",
"2FT": "Ford Motor Company Canada",
"2FU": "Freightliner",
"2FV": "Freightliner",
"2FZ": "Sterling",
"2Gx": "General Motors Canada",
"2G1": "Chevrolet Canada",
"2G2": "Pontiac Canada",
"2G3": "Oldsmobile Canada",
"2G4": "Buick Canada",
"2G9": "mfr. of less than 1000/ yr. Canada",
"2HG": "Honda Canada",
"2HK": "Honda Canada",
"2HJ": "Honda Canada",
"2HM": "Hyundai Canada",
"2M*": "Mercury",
"2NV": "Nova Bus Canada",
"2P3": "Plymouth Canada",
"2T*": "Toyota Canada",
"2TP": "Triple E Canada LTD",
"2V4": "Volkswagen Canada",
"2V8": "Volkswagen Canada",
"2WK": "Western Star",
"2WL": "Western Star",
"2WM": "Western Star",
// Mexico and other North America
"3C4": "Chrysler Mexico",
"3C6": "RAM Mexico",
"3D3": "Dodge Mexico",
"3D4": "Dodge Mexico",
"3FA": "Ford Motor Company Mexico",
"3FE": "Ford Motor Company Mexico",
"3G*": "General Motors Mexico",
"3H*": "Honda Mexico",
"3JB": "BRP Mexico (all-terrain vehicles)",
"3MD": "Mazda Mexico",
"3MZ": "Mazda Mexico",
"3N*": "Nissan Mexico",
"3NS": "Polaris Industries USA",
"3NE": "Polaris Industries USA",
"3P3": "Plymouth Mexico",
"3VW": "Volkswagen Mexico",
// USA
"46J": "Federal Motors Inc. USA",
"4EN": "Emergency One USA",
"4F*": "Mazda USA",
"4JG": "Mercedes-Benz USA",
"4M*": "Mercury",
"4P1": "Pierce Manufacturing Inc. USA",
"4RK": "Nova Bus USA",
"4S*": "Subaru-Isuzu Automotive",
"4T*": "Toyota",
"4T9": "Lumen Motors",
"4UF": "Arctic Cat Inc.",
"4US": "BMW USA",
"4UZ": "Frt-Thomas Bus",
"4V1": "Volvo",
"4V2": "Volvo",
"4V3": "Volvo",
"4V4": "Volvo",
"4V5": "Volvo",
"4V6": "Volvo",
"4VL": "Volvo",
"4VM": "Volvo",
"4VZ": "Volvo",
"538": "Zero Motorcycles (USA)",
"5F(": "Honda USA-Alabama",
"5J*": "Honda USA-Ohio",
"5L*": "Lincoln",
"5N1": "Nissan USA",
"5NP": "Hyundai USA",
"5T*": "Toyota USA - trucks",
"5YJ": "Tesla, Inc.",
"56K": "Indian Motorcycle USA",
// Australia and Oceanea
"6AB": "MAN Australia",
"6F4": "Nissan Motor Company Australia",
"6F5": "Kenworth Australia",
"6FP": "Ford Motor Company Australia",
"6G1": "General Motors-Holden (post Nov 2002)",
"6G2": "Pontiac Australia (GTO & G8)",
"6H8": "General Motors-Holden (pre Nov 2002)",
"6MM": "Mitsubishi Motors Australia",
"6T1": "Toyota Motor Corporation Australia",
"6U9": "Privately Imported car in Australia",
// South America
"8AD": "Peugeot Argentina",
"8AF": "Ford Motor Company Argentina",
"8AG": "Chevrolet Argentina",
"8AJ": "Toyota Argentina",
"8AK": "Suzuki Argentina",
"8AP": "Fiat Argentina",
"8AW": "Volkswagen Argentina",
"8A1": "Renault Argentina",
"8GD": "Peugeot Chile",
"8GG": "Chevrolet Chile",
"8LD": "Chevrolet Ecuador",
"935": "Citroën Brazil",
"936": "Peugeot Brazil",
"93H": "Honda Brazil",
"93R": "Toyota Brazil",
"93U": "Audi Brazil",
"93V": "Audi Brazil",
"93X": "Mitsubishi Motors Brazil",
"93Y": "Renault Brazil",
"94D": "Nissan Brazil",
"9BF": "Ford Motor Company Brazil",
"9BG": "Chevrolet Brazil",
"9BM": "Mercedes-Benz Brazil",
"9BR": "Toyota Brazil",
"9BS": "Scania Brazil",
"9BW": "Volkswagen Brazil",
"9FB": "Renault Colombia",
"WB1": "BMW Motorrad of North America",
// TEMP
"1F1": "Fisker Inc.",
// TEMP
}
func LookupManufacturerByWmiCode(wmiCode string) string {
mfg, found := vinWmiCodeMap[wmiCode]
if !found {
var wmiWildcard = wmiCode[0:len(wmiCode)-1] + "*"
mfg, found = vinWmiCodeMap[wmiWildcard]
if !found {
mfg = wmiCode
}
}
return mfg
}