---
title: "Forecourt"
---

# Forecourt

## Install the package

Forecourt is delivered as one package. Installing it adds the component, the vehicle filter module and all Forecourt plugins in one go.

## Requirements

- Joomla! 6.1 or later.
- The PHP version Joomla! itself requires. You can check both under **System \> System Information**.

## Preparations

- Make a full backup of the website. [Akeeba Backup](https://www.akeeba.com) is a quick way to do this.
- Update Joomla! to the latest version.

## Installation

1. Download the installation file `pkg_forecourt` from your account.
2. In the Joomla! administrator go to **System \> Install \> Extensions**.
3. Select the file on the **Upload Package File** tab. After a few seconds you see a confirmation with a short quickstart.

If your site runs an older Joomla! version, the installer stops with a message and nothing is changed.

## What gets installed

| Forecourt (component) | Vehicle management, the vehicle overview and detail pages, and leads. |
| --- | --- |
| Forecourt - Vehicle filter (module) | A filter form for the vehicle overview. |
| Forecourt - RDW | Fills in vehicle data from the Dutch RDW register based on the licence plate. |
| Forecourt - RegCheck | Licence plate lookup for other countries through the RegCheck service. |
| Forecourt - Hexon | Receives your stock from Hexon. |
| Task - Forecourt MachineTrack | Imports machinery stock from MachineTrack on a schedule. |
| Ajax - Forecourt Google Vehicle Ads feed | Publishes your stock as a feed for Google vehicle ads. |
| Forecourt - YOOtheme PRO Integration | Makes your vehicles available as dynamic content in the YOOtheme Pro builder. |

The plugins are installed but not enabled. Go to **System \> Plugins**, search for *forecourt* and enable only the ones you need. Each plugin has its own article in this documentation.

Now you're ready to start using Forecourt!

**Next step:** continue with "Getting started" to add your first vehicle.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/install-the-package.md)

## Getting started

This article takes you from an empty installation to a vehicle that is visible on your website. It takes about ten minutes.

## 1. Check the photo settings

Go to **Components \> Forecourt** and click **Options**. Check the photo upload path and the maximum photo width. The defaults work for most sites. See "Configuration" for all options.

## 2. Add a vehicle

1. Go to **Components \> Forecourt \> Vehicles** and click **New**.
2. On the **General** tab enter the make, model and year. If you sell Dutch cars and have enabled the RDW plugin, enter the licence plate and click **Fetch from RDW**: most technical details are filled in for you. The status and the **Featured** switch are in the column on the right.
3. Fill in the **Specifications** and **Price & History** tabs, and write your sales text on the **Description** tab. Fields you leave empty are simply not shown on the website.
4. Click **Save**. Photos can only be added once the vehicle has been saved.
5. On the **Photos & Options** tab drop your photos in the upload area. Drag them into the right order: the first photo is the main photo. Add options and accessories, grouped by category.
6. Click **Save & Close**.

For machinery such as tractors and wheel loaders you can also fill in the operating hours, category and condition.

## 3. Create a menu item

1. Go to **Menus** and open the menu where the stock page should appear.
2. Click **New** and choose **Forecourt \> Forecourt: Vehicle overview (grid)** as the menu item type.
3. Give it a title, for example *Stock*, and save.

Open the page on your website. You see your vehicle in the overview, and clicking it opens the detail page with photos, specifications and the contact form. You do not need a separate menu item for the detail pages.

## 4. Add the filter (optional)

Go to **Content \> Site Modules**, create a **Forecourt - Vehicle filter** module and assign it to the stock menu item. See "Vehicle filter module".

## Working with the vehicle list

If you know the article list in Joomla, you know the list under **Components \> Forecourt \> Vehicles**.

The star features a vehicle and the icon next to it publishes or unpublishes it. To change the order, drag a vehicle by the handle in the first column. Dragging only works while the list is sorted by ordering, which it is until you sort on something else.

The search field looks at make, model and licence plate. Under **Filter Options** you can narrow the list by featured, status, vehicle type and fuel. Trashed vehicles stay out of sight until you set the status filter to **Trashed** or **All**.

Too many columns? The **Columns** button above the table hides the ones you do not use.

**Next step:** read "Configuration" for the photo and contact settings, or import your stock automatically with the Hexon or MachineTrack plugin.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/getting-started.md)

## Configuration

The general settings of Forecourt are under **Components \> Forecourt \> Options**. Most of the overview and contact settings can be changed per menu item as well. A menu item setting that is left empty uses the value from these options.

## General settings

| Items per page | The number of vehicles per page in the overview. Default 12. |
| --- | --- |
| Result count position | Where the number of results is shown: top, bottom, both or hidden. |
| Max photo width (px) | Photos wider than this are resized when you upload them, which keeps pages fast. Default 1920. Set it to 0 to keep the original size. |
| Photo upload path | The folder where vehicle photos are stored, relative to the root of your site. Default `images/forecourt/`. Imported photos from MachineTrack are stored here too. |

## Contact options

These settings control how visitors contact you from the vehicle detail page. You choose between the built-in contact form and a link to your own page.

| Show contact form | Shows the contact form on the detail page. Requests are stored under Forecourt \> Leads. With the form on, the lead settings below appear. |
| --- | --- |
| Email new leads | Sends an email for every enquiry. On by default. The lead is saved under Leads either way. |
| Send to | One or more email addresses, separated by commas. Leave it empty to use the site email address from the Global Configuration. |
| Captcha | The captcha on the contact form. Use Default follows the default captcha from the Global Configuration. Pick a captcha plugin to use that one, or Do not use to leave the form without a captcha. |
| Maximum enquiries | How many enquiries one visitor can send inside the time window. Default 3. Set it to 0 to switch the limit off. |
| Time window (minutes) | The number of minutes the maximum applies to. Default 10. |
| Redirect URL | Only there when Show contact form is set to No. Use it if you already have your own contact or appointment page. The detail page then shows a button to this address with `?vehicle_id=` and the vehicle ID added, so your page knows which vehicle it is about. |
| WhatsApp number | Shows a WhatsApp button. Use the international format, for example `+31612345678`. |
| Phone number | Shows a call button on the detail page. |

The lead settings apply to the whole site and cannot be changed per menu item. The "Leads" article explains how the email and the spam protection work together.

## Permissions

On the **Permissions** tab you decide which user groups can manage vehicles. Removing a photo from a vehicle needs the Edit permission. Deleting the photo file from the server as well needs the Delete permission.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/configuration.md)

## Vehicle overview and detail pages

Forecourt shows your stock on two kinds of pages: the overview with all vehicles and a detail page per vehicle.

## The overview page

Create it with the menu item type **Forecourt: Vehicle overview (grid)**. Visitors can switch between a grid with photo cards and a compact list. Their choice is remembered for their next visit.

| Items per page | Leave empty to use the value from the component options. |
| --- | --- |
| Default layout | Grid or list, shown to visitors who have not made a choice yet. |
| Layout switcher position | Where the grid and list buttons appear: top, bottom, both, or none to hide the switcher. |
| Result count position | Overrides the component setting for this page. |

Each card shows the main photo, the price, the year, the mileage or operating hours, the fuel type and the transmission. Vehicles with the price type *Price on request* show that text instead of a price.

## The detail page

You do not have to create menu items for single vehicles. Every vehicle in the overview links to its own page with a readable address, by default based on the make, model and year. You can change it in the Alias field of the vehicle.

The detail page shows:

- the photos, which open full screen in a lightbox;
- the price with a note whether it includes VAT, excludes VAT or falls under the margin scheme;
- a specification table with only the fields you filled in;
- the MOT expiry date as a coloured badge: green when it is more than 90 days away, orange within 90 days and red when it has expired;
- options and accessories, grouped by category;
- the description;
- the contact form, or a link to your own contact page, plus the WhatsApp and call buttons when you set a number.

Each detail page has a page title, a meta description and Open Graph tags, so links shared on social media show the vehicle photo and price. It also adds structured data that tells search engines the page is about a car with a price.

## Contact settings per page

The menu item type **Forecourt: Vehicle detail** lets you override the contact form, redirect URL, WhatsApp number and phone number. This is useful if one location of your business uses a different number.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/vehicle-overview-and-detail-pages.md)

## Vehicle filter module

The **Forecourt - Vehicle filter** module lets visitors narrow down your stock by make, category, fuel type, body type, transmission, options, price, year and mileage, and sort the results. Filtering works on the overview page: the results update as soon as a visitor changes a filter.

## Add the module

1. Go to **Content \> Site Modules** and click **New**.
2. Choose **Forecourt - Vehicle filter**.
3. Select a module position, for example a sidebar for the vertical layout or a position above the content for the horizontal layout.
4. On the **Menu Assignment** tab assign it to your stock menu item.

## Display

| Layout | Vertical stacks the filters, which suits a sidebar. Horizontal puts them in a row, which suits a filter bar above the vehicles. |
| --- | --- |
| Accordion | Puts each filter group in a panel that visitors can open and close. Only for the vertical layout. |
| Show counts | Puts the number of vehicles behind each option, like *Audi (4)*. For mileage that is the number of vehicles up to that mileage. Off by default. |
| Visibility on detail page | Shows the module on the vehicle detail pages too. Off by default, because a filter is mostly useful on the overview. |

## Filters

Every filter can be switched on or off separately.

| Brand, Category, Fuel type, Body type, Transmission | Show the filter, choose the style (checkboxes or a dropdown where visitors can pick several values) and, with the accordion, whether the panel starts open or closed. The available values come from the vehicles you have published. Category is the vehicle category, which matters most if you sell machinery. |
| --- | --- |
| Options & Accessories | Off by default. Gives every options category in your stock its own filter, so Safety and Comfort each get a list of their options. A vehicle has to have all the options a visitor ticks. Imports can bring in hundreds of options, so **Options per category** cuts each list to the most used ones, 15 unless you change it. Style, dynamic options and the accordion setting are shared by all options categories. |
| Price | A minimum and maximum price that the visitor types in. With dynamic options on, the empty fields show the lowest and highest price of the matching vehicles. |
| Year | A from and until year, running from your oldest to your newest vehicle. With dynamic options on, the list shrinks to the years of the matching vehicles. |
| Mileage | A maximum mileage. Steps without vehicles are left out. |
| Sort | A sort order select at the bottom of the form, for example price or mileage, ascending or descending. |

## Dynamic options

A filter only lists options that have vehicles. A fuel type you do not stock is not in the list, and a filter with nothing to offer is hidden altogether.

Which vehicles count depends on the **Dynamic options** switch. Every filter except Sort has one.

| Off (default) | The options cover your whole published stock and stay the same while a visitor filters. Counts show the totals in stock. |
| --- | --- |
| On | The options follow the other active filters. A visitor who picks Electric only sees the makes that have an electric vehicle, and the counts change along with the selection. All result pages are counted, not just the page on screen. |

With the switch on, a filter still ignores its own selection. Pick Audi and the other makes stay in the list, otherwise a visitor could never add a second make.

Options & Accessories works the other way round. A vehicle has to have every option that is ticked, so ticking Air conditioning leaves only the options those vehicles have as well.

An option that is already selected always stays, even when the other filters leave it at 0 vehicles. The visitor needs it there to switch it off again.

## Search engines and crawlers

Filtered result pages are marked as noindex, in the page and in a response header. That keeps hundreds of near-identical filter combinations out of the search results, while the main overview stays indexed.

Forecourt also keeps filter addresses out of the page itself. The filters are form fields, not links, and the page numbers of a filtered result have no address a crawler can follow. A crawler that starts on your stock page finds your vehicles and nothing else.

Some crawlers ignore noindex, and AI crawlers are known for it. To keep those away from filtered pages, add this line to the `robots.txt` of your site:

```
Disallow: /*filter_
```

It tells crawlers not to fetch filtered pages at all. The well-known AI crawlers, such as GPTBot and ClaudeBot, follow `robots.txt`. A crawler that ignores that too can only be stopped on the server, with rate limiting or a firewall rule.

A filtered address still works when you make one yourself. A link to all your electric cars looks like this: `/stock?filter_fuel_type[]=Electric`.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/vehicle-filter-module.md)

## Leads

Every request sent through the contact form on a vehicle detail page is stored as a lead. You find them under **Components \> Forecourt \> Leads**.

## What a lead contains

The name, email address, phone number and message of the visitor, the date, and the vehicle the request was about. The vehicle is stored as a short description as well, so you still know which car it was after the vehicle has been sold and removed.

## Working with leads

- Click a lead to open its details with the full message.
- In the details, give the lead a status: **New**, **Handled** or **Archived**.
- The search field finds a lead by name, email address or vehicle. To see only new requests, open **Filter Options** and pick the status New.
- Click a column heading to sort by date, name or status. The **Columns** button above the table hides columns you do not use.

## Email for new leads

Forecourt sends you an email for every new lead. It has the vehicle with a link to its page, and the name, email address, phone number and message of the visitor. Reply to the email and your answer goes straight to the visitor.

The email goes to the site email address from the Global Configuration. To send it somewhere else, or to several people, fill in **Send to** under **Options \> Contact Options**. You can switch the emails off there too. The lead is saved either way, so nothing is lost when an email does not arrive.

The visitor does not get a confirmation email. That is on purpose: a form that mails whatever address is typed in gets abused to send spam to other people.

## Protection against spam

The contact form has three layers, all set under **Options \> Contact Options**.

| Captcha | Shows a captcha on the form. Use Default follows the default captcha from the Global Configuration, so the form is protected as soon as your site has one. You can also pick a specific captcha plugin or switch it off for this form. |
| --- | --- |
| Maximum enquiries and Time window | One visitor can send 3 enquiries in 10 minutes. After that the form asks to try again later. Change both numbers to suit your site, or set the maximum to 0 to switch the limit off. |
| Hidden field | The form has a field visitors never see. Bots tend to fill it in, and those submissions are dropped without a lead or an email. There is nothing to set up. |

The limit counts per IP address. Visitors behind one shared connection, such as an office, count as one.

## Privacy

Leads contain personal data, so mention the contact form in your privacy statement. Besides the details the visitor enters, Forecourt stores the IP address of the sender with each lead. The same details are in the email that is sent to you.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/leads.md)

## Licence plate lookup (RDW and RegCheck)

Typing in the technical details of every vehicle takes time. With a licence plate lookup Forecourt fills them in for you. There are two plugins: **Forecourt - RDW** for Dutch licence plates and **Forecourt - RegCheck** for plates from other European countries.

## How it works

Enter the licence plate on the **General** tab of a vehicle and click **Fetch from RDW** or **Fetch via RegCheck**. The found data is put into the form, so you can check it before saving.

When the plugin is enabled, it also looks up the licence plate when you save a vehicle and fills in fields that are still empty. Fields you filled in yourself are kept, unless you switch on *Overwrite existing values*.

## RDW (Netherlands)

The RDW plugin uses the open data of the Dutch vehicle authority. It is free and needs no account.

It fills in, where the RDW has the data: make, model, version, vehicle type, body type, year, fuel type, power, engine capacity, cylinders, doors, seats, weight, towing capacity, colour, energy label, emission class, fuel consumption, list price, MOT expiry date, the odometer judgement (NAP) and open recalls.

| Enabled | Switches the lookup on or off. |
| --- | --- |
| Overwrite existing values | When on, the RDW data also replaces fields you already filled in when you save. |

## RegCheck (other countries)

RegCheck is a paid lookup service that covers many European countries. Create an account at [regcheck.org.uk](https://www.regcheck.org.uk) first. The data that comes back differs per country.

| Enabled | Switches the lookup on or off. |
| --- | --- |
| RegCheck username | Your RegCheck API username. |
| Country | The country of the licence plates you look up, for example Belgium, Germany or the United Kingdom. |
| Overwrite existing values | When on, the RegCheck data also replaces fields you already filled in when you save. |

You can enable both plugins. Dutch dealers usually only need the RDW plugin.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/licence-plate-lookup.md)

## Hexon stock import

If you manage your stock in Hexon, the **Forecourt - Hexon** plugin keeps your website up to date automatically. Hexon sends every change, such as a new car, a price change or a sold car, straight to your website.

## Set up the plugin

1. Go to **System \> Plugins**, open **Forecourt - Hexon** and enable it.
2. Enter a **Webhook token**: a long, random secret of your own choice. It makes sure only Hexon can send stock to your website.
3. Save the plugin.

| Enable plugin | Switches the import on or off. |
| --- | --- |
| Webhook token | The secret that Hexon sends with every update. Without a token the plugin refuses all updates. |
| Webhook URL | Shows the address you give to Hexon. |
| Overwrite existing data | When a vehicle already exists, update it with the data from Hexon. Turn this off if you want to edit imported vehicles in Forecourt yourself. |
| Auto-publish new vehicles | Publishes new vehicles straight away. Turn this off if you want to check them before they appear on the website. |

## Connect Hexon

Ask Hexon to send your stock to this address, with your own domain and token filled in:

```
https://www.your-domain.com/index.php?option=com_forecourt&task=hexon.receive&format=raw&token=YOUR-TOKEN
```

For every update your website answers with `OK`, or with `ERR:` and the reason when something went wrong. Hexon shows these answers in its log.

## What is imported

Vehicles are matched on their Hexon number, so an update never creates a duplicate. The make, model, version, technical details, colours, price, price type, VAT or margin, MOT date and description are imported. When Hexon reports a vehicle as removed, Forecourt moves it to the trash.

Photos are not imported from Hexon. Add them in Forecourt on the **Photos & Options** tab of the vehicle.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/hexon-stock-import.md)

## MachineTrack stock import

Dealers in agricultural, garden and construction machinery often list their stock on MachineTrack. The **Task - Forecourt MachineTrack** plugin copies those listings to your website on a schedule, including the photos and options.

## What you need

Your MachineTrack API username (your dealer number) and API password. MachineTrack provides these.

## Set up the import

1. Go to **System \> Plugins** and enable **Task - Forecourt MachineTrack**.
2. Go to **System \> Scheduled Tasks**, click **New** and choose **Forecourt - MachineTrack sync**.
3. Fill in the settings below and choose how often the task runs, for example every hour.
4. Save and close. In the task list, click **Run Task** to import your stock right away.

The settings belong to the scheduled task, not to the plugin. The plugin screen itself only shows a note that points you to Scheduled Tasks.

| API URL | The MachineTrack export address. Leave the default unless MachineTrack gives you a different one. |
| --- | --- |
| Username | Your MachineTrack API user, usually your dealer number. |
| Password | Your MachineTrack API password. |
| Content language | The language of the titles, descriptions and options to import, for example `nl-NL`. If a listing has no text in that language, the first available language is used. |
| Overwrite existing vehicles | Updates imported vehicles when the listing changes at MachineTrack. Changes you made in Forecourt are then replaced. |
| Publish new vehicles | Publishes newly imported machines straight away. When off, they are saved as unpublished. |
| Trash removed ads | Moves a machine to the trash when its listing is no longer on MachineTrack, for example because it was sold. If the listing comes back, the machine is published again. |
| Download images | Copies the photos to your own website, resized to the maximum photo width from the component options. |

## What is imported

The make, model, listing title, category (for example *Compact wheel loaders*), year, operating hours, mileage, weight, condition, price and description. Options such as four wheel drive or a cab become options and accessories; the fuel type, transmission, number of doors and number of owners go to their own fields. MachineTrack prices are excluding VAT, and the website shows them that way.

Only listings that changed since the last run are processed again, so a frequent schedule is not heavy for your website. Photos that are already on your website are not downloaded again.

## If the task fails

The task list shows whether the last run succeeded. For the details, open the task, switch on **Individual Task Logs** in the Logging section and run it again. The log then tells you, for example, that the username or password is wrong, or which listing could not be imported. If one listing fails, the other listings are still imported.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/machinetrack-stock-import.md)

## Google Vehicle Ads feed

With the **Ajax - Forecourt Google Vehicle Ads feed** plugin your cars and vans can appear in Google vehicle ads: the image ads with price, mileage and your dealership name that Google shows when people search for a car. The plugin turns your Forecourt stock into a feed that Google Merchant Center downloads on a schedule, so the ads show what is actually on your forecourt.

You do not need a separate feed tool or a partner contract. You do need a Google Merchant Center account that is approved for vehicle ads, and a Google Ads account to run the campaign.

## Before you start

- Vehicle ads are only available in some countries, including the Netherlands, Germany, France, Spain, Italy and the United Kingdom. Check the current list in the Google Merchant Center help.
- Google accepts cars, vans and light trucks. Motorcycles and machinery from Forecourt are never added to the feed.
- Every vehicle needs a price, at least one photo, an exterior colour and a mileage. A vehicle that misses one of these is left out of the feed, because Google would reject it anyway. Vehicles with the price type *Price on request* are left out too. A new vehicle without a mileage is included with 0 km.

## Step 1: enable the plugin

Go to **System \> Plugins**, search for *Google Vehicle Ads*, open the plugin and enable it.

## Step 2: configure the feed

| Feed URL | The address Google uses to download your stock. Click the field to select it, then copy it. After you change the feed key, save the plugin to see the updated address. |
| --- | --- |
| Feed key | Optional. With a key, the feed only answers requests that contain it, so other people cannot download your complete stock list. Use letters, digits, dashes and underscores. The key is added to the feed URL for you. |
| Vehicle types | Which Forecourt vehicle types go into the feed: cars, commercial vehicles or both. |
| Store code | Optional. The store code of your dealership in your Google Business Profile. It is case-sensitive and must match exactly. With a store code, your vehicles are advertised as available at your location. Without one, they are advertised online and link straight to the vehicle page on your website. |
| VAT rate (%) | Google shows prices including VAT. Vehicles that you price excluding VAT in Forecourt get this rate added in the feed. Prices including VAT and margin scheme prices are left as they are. Default 21. |
| Currency | The currency of your prices as a three-letter code, for example EUR. |

Save the plugin and open the feed URL in your browser. You should see a list of your vehicles. If the list is empty, check that your vehicles are published and match the selected vehicle types.

## Step 3: add the feed to Google Merchant Center

1. In Google Merchant Center, add a new data source for your vehicle inventory.
2. Choose to fetch the file from a URL and paste the feed URL from the plugin.
3. Set a daily schedule, so price changes and sold vehicles are picked up the next day.
4. Run the first fetch and check the diagnostics in Merchant Center.

## What is in the feed

For every vehicle the feed sends the make, model, version, year, price, mileage, condition (new or used), colour, the link to the vehicle page and up to eleven photos, starting with the main photo. It adds the VIN when it is valid. Where Forecourt has the information, it also sends the fuel type, body style, CO2 emissions, fuel consumption, electric range and the list of options and accessories. Google uses these details to match your vehicles to searches, so complete vehicles tend to perform better.

## Common questions

### A vehicle is missing from the feed

Check that it is published, has a price (not *Price on request*), at least one photo, an exterior colour and a mileage, and that its vehicle type is selected in the plugin.

### Google reports a price mismatch

Google compares the price in the feed with the price on your vehicle page. If you price vehicles excluding VAT, make sure the VAT rate in the plugin matches the consumer price you show on your website.

### Does the feed slow down my website?

No. The feed is only built when Google, or you, opens the feed URL. Normal page views are not affected.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/google-vehicle-ads-feed.md)

## YOOtheme Pro dynamic content

If your site uses YOOtheme Pro, the **Forecourt - YOOtheme PRO Integration** plugin lets you design the vehicle pages and vehicle sections in the YOOtheme Pro builder, using your Forecourt data as dynamic content.

## Enable the plugin

Go to **System \> Plugins**, search for *Forecourt* and enable **Forecourt - YOOtheme PRO Integration**. The Forecourt sources then appear in the builder.

## Templates for the Forecourt pages

In the YOOtheme customizer go to **Templates** and create a template for the Forecourt vehicle detail page or the vehicle overview. YOOtheme then uses your own layout instead of the standard Forecourt pages. In the template, map elements to the fields of the current vehicle, such as the make, model, price, photos and specifications.

## Vehicles anywhere on your site

You can also show vehicles on other pages, for example the newest arrivals on the home page.

| Vehicle | A single vehicle, for the detail page template. |
| --- | --- |
| Vehicles | The vehicles of the current overview page, for the overview template. |
| Custom Vehicles Query | A selection of your stock for any page. Filter by make, fuel type, body type or transmission, show only featured vehicles, set a year range, price range or maximum mileage, and choose the order, the starting point and the number of vehicles. |

For each vehicle you can use the regular fields, the formatted price, the link to the detail page, the main photo and the other photos. The fields are grouped in the builder, for example under Technical, Price and Status.

This plugin works with YOOtheme Pro 4 and 5.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/yootheme-pro-dynamic-content.md)

## Troubleshooting & FAQ

## Vehicles and photos

### I cannot upload photos

Save the vehicle first. Photos can only be added to a vehicle that has been saved once. If uploading still fails, check that the photo upload path from the component options exists and that the web server can write to it. Accepted formats are JPG, PNG, GIF and WebP.

### My photos look blurry or load slowly

Photos wider than the maximum photo width are resized when you upload them. A width of 1920 pixels is sharp on most screens and keeps pages fast. Raise it in the component options if you need larger photos.

### A vehicle does not appear on the website

Check that the vehicle is published. Vehicles in the trash or unpublished vehicles are never shown, and imported vehicles may be saved as unpublished, depending on the import settings.

Cannot find the vehicle in the list at all? It may be in the trash, which the list hides. Set the status filter under **Filter Options** to **Trashed** or **All**.

### Removing a photo does not delete the file

Deleting the photo file from the server needs the Delete permission for Forecourt. Without it, the photo is only removed from the vehicle and the file stays on the server.

## Licence plate lookup

### Fetch from RDW finds nothing

The RDW only knows Dutch licence plates. Enter the plate without spaces; dashes are fine. For plates from other countries, use the RegCheck plugin.

## Imports

### Hexon shows ERR:Invalid token

The token in the address that Hexon uses does not match the Webhook token in the Forecourt - Hexon plugin, or the token in the plugin is empty. Make both exactly the same.

### The MachineTrack task fails

Check the username and password on the scheduled task (not in the plugin), and switch on Individual Task Logs on the task to see the exact message. See "MachineTrack stock import".

### I changed an imported vehicle and my change was undone

When *Overwrite existing data* (Hexon) or *Overwrite existing vehicles* (MachineTrack) is on, the next update from the supplier replaces your changes. Make the change in Hexon or MachineTrack instead, or switch overwriting off.

## General

### Does Forecourt send an email when someone fills in the contact form?

Yes, for every new lead. The email goes to the site email address unless you enter other addresses under **Options \> Contact Options**. The request is also stored under Forecourt \> Leads, so you can find it back if an email goes missing. See "Leads".

### Can I use Forecourt for machinery, motorcycles or caravans?

Yes. Every vehicle has a vehicle type, and fields such as operating hours, category and condition are there for machinery. Only the Google Vehicle Ads feed is limited to cars and commercial vehicles, because that is what Google accepts.

### Which languages are included?

English, Dutch, French, German, Spanish and Italian, for the administrator and the website.

### How do I remove Forecourt?

Go to **System \> Manage \> Extensions**, search for *Joomill Forecourt* and uninstall the package. This removes the component, the module and all plugins, including the Forecourt database tables and your vehicles and leads. Make a backup first if you want to keep the data.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/troubleshooting-faq.md)

## Changelog

## 1.0.0

First release. Requires Joomla! 6.1 or later.

- Vehicle management in the administrator with a tabbed edit form: general, specifications, price and history, description, and photos and options.
- Vehicle and lead lists with the standard Joomla search tools: filters, sorting, search by ID and a column selector. Vehicles also have a featured toggle and drag and drop ordering.
- Fields for machinery: operating hours, category and condition, next to the regular car specifications.
- Price types (asking price, fixed price, on request) and VAT handling: including VAT, excluding VAT and margin scheme.
- Photo upload with drag and drop ordering, the first photo as the main photo, and automatic resizing to a maximum width.
- Options and accessories per vehicle, grouped by category, with suggestions from the options you already used on other vehicles.
- Vehicle overview with grid and list layout and a layout switcher that remembers the visitor's choice.
- Vehicle detail page with photo lightbox, specification table, MOT status badge and structured data for search engines.
- Contact form that stores leads, with an optional redirect URL and WhatsApp and call buttons.
- An email for every new lead, to the site email address or to your own list of recipients.
- Spam protection for the contact form: a captcha, a maximum number of enquiries per time window and a hidden field that catches bots.
- Leads overview with status handling: new, handled and archived.
- Vehicle filter module for make, category, fuel type, body type, transmission, options and accessories, price, year and mileage, plus sorting.
- Filter module layout: vertical or horizontal, checkboxes or a multi-select per filter, collapsible groups, and an option to hide the module on detail pages.
- The filter module only offers options that have vehicles in stock. With dynamic options switched on, a filter narrows to what is left in the current selection. It can also show the number of vehicles behind each option.
- Licence plate lookup through the Dutch RDW and through RegCheck for other countries.
- Stock import from Hexon (webhook) and from MachineTrack (scheduled task, including photos and options). MachineTrack ads that leave the feed are moved to the trash.
- Google Vehicle Ads feed for Google Merchant Center.
- YOOtheme Pro dynamic content sources for vehicles.
- One installation package.
- Languages: English, Dutch, French, German, Spanish and Italian.

[Read more...](https://www.joomill-extensions.com/documentation/forecourt/changelog.md)

