Documentation
¶
Index ¶
- Constants
- func GetDefaultImageURL(dd models.DeviceDefinition) string
- func NewKeyedTransactorWithChainID(context context.Context, send sender.Sender, chainID *big.Int) (*bind.TransactOpts, error)
- func ParseSmartCarYears(yearsPtr *string) ([]int, error)
- type AutoIsoAPIService
- type AutoIsoVINResponse
- type Axle
- type Capacity
- type DATGroupAPIService
- type DeviceDefinitionOnChainService
- type DeviceDefinitionTablelandModel
- type DeviceTypeAttribute
- type Dossier
- type DrivlyAPIService
- type DrivlyVINResponse
- type Engine
- type EquipSequence
- type Equipment
- type EquipmentPosition
- type FillingQuantities
- type Fluid
- type FuelAPIService
- type FuelDeviceImages
- type FuelImage
- type GenerateBodyTokenResponse
- type GenerateTokenRequest
- type GenerateTokenResponse
- type GenerateVehicleIdentificationByVinRequest
- type GetBodyVehicleIdentificationByVinResponse
- type GetDataVehicleIdentificationByVinResponse
- type GetTokenRequest
- type GetTokenResponse
- type GetVehicleIdentificationByVinRequest
- type GetVehicleIdentificationByVinResponse
- type Image
- type ImageList
- type Images
- type IntegrationCapabilities
- type Interval
- type LocaleRequest
- type OriginalPriceInfo
- type Recommendation
- type SmartCarCompatibilityData
- type SmartCarService
- type TechInfo
- type TechInfoWltp
- type Tires
- type Usage
- type VAT
- type VINColor
- type VINColors
- type VINContainer
- type VINContainers
- type VINECode
- type VINECodes
- type VINEquipment
- type VINEquipments
- type VINResult
- type VINVehicle
- type VINumber
- type Vehicle
- type VincarioAPIService
- type VincarioInfoResponse
Constants ¶
const (
SmartCarVendor = "SmartCar"
)
Variables ¶
This section is empty.
Functions ¶
func GetDefaultImageURL ¶ added in v1.1.7
func GetDefaultImageURL(dd models.DeviceDefinition) string
func NewKeyedTransactorWithChainID ¶ added in v1.1.1
func ParseSmartCarYears ¶
ParseSmartCarYears parses out the years format in the smartcar document and returns an array of years
Types ¶
type AutoIsoAPIService ¶ added in v1.0.32
type AutoIsoAPIService interface {
GetVIN(vin string) (*AutoIsoVINResponse, error)
}
func NewAutoIsoAPIService ¶ added in v1.0.32
func NewAutoIsoAPIService(settings *config.Settings) AutoIsoAPIService
type AutoIsoVINResponse ¶ added in v1.0.32
type AutoIsoVINResponse struct {
Version string `json:"version"`
Vin string `json:"vin"`
APIStatus string `json:"apiStatus"`
ResponseDate string `json:"responseDate"`
FunctionName string `json:"functionName"`
FunctionResponse struct {
Data struct {
API struct {
CoreVersion string `json:"core_version"`
EndpointVersion int `json:"endpoint_version"`
JSONVersion string `json:"json_version"`
APIType string `json:"api_type"`
APICache string `json:"api_cache"`
DataPrecision int `json:"data_precision"`
DataMatching string `json:"data_matching"`
LexLang string `json:"lex_lang"`
} `json:"api"`
Analyze struct {
VinOrginal struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"vin_orginal"`
VinCorrected struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"vin_corrected"`
VinYear struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"vin_year"`
VinSerial struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"vin_serial"`
Checkdigit struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"checkdigit"`
} `json:"analyze"`
Decoder struct {
Make struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"make"`
Model struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"model"`
ModelYear struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"model_year"`
Body struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"body"`
FuelType struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"fuel_type"`
VehicleType struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"vehicle_type"`
Doors struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"doors"`
EngineDisplCm3 struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_displ_cm3"`
EngineDisplL struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_displ_l"`
EnginePowerHp struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_power_hp"`
EnginePowerKw struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_power_kw"`
EngineConf struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_conf"`
EngineType struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_type"`
EngineVersion struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_version"`
EngineHead struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_head"`
EngineValves struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_valves"`
EngineCylinders struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_cylinders"`
EngineDisplCid struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_displ_cid"`
EngineTurbo struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"engine_turbo"`
DriveType struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"drive_type"`
GearboxType struct {
Desc string `json:"desc"`
Value string `json:"value"`
} `json:"gearbox_type"`
EmissionStd struct {
Desc string `json:"desc"`
Value string `json:"value"`
Co2Gkm string `json:"co2_gkm"`
} `json:"emission_std"`
} `json:"decoder"`
} `json:"data"`
} `json:"functionResponse"`
LicenseInfo struct {
LicenseNumber string `json:"licenseNumber"`
ValidTo string `json:"validTo"`
RemainingCredits int `json:"remainingCredits"`
RemainingMonthlyLimit int `json:"remainingMonthlyLimit"`
RemainingDailyLimit int `json:"remainingDailyLimit"`
} `json:"licenseInfo"`
}
func (*AutoIsoVINResponse) GetStyle ¶ added in v1.0.32
func (v *AutoIsoVINResponse) GetStyle() string
GetStyle returns a standard style string built from the data we have
func (*AutoIsoVINResponse) GetSubModel ¶ added in v1.0.32
func (v *AutoIsoVINResponse) GetSubModel() string
GetSubModel returns the Body type, which we can use as the sub model.
type Axle ¶ added in v1.1.0
type Axle struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Axle"`
AxleNo int64 `xml:"AxleNo,omitempty" json:"AxleNo,omitempty"`
TireId int64 `xml:"TireId,omitempty" json:"TireId,omitempty"` //nolint
TireState string `xml:"TireState,omitempty" json:"TireState,omitempty"`
NrOfTires int64 `xml:"NrOfTires,omitempty" json:"NrOfTires,omitempty"`
TireType string `xml:"TireType,omitempty" json:"TireType,omitempty"`
TireTypeTextId string `xml:"TireTypeTextId,omitempty" json:"TireTypeTextId,omitempty"` //nolint
TireOriginalPrice *float32 `xml:"TireOriginalPrice,omitempty" json:"TireOriginalPrice,omitempty"`
TireSpeedIndex string `xml:"TireSpeedIndex,omitempty" json:"TireSpeedIndex,omitempty"`
TireSize string `xml:"TireSize,omitempty" json:"TireSize,omitempty"`
TireSafetySystem string `xml:"TireSafetySystem,omitempty" json:"TireSafetySystem,omitempty"`
TireManufacturer int64 `xml:"TireManufacturer,omitempty" json:"TireManufacturer,omitempty"`
TireManufacturerName string `xml:"TireManufacturerName,omitempty" json:"TireManufacturerName,omitempty"`
PrintLoadCapacityIdx *bool `xml:"PrintLoadCapacityIdx,omitempty" json:"PrintLoadCapacityIdx,omitempty"` //nolint
TireOriginalTreadDepth int64 `xml:"TireOriginalTreadDepth,omitempty" json:"TireOriginalTreadDepth,omitempty"`
TireOriginalTreadDepthUser int64 `xml:"TireOriginalTreadDepthUser,omitempty" json:"TireOriginalTreadDepthUser,omitempty"`
TireOriginalTreadDepthN *float32 `xml:"TireOriginalTreadDepthN,omitempty" json:"TireOriginalTreadDepthN,omitempty"`
TireOriginalTreadDepthNUser *float32 `xml:"TireOriginalTreadDepthNUser,omitempty" json:"TireOriginalTreadDepthNUser,omitempty"`
TireLoadCapacityIndex int64 `xml:"TireLoadCapacityIndex,omitempty" json:"TireLoadCapacityIndex,omitempty"`
TireLoadCapacityIndex2 int64 `xml:"TireLoadCapacityIndex2,omitempty" json:"TireLoadCapacityIndex2,omitempty"`
TreadDepthLeftOuterPerc *float32 `xml:"TreadDepthLeftOuterPerc,omitempty" json:"TreadDepthLeftOuterPerc,omitempty"`
TreadDepthLeftInnerPerc *float32 `xml:"TreadDepthLeftInnerPerc,omitempty" json:"TreadDepthLeftInnerPerc,omitempty"`
TreadDepthRightInnerPerc *float32 `xml:"TreadDepthRightInnerPerc,omitempty" json:"TreadDepthRightInnerPerc,omitempty"`
TreadDepthRightOuterPerc *float32 `xml:"TreadDepthRightOuterPerc,omitempty" json:"TreadDepthRightOuterPerc,omitempty"`
TreadDepthLeftOuterMm *float32 `xml:"TreadDepthLeftOuterMm,omitempty" json:"TreadDepthLeftOuterMm,omitempty"`
TreadDepthLeftInnerMm *float32 `xml:"TreadDepthLeftInnerMm,omitempty" json:"TreadDepthLeftInnerMm,omitempty"`
TreadDepthRightInnerMm *float32 `xml:"TreadDepthRightInnerMm,omitempty" json:"TreadDepthRightInnerMm,omitempty"`
TreadDepthRightOuterMm *float32 `xml:"TreadDepthRightOuterMm,omitempty" json:"TreadDepthRightOuterMm,omitempty"`
ManualEntry *bool `xml:"ManualEntry,omitempty" json:"ManualEntry,omitempty"`
RetreadedLeftOuter *bool `xml:"RetreadedLeftOuter,omitempty" json:"RetreadedLeftOuter,omitempty"`
RetreadedLeftInner *bool `xml:"RetreadedLeftInner,omitempty" json:"RetreadedLeftInner,omitempty"`
RetreadedRightInner *bool `xml:"RetreadedRightInner,omitempty" json:"RetreadedRightInner,omitempty"`
RetreadedRightOuter *bool `xml:"RetreadedRightOuter,omitempty" json:"RetreadedRightOuter,omitempty"`
TireAveragePriceUser *float32 `xml:"TireAveragePriceUser,omitempty" json:"TireAveragePriceUser,omitempty"`
TireBrandPrice *float32 `xml:"TireBrandPrice,omitempty" json:"TireBrandPrice,omitempty"`
TireBrandPriceUser *float32 `xml:"TireBrandPriceUser,omitempty" json:"TireBrandPriceUser,omitempty"`
TireManufacturerId int64 `xml:"TireManufacturerId,omitempty" json:"TireManufacturerId,omitempty"`
TireManufacturerTextId int64 `xml:"TireManufacturerTextId,omitempty" json:"TireManufacturerTextId,omitempty"`
TireBrandId int64 `xml:"TireBrandId,omitempty" json:"TireBrandId,omitempty"` //nolint
TireBrandName string `xml:"TireBrandName,omitempty" json:"TireBrandName,omitempty"`
TireBrandTextId int64 `xml:"TireBrandTextId,omitempty" json:"TireBrandTextId,omitempty"` //nolint
TireBrandEanCode string `xml:"TireBrandEanCode,omitempty" json:"TireBrandEanCode,omitempty"`
ProductCodeNumber int64 `xml:"ProductCodeNumber,omitempty" json:"ProductCodeNumber,omitempty"`
}
type Capacity ¶ added in v1.1.0
type Capacity struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Capacity"`
Type int32 `xml:"type,attr,omitempty" json:"type,omitempty"`
Desc string `xml:"desc,attr,omitempty" json:"desc,omitempty"`
Min float64 `xml:"min,attr,omitempty" json:"min,omitempty"`
Max float64 `xml:"max,attr,omitempty" json:"max,omitempty"`
Unit string `xml:"unit,attr,omitempty" json:"unit,omitempty"`
Condition string `xml:"condition,attr,omitempty" json:"condition,omitempty"`
}
type DATGroupAPIService ¶ added in v1.1.0
type DATGroupAPIService interface {
GetVIN(vin, country string) (*GetVehicleIdentificationByVinResponse, error)
}
func NewDATGroupAPIService ¶ added in v1.1.0
func NewDATGroupAPIService(settings *config.Settings, logger *zerolog.Logger) DATGroupAPIService
type DeviceDefinitionOnChainService ¶ added in v1.1.1
type DeviceDefinitionOnChainService interface {
GetDeviceDefinitionByID(ctx context.Context, manufacturerID types.NullDecimal, ID string) (*models.DeviceDefinition, error)
GetDeviceDefinitions(ctx context.Context, manufacturerID types.NullDecimal, ID string, model string, year int, pageIndex, pageSize int32) ([]*models.DeviceDefinition, error)
CreateOrUpdate(ctx context.Context, make models.DeviceMake, dd models.DeviceDefinition) (*string, error)
}
type DeviceDefinitionTablelandModel ¶ added in v1.1.1
type DeviceDefinitionTablelandModel struct {
ID string `json:"id"`
KSUID string `json:"ksuid"`
Model string `json:"model"`
Year int16 `json:"year"`
Metadata struct {
DeviceAttributes []struct {
Name string `json:"name"`
Value string `json:"value,omitempty"`
} `json:"device_attributes"`
} `json:"metadata"`
}
type DeviceTypeAttribute ¶ added in v1.1.1
func GetDeviceAttributesTyped ¶ added in v1.1.1
func GetDeviceAttributesTyped(metadata null.JSON, key string) []DeviceTypeAttribute
type Dossier ¶ added in v1.1.0
type Dossier struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Dossier"`
Name string `xml:"Name,omitempty" json:"Name,omitempty"`
Description string `xml:"Description,omitempty" json:"Description,omitempty"`
UUID string `xml:"UUID,omitempty" json:"UUID,omitempty"`
ExternalID string `xml:"ExternalID,omitempty" json:"ExternalId,omitempty"`
IdSDo int64 `xml:"IdSDo,omitempty" json:"IdSDo,omitempty"` // nolint
IdSD3Local int64 `xml:"IdSD3Local,omitempty" json:"IdSD3Local,omitempty"` // nolint
DossierId int64 `xml:"DossierId,omitempty" json:"DossierId,omitempty"` // nolint
IdSD3Network int64 `xml:"IdSD3Network,omitempty" json:"IdSD3Network,omitempty"` // nolint
IdExtern string `xml:"IdExtern,omitempty" json:"IdExtern,omitempty"` // nolint
Country string `xml:"Country,omitempty" json:"Country,omitempty"`
DossierType string `xml:"DossierType,omitempty" json:"DossierType,omitempty"`
DossierOrigin string `xml:"DossierOrigin,omitempty" json:"DossierOrigin,omitempty"`
Vehicle *Vehicle `xml:"Vehicle,omitempty" json:"Vehicle,omitempty"`
Images *Images `xml:"Images,omitempty" json:"Images,omitempty"`
ImageList *ImageList `xml:"ImageList,omitempty" json:"ImageList,omitempty"`
VAT *VAT `xml:"VAT,omitempty" json:"VAT,omitempty"`
}
type DrivlyAPIService ¶ added in v0.6.8
type DrivlyAPIService interface {
GetVINInfo(vin string) (*DrivlyVINResponse, error)
}
func NewDrivlyAPIService ¶ added in v0.6.8
func NewDrivlyAPIService(settings *config.Settings) DrivlyAPIService
type DrivlyVINResponse ¶ added in v0.8.5
type DrivlyVINResponse struct {
Vin string `json:"vin"`
WindowSticker string `json:"windowSticker"`
Year string `json:"year"`
Make string `json:"make"`
Model string `json:"model"`
SubModel string `json:"subModel"`
Trim string `json:"trim"`
Generation int `json:"generation"`
SubGeneration int `json:"subGeneration"`
ManufacturerCode string `json:"manufacturerCode"`
Body string `json:"body"`
Style string `json:"style"`
Type string `json:"type"`
Drive string `json:"drive"`
Transmission string `json:"transmission"`
TransmissionDetails string `json:"transmissionDetails"`
Engine string `json:"engine"`
EngineDetails string `json:"engineDetails"`
Doors int `json:"doors"`
PaintColor string `json:"paintColor"`
PaintName string `json:"paintName"`
PaintCode string `json:"paintCode"`
Interior string `json:"interior"`
Options []string `json:"options"`
OptionCodes string `json:"optionCodes"`
MsrpBase float64 `json:"msrpBase"`
MsrpDiscount float64 `json:"msrpDiscount"`
MsrpOptions float64 `json:"msrpOptions"`
MsrpDelivery float64 `json:"msrpDelivery"`
Msrp float64 `json:"msrp"`
WarrantyBasicMonths int `json:"warrantyBasicMonths"`
WarrantyCorrosionMonths int `json:"warrantyCorrosionMonths"`
WarrantyEmissionsMonths int `json:"warrantyEmissionsMonths"`
WarrantyFullMonths int `json:"warrantyFullMonths"`
WarrantyFullMiles int `json:"warrantyFullMiles"`
WarrantyDrivetrainMonths int `json:"warrantyDrivetrainMonths"`
WarrantyPowertrainMonths int `json:"warrantyPowertrainMonths"`
WarrantyPowertrainMiles int `json:"warrantyPowertrainMiles"`
WarrantyRoadsideMonths int `json:"warrantyRoadsideMonths"`
WarrantyRoadsideMiles int `json:"warrantyRoadsideMiles"`
Wheelbase string `json:"wheelbase"`
Fuel string `json:"fuel"`
FuelTankCapacityGal float64 `json:"fuelTankCapacityGal"`
Mpg int `json:"mpg"`
MpgCity int `json:"mpgCity"`
MpgHighway int `json:"mpgHighway"`
LastOdometer int `json:"lastOdometer"`
LastOdometerDate string `json:"lastOdometerDate"`
EstimatedOdometer int `json:"estimatedOdometer"`
Salvage bool `json:"salvage"`
PreviousOwners int `json:"previousOwners"`
TotalLoss bool `json:"totalLoss"`
Branded bool `json:"branded"`
LastTitleState string `json:"lastTitleState"`
TitleIssueDate string `json:"titleIssueDate"`
TitleNumber string `json:"titleNumber"`
Confidence float64 `json:"confidence"`
VehicleHistory []string `json:"vehicleHistory"`
InstalledEquipment []string `json:"installedEquipment"`
Dimensions []string `json:"dimensions"`
}
func (*DrivlyVINResponse) GetExternalID ¶ added in v0.8.5
func (vir *DrivlyVINResponse) GetExternalID() string
GetExternalID builds something we can use as an external ID that is drivly specific, at the MMY level (not for style)
type Engine ¶ added in v1.1.0
type Engine struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Engine"`
EngingeType string `xml:"EngingeType,omitempty" json:"EngingeType,omitempty"`
EngineType string `xml:"EngineType,omitempty" json:"EngineType,omitempty"`
CatalyticConverterType string `xml:"CatalyticConverterType,omitempty" json:"CatalyticConverterType,omitempty"`
GearType string `xml:"GearType,omitempty" json:"GearType,omitempty"`
FuelMethod string `xml:"FuelMethod,omitempty" json:"FuelMethod,omitempty"`
DatFuelMethod string `xml:"DatFuelMethod,omitempty" json:"DatFuelMethod,omitempty"`
EnginePowerKw int64 `xml:"EnginePowerKw,omitempty" json:"EnginePowerKw,omitempty"`
DatEnginePowerKw int64 `xml:"DatEnginePowerKw,omitempty" json:"DatEnginePowerKw,omitempty"`
EnginePowerHp int64 `xml:"EnginePowerHp,omitempty" json:"EnginePowerHp,omitempty"`
DatEnginePowerHp int64 `xml:"DatEnginePowerHp,omitempty" json:"DatEnginePowerHp,omitempty"`
Cylinders int64 `xml:"Cylinders,omitempty" json:"Cylinders,omitempty"`
DatCylinders int64 `xml:"DatCylinders,omitempty" json:"DatCylinders,omitempty"`
Capacity int64 `xml:"Capacity,omitempty" json:"Capacity,omitempty"`
DatCapacity int64 `xml:"DatCapacity,omitempty" json:"DatCapacity,omitempty"`
PollutionClass string `xml:"PollutionClass,omitempty" json:"PollutionClass,omitempty"`
Consumption *float32 `xml:"Consumption,omitempty" json:"Consumption,omitempty"`
ConsumptionInTown *float32 `xml:"ConsumptionInTown,omitempty" json:"ConsumptionInTown,omitempty"`
ConsumptionOutOfTown *float32 `xml:"ConsumptionOutOfTown,omitempty" json:"ConsumptionOutOfTown,omitempty"`
Co2Emission *float32 `xml:"Co2Emission,omitempty" json:"Co2Emission,omitempty"`
DirectInjection string `xml:"DirectInjection,omitempty" json:"DirectInjection,omitempty"`
EngineClass string `xml:"EngineClass,omitempty" json:"EngineClass,omitempty"`
EnginePowerHpManufacturerInformation *float32 `xml:"EnginePowerHpManufacturerInformation,omitempty" json:"EnginePowerHpManufacturerInformation,omitempty"`
PowerKwPsManual string `xml:"PowerKwPsManual,omitempty" json:"PowerKwPsManual,omitempty"`
}
type EquipSequence ¶ added in v1.1.0
type EquipSequence struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs equipSequence"`
EquipmentPosition []*EquipmentPosition `xml:"EquipmentPosition,omitempty" json:"EquipmentPosition,omitempty"`
}
type Equipment ¶ added in v1.1.0
type Equipment struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Equipment"`
ColorType string `xml:"ColorType,omitempty" json:"ColorType,omitempty"`
DatColorType string `xml:"DatColorType,omitempty" json:"DatColorType,omitempty"`
Color string `xml:"Color,omitempty" json:"Color,omitempty"`
DatColor string `xml:"DatColor,omitempty" json:"DatColor,omitempty"`
ColorCodeFromVin string `xml:"ColorCodeFromVin,omitempty" json:"ColorCodeFromVin,omitempty"`
ColorVariant string `xml:"ColorVariant,omitempty" json:"ColorVariant,omitempty"`
DatColorVariant string `xml:"DatColorVariant,omitempty" json:"DatColorVariant,omitempty"`
LacquerType string `xml:"LacquerType,omitempty" json:"LacquerType,omitempty"`
DatLacquerType string `xml:"DatLacquerType,omitempty" json:"DatLacquerType,omitempty"`
CushionType string `xml:"CushionType,omitempty" json:"CushionType,omitempty"`
DatCushionType string `xml:"DatCushionType,omitempty" json:"DatCushionType,omitempty"`
CushionTypeName string `xml:"CushionTypeName,omitempty" json:"CushionTypeName,omitempty"`
DatCushionTypeName string `xml:"DatCushionTypeName,omitempty" json:"DatCushionTypeName,omitempty"`
CushionColorType string `xml:"CushionColorType,omitempty" json:"CushionColorType,omitempty"`
DatCushionColorType string `xml:"DatCushionColorType,omitempty" json:"DatCushionColorType,omitempty"`
CushionColor string `xml:"CushionColor,omitempty" json:"CushionColor,omitempty"`
DatCushionColor string `xml:"DatCushionColor,omitempty" json:"DatCushionColor,omitempty"`
EquipmentValue *float32 `xml:"EquipmentValue,omitempty" json:"EquipmentValue,omitempty"`
EquipmentValueGross *float32 `xml:"EquipmentValueGross,omitempty" json:"EquipmentValueGross,omitempty"`
DatEquipmentValue *float32 `xml:"DatEquipmentValue,omitempty" json:"DatEquipmentValue,omitempty"`
DatEquipmentValueGross *float32 `xml:"DatEquipmentValueGross,omitempty" json:"DatEquipmentValueGross,omitempty"`
OriginalEquipmentValue *float32 `xml:"OriginalEquipmentValue,omitempty" json:"OriginalEquipmentValue,omitempty"`
OriginalEquipmentValueGross *float32 `xml:"OriginalEquipmentValueGross,omitempty" json:"OriginalEquipmentValueGross,omitempty"`
DatOriginalEquipmentValue *float32 `xml:"DatOriginalEquipmentValue,omitempty" json:"DatOriginalEquipmentValue,omitempty"`
DatOriginalEquipmentValueGross *float32 `xml:"DatOriginalEquipmentValueGross,omitempty" json:"DatOriginalEquipmentValueGross,omitempty"`
EquipmentValueType string `xml:"EquipmentValueType,omitempty" json:"EquipmentValueType,omitempty"`
SpecialEditionPackageId int64 `xml:"SpecialEditionPackageId,omitempty" json:"SpecialEditionPackageId,omitempty"`
SpecialEditionPackageName string `xml:"SpecialEditionPackageName,omitempty" json:"SpecialEditionPackageName,omitempty"`
SpecialEditionPackageNameN string `xml:"SpecialEditionPackageNameN,omitempty" json:"SpecialEditionPackageNameN,omitempty"`
SpecialEditionPackageDetails1 string `xml:"SpecialEditionPackageDetails1,omitempty" json:"SpecialEditionPackageDetails1,omitempty"`
SpecialEditionPackageDetails2 string `xml:"SpecialEditionPackageDetails2,omitempty" json:"SpecialEditionPackageDetails2,omitempty"`
}
type EquipmentPosition ¶ added in v1.1.0
type EquipmentPosition struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs EquipmentPosition"`
AgeInMonths int64 `xml:"AgeInMonths,omitempty" json:"AgeInMonths,omitempty"`
DatAgeInMonths int64 `xml:"DatAgeInMonths,omitempty" json:"DatAgeInMonths,omitempty"`
Deselected *bool `xml:"Deselected,omitempty" json:"Deselected,omitempty"`
DatEquipmentId int64 `xml:"DatEquipmentId,omitempty" json:"DatEquipmentId,omitempty"` //nolint
ManufacturerEquipmentId string `xml:"ManufacturerEquipmentId,omitempty" json:"ManufacturerEquipmentId,omitempty"`
ManufacturerDescription string `xml:"ManufacturerDescription,omitempty" json:"ManufacturerDescription,omitempty"`
ValuationControlType string `xml:"ValuationControlType,omitempty" json:"ValuationControlType,omitempty"`
Description string `xml:"Description,omitempty" json:"Description,omitempty"`
LongDescription string `xml:"LongDescription,omitempty" json:"LongDescription,omitempty"`
FootnoteType string `xml:"FootnoteType,omitempty" json:"FootnoteType,omitempty"`
FootnotePerc *float32 `xml:"FootnotePerc,omitempty" json:"FootnotePerc,omitempty"`
DatFootnotePerc *float32 `xml:"DatFootnotePerc,omitempty" json:"DatFootnotePerc,omitempty"`
DecreaseType string `xml:"DecreaseType,omitempty" json:"DecreaseType,omitempty"`
DatDecreaseType string `xml:"DatDecreaseType,omitempty" json:"DatDecreaseType,omitempty"`
PercentageOfBasePrice int64 `xml:"PercentageOfBasePrice,omitempty" json:"PercentageOfBasePrice,omitempty"`
OriginalPrice *float32 `xml:"OriginalPrice,omitempty" json:"OriginalPrice,omitempty"`
OriginalPriceGross *float32 `xml:"OriginalPriceGross,omitempty" json:"OriginalPriceGross,omitempty"`
OriginalPriceUser *float32 `xml:"OriginalPriceUser,omitempty" json:"OriginalPriceUser,omitempty"`
OriginalPriceGrossUser *float32 `xml:"OriginalPriceGrossUser,omitempty" json:"OriginalPriceGrossUser,omitempty"`
DatResidualValue *float32 `xml:"DatResidualValue,omitempty" json:"DatResidualValue,omitempty"`
DatResidualValueGross *float32 `xml:"DatResidualValueGross,omitempty" json:"DatResidualValueGross,omitempty"`
ResidualValue *float32 `xml:"ResidualValue,omitempty" json:"ResidualValue,omitempty"`
ResidualValueGross *float32 `xml:"ResidualValueGross,omitempty" json:"ResidualValueGross,omitempty"`
Amount int64 `xml:"Amount,omitempty" json:"Amount,omitempty"`
EquipmentGroup string `xml:"EquipmentGroup,omitempty" json:"EquipmentGroup,omitempty"`
EquipmentType string `xml:"EquipmentType,omitempty" json:"EquipmentType,omitempty"`
Category string `xml:"Category,omitempty" json:"Category,omitempty"`
ManualEntry *bool `xml:"ManualEntry,omitempty" json:"ManualEntry,omitempty"`
ManualAgeEntry *bool `xml:"ManualAgeEntry,omitempty" json:"ManualAgeEntry,omitempty"`
EquipmentClass int64 `xml:"EquipmentClass,omitempty" json:"EquipmentClass,omitempty"`
ConstructionTimeFrom int64 `xml:"ConstructionTimeFrom,omitempty" json:"ConstructionTimeFrom,omitempty"`
SeriesEquipmentMissing *bool `xml:"SeriesEquipmentMissing,omitempty" json:"SeriesEquipmentMissing,omitempty"`
PackageEquipmentId int64 `xml:"PackageEquipmentId,omitempty" json:"PackageEquipmentId,omitempty"`
GearBoxType string `xml:"GearBoxType,omitempty" json:"GearBoxType,omitempty"`
NrOfGears string `xml:"NrOfGears,omitempty" json:"NrOfGears,omitempty"`
AddedByLogikCheck *bool `xml:"AddedByLogikCheck,omitempty" json:"AddedByLogikCheck,omitempty"`
ContainedEquipmentPositions struct {
EquipmentPosition []*EquipmentPosition `xml:"EquipmentPosition,omitempty" json:"EquipmentPosition,omitempty"`
} `xml:"ContainedEquipmentPositions,omitempty" json:"ContainedEquipmentPositions,omitempty"`
DatEquipmentIdReason int64 `xml:"DatEquipmentIdReason,omitempty" json:"DatEquipmentIdReason,omitempty"`
DatEquipmentIdReason2 int64 `xml:"DatEquipmentIdReason2,omitempty" json:"DatEquipmentIdReason2,omitempty"`
EquipmentClassification int64 `xml:"EquipmentClassification,omitempty" json:"EquipmentClassification,omitempty"`
ManualDecreaseType string `xml:"ManualDecreaseType,omitempty" json:"ManualDecreaseType,omitempty"`
VersionAccording1 int64 `xml:"VersionAccording1,omitempty" json:"VersionAccording1,omitempty"`
VersionAccording2 int64 `xml:"VersionAccording2,omitempty" json:"VersionAccording2,omitempty"`
VersionAccording3 int64 `xml:"VersionAccording3,omitempty" json:"VersionAccording3,omitempty"`
VersionAccording4 int64 `xml:"VersionAccording4,omitempty" json:"VersionAccording4,omitempty"`
VersionAccording5 int64 `xml:"VersionAccording5,omitempty" json:"VersionAccording5,omitempty"`
}
type FillingQuantities ¶ added in v1.1.0
type Fluid ¶ added in v1.1.0
type Fluid struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Fluid"`
Capacity []*Capacity `xml:"Capacity,omitempty" json:"Capacity,omitempty"`
Recommendation []*Recommendation `xml:"Recommendation,omitempty" json:"Recommendation,omitempty"`
Type int32 `xml:"type,attr,omitempty" json:"type,omitempty"`
Desc string `xml:"desc,attr,omitempty" json:"desc,omitempty"`
Code string `xml:"code,attr,omitempty" json:"code,omitempty"`
}
type FuelAPIService ¶ added in v0.9.8
type FuelAPIService interface {
FetchDeviceImages(mk, mdl string, yr int, prodID int, prodFormat int) (FuelDeviceImages, error)
}
func NewFuelAPIService ¶ added in v0.9.8
func NewFuelAPIService(settings *config.Settings, logger *zerolog.Logger) FuelAPIService
type FuelDeviceImages ¶ added in v0.9.8
type FuelDeviceImages struct {
FuelAPIID string `boil:"fuelID"`
Width int `boil:"width"`
Height int `boil:"height"`
Angle string `boil:"angle"`
Images []FuelImage `boil:"images"`
// use to track if we used a different year image and could not find this one
NotExactImage bool
// contains filtered or unexported fields
}
type GenerateBodyTokenResponse ¶ added in v1.1.0
type GenerateBodyTokenResponse struct {
GetTokenResponse GetTokenResponse `xml:"generateTokenResponse"`
}
type GenerateTokenRequest ¶ added in v1.1.0
type GenerateTokenRequest struct {
XMLName xml.Name `xml:"generateToken"`
Request GetTokenRequest `xml:"request"`
}
type GenerateTokenResponse ¶ added in v1.1.0
type GenerateTokenResponse struct {
XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"`
Body GenerateBodyTokenResponse `xml:"Body"`
}
type GenerateVehicleIdentificationByVinRequest ¶ added in v1.1.0
type GenerateVehicleIdentificationByVinRequest struct {
XMLName xml.Name `xml:"getVehicleIdentificationByVin"`
Request GetVehicleIdentificationByVinRequest `xml:"request"`
}
type GetBodyVehicleIdentificationByVinResponse ¶ added in v1.1.0
type GetBodyVehicleIdentificationByVinResponse struct {
GetDataVehicleIdentificationByVinResponse GetDataVehicleIdentificationByVinResponse `xml:"getVehicleIdentificationByVinResponse"`
}
type GetDataVehicleIdentificationByVinResponse ¶ added in v1.1.0
type GetDataVehicleIdentificationByVinResponse struct {
VXS struct {
Dossier []*Dossier `xml:"Dossier,omitempty" json:"Dossier,omitempty"`
Source string `xml:"source,attr,omitempty" json:"source,omitempty"`
Type string `xml:"type,attr,omitempty" json:"type,omitempty"`
} `xml:"VXS,omitempty" json:"VXS,omitempty"`
}
type GetTokenRequest ¶ added in v1.1.0
type GetTokenRequest struct {
CustomerLogin string `xml:"customerLogin"`
CustomerNumber string `xml:"customerNumber"`
CustomerPassword string `xml:"customerPassword"`
IncludePermissionData string `xml:"includePermissionData,omitempty"`
InterfacePartnerNumber string `xml:"interfacePartnerNumber"`
InterfacePartnerSignature string `xml:"interfacePartnerSignature"`
ProductVariant string `xml:"productVariant,omitempty"`
}
type GetTokenResponse ¶ added in v1.1.0
type GetTokenResponse struct {
Token string `xml:"token"`
}
type GetVehicleIdentificationByVinRequest ¶ added in v1.1.0
type GetVehicleIdentificationByVinRequest struct {
VIN string `xml:"vin"`
Restriction string `xml:"restriction"`
Locale LocaleRequest `xml:"locale"`
}
type GetVehicleIdentificationByVinResponse ¶ added in v1.1.0
type GetVehicleIdentificationByVinResponse struct {
XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"`
Body GetBodyVehicleIdentificationByVinResponse `xml:"Body"`
}
type Image ¶ added in v1.1.0
type Image struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Image"`
Description string `xml:"Description,omitempty" json:"Description,omitempty"`
DefaultImage *bool `xml:"DefaultImage,omitempty" json:"DefaultImage,omitempty"`
ForValuation *bool `xml:"ForValuation,omitempty" json:"ForValuation,omitempty"`
ForRepairCalculation *bool `xml:"ForRepairCalculation,omitempty" json:"ForRepairCalculation,omitempty"`
ForMarketplace *bool `xml:"ForMarketplace,omitempty" json:"ForMarketplace,omitempty"`
ListLabelVariable string `xml:"ListLabelVariable,omitempty" json:"ListLabelVariable,omitempty"`
ImageType string `xml:"ImageType,omitempty" json:"ImageType,omitempty"`
Origin string `xml:"Origin,omitempty" json:"Origin,omitempty"`
AssignedApplication string `xml:"AssignedApplication,omitempty" json:"AssignedApplication,omitempty"`
BitIndicatorImageAlteration string `xml:"BitIndicatorImageAlteration,omitempty" json:"BitIndicatorImageAlteration,omitempty"`
ImageNumber int64 `xml:"ImageNumber,omitempty" json:"ImageNumber,omitempty"`
Height int64 `xml:"Height,omitempty" json:"Height,omitempty"`
Width int64 `xml:"Width,omitempty" json:"Width,omitempty"`
RealFilename string `xml:"RealFilename,omitempty" json:"RealFilename,omitempty"`
ImageId string `xml:"ImageId,omitempty" json:"ImageId,omitempty"` //nolint
RelativePath string `xml:"RelativePath,omitempty" json:"RelativePath,omitempty"`
}
type Images ¶ added in v1.1.0
type Images struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Images"`
Description string `xml:"Description,omitempty" json:"Description,omitempty"`
DefaultImage *bool `xml:"DefaultImage,omitempty" json:"DefaultImage,omitempty"`
ForValuation *bool `xml:"ForValuation,omitempty" json:"ForValuation,omitempty"`
ForRepairCalculation *bool `xml:"ForRepairCalculation,omitempty" json:"ForRepairCalculation,omitempty"`
ForMarketplace *bool `xml:"ForMarketplace,omitempty" json:"ForMarketplace,omitempty"`
ListLabelVariable string `xml:"ListLabelVariable,omitempty" json:"ListLabelVariable,omitempty"`
ImageType string `xml:"ImageType,omitempty" json:"ImageType,omitempty"`
Origin string `xml:"Origin,omitempty" json:"Origin,omitempty"`
AssignedApplication string `xml:"AssignedApplication,omitempty" json:"AssignedApplication,omitempty"`
BitIndicatorImageAlteration string `xml:"BitIndicatorImageAlteration,omitempty" json:"BitIndicatorImageAlteration,omitempty"`
ImageNumber int64 `xml:"ImageNumber,omitempty" json:"ImageNumber,omitempty"`
}
type IntegrationCapabilities ¶
type IntegrationCapabilities struct {
Location bool `json:"location"`
Odometer bool `json:"odometer"`
LockUnlock bool `json:"lock_unlock"`
EVBattery bool `json:"ev_battery"`
EVChargingStatus bool `json:"ev_charging_status"`
EVStartStopCharge bool `json:"ev_start_stop_charge"`
FuelTank bool `json:"fuel_tank"`
TirePressure bool `json:"tire_pressure"`
EngineOilLife bool `json:"engine_oil_life"`
VehicleAttributes bool `json:"vehicle_attributes"`
VIN bool `json:"vin"`
}
IntegrationCapabilities gets stored on the association table btw a device_definition and the integrations, device_integrations
type LocaleRequest ¶ added in v1.1.0
type OriginalPriceInfo ¶ added in v1.1.0
type OriginalPriceInfo struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs OriginalPriceInfo"`
OriginalPriceNet *float32 `xml:"OriginalPriceNet,omitempty" json:"OriginalPriceNet,omitempty"`
OriginalPriceVATRate *float32 `xml:"OriginalPriceVATRate,omitempty" json:"OriginalPriceVATRate,omitempty"`
OriginalPriceNoVA *float32 `xml:"OriginalPriceNoVA,omitempty" json:"OriginalPriceNoVA,omitempty"`
OriginalPriceNoVARate *float32 `xml:"OriginalPriceNoVARate,omitempty" json:"OriginalPriceNoVARate,omitempty"`
DatOriginalPriceNoVARate *float32 `xml:"DatOriginalPriceNoVARate,omitempty" json:"DatOriginalPriceNoVARate,omitempty"`
OriginalPriceBonus *float32 `xml:"OriginalPriceBonus,omitempty" json:"OriginalPriceBonus,omitempty"`
OriginalPriceMalus *float32 `xml:"OriginalPriceMalus,omitempty" json:"OriginalPriceMalus,omitempty"`
RegistrationTaxRate *float32 `xml:"RegistrationTaxRate,omitempty" json:"RegistrationTaxRate,omitempty"`
RegistrationTax *float32 `xml:"RegistrationTax,omitempty" json:"RegistrationTax,omitempty"`
TransportationCosts *float32 `xml:"TransportationCosts,omitempty" json:"TransportationCosts,omitempty"`
OriginalPriceGross *float32 `xml:"OriginalPriceGross,omitempty" json:"OriginalPriceGross,omitempty"`
}
type Recommendation ¶ added in v1.1.0
type SmartCarCompatibilityData ¶
type SmartCarCompatibilityData struct {
ComponentChunkName string `json:"componentChunkName"`
Path string `json:"path"`
Result struct {
Data struct {
AllMakesTable struct {
Edges []struct {
Node struct {
CompatibilityData map[string][]struct {
Name string `json:"name"`
Headers []struct {
Text string `json:"text"`
Tooltip *string `json:"tooltip"`
} `json:"headers"`
Rows [][]struct {
Color *string `json:"color"`
Subtext *string `json:"subtext"`
Text *string `json:"text"`
Type *string `json:"type"`
VehicleType *string `json:"vehicleType"`
} `json:"rows"`
} `json:"compatibilityData"`
} `json:"node"`
} `json:"edges"`
} `json:"allMakesTable"`
} `json:"data"`
} `json:"result"`
}
type SmartCarService ¶
type SmartCarService interface {
GetOrCreateSmartCarIntegration(ctx context.Context) (string, error)
GetSmartCarVehicleData() (*SmartCarCompatibilityData, error)
}
func NewSmartCarService ¶
func NewSmartCarService(dbs func() *db.ReaderWriter, logger zerolog.Logger) SmartCarService
type TechInfo ¶ added in v1.1.0
type TechInfo struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs TechInfo"`
FillingQuantities *FillingQuantities `xml:"FillingQuantities,omitempty" json:"FillingQuantities,omitempty"`
StructureType string `xml:"StructureType,omitempty" json:"StructureType,omitempty"`
StructureDescription string `xml:"StructureDescription,omitempty" json:"StructureDescription,omitempty"`
CabineStructureType string `xml:"CabineStructureType,omitempty" json:"CabineStructureType,omitempty"`
CabineStructureDescription string `xml:"CabineStructureDescription,omitempty" json:"CabineStructureDescription,omitempty"`
UpperBodyStructureType string `xml:"UpperBodyStructureType,omitempty" json:"UpperBodyStructureType,omitempty"`
UpperBodyStructureDescription string `xml:"UpperBodyStructureDescription,omitempty" json:"UpperBodyStructureDescription,omitempty"`
UpperBodyStructureDescriptionUser string `xml:"UpperBodyStructureDescriptionUser,omitempty" json:"UpperBodyStructureDescriptionUser,omitempty"`
UpperBodyStructureAndVersion string `xml:"UpperBodyStructureAndVersion,omitempty" json:"UpperBodyStructureAndVersion,omitempty"`
CountOfAxles int64 `xml:"CountOfAxles,omitempty" json:"CountOfAxles,omitempty"`
DatCountOfAxles int64 `xml:"DatCountOfAxles,omitempty" json:"DatCountOfAxles,omitempty"`
CountOfDrivedAxles int64 `xml:"CountOfDrivedAxles,omitempty" json:"CountOfDrivedAxles,omitempty"`
DatCountOfDrivedAxles int64 `xml:"DatCountOfDrivedAxles,omitempty" json:"DatCountOfDrivedAxles,omitempty"`
WheelBase int64 `xml:"WheelBase,omitempty" json:"WheelBase,omitempty"`
DatWheelBase int64 `xml:"DatWheelBase,omitempty" json:"DatWheelBase,omitempty"`
WheelBase2 int64 `xml:"WheelBase2,omitempty" json:"WheelBase2,omitempty"`
AxleLoadFront int64 `xml:"AxleLoadFront,omitempty" json:"AxleLoadFront,omitempty"`
AxleLoadMiddle int64 `xml:"AxleLoadMiddle,omitempty" json:"AxleLoadMiddle,omitempty"`
AxleLoadBack int64 `xml:"AxleLoadBack,omitempty" json:"AxleLoadBack,omitempty"`
TonnageClass string `xml:"TonnageClass,omitempty" json:"TonnageClass,omitempty"`
Length int64 `xml:"Length,omitempty" json:"Length,omitempty"`
DatLength int64 `xml:"DatLength,omitempty" json:"DatLength,omitempty"`
Width int64 `xml:"Width,omitempty" json:"Width,omitempty"`
DatWidth int64 `xml:"DatWidth,omitempty" json:"DatWidth,omitempty"`
Height int64 `xml:"Height,omitempty" json:"Height,omitempty"`
DatHeight int64 `xml:"DatHeight,omitempty" json:"DatHeight,omitempty"`
RoofLoad int64 `xml:"RoofLoad,omitempty" json:"RoofLoad,omitempty"`
DatRoofLoad int64 `xml:"DatRoofLoad,omitempty" json:"DatRoofLoad,omitempty"`
TrailerLoadBraked int64 `xml:"TrailerLoadBraked,omitempty" json:"TrailerLoadBraked,omitempty"`
DatTrailerLoadBraked int64 `xml:"DatTrailerLoadBraked,omitempty" json:"DatTrailerLoadBraked,omitempty"`
TrailerLoadUnbraked int64 `xml:"TrailerLoadUnbraked,omitempty" json:"TrailerLoadUnbraked,omitempty"`
DatTrailerLoadUnbraked int64 `xml:"DatTrailerLoadUnbraked,omitempty" json:"DatTrailerLoadUnbraked,omitempty"`
VehicleSeats int64 `xml:"VehicleSeats,omitempty" json:"VehicleSeats,omitempty"`
DatVehicleSeats int64 `xml:"DatVehicleSeats,omitempty" json:"DatVehicleSeats,omitempty"`
VehicleDoors int64 `xml:"VehicleDoors,omitempty" json:"VehicleDoors,omitempty"`
DatVehicleDoors int64 `xml:"DatVehicleDoors,omitempty" json:"DatVehicleDoors,omitempty"`
CountOfAirbags int64 `xml:"CountOfAirbags,omitempty" json:"CountOfAirbags,omitempty"`
DatCountOfAirbags int64 `xml:"DatCountOfAirbags,omitempty" json:"DatCountOfAirbags,omitempty"`
Acceleration *float32 `xml:"Acceleration,omitempty" json:"Acceleration,omitempty"`
DatAcceleration *float32 `xml:"DatAcceleration,omitempty" json:"DatAcceleration,omitempty"`
SpeedMax int64 `xml:"SpeedMax,omitempty" json:"SpeedMax,omitempty"`
DatSpeedMax int64 `xml:"DatSpeedMax,omitempty" json:"DatSpeedMax,omitempty"`
PowerHp int64 `xml:"PowerHp,omitempty" json:"PowerHp,omitempty"`
DatPowerHp int64 `xml:"DatPowerHp,omitempty" json:"DatPowerHp,omitempty"`
PowerKw *float32 `xml:"PowerKw,omitempty" json:"PowerKw,omitempty"`
DatPowerKw *float32 `xml:"DatPowerKw,omitempty" json:"DatPowerKw,omitempty"`
Capacity int64 `xml:"Capacity,omitempty" json:"Capacity,omitempty"`
DatCapacity int64 `xml:"DatCapacity,omitempty" json:"DatCapacity,omitempty"`
Cylinder int64 `xml:"Cylinder,omitempty" json:"Cylinder,omitempty"`
DatCylinder int64 `xml:"DatCylinder,omitempty" json:"DatCylinder,omitempty"`
CylinderArrangement string `xml:"CylinderArrangement,omitempty" json:"CylinderArrangement,omitempty"`
DatCylinderArrangement string `xml:"DatCylinderArrangement,omitempty" json:"DatCylinderArrangement,omitempty"`
RotationsOnMaxPower int64 `xml:"RotationsOnMaxPower,omitempty" json:"RotationsOnMaxPower,omitempty"`
DatRotationsOnMaxPower int64 `xml:"DatRotationsOnMaxPower,omitempty" json:"DatRotationsOnMaxPower,omitempty"`
RotationsOnMaxTorque int64 `xml:"RotationsOnMaxTorque,omitempty" json:"RotationsOnMaxTorque,omitempty"`
DatRotationsOnMaxTorque int64 `xml:"DatRotationsOnMaxTorque,omitempty" json:"DatRotationsOnMaxTorque,omitempty"`
Torque int64 `xml:"Torque,omitempty" json:"Torque,omitempty"`
DatTorque int64 `xml:"DatTorque,omitempty" json:"DatTorque,omitempty"`
GearboxType string `xml:"GearboxType,omitempty" json:"GearboxType,omitempty"`
NrOfGears string `xml:"NrOfGears,omitempty" json:"NrOfGears,omitempty"`
OriginalTireSizeAxle1 string `xml:"OriginalTireSizeAxle1,omitempty" json:"OriginalTireSizeAxle1,omitempty"`
OriginalTireSizeAxle2 string `xml:"OriginalTireSizeAxle2,omitempty" json:"OriginalTireSizeAxle2,omitempty"`
TankVolume int64 `xml:"TankVolume,omitempty" json:"TankVolume,omitempty"`
DatTankVolume int64 `xml:"DatTankVolume,omitempty" json:"DatTankVolume,omitempty"`
TankVolumeAlternative int64 `xml:"TankVolumeAlternative,omitempty" json:"TankVolumeAlternative,omitempty"`
DatTankVolumeAlternative int64 `xml:"DatTankVolumeAlternative,omitempty" json:"DatTankVolumeAlternative,omitempty"`
ConsumptionInTown *float32 `xml:"ConsumptionInTown,omitempty" json:"ConsumptionInTown,omitempty"`
DatConsumptionInTown *float32 `xml:"DatConsumptionInTown,omitempty" json:"DatConsumptionInTown,omitempty"`
ConsumptionOutOfTown *float32 `xml:"ConsumptionOutOfTown,omitempty" json:"ConsumptionOutOfTown,omitempty"`
DatConsumptionOutOfTown *float32 `xml:"DatConsumptionOutOfTown,omitempty" json:"DatConsumptionOutOfTown,omitempty"`
Consumption *float32 `xml:"Consumption,omitempty" json:"Consumption,omitempty"`
DatConsumption *float32 `xml:"DatConsumption,omitempty" json:"DatConsumption,omitempty"`
WltpConsumptionMixedMin *float32 `xml:"WltpConsumptionMixedMin,omitempty" json:"WltpConsumptionMixedMin,omitempty"`
DatWltpConsumptionMixedMin *float32 `xml:"DatWltpConsumptionMixedMin,omitempty" json:"DatWltpConsumptionMixedMin,omitempty"`
WltpConsumptionMixedMax *float32 `xml:"WltpConsumptionMixedMax,omitempty" json:"WltpConsumptionMixedMax,omitempty"`
DatWltpConsumptionMixedMax *float32 `xml:"DatWltpConsumptionMixedMax,omitempty" json:"DatWltpConsumptionMixedMax,omitempty"`
ConsumptionInnerCng *float32 `xml:"ConsumptionInnerCng,omitempty" json:"ConsumptionInnerCng,omitempty"`
DatConsumptionInnerCng *float32 `xml:"DatConsumptionInnerCng,omitempty" json:"DatConsumptionInnerCng,omitempty"`
ConsumptionOuterCng *float32 `xml:"ConsumptionOuterCng,omitempty" json:"ConsumptionOuterCng,omitempty"`
DatConsumptionOuterCng *float32 `xml:"DatConsumptionOuterCng,omitempty" json:"DatConsumptionOuterCng,omitempty"`
ConsumptionMixCng *float32 `xml:"ConsumptionMixCng,omitempty" json:"ConsumptionMixCng,omitempty"`
DatConsumptionMixCng *float32 `xml:"DatConsumptionMixCng,omitempty" json:"DatConsumptionMixCng,omitempty"`
WltpConsumptionBivalentMixedCngMin *float32 `xml:"WltpConsumptionBivalentMixedCngMin,omitempty" json:"WltpConsumptionBivalentMixedCngMin,omitempty"`
DatWltpConsumptionBivalentMixedCngMin *float32 `xml:"DatWltpConsumptionBivalentMixedCngMin,omitempty" json:"DatWltpConsumptionBivalentMixedCngMin,omitempty"`
WltpConsumptionBivalentMixedCngMax *float32 `xml:"WltpConsumptionBivalentMixedCngMax,omitempty" json:"WltpConsumptionBivalentMixedCngMax,omitempty"`
DatWltpConsumptionBivalentMixedCngMax *float32 `xml:"DatWltpConsumptionBivalentMixedCngMax,omitempty" json:"DatWltpConsumptionBivalentMixedCngMax,omitempty"`
ConsumptionInnerLpg *float32 `xml:"ConsumptionInnerLpg,omitempty" json:"ConsumptionInnerLpg,omitempty"`
DatConsumptionInnerLpg *float32 `xml:"DatConsumptionInnerLpg,omitempty" json:"DatConsumptionInnerLpg,omitempty"`
ConsumptionOuterLpg *float32 `xml:"ConsumptionOuterLpg,omitempty" json:"ConsumptionOuterLpg,omitempty"`
DatConsumptionOuterLpg *float32 `xml:"DatConsumptionOuterLpg,omitempty" json:"DatConsumptionOuterLpg,omitempty"`
ConsumptionMixLpg *float32 `xml:"ConsumptionMixLpg,omitempty" json:"ConsumptionMixLpg,omitempty"`
DatConsumptionMixLpg *float32 `xml:"DatConsumptionMixLpg,omitempty" json:"DatConsumptionMixLpg,omitempty"`
WltpConsumptionBivalentMixedLpgMin *float32 `xml:"WltpConsumptionBivalentMixedLpgMin,omitempty" json:"WltpConsumptionBivalentMixedLpgMin,omitempty"`
DatWltpConsumptionBivalentMixedLpgMin *float32 `xml:"DatWltpConsumptionBivalentMixedLpgMin,omitempty" json:"DatWltpConsumptionBivalentMixedLpgMin,omitempty"`
WltpConsumptionBivalentMixedLpgMax *float32 `xml:"WltpConsumptionBivalentMixedLpgMax,omitempty" json:"WltpConsumptionBivalentMixedLpgMax,omitempty"`
DatWltpConsumptionBivalentMixedLpgMax *float32 `xml:"DatWltpConsumptionBivalentMixedLpgMax,omitempty" json:"DatWltpConsumptionBivalentMixedLpgMax,omitempty"`
ConsumptionInnerH *float32 `xml:"ConsumptionInnerH,omitempty" json:"ConsumptionInnerH,omitempty"`
DatConsumptionInnerH *float32 `xml:"DatConsumptionInnerH,omitempty" json:"DatConsumptionInnerH,omitempty"`
ConsumptionOuterH *float32 `xml:"ConsumptionOuterH,omitempty" json:"ConsumptionOuterH,omitempty"`
DatConsumptionOuterH *float32 `xml:"DatConsumptionOuterH,omitempty" json:"DatConsumptionOuterH,omitempty"`
ConsumptionMixH *float32 `xml:"ConsumptionMixH,omitempty" json:"ConsumptionMixH,omitempty"`
DatConsumptionMixH *float32 `xml:"DatConsumptionMixH,omitempty" json:"DatConsumptionMixH,omitempty"`
WltpConsumptionBivalentMixedHMin *float32 `xml:"WltpConsumptionBivalentMixedHMin,omitempty" json:"WltpConsumptionBivalentMixedHMin,omitempty"`
DatWltpConsumptionBivalentMixedHMin *float32 `xml:"DatWltpConsumptionBivalentMixedHMin,omitempty" json:"DatWltpConsumptionBivalentMixedHMin,omitempty"`
WltpConsumptionBivalentMixedHMax *float32 `xml:"WltpConsumptionBivalentMixedHMax,omitempty" json:"WltpConsumptionBivalentMixedHMax,omitempty"`
DatWltpConsumptionBivalentMixedHMax *float32 `xml:"DatWltpConsumptionBivalentMixedHMax,omitempty" json:"DatWltpConsumptionBivalentMixedHMax,omitempty"`
Co2Emission *float32 `xml:"Co2Emission,omitempty" json:"Co2Emission,omitempty"`
DatCo2Emission *float32 `xml:"DatCo2Emission,omitempty" json:"DatCo2Emission,omitempty"`
WltpCo2EmissionMin *float32 `xml:"WltpCo2EmissionMin,omitempty" json:"WltpCo2EmissionMin,omitempty"`
DatWltpCo2EmissionMin *float32 `xml:"DatWltpCo2EmissionMin,omitempty" json:"DatWltpCo2EmissionMin,omitempty"`
WltpCo2EmissionMax *float32 `xml:"WltpCo2EmissionMax,omitempty" json:"WltpCo2EmissionMax,omitempty"`
DatWltpCo2EmissionMax *float32 `xml:"DatWltpCo2EmissionMax,omitempty" json:"DatWltpCo2EmissionMax,omitempty"`
EmissionClass string `xml:"EmissionClass,omitempty" json:"EmissionClass,omitempty"`
DatEmissionClass string `xml:"DatEmissionClass,omitempty" json:"DatEmissionClass,omitempty"`
Drive string `xml:"Drive,omitempty" json:"Drive,omitempty"`
DatDrive string `xml:"DatDrive,omitempty" json:"DatDrive,omitempty"`
DriveN string `xml:"DriveN,omitempty" json:"DriveN,omitempty"`
DatDriveN string `xml:"DatDriveN,omitempty" json:"DatDriveN,omitempty"`
DriveCode string `xml:"DriveCode,omitempty" json:"DriveCode,omitempty"`
EngineCycle int64 `xml:"EngineCycle,omitempty" json:"EngineCycle,omitempty"`
DatEngineCycle int64 `xml:"DatEngineCycle,omitempty" json:"DatEngineCycle,omitempty"`
FuelMethod string `xml:"FuelMethod,omitempty" json:"FuelMethod,omitempty"`
DatFuelMethod string `xml:"DatFuelMethod,omitempty" json:"DatFuelMethod,omitempty"`
FuelMethodCode string `xml:"FuelMethodCode,omitempty" json:"FuelMethodCode,omitempty"`
FuelMethodType string `xml:"FuelMethodType,omitempty" json:"FuelMethodType,omitempty"`
DatFuelMethodType string `xml:"DatFuelMethodType,omitempty" json:"DatFuelMethodType,omitempty"`
UnloadedWeight int64 `xml:"UnloadedWeight,omitempty" json:"UnloadedWeight,omitempty"`
DatUnloadedWeight int64 `xml:"DatUnloadedWeight,omitempty" json:"DatUnloadedWeight,omitempty"`
PermissableTotalWeight int64 `xml:"PermissableTotalWeight,omitempty" json:"PermissableTotalWeight,omitempty"`
DatPermissableTotalWeight int64 `xml:"DatPermissableTotalWeight,omitempty" json:"DatPermissableTotalWeight,omitempty"`
Payload int64 `xml:"Payload,omitempty" json:"Payload,omitempty"`
DatPayload int64 `xml:"DatPayload,omitempty" json:"DatPayload,omitempty"`
LoadingLength int64 `xml:"LoadingLength,omitempty" json:"LoadingLength,omitempty"`
DatLoadingLength int64 `xml:"DatLoadingLength,omitempty" json:"DatLoadingLength,omitempty"`
LoadingWidth int64 `xml:"LoadingWidth,omitempty" json:"LoadingWidth,omitempty"`
DatLoadingWidth int64 `xml:"DatLoadingWidth,omitempty" json:"DatLoadingWidth,omitempty"`
LoadingHeight int64 `xml:"LoadingHeight,omitempty" json:"LoadingHeight,omitempty"`
DatLoadingHeight int64 `xml:"DatLoadingHeight,omitempty" json:"DatLoadingHeight,omitempty"`
LoadingSpace int64 `xml:"LoadingSpace,omitempty" json:"LoadingSpace,omitempty"`
DatLoadingSpace int64 `xml:"DatLoadingSpace,omitempty" json:"DatLoadingSpace,omitempty"`
LoadingSpaceMax int64 `xml:"LoadingSpaceMax,omitempty" json:"LoadingSpaceMax,omitempty"`
DatLoadingSpaceMax int64 `xml:"DatLoadingSpaceMax,omitempty" json:"DatLoadingSpaceMax,omitempty"`
UpperBodyMaterial string `xml:"UpperBodyMaterial,omitempty" json:"UpperBodyMaterial,omitempty"`
InsuranceTypeClassLiability string `xml:"InsuranceTypeClassLiability,omitempty" json:"InsuranceTypeClassLiability,omitempty"`
InsuranceTypeClassCascoPartial string `xml:"InsuranceTypeClassCascoPartial,omitempty" json:"InsuranceTypeClassCascoPartial,omitempty"`
InsuranceTypeClassCascoComplete string `xml:"InsuranceTypeClassCascoComplete,omitempty" json:"InsuranceTypeClassCascoComplete,omitempty"`
DustBadge string `xml:"DustBadge,omitempty" json:"DustBadge,omitempty"`
ProductGroupName string `xml:"ProductGroupName,omitempty" json:"ProductGroupName,omitempty"`
EmissionKey string `xml:"EmissionKey,omitempty" json:"EmissionKey,omitempty"`
Built string `xml:"Built,omitempty" json:"Built,omitempty"`
AllowedLoadCapacity int64 `xml:"AllowedLoadCapacity,omitempty" json:"AllowedLoadCapacity,omitempty"`
CabinStructureAltDescription string `xml:"CabinStructureAltDescription,omitempty" json:"CabinStructureAltDescription,omitempty"`
CushionColorId string `xml:"CushionColorId,omitempty" json:"CushionColorId,omitempty"` //nolint
FuelmethodAbbr string `xml:"FuelmethodAbbr,omitempty" json:"FuelmethodAbbr,omitempty"`
InsuranceTypeClassCascoCompleteNeu string `xml:"InsuranceTypeClassCascoCompleteNeu,omitempty" json:"InsuranceTypeClassCascoCompleteNeu,omitempty"`
InsuranceTypeClassCascoPartialNeu string `xml:"InsuranceTypeClassCascoPartialNeu,omitempty" json:"InsuranceTypeClassCascoPartialNeu,omitempty"`
InsuranceTypeClassLiabilityNew string `xml:"InsuranceTypeClassLiabilityNew,omitempty" json:"InsuranceTypeClassLiabilityNew,omitempty"`
PayloadAlternative int64 `xml:"PayloadAlternative,omitempty" json:"PayloadAlternative,omitempty"`
PowerKwSae *float32 `xml:"PowerKwSae,omitempty" json:"PowerKwSae,omitempty"`
SommerSmogBadge string `xml:"SommerSmogBadge,omitempty" json:"SommerSmogBadge,omitempty"`
StowageMassFormat string `xml:"StowageMassFormat,omitempty" json:"StowageMassFormat,omitempty"`
TokenChangedCapacity string `xml:"TokenChangedCapacity,omitempty" json:"TokenChangedCapacity,omitempty"`
TokenTurboEngine string `xml:"TokenTurboEngine,omitempty" json:"TokenTurboEngine,omitempty"`
TypeOfTaxation string `xml:"TypeOfTaxation,omitempty" json:"TypeOfTaxation,omitempty"`
TypeSheetNumber string `xml:"TypeSheetNumber,omitempty" json:"TypeSheetNumber,omitempty"`
WhelBaseAlternative int64 `xml:"WhelBaseAlternative,omitempty" json:"WhelBaseAlternative,omitempty"`
SuitableForE10 *bool `xml:"SuitableForE10,omitempty" json:"SuitableForE10,omitempty"`
DatSuitableForE10 *bool `xml:"DatSuitableForE10,omitempty" json:"DatSuitableForE10,omitempty"`
WeightTotalCombination int64 `xml:"WeightTotalCombination,omitempty" json:"WeightTotalCombination,omitempty"`
DatWeightTotalCombination int64 `xml:"DatWeightTotalCombination,omitempty" json:"DatWeightTotalCombination,omitempty"`
WidthForGarage int64 `xml:"WidthForGarage,omitempty" json:"WidthForGarage,omitempty"`
DatWidthForGarage int64 `xml:"DatWidthForGarage,omitempty" json:"DatWidthForGarage,omitempty"`
PowerKwSystem *float32 `xml:"PowerKwSystem,omitempty" json:"PowerKwSystem,omitempty"`
DatPowerKwSystem *float32 `xml:"DatPowerKwSystem,omitempty" json:"DatPowerKwSystem,omitempty"`
PowerHpSystem *float32 `xml:"PowerHpSystem,omitempty" json:"PowerHpSystem,omitempty"`
DatPowerHpSystem *float32 `xml:"DatPowerHpSystem,omitempty" json:"DatPowerHpSystem,omitempty"`
PowerKwPermanent *float32 `xml:"PowerKwPermanent,omitempty" json:"PowerKwPermanent,omitempty"`
DatPowerKwPermanent *float32 `xml:"DatPowerKwPermanent,omitempty" json:"DatPowerKwPermanent,omitempty"`
PowerHpPermanent *float32 `xml:"PowerHpPermanent,omitempty" json:"PowerHpPermanent,omitempty"`
DatPowerHpPermanent *float32 `xml:"DatPowerHpPermanent,omitempty" json:"DatPowerHpPermanent,omitempty"`
PowerKwMax *float32 `xml:"PowerKwMax,omitempty" json:"PowerKwMax,omitempty"`
DatPowerKwMax *float32 `xml:"DatPowerKwMax,omitempty" json:"DatPowerKwMax,omitempty"`
PowerHpMax *float32 `xml:"PowerHpMax,omitempty" json:"PowerHpMax,omitempty"`
DatPowerHpMax *float32 `xml:"DatPowerHpMax,omitempty" json:"DatPowerHpMax,omitempty"`
PowerKwPermanentSecondary *float32 `xml:"PowerKwPermanentSecondary,omitempty" json:"PowerKwPermanentSecondary,omitempty"`
DatPowerKwPermanentSecondary *float32 `xml:"DatPowerKwPermanentSecondary,omitempty" json:"DatPowerKwPermanentSecondary,omitempty"`
PowerHpPermanentSecondary *float32 `xml:"PowerHpPermanentSecondary,omitempty" json:"PowerHpPermanentSecondary,omitempty"`
DatPowerHpPermanentSecondary *float32 `xml:"DatPowerHpPermanentSecondary,omitempty" json:"DatPowerHpPermanentSecondary,omitempty"`
PowerKwMaxSecondary *float32 `xml:"PowerKwMaxSecondary,omitempty" json:"PowerKwMaxSecondary,omitempty"`
DatPowerKwMaxSecondary *float32 `xml:"DatPowerKwMaxSecondary,omitempty" json:"DatPowerKwMaxSecondary,omitempty"`
PowerHpMaxSecondary *float32 `xml:"PowerHpMaxSecondary,omitempty" json:"PowerHpMaxSecondary,omitempty"`
DatPowerHpMaxSecondary *float32 `xml:"DatPowerHpMaxSecondary,omitempty" json:"DatPowerHpMaxSecondary,omitempty"`
BatteryVoltage *float32 `xml:"BatteryVoltage,omitempty" json:"BatteryVoltage,omitempty"`
DatBatteryVoltage *float32 `xml:"DatBatteryVoltage,omitempty" json:"DatBatteryVoltage,omitempty"`
BatteryCapacity *float32 `xml:"BatteryCapacity,omitempty" json:"BatteryCapacity,omitempty"`
DatBatteryCapacity *float32 `xml:"DatBatteryCapacity,omitempty" json:"DatBatteryCapacity,omitempty"`
BatteryWeight *float32 `xml:"BatteryWeight,omitempty" json:"BatteryWeight,omitempty"`
DatBatteryWeight *float32 `xml:"DatBatteryWeight,omitempty" json:"DatBatteryWeight,omitempty"`
BatteryConstructionType string `xml:"BatteryConstructionType,omitempty" json:"BatteryConstructionType,omitempty"`
DatBatteryConstructionType string `xml:"DatBatteryConstructionType,omitempty" json:"DatBatteryConstructionType,omitempty"`
ChargingCurrentPlugType string `xml:"ChargingCurrentPlugType,omitempty" json:"ChargingCurrentPlugType,omitempty"`
DatChargingCurrentPlugType string `xml:"DatChargingCurrentPlugType,omitempty" json:"DatChargingCurrentPlugType,omitempty"`
PluginSystem *bool `xml:"PluginSystem,omitempty" json:"PluginSystem,omitempty"`
DatPluginSystem *bool `xml:"DatPluginSystem,omitempty" json:"DatPluginSystem,omitempty"`
QuickdropSystem *bool `xml:"QuickdropSystem,omitempty" json:"QuickdropSystem,omitempty"`
DatQuickdropSystem *bool `xml:"DatQuickdropSystem,omitempty" json:"DatQuickdropSystem,omitempty"`
NormalChargeVoltage int64 `xml:"NormalChargeVoltage,omitempty" json:"NormalChargeVoltage,omitempty"`
DatNormalChargeVoltage int64 `xml:"DatNormalChargeVoltage,omitempty" json:"DatNormalChargeVoltage,omitempty"`
NormalChargeDuration *float32 `xml:"NormalChargeDuration,omitempty" json:"NormalChargeDuration,omitempty"`
DatNormalChargeDuration *float32 `xml:"DatNormalChargeDuration,omitempty" json:"DatNormalChargeDuration,omitempty"`
QuickChargeVoltage int64 `xml:"QuickChargeVoltage,omitempty" json:"QuickChargeVoltage,omitempty"`
DatQuickChargeVoltage int64 `xml:"DatQuickChargeVoltage,omitempty" json:"DatQuickChargeVoltage,omitempty"`
QuickChargeDuration *float32 `xml:"QuickChargeDuration,omitempty" json:"QuickChargeDuration,omitempty"`
DatQuickChargeDuration *float32 `xml:"DatQuickChargeDuration,omitempty" json:"DatQuickChargeDuration,omitempty"`
ConsumptionElectricalCurrent *float32 `xml:"ConsumptionElectricalCurrent,omitempty" json:"ConsumptionElectricalCurrent,omitempty"`
DatConsumptionElectricalCurrent *float32 `xml:"DatConsumptionElectricalCurrent,omitempty" json:"DatConsumptionElectricalCurrent,omitempty"`
WltpConsumptionElectricalMin *float32 `xml:"WltpConsumptionElectricalMin,omitempty" json:"WltpConsumptionElectricalMin,omitempty"`
DatWltpConsumptionElectricalMin *float32 `xml:"DatWltpConsumptionElectricalMin,omitempty" json:"DatWltpConsumptionElectricalMin,omitempty"`
WltpConsumptionElectricalMax *float32 `xml:"WltpConsumptionElectricalMax,omitempty" json:"WltpConsumptionElectricalMax,omitempty"`
DatWltpConsumptionElectricalMax *float32 `xml:"DatWltpConsumptionElectricalMax,omitempty" json:"DatWltpConsumptionElectricalMax,omitempty"`
RangeOfElectricMotor int64 `xml:"RangeOfElectricMotor,omitempty" json:"RangeOfElectricMotor,omitempty"`
DatRangeOfElectricMotor int64 `xml:"DatRangeOfElectricMotor,omitempty" json:"DatRangeOfElectricMotor,omitempty"`
RangeTotal int64 `xml:"RangeTotal,omitempty" json:"RangeTotal,omitempty"`
DatRangeTotal int64 `xml:"DatRangeTotal,omitempty" json:"DatRangeTotal,omitempty"`
WltpRangeElectricalMin int64 `xml:"WltpRangeElectricalMin,omitempty" json:"WltpRangeElectricalMin,omitempty"`
DatWltpRangeElectricalMin int64 `xml:"DatWltpRangeElectricalMin,omitempty" json:"DatWltpRangeElectricalMin,omitempty"`
WltpRangeElectricalMax int64 `xml:"WltpRangeElectricalMax,omitempty" json:"WltpRangeElectricalMax,omitempty"`
DatWltpRangeElectricalMax int64 `xml:"DatWltpRangeElectricalMax,omitempty" json:"DatWltpRangeElectricalMax,omitempty"`
WltpRangeTotalMin int64 `xml:"WltpRangeTotalMin,omitempty" json:"WltpRangeTotalMin,omitempty"`
DatWltpRangeTotalMin int64 `xml:"DatWltpRangeTotalMin,omitempty" json:"DatWltpRangeTotalMin,omitempty"`
WltpRangeTotalMax int64 `xml:"WltpRangeTotalMax,omitempty" json:"WltpRangeTotalMax,omitempty"`
DatWltpRangeTotalMax int64 `xml:"DatWltpRangeTotalMax,omitempty" json:"DatWltpRangeTotalMax,omitempty"`
EnergyEfficiencyClass string `xml:"EnergyEfficiencyClass,omitempty" json:"EnergyEfficiencyClass,omitempty"`
DatEnergyEfficiencyClass string `xml:"DatEnergyEfficiencyClass,omitempty" json:"DatEnergyEfficiencyClass,omitempty"`
ModelTypecode string `xml:"ModelTypecode,omitempty" json:"ModelTypecode,omitempty"`
ModelVariant string `xml:"ModelVariant,omitempty" json:"ModelVariant,omitempty"`
Type string `xml:"Type,omitempty" json:"Type,omitempty"`
TypeVariant string `xml:"TypeVariant,omitempty" json:"TypeVariant,omitempty"`
EngineType string `xml:"EngineType,omitempty" json:"EngineType,omitempty"`
SpecialModel string `xml:"SpecialModel,omitempty" json:"SpecialModel,omitempty"`
TechInfoWltp *TechInfoWltp `xml:"TechInfoWltp,omitempty" json:"TechInfoWltp,omitempty"`
}
type TechInfoWltp ¶ added in v1.1.0
type TechInfoWltp struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs TechInfoWltp"`
WltpConsumptionLowMin *float32 `xml:"WltpConsumptionLowMin,omitempty" json:"WltpConsumptionLowMin,omitempty"`
DatWltpConsumptionLowMin *float32 `xml:"DatWltpConsumptionLowMin,omitempty" json:"DatWltpConsumptionLowMin,omitempty"`
WltpConsumptionLowMax *float32 `xml:"WltpConsumptionLowMax,omitempty" json:"WltpConsumptionLowMax,omitempty"`
DatWltpConsumptionLowMax *float32 `xml:"DatWltpConsumptionLowMax,omitempty" json:"DatWltpConsumptionLowMax,omitempty"`
WltpConsumptionMediumMin *float32 `xml:"WltpConsumptionMediumMin,omitempty" json:"WltpConsumptionMediumMin,omitempty"`
DatWltpConsumptionMediumMin *float32 `xml:"DatWltpConsumptionMediumMin,omitempty" json:"DatWltpConsumptionMediumMin,omitempty"`
WltpConsumptionMediumMax *float32 `xml:"WltpConsumptionMediumMax,omitempty" json:"WltpConsumptionMediumMax,omitempty"`
DatWltpConsumptionMediumMax *float32 `xml:"DatWltpConsumptionMediumMax,omitempty" json:"DatWltpConsumptionMediumMax,omitempty"`
WltpConsumptionHighMin *float32 `xml:"WltpConsumptionHighMin,omitempty" json:"WltpConsumptionHighMin,omitempty"`
DatWltpConsumptionHighMin *float32 `xml:"DatWltpConsumptionHighMin,omitempty" json:"DatWltpConsumptionHighMin,omitempty"`
WltpConsumptionHighMax *float32 `xml:"WltpConsumptionHighMax,omitempty" json:"WltpConsumptionHighMax,omitempty"`
DatWltpConsumptionHighMax *float32 `xml:"DatWltpConsumptionHighMax,omitempty" json:"DatWltpConsumptionHighMax,omitempty"`
WltpConsumptionExtraHighMin *float32 `xml:"WltpConsumptionExtraHighMin,omitempty" json:"WltpConsumptionExtraHighMin,omitempty"`
DatWltpConsumptionExtraHighMin *float32 `xml:"DatWltpConsumptionExtraHighMin,omitempty" json:"DatWltpConsumptionExtraHighMin,omitempty"`
WltpConsumptionExtraHighMax *float32 `xml:"WltpConsumptionExtraHighMax,omitempty" json:"WltpConsumptionExtraHighMax,omitempty"`
DatWltpConsumptionExtraHighMax *float32 `xml:"DatWltpConsumptionExtraHighMax,omitempty" json:"DatWltpConsumptionExtraHighMax,omitempty"`
WltpConsumptionMixedMin *float32 `xml:"WltpConsumptionMixedMin,omitempty" json:"WltpConsumptionMixedMin,omitempty"`
DatWltpConsumptionMixedMin *float32 `xml:"DatWltpConsumptionMixedMin,omitempty" json:"DatWltpConsumptionMixedMin,omitempty"`
WltpConsumptionMixedMax *float32 `xml:"WltpConsumptionMixedMax,omitempty" json:"WltpConsumptionMixedMax,omitempty"`
DatWltpConsumptionMixedMax *float32 `xml:"DatWltpConsumptionMixedMax,omitempty" json:"DatWltpConsumptionMixedMax,omitempty"`
WltpConsumptionBivalentLowCngMin *float32 `xml:"WltpConsumptionBivalentLowCngMin,omitempty" json:"WltpConsumptionBivalentLowCngMin,omitempty"`
DatWltpConsumptionBivalentLowCngMin *float32 `xml:"DatWltpConsumptionBivalentLowCngMin,omitempty" json:"DatWltpConsumptionBivalentLowCngMin,omitempty"`
WltpConsumptionBivalentLowCngMax *float32 `xml:"WltpConsumptionBivalentLowCngMax,omitempty" json:"WltpConsumptionBivalentLowCngMax,omitempty"`
DatWltpConsumptionBivalentLowCngMax *float32 `xml:"DatWltpConsumptionBivalentLowCngMax,omitempty" json:"DatWltpConsumptionBivalentLowCngMax,omitempty"`
WltpConsumptionBivalentMediumCngMin *float32 `xml:"WltpConsumptionBivalentMediumCngMin,omitempty" json:"WltpConsumptionBivalentMediumCngMin,omitempty"`
DatWltpConsumptionBivalentMediumCngMin *float32 `xml:"DatWltpConsumptionBivalentMediumCngMin,omitempty" json:"DatWltpConsumptionBivalentMediumCngMin,omitempty"`
WltpConsumptionBivalentMediumCngMax *float32 `xml:"WltpConsumptionBivalentMediumCngMax,omitempty" json:"WltpConsumptionBivalentMediumCngMax,omitempty"`
DatWltpConsumptionBivalentMediumCngMax *float32 `xml:"DatWltpConsumptionBivalentMediumCngMax,omitempty" json:"DatWltpConsumptionBivalentMediumCngMax,omitempty"`
WltpConsumptionBivalentHighCngMin *float32 `xml:"WltpConsumptionBivalentHighCngMin,omitempty" json:"WltpConsumptionBivalentHighCngMin,omitempty"`
DatWltpConsumptionBivalentHighCngMin *float32 `xml:"DatWltpConsumptionBivalentHighCngMin,omitempty" json:"DatWltpConsumptionBivalentHighCngMin,omitempty"`
WltpConsumptionBivalentHighCngMax *float32 `xml:"WltpConsumptionBivalentHighCngMax,omitempty" json:"WltpConsumptionBivalentHighCngMax,omitempty"`
DatWltpConsumptionBivalentHighCngMax *float32 `xml:"DatWltpConsumptionBivalentHighCngMax,omitempty" json:"DatWltpConsumptionBivalentHighCngMax,omitempty"`
WltpConsumptionBivalentExtraHighCngMin *float32 `xml:"WltpConsumptionBivalentExtraHighCngMin,omitempty" json:"WltpConsumptionBivalentExtraHighCngMin,omitempty"`
DatWltpConsumptionBivalentExtraHighCngMin *float32 `xml:"DatWltpConsumptionBivalentExtraHighCngMin,omitempty" json:"DatWltpConsumptionBivalentExtraHighCngMin,omitempty"`
WltpConsumptionBivalentExtraHighCngMax *float32 `xml:"WltpConsumptionBivalentExtraHighCngMax,omitempty" json:"WltpConsumptionBivalentExtraHighCngMax,omitempty"`
DatWltpConsumptionBivalentExtraHighCngMax *float32 `xml:"DatWltpConsumptionBivalentExtraHighCngMax,omitempty" json:"DatWltpConsumptionBivalentExtraHighCngMax,omitempty"`
WltpConsumptionBivalentMixedCngMin *float32 `xml:"WltpConsumptionBivalentMixedCngMin,omitempty" json:"WltpConsumptionBivalentMixedCngMin,omitempty"`
DatWltpConsumptionBivalentMixedCngMin *float32 `xml:"DatWltpConsumptionBivalentMixedCngMin,omitempty" json:"DatWltpConsumptionBivalentMixedCngMin,omitempty"`
WltpConsumptionBivalentMixedCngMax *float32 `xml:"WltpConsumptionBivalentMixedCngMax,omitempty" json:"WltpConsumptionBivalentMixedCngMax,omitempty"`
DatWltpConsumptionBivalentMixedCngMax *float32 `xml:"DatWltpConsumptionBivalentMixedCngMax,omitempty" json:"DatWltpConsumptionBivalentMixedCngMax,omitempty"`
WltpConsumptionBivalentLowLpgMin *float32 `xml:"WltpConsumptionBivalentLowLpgMin,omitempty" json:"WltpConsumptionBivalentLowLpgMin,omitempty"`
DatWltpConsumptionBivalentLowLpgMin *float32 `xml:"DatWltpConsumptionBivalentLowLpgMin,omitempty" json:"DatWltpConsumptionBivalentLowLpgMin,omitempty"`
WltpConsumptionBivalentLowLpgMax *float32 `xml:"WltpConsumptionBivalentLowLpgMax,omitempty" json:"WltpConsumptionBivalentLowLpgMax,omitempty"`
DatWltpConsumptionBivalentLowLpgMax *float32 `xml:"DatWltpConsumptionBivalentLowLpgMax,omitempty" json:"DatWltpConsumptionBivalentLowLpgMax,omitempty"`
WltpConsumptionBivalentMediumLpgMin *float32 `xml:"WltpConsumptionBivalentMediumLpgMin,omitempty" json:"WltpConsumptionBivalentMediumLpgMin,omitempty"`
DatWltpConsumptionBivalentMediumLpgMin *float32 `xml:"DatWltpConsumptionBivalentMediumLpgMin,omitempty" json:"DatWltpConsumptionBivalentMediumLpgMin,omitempty"`
WltpConsumptionBivalentMediumLpgMax *float32 `xml:"WltpConsumptionBivalentMediumLpgMax,omitempty" json:"WltpConsumptionBivalentMediumLpgMax,omitempty"`
DatWltpConsumptionBivalentMediumLpgMax *float32 `xml:"DatWltpConsumptionBivalentMediumLpgMax,omitempty" json:"DatWltpConsumptionBivalentMediumLpgMax,omitempty"`
WltpConsumptionBivalentHighLpgMin *float32 `xml:"WltpConsumptionBivalentHighLpgMin,omitempty" json:"WltpConsumptionBivalentHighLpgMin,omitempty"`
DatWltpConsumptionBivalentHighLpgMin *float32 `xml:"DatWltpConsumptionBivalentHighLpgMin,omitempty" json:"DatWltpConsumptionBivalentHighLpgMin,omitempty"`
WltpConsumptionBivalentHighLpgMax *float32 `xml:"WltpConsumptionBivalentHighLpgMax,omitempty" json:"WltpConsumptionBivalentHighLpgMax,omitempty"`
DatWltpConsumptionBivalentHighLpgMax *float32 `xml:"DatWltpConsumptionBivalentHighLpgMax,omitempty" json:"DatWltpConsumptionBivalentHighLpgMax,omitempty"`
WltpConsumptionBivalentExtraHighLpgMin *float32 `xml:"WltpConsumptionBivalentExtraHighLpgMin,omitempty" json:"WltpConsumptionBivalentExtraHighLpgMin,omitempty"`
DatWltpConsumptionBivalentExtraHighLpgMin *float32 `xml:"DatWltpConsumptionBivalentExtraHighLpgMin,omitempty" json:"DatWltpConsumptionBivalentExtraHighLpgMin,omitempty"`
WltpConsumptionBivalentExtraHighLpgMax *float32 `xml:"WltpConsumptionBivalentExtraHighLpgMax,omitempty" json:"WltpConsumptionBivalentExtraHighLpgMax,omitempty"`
DatWltpConsumptionBivalentExtraHighLpgMax *float32 `xml:"DatWltpConsumptionBivalentExtraHighLpgMax,omitempty" json:"DatWltpConsumptionBivalentExtraHighLpgMax,omitempty"`
WltpConsumptionBivalentMixedLpgMin *float32 `xml:"WltpConsumptionBivalentMixedLpgMin,omitempty" json:"WltpConsumptionBivalentMixedLpgMin,omitempty"`
DatWltpConsumptionBivalentMixedLpgMin *float32 `xml:"DatWltpConsumptionBivalentMixedLpgMin,omitempty" json:"DatWltpConsumptionBivalentMixedLpgMin,omitempty"`
WltpConsumptionBivalentMixedLpgMax *float32 `xml:"WltpConsumptionBivalentMixedLpgMax,omitempty" json:"WltpConsumptionBivalentMixedLpgMax,omitempty"`
DatWltpConsumptionBivalentMixedLpgMax *float32 `xml:"DatWltpConsumptionBivalentMixedLpgMax,omitempty" json:"DatWltpConsumptionBivalentMixedLpgMax,omitempty"`
WltpConsumptionBivalentLowHMin *float32 `xml:"WltpConsumptionBivalentLowHMin,omitempty" json:"WltpConsumptionBivalentLowHMin,omitempty"`
DatWltpConsumptionBivalentLowHMin *float32 `xml:"DatWltpConsumptionBivalentLowHMin,omitempty" json:"DatWltpConsumptionBivalentLowHMin,omitempty"`
WltpConsumptionBivalentLowHMax *float32 `xml:"WltpConsumptionBivalentLowHMax,omitempty" json:"WltpConsumptionBivalentLowHMax,omitempty"`
DatWltpConsumptionBivalentLowHMax *float32 `xml:"DatWltpConsumptionBivalentLowHMax,omitempty" json:"DatWltpConsumptionBivalentLowHMax,omitempty"`
WltpConsumptionBivalentMediumHMin *float32 `xml:"WltpConsumptionBivalentMediumHMin,omitempty" json:"WltpConsumptionBivalentMediumHMin,omitempty"`
DatWltpConsumptionBivalentMediumHMin *float32 `xml:"DatWltpConsumptionBivalentMediumHMin,omitempty" json:"DatWltpConsumptionBivalentMediumHMin,omitempty"`
WltpConsumptionBivalentMediumHMax *float32 `xml:"WltpConsumptionBivalentMediumHMax,omitempty" json:"WltpConsumptionBivalentMediumHMax,omitempty"`
DatWltpConsumptionBivalentMediumHMax *float32 `xml:"DatWltpConsumptionBivalentMediumHMax,omitempty" json:"DatWltpConsumptionBivalentMediumHMax,omitempty"`
WltpConsumptionBivalentHighHMin *float32 `xml:"WltpConsumptionBivalentHighHMin,omitempty" json:"WltpConsumptionBivalentHighHMin,omitempty"`
DatWltpConsumptionBivalentHighHMin *float32 `xml:"DatWltpConsumptionBivalentHighHMin,omitempty" json:"DatWltpConsumptionBivalentHighHMin,omitempty"`
WltpConsumptionBivalentHighHMax *float32 `xml:"WltpConsumptionBivalentHighHMax,omitempty" json:"WltpConsumptionBivalentHighHMax,omitempty"`
DatWltpConsumptionBivalentHighHMax *float32 `xml:"DatWltpConsumptionBivalentHighHMax,omitempty" json:"DatWltpConsumptionBivalentHighHMax,omitempty"`
WltpConsumptionBivalentExtraHighHMin *float32 `xml:"WltpConsumptionBivalentExtraHighHMin,omitempty" json:"WltpConsumptionBivalentExtraHighHMin,omitempty"`
DatWltpConsumptionBivalentExtraHighHMin *float32 `xml:"DatWltpConsumptionBivalentExtraHighHMin,omitempty" json:"DatWltpConsumptionBivalentExtraHighHMin,omitempty"`
WltpConsumptionBivalentExtraHighHMax *float32 `xml:"WltpConsumptionBivalentExtraHighHMax,omitempty" json:"WltpConsumptionBivalentExtraHighHMax,omitempty"`
DatWltpConsumptionBivalentExtraHighHMax *float32 `xml:"DatWltpConsumptionBivalentExtraHighHMax,omitempty" json:"DatWltpConsumptionBivalentExtraHighHMax,omitempty"`
WltpConsumptionBivalentMixedHMin *float32 `xml:"WltpConsumptionBivalentMixedHMin,omitempty" json:"WltpConsumptionBivalentMixedHMin,omitempty"`
DatWltpConsumptionBivalentMixedHMin *float32 `xml:"DatWltpConsumptionBivalentMixedHMin,omitempty" json:"DatWltpConsumptionBivalentMixedHMin,omitempty"`
WltpConsumptionBivalentMixedHMax *float32 `xml:"WltpConsumptionBivalentMixedHMax,omitempty" json:"WltpConsumptionBivalentMixedHMax,omitempty"`
DatWltpConsumptionBivalentMixedHMax *float32 `xml:"DatWltpConsumptionBivalentMixedHMax,omitempty" json:"DatWltpConsumptionBivalentMixedHMax,omitempty"`
WltpCo2EmissionMin *float32 `xml:"WltpCo2EmissionMin,omitempty" json:"WltpCo2EmissionMin,omitempty"`
DatWltpCo2EmissionMin *float32 `xml:"DatWltpCo2EmissionMin,omitempty" json:"DatWltpCo2EmissionMin,omitempty"`
WltpCo2EmissionMax *float32 `xml:"WltpCo2EmissionMax,omitempty" json:"WltpCo2EmissionMax,omitempty"`
DatWltpCo2EmissionMax *float32 `xml:"DatWltpCo2EmissionMax,omitempty" json:"DatWltpCo2EmissionMax,omitempty"`
WltpConsumptionElectricalMin *float32 `xml:"WltpConsumptionElectricalMin,omitempty" json:"WltpConsumptionElectricalMin,omitempty"`
DatWltpConsumptionElectricalMin *float32 `xml:"DatWltpConsumptionElectricalMin,omitempty" json:"DatWltpConsumptionElectricalMin,omitempty"`
WltpConsumptionElectricalMax *float32 `xml:"WltpConsumptionElectricalMax,omitempty" json:"WltpConsumptionElectricalMax,omitempty"`
DatWltpConsumptionElectricalMax *float32 `xml:"DatWltpConsumptionElectricalMax,omitempty" json:"DatWltpConsumptionElectricalMax,omitempty"`
WltpRangeElectricalMin int64 `xml:"WltpRangeElectricalMin,omitempty" json:"WltpRangeElectricalMin,omitempty"`
DatWltpRangeElectricalMin int64 `xml:"DatWltpRangeElectricalMin,omitempty" json:"DatWltpRangeElectricalMin,omitempty"`
WltpRangeElectricalMax int64 `xml:"WltpRangeElectricalMax,omitempty" json:"WltpRangeElectricalMax,omitempty"`
DatWltpRangeElectricalMax int64 `xml:"DatWltpRangeElectricalMax,omitempty" json:"DatWltpRangeElectricalMax,omitempty"`
WltpRangeTotalMin int64 `xml:"WltpRangeTotalMin,omitempty" json:"WltpRangeTotalMin,omitempty"`
DatWltpRangeTotalMin int64 `xml:"DatWltpRangeTotalMin,omitempty" json:"DatWltpRangeTotalMin,omitempty"`
WltpRangeTotalMax int64 `xml:"WltpRangeTotalMax,omitempty" json:"WltpRangeTotalMax,omitempty"`
DatWltpRangeTotalMax int64 `xml:"DatWltpRangeTotalMax,omitempty" json:"DatWltpRangeTotalMax,omitempty"`
}
type Tires ¶ added in v1.1.0
type Tires struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Tires"`
TireRepairType string `xml:"TireRepairType,omitempty" json:"TireRepairType,omitempty"`
TireValuationType string `xml:"TireValuationType,omitempty" json:"TireValuationType,omitempty"`
Axles struct {
Axle []*Axle `xml:"Axle,omitempty" json:"Axle,omitempty"`
} `xml:"Axles,omitempty" json:"Axles,omitempty"`
}
type VAT ¶ added in v1.1.0
type VAT struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs VAT"`
VatType string `xml:"VatType,omitempty" json:"VatType,omitempty"`
VatAtConstructionTime *float32 `xml:"VatAtConstructionTime,omitempty" json:"VatAtConstructionTime,omitempty"`
DatVatAtConstructionTime *float32 `xml:"DatVatAtConstructionTime,omitempty" json:"DatVatAtConstructionTime,omitempty"`
BaseVatAtConstructionTime *float32 `xml:"BaseVatAtConstructionTime,omitempty" json:"BaseVatAtConstructionTime,omitempty"`
DatBaseVatAtConstructionTime *float32 `xml:"DatBaseVatAtConstructionTime,omitempty" json:"DatBaseVatAtConstructionTime,omitempty"`
AddOnTaxAtConstructionTime *float32 `xml:"AddOnTaxAtConstructionTime,omitempty" json:"AddOnTaxAtConstructionTime,omitempty"`
AddOnTaxApplication string `xml:"AddOnTaxApplication,omitempty" json:"AddOnTaxApplication,omitempty"`
PostTaxDifference *float32 `xml:"PostTaxDifference,omitempty" json:"PostTaxDifference,omitempty"`
VatAtValuationTime *float32 `xml:"VatAtValuationTime,omitempty" json:"VatAtValuationTime,omitempty"`
DatVatAtValuationTime *float32 `xml:"DatVatAtValuationTime,omitempty" json:"DatVatAtValuationTime,omitempty"`
VatAtCalculationTime *float32 `xml:"VatAtCalculationTime,omitempty" json:"VatAtCalculationTime,omitempty"`
VatAtSalesTime *float32 `xml:"VatAtSalesTime,omitempty" json:"VatAtSalesTime,omitempty"`
DatVatAtSalesTime *float32 `xml:"DatVatAtSalesTime,omitempty" json:"DatVatAtSalesTime,omitempty"`
VatAtPurchaseTime *float32 `xml:"VatAtPurchaseTime,omitempty" json:"VatAtPurchaseTime,omitempty"`
DatVatAtPurchaseTime *float32 `xml:"DatVatAtPurchaseTime,omitempty" json:"DatVatAtPurchaseTime,omitempty"`
VATReplacementPartAtCalculationTime *float32 `xml:"VATReplacementPartAtCalculationTime,omitempty" json:"VATReplacementPartAtCalculationTime,omitempty"`
}
type VINColor ¶ added in v1.1.0
type VINColor struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs VINColor"`
ColorID string `xml:"ColorID,omitempty" json:"ColorID,omitempty"`
Code string `xml:"Code,omitempty" json:"Code,omitempty"`
Description string `xml:"Description,omitempty" json:"Description,omitempty"`
StandardColor string `xml:"StandardColor,omitempty" json:"StandardColor,omitempty"`
PaintType string `xml:"PaintType,omitempty" json:"PaintType,omitempty"`
CountCoat string `xml:"CountCoat,omitempty" json:"CountCoat,omitempty"`
}
type VINContainer ¶ added in v1.1.0
type VINContainer struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs VINContainer"`
Container string `xml:"Container,omitempty" json:"Container,omitempty"`
VehicleTypeKey int64 `xml:"VehicleTypeKey,omitempty" json:"VehicleTypeKey,omitempty"`
ManufacturerKey int64 `xml:"ManufacturerKey,omitempty" json:"ManufacturerKey,omitempty"`
VehicleMainTypeKey int64 `xml:"VehicleMainTypeKey,omitempty" json:"VehicleMainTypeKey,omitempty"`
VehicleSubTypeKey int64 `xml:"VehicleSubTypeKey,omitempty" json:"VehicleSubTypeKey,omitempty"`
VehicleConstructionTime int64 `xml:"VehicleConstructionTime,omitempty" json:"VehicleConstructionTime,omitempty"`
}
type VINContainers ¶ added in v1.1.0
type VINContainers struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs VINContainers"`
VINContainer []*VINContainer `xml:"VINContainer,omitempty" json:"VINContainer,omitempty"`
}
type VINECode ¶ added in v1.1.0
type VINECode struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs VINECode"`
Sign int64 `xml:"Sign,omitempty" json:"Sign,omitempty"`
Country string `xml:"Country,omitempty" json:"Country,omitempty"`
VehicleTypeKey int64 `xml:"VehicleTypeKey,omitempty" json:"VehicleTypeKey,omitempty"`
ManufacturerKey int64 `xml:"ManufacturerKey,omitempty" json:"ManufacturerKey,omitempty"`
VehicleMainTypeKey int64 `xml:"VehicleMainTypeKey,omitempty" json:"VehicleMainTypeKey,omitempty"`
VehicleSubTypeKey int64 `xml:"VehicleSubTypeKey,omitempty" json:"VehicleSubTypeKey,omitempty"`
VehicleSubTypeVariantKey int64 `xml:"VehicleSubTypeVariantKey,omitempty" json:"VehicleSubTypeVariantKey,omitempty"`
ConstructionTimeMin int64 `xml:"ConstructionTimeMin,omitempty" json:"ConstructionTimeMin,omitempty"`
ConstructionTime int64 `xml:"ConstructionTime,omitempty" json:"ConstructionTime,omitempty"`
ConstructionTimeEdge int64 `xml:"ConstructionTimeEdge,omitempty" json:"ConstructionTimeEdge,omitempty"`
ConstructionTimeProd int64 `xml:"ConstructionTimeProd,omitempty" json:"ConstructionTimeProd,omitempty"`
ConstructionTimePriceList int64 `xml:"ConstructionTimePriceList,omitempty" json:"ConstructionTimePriceList,omitempty"`
VINContainers *VINContainers `xml:"VINContainers,omitempty" json:"VINContainers,omitempty"`
}
type VINEquipment ¶ added in v1.1.0
type VINEquipment struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs VINEquipment"`
AvNumberDat int64 `xml:"AvNumberDat,omitempty" json:"AvNumberDat,omitempty"`
ManufacturerCode string `xml:"ManufacturerCode,omitempty" json:"ManufacturerCode,omitempty"`
ShortName string `xml:"ShortName,omitempty" json:"ShortName,omitempty"`
}
type VINEquipments ¶ added in v1.1.0
type VINEquipments struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs VINEquipments"`
VINEquipment []*VINEquipment `xml:"VINEquipment,omitempty" json:"VINEquipment,omitempty"`
}
type VINResult ¶ added in v1.1.0
type VINResult struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs VINResult"`
VinInterfaceVersion string `xml:"VinInterfaceVersion,omitempty" json:"VinInterfaceVersion,omitempty"`
VinDatProcedure *bool `xml:"VinDatProcedure,omitempty" json:"VinDatProcedure,omitempty"`
CrossBorder *bool `xml:"CrossBorder,omitempty" json:"CrossBorder,omitempty"`
VINECodes *VINECodes `xml:"VINECodes,omitempty" json:"VINECodes,omitempty"`
VINEquipments *VINEquipments `xml:"VINEquipments,omitempty" json:"VINEquipments,omitempty"`
VINColors *VINColors `xml:"VINColors,omitempty" json:"VINColors,omitempty"`
VINVehicle *VINVehicle `xml:"VINVehicle,omitempty" json:"VINVehicle,omitempty"`
}
type VINVehicle ¶ added in v1.1.0
type VINVehicle struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs VINVehicle"`
VINumber *VINumber `xml:"VINumber,omitempty" json:"VINumber,omitempty"`
ManufacturerCarCode string `xml:"ManufacturerCarCode,omitempty" json:"ManufacturerCarCode,omitempty"`
ManufacturerEngineCode string `xml:"ManufacturerEngineCode,omitempty" json:"ManufacturerEngineCode,omitempty"`
ManufacturerTransmissionCode string `xml:"ManufacturerTransmissionCode,omitempty" json:"ManufacturerTransmissionCode,omitempty"`
}
type Vehicle ¶ added in v1.1.0
type Vehicle struct {
XMLName xml.Name `xml:"http://www.dat.de/vxs Vehicle"`
VehicleIdentNumber string `xml:"VehicleIdentNumber,omitempty" json:"VehicleIdentNumber,omitempty"`
DatECode string `xml:"DatECode,omitempty" json:"DatECode,omitempty"`
Container string `xml:"Container,omitempty" json:"Container,omitempty"`
ConstructionYear int64 `xml:"ConstructionYear,omitempty" json:"ConstructionYear,omitempty"`
DatConstructionYear int64 `xml:"DatConstructionYear,omitempty" json:"DatConstructionYear,omitempty"`
ConstructionMonth int64 `xml:"ConstructionMonth,omitempty" json:"ConstructionMonth,omitempty"`
ConstructionTime int64 `xml:"ConstructionTime,omitempty" json:"ConstructionTime,omitempty"`
ConstructionTimeFrom int64 `xml:"ConstructionTimeFrom,omitempty" json:"ConstructionTimeFrom,omitempty"`
ConstructionTimeTo int64 `xml:"ConstructionTimeTo,omitempty" json:"ConstructionTimeTo,omitempty"`
ConstructionTimePriceList int64 `xml:"ConstructionTimePriceList,omitempty" json:"ConstructionTimePriceList,omitempty"`
MileageEstimated int64 `xml:"MileageEstimated,omitempty" json:"MileageEstimated,omitempty"`
MileageOdometer int64 `xml:"MileageOdometer,omitempty" json:"MileageOdometer,omitempty"`
MileageAccordingUser *float32 `xml:"MileageAccordingUser,omitempty" json:"MileageAccordingUser,omitempty"`
MileageType string `xml:"MileageType,omitempty" json:"MileageType,omitempty"`
MileageComment string `xml:"MileageComment,omitempty" json:"MileageComment,omitempty"`
SalesDescription string `xml:"SalesDescription,omitempty" json:"SalesDescription,omitempty"`
VehicleTypeName string `xml:"VehicleTypeName,omitempty" json:"VehicleTypeName,omitempty"`
VehicleTypeNameN string `xml:"VehicleTypeNameN,omitempty" json:"VehicleTypeNameN,omitempty"`
DatVehicleTypeNameN string `xml:"DatVehicleTypeNameN,omitempty" json:"DatVehicleTypeNameN,omitempty"`
ManufacturerName string `xml:"ManufacturerName,omitempty" json:"ManufacturerName,omitempty"`
DatManufacturerName string `xml:"DatManufacturerName,omitempty" json:"DatManufacturerName,omitempty"`
BaseModelName string `xml:"BaseModelName,omitempty" json:"BaseModelName,omitempty"`
DatBaseModelName string `xml:"DatBaseModelName,omitempty" json:"DatBaseModelName,omitempty"`
SubModelName string `xml:"SubModelName,omitempty" json:"SubModelName,omitempty"`
DatSubModelName string `xml:"DatSubModelName,omitempty" json:"DatSubModelName,omitempty"`
EngineNameManual string `xml:"EngineNameManual,omitempty" json:"EngineNameManual,omitempty"`
BodyNameManual string `xml:"BodyNameManual,omitempty" json:"BodyNameManual,omitempty"`
WheelbaseNameManual string `xml:"WheelbaseNameManual,omitempty" json:"WheelbaseNameManual,omitempty"`
PropulsionNameManual string `xml:"PropulsionNameManual,omitempty" json:"PropulsionNameManual,omitempty"`
DrivingCabNameManual string `xml:"DrivingCabNameManual,omitempty" json:"DrivingCabNameManual,omitempty"`
TonnageNameManual string `xml:"TonnageNameManual,omitempty" json:"TonnageNameManual,omitempty"`
ConstructionNameManual string `xml:"ConstructionNameManual,omitempty" json:"ConstructionNameManual,omitempty"`
SuspensionNameManual string `xml:"SuspensionNameManual,omitempty" json:"SuspensionNameManual,omitempty"`
AxleCountNameManual string `xml:"AxleCountNameManual,omitempty" json:"AxleCountNameManual,omitempty"`
EquipmentLineNameManual string `xml:"EquipmentLineNameManual,omitempty" json:"EquipmentLineNameManual,omitempty"`
GearboxNameManual string `xml:"GearboxNameManual,omitempty" json:"GearboxNameManual,omitempty"`
ContainerName string `xml:"ContainerName,omitempty" json:"ContainerName,omitempty"`
ContainerNameN string `xml:"ContainerNameN,omitempty" json:"ContainerNameN,omitempty"`
DatContainerNameN string `xml:"DatContainerNameN,omitempty" json:"DatContainerNameN,omitempty"`
MainTypeGroupName string `xml:"MainTypeGroupName,omitempty" json:"MainTypeGroupName,omitempty"`
VehicleType int64 `xml:"VehicleType,omitempty" json:"VehicleType,omitempty"`
Manufacturer int64 `xml:"Manufacturer,omitempty" json:"Manufacturer,omitempty"`
BaseModel int64 `xml:"BaseModel,omitempty" json:"BaseModel,omitempty"`
AlternativeVehicleType int64 `xml:"AlternativeVehicleType,omitempty" json:"AlternativeVehicleType,omitempty"`
AlternativeManufacturer int64 `xml:"AlternativeManufacturer,omitempty" json:"AlternativeManufacturer,omitempty"`
AlternativeBaseModel int64 `xml:"AlternativeBaseModel,omitempty" json:"AlternativeBaseModel,omitempty"`
SubModel int64 `xml:"SubModel,omitempty" json:"SubModel,omitempty"`
AlternativeSubModel int64 `xml:"AlternativeSubModel,omitempty" json:"AlternativeSubModel,omitempty"`
MainTypeGroup string `xml:"MainTypeGroup,omitempty" json:"MainTypeGroup,omitempty"`
IdentificationSource string `xml:"IdentificationSource,omitempty" json:"IdentificationSource,omitempty"`
Country string `xml:"Country,omitempty" json:"Country,omitempty"`
CountryTarget string `xml:"CountryTarget,omitempty" json:"CountryTarget,omitempty"`
IsDisengaged bool `xml:"isDisengaged,omitempty" json:"isDisengaged,omitempty"`
WithoutDistinctionEquStandardSpecial bool `xml:"withoutDistinctionEquStandardSpecial,omitempty" json:"withoutDistinctionEquStandardSpecial,omitempty"`
IsWithManualTypeNames *bool `xml:"IsWithManualTypeNames,omitempty" json:"IsWithManualTypeNames,omitempty"`
IsDisengagedN *bool `xml:"IsDisengagedN,omitempty" json:"IsDisengagedN,omitempty"`
WithoutDistinctionEquStandardSpecialN *bool `xml:"WithoutDistinctionEquStandardSpecialN,omitempty" json:"WithoutDistinctionEquStandardSpecialN,omitempty"`
IsUniversalSubModel *bool `xml:"IsUniversalSubModel,omitempty" json:"IsUniversalSubModel,omitempty"`
VinAccuracy int64 `xml:"VinAccuracy,omitempty" json:"VinAccuracy,omitempty"`
VinActive *bool `xml:"VinActive,omitempty" json:"VinActive,omitempty"`
ReleaseIndicator string `xml:"ReleaseIndicator,omitempty" json:"ReleaseIndicator,omitempty"`
KbaNumbersN struct {
KbaNumber []string `xml:"KbaNumber,omitempty" json:"KbaNumber,omitempty"`
} `xml:"KbaNumbersN,omitempty" json:"KbaNumbersN,omitempty"`
NationalCodeAustria struct {
NationalCodeAustria []string `xml:"NationalCodeAustria,omitempty" json:"NationalCodeAustria,omitempty"`
} `xml:"NationalCodeAustria,omitempty" json:"NationalCodeAustria,omitempty"`
TypeOfConstruction string `xml:"TypeOfConstruction,omitempty" json:"TypeOfConstruction,omitempty"`
ConstructionYearManual string `xml:"ConstructionYearManual,omitempty" json:"ConstructionYearManual,omitempty"`
ColorScheme string `xml:"ColorScheme,omitempty" json:"ColorScheme,omitempty"`
ColorSchemeManual string `xml:"ColorSchemeManual,omitempty" json:"ColorSchemeManual,omitempty"`
ColorVariant string `xml:"ColorVariant,omitempty" json:"ColorVariant,omitempty"`
PaintTypes struct {
PaintType []string `xml:"PaintType,omitempty" json:"PaintType,omitempty"`
} `xml:"PaintTypes,omitempty" json:"PaintTypes,omitempty"`
GeneralInspectionDate string `xml:"GeneralInspectionDate,omitempty" json:"GeneralInspectionDate,omitempty"`
ManufacturerOrderKey string `xml:"ManufacturerOrderKey,omitempty" json:"ManufacturerOrderKey,omitempty"`
SubModelVariant int64 `xml:"SubModelVariant,omitempty" json:"SubModelVariant,omitempty"`
TokenColorScheme string `xml:"TokenColorScheme,omitempty" json:"TokenColorScheme,omitempty"`
VehicleTypeAUFromKba string `xml:"VehicleTypeAUFromKba,omitempty" json:"VehicleTypeAUFromKba,omitempty"`
VehicleTypeFromKba string `xml:"VehicleTypeFromKba,omitempty" json:"VehicleTypeFromKba,omitempty"`
VehicleTypeFromManufacturer string `xml:"VehicleTypeFromManufacturer,omitempty" json:"VehicleTypeFromManufacturer,omitempty"`
Colorcode int64 `xml:"Colorcode,omitempty" json:"Colorcode,omitempty"`
SubTypeSubstitution int64 `xml:"SubTypeSubstitution,omitempty" json:"SubTypeSubstitution,omitempty"`
OriginalPrice *float32 `xml:"OriginalPrice,omitempty" json:"OriginalPrice,omitempty"`
DatOriginalPrice *float32 `xml:"DatOriginalPrice,omitempty" json:"DatOriginalPrice,omitempty"`
OriginalPriceGross *float32 `xml:"OriginalPriceGross,omitempty" json:"OriginalPriceGross,omitempty"`
DatOriginalPriceGross *float32 `xml:"DatOriginalPriceGross,omitempty" json:"DatOriginalPriceGross,omitempty"`
RentalCarClass int64 `xml:"RentalCarClass,omitempty" json:"RentalCarClass,omitempty"`
OriginalPriceInfo *OriginalPriceInfo `xml:"OriginalPriceInfo,omitempty" json:"OriginalPriceInfo,omitempty"`
Engine *Engine `xml:"Engine,omitempty" json:"Engine,omitempty"`
TechInfo *TechInfo `xml:"TechInfo,omitempty" json:"TechInfo,omitempty"`
Equipment *Equipment `xml:"Equipment,omitempty" json:"Equipment,omitempty"`
Tires *Tires `xml:"Tires,omitempty" json:"Tires,omitempty"`
// DATECodeEquipment *EquipSequence `xml:"DATECodeEquipment,omitempty" json:"DATECodeEquipment,omitempty"`
VINResult *VINResult `xml:"VINResult,omitempty" json:"VINResult,omitempty"`
TokenOfVinResult string `xml:"TokenOfVinResult,omitempty" json:"TokenOfVinResult,omitempty"`
BuildYear int64 `xml:"BuildYear,omitempty" json:"BuildYear,omitempty"`
OperatingHours int64 `xml:"OperatingHours,omitempty" json:"OperatingHours,omitempty"`
MileageInMiles int64 `xml:"MileageInMiles,omitempty" json:"MileageInMiles,omitempty"`
VehicleCondition string `xml:"VehicleCondition,omitempty" json:"VehicleCondition,omitempty"`
}
type VincarioAPIService ¶ added in v0.7.9
type VincarioAPIService interface {
DecodeVIN(vin string) (*VincarioInfoResponse, error)
}
func NewVincarioAPIService ¶ added in v0.7.9
func NewVincarioAPIService(settings *config.Settings, log *zerolog.Logger) VincarioAPIService
type VincarioInfoResponse ¶ added in v0.7.9
type VincarioInfoResponse struct {
VIN string `key:"VIN"`
VehicleID int `key:"Vehicle ID"`
Make string `key:"Make"`
Model string `key:"Model"`
ModelYear int `key:"Model Year"`
ProductType string `key:"Product Type"`
Body string `key:"Body"`
Series string `key:"Series"`
Drive string `key:"Drive"`
EngineDisplacement int `key:"Engine Displacement (ccm)"`
FuelType string `key:"Fuel Type - Primary"`
EngineCode string `key:"Engine Code"`
Transmission string `key:"Transmission"`
NumberOfGears int `key:"Number of Gears"`
EmissionStandard string `key:"Emission Standard"`
PlantCountry string `key:"Plant Country"`
ProductionStopped int `key:"Production Stopped"`
EngineManufacturer string `key:"Engine Manufacturer"`
EngineType string `key:"Engine Type"`
AverageCO2Emission float64 `key:"Average CO2 Emission (g/km)"`
NumberOfWheels int `key:"Number Wheels"`
NumberOfAxles int `key:"Number of Axles"`
NumberOfDoors int `key:"Number of Doors"`
FrontBrakes string `key:"Front Brakes"`
RearBrakes string `key:"Rear Brakes"`
BrakeSystem string `key:"Brake System"`
SteeringType string `key:"Steering Type"`
WheelSize string `key:"Wheel Size"`
WheelSizeArray []string `key:"Wheel Size Array"`
Wheelbase int `key:"Wheelbase (mm)"`
WheelbaseArray []int `key:"Wheelbase Array (mm)"`
Height int `key:"Height (mm)"`
Length int `key:"Length (mm)"`
Width int `key:"Width (mm)"`
RearOverhang int `key:"Rear Overhang (mm)"`
FrontOverhang int `key:"Front Overhang (mm)"`
TrackFront int `key:"Track Front (mm)"`
TrackRear int `key:"Track Rear (mm)"`
MaxSpeed int `key:"Max Speed (km/h)"`
WeightEmpty int `key:"Weight Empty (kg)"`
MaxWeight int `key:"Max Weight (kg)"`
MaxRoofLoad int `key:"Max roof load (kg)"`
TrailerLoadWithoutBrakes int `key:"Permitted trailer load without brakes (kg)"`
CheckDigit string `key:"Check Digit"`
SequentialNumber string `key:"Sequential Number"`
}
func (*VincarioInfoResponse) GetMetadata ¶ added in v1.0.0
func (v *VincarioInfoResponse) GetMetadata() (null.JSON, error)
GetMetadata returns a map of metadata for the vehicle, in standard format.
func (*VincarioInfoResponse) GetStyle ¶ added in v0.7.9
func (v *VincarioInfoResponse) GetStyle() string
GetStyle returns a standard style string built from the data we have
func (*VincarioInfoResponse) GetSubModel ¶ added in v0.7.9
func (v *VincarioInfoResponse) GetSubModel() string
GetSubModel returns the Body type from Vincario, which we can use as the sub model.