@bytebrand/export-cars 1.9.0 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/configs/alleskralle.config.js +1 -0
  2. package/dist/configs/alleskralle.config.js.map +1 -1
  3. package/dist/configs/as24.config.js +1 -0
  4. package/dist/configs/as24.config.js.map +1 -1
  5. package/dist/configs/auto24.config.js +1 -0
  6. package/dist/configs/auto24.config.js.map +1 -1
  7. package/dist/configs/autoboerse.config.js +1 -0
  8. package/dist/configs/autoboerse.config.js.map +1 -1
  9. package/dist/configs/autouncle.config.js +1 -0
  10. package/dist/configs/autouncle.config.js.map +1 -1
  11. package/dist/configs/by-owner.config.js +1 -0
  12. package/dist/configs/by-owner.config.js.map +1 -1
  13. package/dist/configs/config.d.ts +3 -9
  14. package/dist/configs/config.js +3 -10
  15. package/dist/configs/config.js.map +1 -1
  16. package/dist/configs/criteo.config.js +1 -0
  17. package/dist/configs/criteo.config.js.map +1 -1
  18. package/dist/configs/dasparking.config.js +1 -0
  19. package/dist/configs/dasparking.config.js.map +1 -1
  20. package/dist/configs/eauto.config.js +2 -3
  21. package/dist/configs/eauto.config.js.map +1 -1
  22. package/dist/configs/facebook-shop.config.js +2 -0
  23. package/dist/configs/facebook-shop.config.js.map +1 -1
  24. package/dist/configs/fb.config.js +3 -1
  25. package/dist/configs/fb.config.js.map +1 -1
  26. package/dist/configs/google.config.js +2 -1
  27. package/dist/configs/google.config.js.map +1 -1
  28. package/dist/configs/marktde.config.js +2 -1
  29. package/dist/configs/marktde.config.js.map +1 -1
  30. package/dist/configs/meinstadt.config.js +1 -0
  31. package/dist/configs/meinstadt.config.js.map +1 -1
  32. package/dist/configs/yescar.config.js +1 -0
  33. package/dist/configs/yescar.config.js.map +1 -1
  34. package/dist/export.command.d.ts +3 -4
  35. package/dist/export.command.js +3 -6
  36. package/dist/export.command.js.map +1 -1
  37. package/dist/exporters/autouncle.exporter.js +0 -1
  38. package/dist/exporters/autouncle.exporter.js.map +1 -1
  39. package/dist/exporters/fb.exporter.js +3 -1
  40. package/dist/exporters/fb.exporter.js.map +1 -1
  41. package/dist/exporters/meinstadt.exporter.js +0 -1
  42. package/dist/exporters/meinstadt.exporter.js.map +1 -1
  43. package/dist/interfaces/export-item.interface.d.ts +5 -0
  44. package/dist/services/images.service.d.ts +3 -5
  45. package/dist/services/images.service.js +11 -25
  46. package/dist/services/images.service.js.map +1 -1
  47. package/dist/transformers/as24.transformer.d.ts +1 -2
  48. package/dist/transformers/as24.transformer.js +3 -4
  49. package/dist/transformers/as24.transformer.js.map +1 -1
  50. package/dist/transformers/auto24.transfomer.d.ts +1 -0
  51. package/dist/transformers/auto24.transfomer.js +15 -2
  52. package/dist/transformers/auto24.transfomer.js.map +1 -1
  53. package/dist/transformers/autouncle.transformer.d.ts +0 -1
  54. package/dist/transformers/autouncle.transformer.js +5 -6
  55. package/dist/transformers/autouncle.transformer.js.map +1 -1
  56. package/dist/transformers/by-owner.transformer.js +3 -14
  57. package/dist/transformers/by-owner.transformer.js.map +1 -1
  58. package/dist/transformers/facebook-shop.transformer.d.ts +5 -4
  59. package/dist/transformers/facebook-shop.transformer.js +8 -11
  60. package/dist/transformers/facebook-shop.transformer.js.map +1 -1
  61. package/dist/transformers/fb.transformer.js +5 -1
  62. package/dist/transformers/fb.transformer.js.map +1 -1
  63. package/dist/transformers/google.transformer.js +2 -2
  64. package/dist/transformers/google.transformer.js.map +1 -1
  65. package/dist/transformers/modix.transformer.js.map +1 -1
  66. package/dist/tsconfig.build.tsbuildinfo +1 -1
  67. package/package.json +3 -9
  68. package/src/configs/alleskralle.config.ts +2 -1
  69. package/src/configs/as24.config.ts +2 -1
  70. package/src/configs/auto24.config.ts +2 -1
  71. package/src/configs/autoboerse.config.ts +2 -2
  72. package/src/configs/autouncle.config.ts +2 -1
  73. package/src/configs/by-owner.config.ts +4 -3
  74. package/src/configs/config.ts +3 -10
  75. package/src/configs/criteo.config.ts +1 -0
  76. package/src/configs/dasparking.config.ts +2 -1
  77. package/src/configs/eauto.config.ts +3 -4
  78. package/src/configs/facebook-shop.config.ts +3 -1
  79. package/src/configs/fb.config.ts +4 -2
  80. package/src/configs/google.config.ts +3 -2
  81. package/src/configs/marktde.config.ts +4 -3
  82. package/src/configs/meinstadt.config.ts +2 -1
  83. package/src/configs/yescar.config.ts +2 -1
  84. package/src/export.command.ts +2 -3
  85. package/src/exporters/autouncle.exporter.ts +7 -5
  86. package/src/exporters/fb.exporter.ts +3 -3
  87. package/src/exporters/meinstadt.exporter.ts +6 -4
  88. package/src/interfaces/export-item.interface.ts +5 -0
  89. package/src/services/images.service.ts +18 -31
  90. package/src/transformers/as24.transformer.ts +2 -3
  91. package/src/transformers/auto24.transfomer.ts +16 -2
  92. package/src/transformers/autouncle.transformer.ts +7 -9
  93. package/src/transformers/by-owner.transformer.ts +3 -16
  94. package/src/transformers/facebook-shop.transformer.ts +7 -13
  95. package/src/transformers/fb.transformer.ts +9 -1
  96. package/src/transformers/google.transformer.ts +2 -1
  97. package/src/transformers/modix.transformer.ts +3 -2
  98. package/d.json +0 -1
@@ -1,10 +1,11 @@
1
1
  import { TranslatorExtended } from '@bytebrand/schema-tools';
2
2
  import { de, deVehicleDetailsPage, deVehicleProps } from '@bytebrand/i18n-dictionaries';
3
- import { get, toString, isEmpty, toSafeInteger } from 'lodash';
3
+ import {get, toString, isEmpty, toSafeInteger } from 'lodash';
4
4
  import * as moment from 'moment';
5
5
  import { DataSchemes } from '@bytebrand/car-schema';
6
6
  import { DePostalCodesService } from '@bytebrand/car-basic-data-scope';
7
7
  import { DePostalCodesEntryInterface } from '@bytebrand/car-basic-data-scope/dist/interfaces/DePostalCodesInterface';
8
+
8
9
  import { ConfigService, ImagesService } from '../services';
9
10
  import { Injectable } from '@nestjs/common';
10
11
  import { DEFAULT_ADDR1, DEFAULT_CITY, DEFAULT_ZIP, MIN_MILEAGES } from '../constants/autouncle.contants';
@@ -34,7 +35,10 @@ export class AutouncleTransformer {
34
35
  }): Promise<AutouncleJsonItem> {
35
36
  const autodeId = toString(get(car, '_id', ''));
36
37
  const address = await this.getAddress(car, owner);
37
-
38
+ const image_urls = await this.imageService.getImages(car, images, this.configService.config.imageType);
39
+ const transformed_images = image_urls.map(url => {
40
+ return { url };
41
+ });
38
42
  return {
39
43
  back_link: `https://www.${this.configService.config.domain}/search/vehicle/${autodeId}?source=classifieds&medium=cpc&campaign=autouncle`,
40
44
  make: toString(get(car, 'mainData.make', '')),
@@ -61,7 +65,7 @@ export class AutouncleTransformer {
61
65
  seller_name: 'auto.de',
62
66
  seller_id: toString(get(car, 'metaData.ownerId', '')),
63
67
  description: toString(get(car, 'offer.offerDescription', '')),
64
- images: this.getImagesField(car, images),
68
+ images: transformed_images,
65
69
  fuel_economy: toString(get(car, 'consumption.consumptionCombined', '')),
66
70
  co2_emission: toString(get(car, 'environmentEmissions.co2', '')),
67
71
  co2_effiency_class: toString(get(car, 'environmentEmissions.energyEfficiencyClass', '')),
@@ -229,10 +233,4 @@ export class AutouncleTransformer {
229
233
  private has4WD(): string {
230
234
  return '';
231
235
  }
232
-
233
- private getImagesField(car: DataSchemes.Car, images: ImboImageResponseInterface[]): { url: string }[] {
234
- return this.imageService.getDefaultImages(car, images).map(url => {
235
- return { url };
236
- });
237
- }
238
236
  }
@@ -3,7 +3,6 @@ import { Translator, TranslatorExtended } from '@bytebrand/schema-tools';
3
3
  import { de, deVehicleDetailsPage, deVehicleProps } from '@bytebrand/i18n-dictionaries';
4
4
  import { DataSchemes } from '@bytebrand/car-schema';
5
5
  import { Injectable } from '@nestjs/common';
6
- import { normalizeRateObject, getMonthlyInstallment, getComputedFinancing } from '@bytebrand/fe-financing';
7
6
  import * as moment from 'moment';
8
7
 
9
8
  type transformFn = (car: DataSchemes.Car, translator: TranslatorExtended) => string;
@@ -24,23 +23,11 @@ export class ByOwnerTransformer {
24
23
 
25
24
  price: 'price.currentSalesPrice',
26
25
  '(old price) strike price': 'price.wasPrice',
27
- rate: (car: DataSchemes.Car) => {
28
- const { rate } = normalizeRateObject({ ...car });
29
- return getMonthlyInstallment(rate);
30
- },
26
+ rate: (car: DataSchemes.Car) => car.rate.monthlyInstallment,
31
27
  'discount in %': this.mapToNumber('price.historyPriceDifferencePerCent', 1, 0),
32
28
  'discount in €': this.mapToNumber('price.historyPriceDifference', 1, 0),
33
- 'first_installment in €': (car: DataSchemes.Car) => {
34
- const { rate } = normalizeRateObject({ ...car });
35
- const price = getComputedFinancing(rate) as ReturnType<typeof getComputedFinancing> & {
36
- firstInstallment: number;
37
- };
38
- return price.firstInstallment;
39
- },
40
- 'amount of month': (car: DataSchemes.Car) => {
41
- const { rate } = normalizeRateObject({ ...car });
42
- return rate.paybackPeriod;
43
- },
29
+ 'first_installment in €': (car: DataSchemes.Car) => car.rate.firstInstallment,
30
+ 'amount of month': (car: DataSchemes.Car) => car.rate.paybackPeriod,
44
31
 
45
32
  Name: (car: DataSchemes.Car): string => {
46
33
  const make = toString(get(car, 'mainData.make', ''));
@@ -7,7 +7,7 @@ import { TranslatorExtended } from '@bytebrand/schema-tools';
7
7
  import { DataSchemes } from '@bytebrand/car-schema';
8
8
 
9
9
  import { FacebookShopItem } from '../interfaces';
10
- import { ConfigService } from '../services';
10
+ import { ConfigService, ImagesService } from '../services';
11
11
  import { Description } from '../interfaces/description.interface';
12
12
  import { FbDescription } from './fb-description.transformer';
13
13
  import { FbEquipment } from './fb-equipment.transformer';
@@ -16,12 +16,14 @@ import { FbEquipment } from './fb-equipment.transformer';
16
16
  export class FacebookShopTransformer {
17
17
  private translator: TranslatorExtended;
18
18
 
19
- constructor(private readonly configService: ConfigService) {
19
+ constructor(private readonly configService: ConfigService, private readonly imageService: ImagesService) {
20
20
  const dict = { ...de, ...deVehicleProps, ...deVehicleDetailsPage };
21
21
  this.translator = new TranslatorExtended(dict);
22
22
  }
23
23
 
24
- async transform({ car }: { car: DataSchemes.Car }): Promise<FacebookShopItem> {
24
+ async transform({ car, images }: { car: DataSchemes.Car; images: any }): Promise<FacebookShopItem> {
25
+ const imageLinks = await this.imageService.getImages(car, images, this.configService.config.imageType);
26
+
25
27
  return {
26
28
  id: { value: get(car, 'metaData.vehicleId'), isGoogle: true },
27
29
  title: { value: this.getTitle(car), isGoogle: true },
@@ -30,9 +32,9 @@ export class FacebookShopTransformer {
30
32
  condition: { value: this.getCondition(car), isGoogle: true },
31
33
  price: { value: this.getPrice(car), isGoogle: true },
32
34
  link: { value: this.getCarLink(car), isGoogle: true },
33
- image_link: { value: this.getImageLink(car), isGoogle: true },
35
+ image_link: { value: imageLinks[0], isGoogle: true },
34
36
  brand: { value: get(car, 'mainData.make', ''), isGoogle: true },
35
- additional_image_link: { value: this.getImageLink(car), isGoogle: false },
37
+ additional_image_link: { value: imageLinks[0], isGoogle: false },
36
38
  quantity_to_sell_on_facebook: { value: 1, isGoogle: true },
37
39
  google_product_category: { value: '916', isGoogle: true },
38
40
  sale_price: { value: this.getPrice(car), isGoogle: true },
@@ -83,12 +85,4 @@ export class FacebookShopTransformer {
83
85
  private getDescription(car: DataSchemes.Car): Description[] {
84
86
  return FbDescription.create(car, this.translator, new FbEquipment()).getDescriptionArray();
85
87
  }
86
-
87
- //todo: move to image service
88
- private getImageLink(car: DataSchemes.Car): string {
89
- const mainImageId = get(car, 'metaData.mainImageId', '');
90
- return mainImageId
91
- ? `${this.configService.config.baseImageUrl}/carimage/${car._id}/${mainImageId}/large-cached.webp`
92
- : `${this.configService.config.baseImageUrl}/carimage/noimage/7pNvWELuWhZX/large-cached.jpeg`;
93
- }
94
88
  }
@@ -63,6 +63,10 @@ export class FbTransformer {
63
63
  const year = this.getYear(car);
64
64
  const dealerInfo = this.getDealerItems(car);
65
65
  const address = await this.getAddress(car, owner);
66
+ const image_links = await this.imagesService.getImages(car, images, ImageType.marketing);
67
+ const transformedImages = image_links.map(el => {
68
+ return { url: el };
69
+ });
66
70
 
67
71
  return {
68
72
  fb_page_id: '176306386132',
@@ -77,7 +81,7 @@ export class FbTransformer {
77
81
  make: toString(get(car, 'mainData.make', '')),
78
82
  model: toString(get(car, 'mainData.model', '')),
79
83
  trim: this.getTrim(car),
80
- image: await this.imagesService.getImages(car, images, ImageType.marketing),
84
+ image: transformedImages,
81
85
  year: toString(year),
82
86
  mileage: {
83
87
  value: this.getMileage(car),
@@ -282,14 +286,17 @@ export class FbTransformer {
282
286
  },
283
287
  };
284
288
  }
289
+
285
290
  private isEmptyLocation(location: DePostalCodesEntryInterface): boolean {
286
291
  if (!location) return true;
287
292
  return !location['Place Name'] || !(location.Latitude && location.Longitude);
288
293
  }
294
+
289
295
  private isEmptyAddress(address: unknown): boolean {
290
296
  if (!address) return true;
291
297
  return ['city', 'zip', 'country'].every((key: string) => isEmpty(address[key]));
292
298
  }
299
+
293
300
  private async getCoords(
294
301
  car: DataSchemes.Car,
295
302
  locationEntry: DePostalCodesEntryInterface,
@@ -325,6 +332,7 @@ export class FbTransformer {
325
332
  }
326
333
  return this.translator.translateVal(colorSelection);
327
334
  }
335
+
328
336
  private getInteriorColor(car: DataSchemes.Car): string {
329
337
  let colorSelection = get(car, 'interior.interiorColor', 'other');
330
338
  if (!colorSelection || colorSelection === 'selector_unknown') {
@@ -23,6 +23,7 @@ export class GoogleTransformer {
23
23
 
24
24
  async transform({ car, images }: { car: DataSchemes.Car; images: Array<any> }): Promise<GoogleXmlItem> {
25
25
  const carId = toString(get(car, '_id', ''));
26
+ const transformedImages = await this.imageService.getImages(car, images, this.configService.config.imageType);
26
27
 
27
28
  return {
28
29
  id: carId,
@@ -31,7 +32,7 @@ export class GoogleTransformer {
31
32
  google_product_category: this.getBreadcrumbs(car),
32
33
  product_type: this.getCategory(car),
33
34
  link: this.getLink(car),
34
- image_link: await this.imageService.getImages(car, images, ImageType.marketing)[0],
35
+ image_link: transformedImages[0],
35
36
  condition: this.mapState(car),
36
37
  availability: this.getAvailability(car),
37
38
  brand: get(car, 'mainData.make', ''),
@@ -23,7 +23,6 @@ import {
23
23
  CategoryList,
24
24
  } from '../constants';
25
25
 
26
-
27
26
  @Injectable()
28
27
  export class ModixTransformer {
29
28
  constructor(private readonly configService: ConfigService) {}
@@ -122,7 +121,9 @@ export class ModixTransformer {
122
121
  const carMake = toString(get(car, 'mainData.make', ''));
123
122
  const manufactureData = findLast(ManufactureList, item => toLowercase(item.name) === toLowercase(carMake));
124
123
  // temporary
125
- if (!manufactureData) { console.log(`missed manufactureData ${carMake}`); }
124
+ if (!manufactureData) {
125
+ console.log(`missed manufactureData ${carMake}`);
126
+ }
126
127
  return { value: manufactureData?.name || carMake, atributes: { id: manufactureData?.id || null } };
127
128
  }
128
129
 
package/d.json DELETED
@@ -1 +0,0 @@
1
- [{"importField":"mainData.doors","importFieldType":"integer","autodeField":"1","autodeFieldType":"integer"},{"importField":"mainData.seats","importFieldType":"integer","autodeField":"2","autodeFieldType":"integer"},{"importField":"engineData.cylinders","importFieldType":"integer","autodeField":"3","autodeFieldType":"integer"},{"importField":"driveSuspension.gears","importFieldType":"integer","autodeField":"4","autodeFieldType":"integer"},{"importField":"metaData.hsn","importFieldType":"string","autodeField":"6","autodeFieldType":"string"},{"importField":"assistants.abs","importFieldType":"boolean","autodeField":"10","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"mainData.numberOfPreviousOwners","importFieldType":"integer","autodeField":"14","autodeFieldType":"integer"},{"importField":"sizeVolumeWeight.completeCapacity","importFieldType":"integer","autodeField":"15","autodeFieldType":"integer"},{"importField":"sizeVolumeWeight.capacityLoad","importFieldType":"integer","autodeField":"16","autodeFieldType":"integer"},{"importField":"metaData.vin","importFieldType":"string","autodeField":"20","autodeFieldType":"string"},{"importField":"metaData.codeSchwacke","importFieldType":"string","autodeField":"21","autodeFieldType":"string"},{"importField":"mainData.taxi","importFieldType":"boolean","autodeField":"26","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"mainData.nonSmokerVehicle","importFieldType":"boolean","autodeField":"30","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"window.electricWindows","importFieldType":"boolean","autodeField":"35","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.navigationSystem","importFieldType":"boolean","autodeField":"36","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"window.sunroof","importFieldType":"boolean","autodeField":"38","autodeFieldType":"selector","importFieldSelector":"2","selectors":[]},{"importField":"lights.xenonHeadlights","importFieldType":"boolean","autodeField":"42","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"doors.centralLocking","importFieldType":"boolean","autodeField":"43","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"theftProtection.alarmSystem","importFieldType":"boolean","autodeField":"44","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"theftProtection.immobilizer","importFieldType":"boolean","autodeField":"45","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.tractionControlSystem","importFieldType":"boolean","autodeField":"46","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.skiBag","importFieldType":"boolean","autodeField":"49","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.onBoardComputer","importFieldType":"boolean","autodeField":"50","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"lights.frontFogLights","importFieldType":"boolean","autodeField":"52","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.powerAssistedSteering","importFieldType":"boolean","autodeField":"53","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"sizeVolumeWeight.emptyWeight","importFieldType":"number","autodeField":"57","autodeFieldType":"number"},{"importField":"heatingCooling.auxiliaryHeating","importFieldType":"boolean","autodeField":"60","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.cruiseControl","importFieldType":"boolean","autodeField":"62","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.androidAuto","importFieldType":"boolean","autodeField":"63","autodeFieldType":"selector","importFieldSelector":"Y","autodeFieldSelector":"2","selectors":["Y:2","Y:3"]},{"importField":"multimedia.carplay","importFieldType":"boolean","autodeField":"63","autodeFieldType":"selector","importFieldSelector":"Y","autodeFieldSelector":"3","selectors":["Y:2","Y:3"]},{"importField":"careService.fullServiceHistory","importFieldType":"boolean","autodeField":"64","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"offer.warranty","importFieldType":"boolean","autodeField":"67","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"exterior.manufacturerColorName","importFieldType":"string","autodeField":"68","autodeFieldType":"string"},{"importField":"interior.manufacturerColorName","importFieldType":"string","autodeField":"69","autodeFieldType":"string"},{"importField":"trailerCoupling.trailerCouplingRotatable","importFieldType":"boolean","autodeField":"73","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"trailerCoupling.trailerCouplingRemovable","importFieldType":"boolean","autodeField":"73","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"trailerCoupling.trailerCouplingFix","importFieldType":"boolean","autodeField":"73","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.esp","importFieldType":"boolean","autodeField":"74","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"driveSuspension.selfLockingDifferential","importFieldType":"boolean","autodeField":"92","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"driveSuspension.sportChassis","importFieldType":"boolean","autodeField":"95","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"interior.centralArmrest","importFieldType":"boolean","autodeField":"97","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.hardtop","importFieldType":"boolean","autodeField":"104","autodeFieldType":"selector","importFieldSelector":"4","selectors":[]},{"importField":"window.tintedWindowBack","importFieldType":"boolean","autodeField":"105","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"lights.headlightCleaner","importFieldType":"boolean","autodeField":"106","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"window.rearWindowWiper","importFieldType":"boolean","autodeField":"107","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"metaData.tsn","importFieldType":"string","autodeField":"128","autodeFieldType":"string"},{"importField":"mirrors.electricExteriorMirrors","importFieldType":"boolean","autodeField":"130","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"wheel.multifunctionalWheel","importFieldType":"boolean","autodeField":"141","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.ureaTankAdBlue","importFieldType":"boolean","autodeField":"158","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.solarEnergySystem","importFieldType":"boolean","autodeField":"168","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.roofRails","importFieldType":"boolean","autodeField":"169","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.windshield","importFieldType":"boolean","autodeField":"182","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"engineData.startStopSystem","importFieldType":"boolean","autodeField":"184","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"specialElements.kickstarter","importFieldType":"boolean","autodeField":"185","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.tv","importFieldType":"boolean","autodeField":"188","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"specialElement.kitchen","importFieldType":"boolean","autodeField":"189","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.cabin","importFieldType":"boolean","autodeField":"197","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"specialElements.frontHydraulics","importFieldType":"boolean","autodeField":"203","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"doors.slidingDoorRight","importFieldType":"boolean","autodeField":"204","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"doors.slidingDoorLeft","importFieldType":"boolean","autodeField":"204","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"doors.slidingDoorBothSides","importFieldType":"boolean","autodeField":"204","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.divider","importFieldType":"boolean","autodeField":"206","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.ebs","importFieldType":"boolean","autodeField":"207","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"specialElements.retarder","importFieldType":"boolean","autodeField":"208","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"specialElements.compressor","importFieldType":"boolean","autodeField":"209","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"driveSuspension.airSuspension","importFieldType":"boolean","autodeField":"210","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.discBrake","importFieldType":"boolean","autodeField":"211","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"specialElements.frontHydraulics","importFieldType":"boolean","autodeField":"212","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"driveSuspension.bss","importFieldType":"boolean","autodeField":"213","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"specialElements.frontLift","importFieldType":"boolean","autodeField":"216","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"sizeVolumeWeight.capacityLoad","importFieldType":"integer","autodeField":"217","autodeFieldType":"integer"},{"importField":"extras.coldstore","importFieldType":"boolean","autodeField":"218","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"consumption.consumptionInner","importFieldType":"number","autodeField":"220","autodeFieldType":"number"},{"importField":"consumption.consumptionOuter","importFieldType":"number","autodeField":"221","autodeFieldType":"number"},{"importField":"consumption.consumptionCombined","importFieldType":"number","autodeField":"222","autodeFieldType":"number"},{"importField":"environmentEmissions.co2","importFieldType":"number","autodeField":"223","autodeFieldType":"number"},{"importField":"sizeVolumeWeight.cargoCapacity","importFieldType":"number","autodeField":"224","autodeFieldType":"number"},{"importField":"sizeVolumeWeight.cargoLength","importFieldType":"integer","autodeField":"225","autodeFieldType":"number"},{"importField":"sizeVolumeWeight.cargoWidth","importFieldType":"integer","autodeField":"226","autodeFieldType":"number"},{"importField":"sizeVolumeWeight.cargoHeight","importFieldType":"integer","autodeField":"227","autodeFieldType":"number"},{"importField":"doors.slidingDoorLeft","importFieldType":"boolean","autodeField":"239","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"doors.slidingDoorRight","importFieldType":"boolean","autodeField":"239","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"driveSuspension.adaptiveChassis","importFieldType":"boolean","autodeField":"299","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"engineData.highSpeed","importFieldType":"number","autodeField":"309","autodeFieldType":"number"},{"importField":"wheels.summerTiresRimsSize","importFieldType":"number","autodeField":"315","autodeFieldType":"number"},{"importField":"sizeVolumeWeight.width","importFieldType":"number","autodeField":"319","autodeFieldType":"number"},{"importField":"sizeVolumeWeight.length","importFieldType":"number","autodeField":"321","autodeFieldType":"number"},{"importField":"sizeVolumeWeight.height","importFieldType":"number","autodeField":"322","autodeFieldType":"number"},{"importField":"engineData.powerPS","importFieldType":"number","autodeField":"338","autodeFieldType":"number"},{"importField":"editionsPackages.smokersPackage","importFieldType":"boolean","autodeField":"340","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"offer.availabilityFrom","importFieldType":"date","autodeField":"351","autodeFieldType":"availability"},{"importField":"window.rearWindowHeater","importFieldType":"boolean","autodeField":"360","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"window.rearWindowWiper","importFieldType":"boolean","autodeField":"361","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"engineData.biodieselSuitable","importFieldType":"boolean","autodeField":"375","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"engineData.e10Enabled","importFieldType":"boolean","autodeField":"379","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"extras.windshield","importFieldType":"boolean","autodeField":"381","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.automaticRainSensor","importFieldType":"boolean","autodeField":"424","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"editionsPackages.sportPackage","importFieldType":"boolean","autodeField":"425","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"window.tintedWindowBack","importFieldType":"boolean","autodeField":"426","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"doors.electricSlidingDoor","importFieldType":"boolean","autodeField":"428","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"doors.keylessEntry","importFieldType":"boolean","autodeField":"429","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.voiceControl","importFieldType":"boolean","autodeField":"431","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.handsFreePhoneSystem","importFieldType":"boolean","autodeField":"432","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"mirror.heatedOutsideMirror","importFieldType":"boolean","autodeField":"434","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"engineData.startStopSystem","importFieldType":"boolean","autodeField":"520","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"lights.daytimeRunningLights","importFieldType":"boolean","autodeField":"521","autodeFieldType":"selector","importFieldSelector":"Y","autodeFieldSelector":"1","selectors":["Y:1"]},{"importField":"assistants.headUpDisplay","importFieldType":"boolean","autodeField":"522","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.speedLimiter","importFieldType":"boolean","autodeField":"523","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.laneAssistant","importFieldType":"boolean","autodeField":"524","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.parkingAssistants","importFieldType":"parkingAssistants","autodeField":"525","autodeFieldType":"selector","importFieldSelector":"1","autodeFieldSelector":"any","selectors":["1:any"]},{"importField":"price.vatRate","importFieldType":"number","autodeField":"542","autodeFieldType":"number"},{"importField":"lights.lightSensor","importFieldType":"boolean","autodeField":"544","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.bluetooth","importFieldType":"boolean","autodeField":"545","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"engineData.cubicCapacity","importFieldType":"number","autodeField":"582","autodeFieldType":"cubicCapacity_liter"},{"importField":"lights.ledHeadlights","importFieldType":"boolean","autodeField":"613","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"engineData.torque","importFieldType":"number","autodeField":"629","autodeFieldType":"number","importFieldSelector":"Y"},{"importField":"sizeVolumeWeight.fuelCapacity","importFieldType":"number","autodeField":"630","autodeFieldType":"number"},{"importField":"engineData.hybridPlugin","importFieldType":"boolean","autodeField":"800","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"careService.fullServiceHistory","importFieldType":"boolean","autodeField":"808","autodeFieldType":"selector","importFieldSelector":"3","selectors":[]},{"importField":"assistants.adaptiveCruiseControl","importFieldType":"boolean","autodeField":"897","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"wheel.heatedSteeringWheel","importFieldType":"boolean","autodeField":"899","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.hillStartDrivingAssistant","importFieldType":"boolean","autodeField":"900","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"wheel.leatherSteeringWheel","importFieldType":"boolean","autodeField":"901","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.nightVisionAssistant","importFieldType":"boolean","autodeField":"903","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.emergencyAssistant","importFieldType":"boolean","autodeField":"905","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.tirePressureMonitor","importFieldType":"boolean","autodeField":"906","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"wheel.shiftPadlle","importFieldType":"boolean","autodeField":"907","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.laneChangeAssistant","importFieldType":"boolean","autodeField":"909","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.touchscreen","importFieldType":"boolean","autodeField":"910","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.trafficSignRecognition","importFieldType":"boolean","autodeField":"911","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"roadSideSystems.emergencyTireRepairKit","importFieldType":"boolean","autodeField":"922","autodeFieldType":"selector","importFieldSelector":"3","selectors":[]},{"importField":"battery.batteryCapacity","importFieldType":"number","autodeField":"928","autodeFieldType":"number"},{"importField":"engineData.acceleration100","importFieldType":"number","autodeField":"937","autodeFieldType":"number"},{"importField":"doors.slidingDoorRight","importFieldType":"boolean","autodeField":"943","autodeFieldType":"selector","importFieldSelector":"1","selectors":[]},{"importField":"doors.slidingDoorLeft","importFieldType":"boolean","autodeField":"943","autodeFieldType":"selector","importFieldSelector":"2","selectors":[]},{"importField":"doors.slidingDoorBothSides","importFieldType":"boolean","autodeField":"943","autodeFieldType":"selector","importFieldSelector":"3","selectors":[]},{"importField":"assistants.blindSpotDetection","importFieldType":"boolean","autodeField":"945","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.usbInterface","importFieldType":"boolean","autodeField":"946","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"lights.biXenonHeadlights","importFieldType":"boolean","autodeField":"951","autodeFieldType":"selector","importFieldSelector":"1","selectors":[]},{"importField":"lights.laserHeadlights","importFieldType":"boolean","autodeField":"951","autodeFieldType":"selector","importFieldSelector":"3","selectors":[]},{"importField":"lights.partLEDHeadlights","importFieldType":"boolean","autodeField":"951","autodeFieldType":"selector","importFieldSelector":"6","selectors":[]},{"importField":"lights.ledHeadlights","importFieldType":"boolean","autodeField":"951","autodeFieldType":"selector","importFieldSelector":"4","selectors":[]},{"importField":"lights.xenonHeadlights","importFieldType":"boolean","autodeField":"951","autodeFieldType":"selector","importFieldSelector":"2","selectors":[]},{"importField":"assistants.glareFreeHighBeam","importFieldType":"boolean","autodeField":"952","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"lights.adaptiveBendingLights","importFieldType":"boolean","autodeField":"953","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"editionsPackages.winterPackage","importFieldType":"boolean","autodeField":"954","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"editionsPackages.smokersPackage","importFieldType":"boolean","autodeField":"955","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"assistants.distanceWarning","importFieldType":"boolean","autodeField":"956","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"lights.ambienteLighting","importFieldType":"boolean","autodeField":"958","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.wifiHotspot","importFieldType":"boolean","autodeField":"959","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.digitalCockpit","importFieldType":"boolean","autodeField":"960","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.smartphoneWirelessCharging","importFieldType":"boolean","autodeField":"962","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"multimedia.integratedMusicStreaming","importFieldType":"boolean","autodeField":"963","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]},{"importField":"battery.batteryRangeExtender","importFieldType":"boolean","autodeField":"967","autodeFieldType":"selector","importFieldSelector":"Y","selectors":[]}]