<?php

return [
    /*
    |--------------------------------------------------------------------------
    | Overload migrations/routes
    |--------------------------------------------------------------------------
    |
    | Allows disabling default migration/route workflows to set up custom ones
    |
    */
    'load_routes' => false,
    'load_migrations' => false,
    'load_event_provider' => false,

    /*
    |--------------------------------------------------------------------------
    | Search Facets
    |--------------------------------------------------------------------------
    |
    | Maximum number of URL facets that can be configured for vehicle search.
    | Facets transform filter combinations into clean URL paths.
    |
    */
    'max_facets' => 5,

    /*
    |--------------------------------------------------------------------------
    | Filters
    |--------------------------------------------------------------------------
    |
    | These are the filters that will be passed down to site. Each filter
    | carries out actions for applying selections, fetching filter choices
    | and other aspects to ensure easy integration in the system. Filter
    | needs to be an instance/extension of IsFilter class.
    | When generating URL filters will be sorted in order listed how they are
    | ordered here (e.g. category/brand/size or /category/category/size)
    |
    */
    'filters' => [
        'make' => \Mtc\MercuryDataModels\Filters\MakeFilter::class,
        'model' => \Mtc\MercuryDataModels\Filters\ModelFilter::class,
        'body_type' => \Mtc\MercuryDataModels\Filters\BodyTypeFilter::class,
        'price_max' => \Mtc\MercuryDataModels\Filters\PriceMaxFilter::class,
        'price_min' => \Mtc\MercuryDataModels\Filters\PriceMinFilter::class,
        'price_monthly_max' => \Mtc\MercuryDataModels\Filters\PriceMonthlyMaxFilter::class,
        'price_monthly_min' => \Mtc\MercuryDataModels\Filters\PriceMonthlyMinFilter::class,
        'age' => \Mtc\MercuryDataModels\Filters\AgeFilter::class,
        'age-range' => \Mtc\MercuryDataModels\Filters\AgeRangeFilter::class,
        'consumption' => \Mtc\MercuryDataModels\Filters\ConsumptionFilter::class,
        'colour' => \Mtc\MercuryDataModels\Filters\ColourFilter::class,
        'doors_min' => \Mtc\MercuryDataModels\Filters\DoorMinFilter::class,
        'doors_max' => \Mtc\MercuryDataModels\Filters\DoorMaxFilter::class,
        'engine_size_min' => \Mtc\MercuryDataModels\Filters\EngineSizeMinFilter::class,
        'engine_size_max' => \Mtc\MercuryDataModels\Filters\EngineSizeMaxFilter::class,
        'fuel_type' => \Mtc\MercuryDataModels\Filters\FuelTypeFilter::class,
        'transmission' => \Mtc\MercuryDataModels\Filters\TransmissionFilter::class,
        'location' => \Mtc\MercuryDataModels\Filters\LocationFilter::class,
        'manufacture_year_min' => \Mtc\MercuryDataModels\Filters\ManufactureYearMinFilter::class,
        'manufacture_year_max' => \Mtc\MercuryDataModels\Filters\ManufactureYearMaxFilter::class,
        'mileage_min' => \Mtc\MercuryDataModels\Filters\MileageMinFilter::class,
        'mileage_max' => \Mtc\MercuryDataModels\Filters\MileageMaxFilter::class,
        'seats_max' => \Mtc\MercuryDataModels\Filters\SeatMaxFilter::class,
        'seats_min' => \Mtc\MercuryDataModels\Filters\SeatMinFilter::class,
        'co2' => \Mtc\MercuryDataModels\Filters\CO2Filter::class,
        'insurance-group' => \Mtc\MercuryDataModels\Filters\InsuranceGroupFilter::class,
        'postcode' => \Mtc\MercuryDataModels\Filters\PostcodeFilter::class,
        'search' => \Mtc\MercuryDataModels\Filters\SearchTermFilter::class,
        'price_point' => \Mtc\MercuryDataModels\Filters\PricePointFilter::class,
        'vehicle_type' => \Mtc\MercuryDataModels\Filters\VehicleTypeFilter::class,
        'vehicle_category' => \Mtc\MercuryDataModels\Filters\VehicleCategoryFilter::class,
        'franchise' => \Mtc\MercuryDataModels\Filters\FranchiseFilter::class,
        'is_new' => \Mtc\MercuryDataModels\Filters\IsNewFilter::class,
        'stock_status' => \Mtc\MercuryDataModels\Filters\StockStatusFilter::class,
        'trim' => \Mtc\MercuryDataModels\Filters\TrimFilter::class,
        'features' => \Mtc\MercuryDataModels\Filters\FeatureFilter::class,
        'labels' => \Mtc\MercuryDataModels\Filters\LabelFilter::class,
        'is_sold' => \Mtc\MercuryDataModels\Filters\IsSoldFilter::class,
    ],

    'lease_vehicle_filters' => [
        'make' => \Mtc\MercuryDataModels\Filters\MakeFilter::class,
        'model' => \Mtc\MercuryDataModels\Filters\ModelFilter::class,
        'body_type' => \Mtc\MercuryDataModels\Filters\BodyTypeFilter::class,
        'price_max' => \Mtc\MercuryDataModels\Filters\PriceMaxFilter::class,
        'price_min' => \Mtc\MercuryDataModels\Filters\PriceMinFilter::class,
        'price_monthly_max' => \Mtc\MercuryDataModels\Filters\PriceMonthlyMaxFilter::class,
        'price_monthly_min' => \Mtc\MercuryDataModels\Filters\PriceMonthlyMinFilter::class,
        'consumption' => \Mtc\MercuryDataModels\Filters\ConsumptionFilter::class,
        'doors_min' => \Mtc\MercuryDataModels\Filters\DoorMinFilter::class,
        'doors_max' => \Mtc\MercuryDataModels\Filters\DoorMaxFilter::class,
        'engine_size_min' => \Mtc\MercuryDataModels\Filters\EngineSizeMinFilter::class,
        'engine_size_max' => \Mtc\MercuryDataModels\Filters\EngineSizeMaxFilter::class,
        'fuel_type' => \Mtc\MercuryDataModels\Filters\FuelTypeFilter::class,
        'transmission' => \Mtc\MercuryDataModels\Filters\TransmissionFilter::class,
        'manufacture_year_min' => \Mtc\MercuryDataModels\Filters\ManufactureYearMinFilter::class,
        'manufacture_year_max' => \Mtc\MercuryDataModels\Filters\ManufactureYearMaxFilter::class,
        'seats_max' => \Mtc\MercuryDataModels\Filters\SeatMaxFilter::class,
        'seats_min' => \Mtc\MercuryDataModels\Filters\SeatMinFilter::class,
        'co2' => \Mtc\MercuryDataModels\Filters\CO2Filter::class,
        'insurance-group' => \Mtc\MercuryDataModels\Filters\InsuranceGroupFilter::class,
        'postcode' => \Mtc\MercuryDataModels\Filters\PostcodeFilter::class,
        'search' => \Mtc\MercuryDataModels\Filters\SearchTermFilter::class,
        'vehicle_type' => \Mtc\MercuryDataModels\Filters\VehicleTypeFilter::class,
        'vehicle_category' => \Mtc\MercuryDataModels\Filters\VehicleCategoryFilter::class,
        'franchise' => \Mtc\MercuryDataModels\Filters\FranchiseFilter::class,
        'stock_status' => \Mtc\MercuryDataModels\Filters\StockStatusFilter::class,
        'features' => \Mtc\MercuryDataModels\Filters\FeatureFilter::class,
        'labels' => \Mtc\MercuryDataModels\Filters\LabelFilter::class,
    ],


    'filter_update_job_class' => \App\Jobs\UpdateFilterIndexForRecord::class,

    'filter_index_model' => \App\Filter\FilterIndex::class,

];
