01 Starting point
A motorhome dealer serves three lines of business on one site. Buyers search by floor plan, length, berths and year of build. Renters ask about dates and availability. Service customers want an appointment and a contact. The questions differ, but they all land on the same site.
Then there is the season. Enquiries are spread very unevenly across the year, and stock turns over quickly. In businesses of this size, vehicle data typically does not sit in one place but is spread across the ERP system, manufacturer data and vehicle marketplaces. Every manual transfer in between is a source of error.
02 Solution
The website runs on TYPO3. The structure keeps sales, rental and service clearly apart but brings them back together on shared contact routes. Vehicles are held as structured records, with the fields people actually search on in the motorhome market: floor plan, length, berths, year of build, engine, price.
The second building block is the interfaces. Vehicle data is imported and mapped into the internal data model instead of being typed into the CMS. That includes field mapping, taking over the images, a recurring sync, and a log that shows which record did not go through and why.
It all runs on the usual stack: PHP 8, MariaDB, caching with Redis, containers on our own servers in Germany. As stock grows, Elasticsearch comes into consideration for search and filtering. Planning, build and operation stay with one team, so changes to the interfaces happen without anything getting lost in handover.
03 Result
What is offered online is current without anyone entering the same record twice. Editorial work shifts from data maintenance to content that actually has an effect: rental terms, service offerings, contacts.
Separating data source from output makes the site durable. If a supplying channel changes, the interface is adjusted and not the website. Further sources or additional output channels can be connected on the same basis.