Project - Building a Rental Marketplace Platform
Developing a new platform that aggregates rental inventory from external providers, enabling consumers to rent cars, trailers, and equipment directly on Huren.nl.
- Client
- Huren.nl
- Year
- Service
- Backend Development, Search
Overview
Huren.nl is a rental marketplace that aggregates inventory from external rental companies, allowing consumers to rent cars, trailers, tools, and other equipment directly through the platform. I worked as a freelance senior PHP developer on building this new platform from the ground up.
Key Contributions
Rental Platform Core
Built the core marketplace application where rental companies manage their entire operation:
- Product management — Rental providers configure their inventory, availability, and product details through a dedicated back-office application built with Symfony.
- Pricing engine — Implemented the full rental pricing model, supporting configurable rate structures (hourly, daily, weekly), seasonal pricing, and deposit rules.
- Business rules & rental conditions — Developed the logic layer that enforces rental terms, minimum/maximum durations, age restrictions, and other conditions that vary per provider and product category.
Consumer-Facing Rental Flow
The platform enables end-users to search, compare, and book rentals directly on Huren.nl with real-time availability and transparent pricing drawn from the provider configurations.
Geo Search for Mieten.de
Developed a backend search service for mieten.de, the German sister site, powered by MySQL Full Text Search. This service enabled location-based discovery of rental providers and their inventory across Germany.
Testing with Behat
Used Behat for behavior-driven testing of the rental flow, ensuring that complex pricing calculations and business rule validations were covered by automated acceptance tests.
- PHP & Symfony 4
- MySQL & Full Text Search
- Redis
- Behat (BDD)
- TypeScript & React
- Webpack
- Backend
- Symfony
- Geo Search
- MySQL
- Testing
- Behat
- Markets (NL & DE)
- 2