Full-Stack Developer for Trailer Rentals

Posted 4 days ago

Worldwide

Summary

# Full-Stack Developer Wanted – Simple Self-Service Trailer Rental Website We are looking for an experienced full-stack developer to build a modern and intentionally simple website for digital self-service trailer rentals. This is explicitly **not an iOS or Android app**. The entire rental process should work directly through a mobile-optimized website in the customer's browser. At our location, the customer scans a QR code and is taken directly to the main website. From there, the customer should be able to complete the entire rental process independently. It is very important to us that the solution is **simple, clean, intuitive and easy to understand**. We do not want an overloaded rental management platform with unnecessary features. ## Basic Concept The customer reserves a trailer for a specific period of time. However, the customer does not automatically pay for the entire reserved period. Instead, the customer only pays for the time the trailer is actually used. Billing is based on **every started minute**. If the customer exceeds the reserved return time, a significantly higher late-return rate automatically applies. Our basic concept is: **Reserve the time you expect to need. Pay only for the time you actually use.** ## Planned Customer Journey **QR Code → Select Trailer → Select Start Time and Reservation Duration → Check Availability → Customer Details → ID Card and Driving Licence → Eligibility Check → Optional Protection → Terms and Rental Agreement → Digital Signature → Stripe → Authorize €150 Deposit → Confirm Booking → Start Rental → Receive Individual PIN → Use Trailer → Return Trailer → Lock Trailer → Upload Return Photos → End Rental → Minute-Based Billing → Payment → Invoice** ## 1. QR Code Access There will be one central QR code at the rental location. When scanned, the QR code opens the main trailer rental website. There will initially be only one central QR code. Separate QR codes for individual trailers are not required. No app needs to be downloaded or installed. ## 2. Trailer Selection Customers should be able to see the available trailers clearly on their smartphone. For each trailer, we need to be able to manage information such as: * Photos * Trailer type * Dimensions * Maximum permitted weight * Payload * Braked or unbraked * Standard price per minute * Availability The presentation should be intentionally simple and easy to understand. ## 3. Start Time and Reservation Duration Before booking, the customer must select when the trailer is needed and approximately how long it should be reserved. For example, reservation periods could include: * 2 hours * 4 hours * 8 hours * 12 hours * 24 hours These periods are mainly used for **reservation and availability planning**. The system must automatically calculate the planned return time and check whether the selected trailer is available for the entire requested period. Double bookings must be prevented. ## 4. Actual Billing The selected reservation duration is **not automatically the amount the customer pays**. Within the reserved period, the customer only pays for the actual rental time. Example: Reservation: **10:00 AM to 2:00 PM** Actual rental start: **10:07 AM** Actual return: **12:21 PM** The customer only pays for the actual usage time starting from the moment the rental is started. Billing is calculated for **every started minute**. There are no normal hourly billing blocks. ## 5. Exceeding the Reserved Return Time The reserved return time is binding. Example: The trailer is reserved until **4:00 PM**. Until 4:00 PM, the normal minute rate applies. Once the reserved return time is exceeded, a significantly higher minute rate automatically applies. Initially, we are planning: **Standard rate: for example €0.10 per started minute** **Late-return rate: €0.50 per started minute** Both rates should be configurable from the admin dashboard. The calculation must happen automatically. Before completing the booking, the customer must clearly be informed that the higher minute rate will apply if the reserved return time is exceeded. ## 6. Extending an Active Reservation During an active rental, the customer should always be able to see the reserved return time. If possible, there should be a button such as: **“Extend Rental”** The system should automatically check whether another reservation exists after the current booking. If the trailer remains available, the customer can extend the reservation period. If another customer has already reserved the trailer, an extension must not be possible and the customer should receive a clear message. ## 7. Live Information During the Rental During an active rental, the customer should clearly see on their smartphone: **Current time** **Rental start time** **Current rental duration** **Billable minutes** **Standard price per minute** **Current rental price** **Reserved until** If the reserved return time has been exceeded, this must be clearly displayed. The higher late-return rate must also become visible at this point. Time tracking and price calculations must be performed server-side. The billing must not depend on the customer keeping the website open on their smartphone. ## 8. Customer Information During the booking process, the customer enters personal information including: * First and last name * Full address * Email address * Mobile phone number Guest bookings should be possible. Customers should also have the option to create an account for future rentals. ## 9. ID Card and Driving Licence During the booking process, the customer must use their smartphone to photograph or upload: * Front of ID card * Back of ID card * Front of driving licence * Back of driving licence The customer must also provide their driving licence category. These documents must be stored securely and linked to the relevant customer and rental. Because personal identification documents are involved, secure storage and a GDPR-oriented implementation are particularly important. ## 10. Automatic Driving Eligibility Check The system should check whether the customer is legally permitted to tow the selected trailer based on the provided driving licence category and required information. If additional information about the towing vehicle is necessary for a reliable check, the developer should propose and implement a simple solution. If the vehicle and trailer combination is not permitted, the customer must receive a clear error message and must not be allowed to continue the booking. The process should remain as simple as possible for the customer. ## 11. Optional Protection During the booking process, the customer should be able to select an optional additional protection package. For example, this could include a defined deductible. The exact conditions and legal wording will be provided or defined separately. ## 12. Terms, Rental Agreement and Digital Signature Before completing the booking, the customer must accept the required conditions. These include: * Terms and Conditions * Rental conditions * Privacy Policy * Optional protection conditions, if selected * Late-return pricing conditions The customer should then be able to digitally sign the rental agreement directly on their smartphone. The signed rental agreement must be stored and accessible from the admin dashboard. ## 13. Stripe Payment and €150 Deposit **Stripe will be the primary payment provider.** Before the booking is completed, the customer must provide a valid payment method. A **€150 deposit should initially be authorized/reserved** on the customer's payment method. The €150 deposit should not simply be charged as normal rental revenue. After the rental has ended, the actual rental amount should be calculated and charged accordingly. The deposit should then be released according to the defined return process. We would also like to offer PayPal if it can be integrated reliably into the required payment and deposit process. The developer should advise us on the best technical implementation. ## 14. Igloohome Padlock 2 Integration Each trailer will be secured with an **Igloohome Padlock 2**. Integration with the **Igloohome API** is therefore part of this project. After completing the booking, the customer can press: **“Start Rental”** Only at this moment should the actual billable rental period begin. The system should then: * Record the exact rental start time server-side * Start the minute-based billing * Automatically generate an individual PIN for the Igloohome Padlock 2 assigned to that trailer * Display the PIN on the website * Send the PIN additionally by email or optionally by SMS The customer can then unlock the trailer and begin the rental. ## 15. Minute-Based Billing Every **started minute** must be charged. Example: Rental starts: **10:15:00 AM** Rental ends: **10:45:01 AM** Actual rental duration: **30 minutes and 1 second** Billable rental duration: **31 minutes** The exact start and end timestamps must be stored server-side. The price calculation must also be performed server-side. ## 16. Trailer Return The customer returns the trailer to the rental location and locks it again using the Igloohome Padlock 2. The customer must then take or upload the required return photos through the website. Only after the required photos have been uploaded should the customer be able to press: **“End Rental”** The exact end time is then recorded server-side. The system automatically calculates the final rental price. The calculation must automatically distinguish between the normal rental period and any late-return period charged at the higher rate. ## 17. Invoice After the rental has been completed, an invoice should be generated automatically and sent to the customer by email. Registered customers should also be able to access previous rentals and invoices through their customer account. ## 18. Admin Dashboard We need a simple and clear administration dashboard. The admin dashboard should allow us to manage: * Trailers * Trailer information and photos * Standard minute rate * Late-return minute rate * Availability * Reservations * Active rentals * Late rentals * Completed rentals * Customers * ID card and driving licence documents * Rental agreements and signatures * Payments * Deposits * Return photos * Invoices * Igloohome locks and trailer assignments An administrator must be able to manually block a trailer at any time, for example because of maintenance, repairs or damage. ## Design and User Experience This is particularly important to us. The website should be **intentionally simple and clean**. We do not want complicated menus, unnecessary features or an overloaded user interface. The customer should be guided through the rental process step by step. The website will primarily be used on smartphones and therefore must be developed with a **mobile-first approach**. At every stage, the customer should clearly understand what to do next. The goal is to make the complete process as easy as possible: **Scan QR code → Select trailer → Reserve → Verify → Pay → Start rental → Receive PIN → Use trailer → Return → End rental** ## Technical Requirements We are open to recommendations regarding the technology stack. The project will require: * Modern responsive website * Mobile-first development * Secure login and optional customer accounts * Database * Secure document storage * Server-side time tracking * Server-side price calculation * Booking and availability logic * Stripe integration * Deposit authorization * Igloohome API integration * Automated email delivery * Optional SMS delivery * Automatic invoice generation * GDPR-oriented implementation * Simple admin dashboard **No native mobile app is required.** ## MVP and Future Expansion The first version should intentionally remain simple and manageable. Our priority is a functional, reliable and easy-to-use MVP rather than a large platform with unnecessary features. However, the technical foundation should allow us to add more trailers and potentially additional rental locations in the future. ## Application Please provide examples of relevant previous projects and a **fixed-price estimate for the complete MVP**. Please also provide your estimated development time and recommended technology stack. Experience with Stripe, payment authorizations and deposits, booking systems, external APIs and smart-lock integrations is particularly relevant. In your proposal, please briefly explain how you would technically implement the following key features: **1. Reservation periods combined with actual minute-based billing** **2. Automatic billing for every started minute** **3. Automatic late-return rate after the reserved return time is exceeded** **4. €150 deposit authorization through Stripe** **5. Igloohome Padlock 2 integration and automatic PIN generation** We value a **simple, reliable and clean solution over unnecessary complexity or a large number of features.**

  • Less than 30 hrs/week
    Hourly
  • 1-3 months
    Duration
  • Intermediate
    Experience Level
  • Remote Job
  • Ongoing project
    Project Type
Skills and Expertise
Mandatory skills
JavaScript
Full-Stack Development
Activity on this job
  • Proposals:50+
  • Last viewed by client:4 days ago
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Feb 9, 2026
  • Germany
    Mittelangeln3:16 AM
  • $14K total spent
    3 hires, 2 active

Explore similar jobs on Upwork

JavaScript
Node.js
PHP
Web Application
AI App Development
DevOps
API
Git
MySQL
Cs2 Gambling SiteFixed-price‐ Posted 4 weeks ago
Gambling
Unity
Counter Strike
AR & VR
Online Gambling Website
Card Game
Board Game
Unreal Engine
MetaMask
Mystery Box
iGaming
WebGL
Game Development
Gaming
Multiplayer
Game UI/UX Design
UI/UX Prototyping
Steam API
AI Development
PixiJS

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo