Case 08 · NEO RENT · our own product

NEO RENT — an equipment rental platform

Equipment catalogue, online booking, availability calendar, pricing rules and payment collection.

NEO RENT (https://neo.rent/) is a universal digital rental platform that brings equipment owners and customers together in one environment for search, booking, availability management, communication and payment.

The key difference from an ordinary aggregator: NEO RENT is not only a channel for attracting customers but also a working tool for running a rental business. The availability calendar, booking card, unit availability and pricing rules are useful right away, even without traffic from the platform.

The core is deliberately universal and not tied to one niche: boats, quad bikes and buggies, bicycles and SUP boards, construction tools, heavy machinery, cars, accommodation. The system has three roles, each with its own workspace: the rental owner, the customer and the platform administrator.

The platform has launched and is being tested at an operating rental business in Tolyatti, Russia — boats, quad bikes and buggies.

System features

  • Public storefront and catalogue
    • A platform home page with statistics, a list and a map of rental businesses.
    • A public company page: description of the rental business, contacts, pick-up points on a map.
    • A single catalogue module with filters, selection of available equipment for the required dates and price calculation.
    • An item page with all rental terms, a gallery and a price calculator.
  • Booking widget
    • A step-by-step flow: a side panel on desktop, full screen on mobile.
    • Parameters carried over from the catalogue, opening directly at the first incomplete step.
    • An availability calendar with ready start-time options instead of free input.
    • Price recalculated on any parameter change, unnecessary steps skipped automatically.
    • Hidden atomic assignment of an available unit — no double bookings.
  • Availability calendar
    • A calendar grid with Day / Week / Month / List views.
    • Selecting an interval with the mouse, dragging and stretching bookings with the price recalculated before saving.
    • Unit availability by intervals, copying schedules between units, maintenance breaks between rentals.
    • Pick-up point opening hours as a separate constraint from the physical availability of equipment.
  • Pricing engine
    • A "base + rules" model with independent hourly and daily pricing branches.
    • Adjustment coefficients by period (season, weekends) with overlap checks.
    • Discounts for rental duration and number of units, extra services, prepayment.
    • Price calculation via API — identical in the catalogue, widget, calendar and booking card.
  • Bookings and payments
    • A single booking management window: customer, resources, calculation, payment, messages, comments, activity log.
    • Price recalculated before saving, with confirmation on unavailability, overlap and overpayment.
    • Automatic merging of one customer's bookings.
    • A payment ledger: cash, card, refunds, overpayment.
    • Card acquiring via YooKassa — payment by QR code and by link.
  • Notifications and communication
    • A notification matrix by email and in the workspace, sent by a background worker.
    • Booking chat: messages from the rental business, the customer and system events in one feed, with a link to the chat straight from the email.
    • Passwordless customer sign-in with a one-time code sent by email.
    • Automatic cancellation on payment timeouts and reminders before the rental starts.
  • Workspaces, analytics and admin panel
    • Rental and fleet utilisation statistics with filters by period, location and item.
    • Booking list export to Excel, a summary of payments and transaction history.
    • Customer workspace: personal details, booking history, chats, notifications.
    • Platform admin panel: registries of rental businesses and users, cross-platform views of bookings and payments, a shared category classifier, an audit log.

Technical solutions

  • A modular monolith on FastAPI, fully asynchronous (Python 3.12+, psycopg 3). Module boundaries are designed so that the catalogue and the pricing engine can be reused as libraries, and any module can be moved into a separate service.
  • Parameterised SQL without an ORM and numbered SQL migrations: the query plan is visible, and the schema and queries are read in one language.
  • A task scheduler built on PostgreSQL itself (SELECT ... FOR UPDATE SKIP LOCKED) instead of Redis/Celery — cancellation and reminder timers live in the same transaction as the booking.
  • Atomic unit assignment on booking and a single transactional model — a double booking is impossible at the database level.
  • Next.js (React, TypeScript): SSR for public pages for SEO and first-screen speed, CSR for workspaces; a shared UI kit for the storefront, widget and workspaces.
  • Media pipeline: resizing, compression, EXIF stripping, thumbnail generation.
  • Integrations: YooKassa, Yandex Maps and Geocoder, an email provider, sign-in via VK.
  • Security: RBAC, encryption of payment details in the database, security headers, an audit log recording the actual author of each action.
  • Operations: a dedicated VPS without Docker — Granian, a background worker and Next.js under systemd, nginx with TLS, a separate staging environment, regular backups, one-command deployment.
  • Responsive layout from 320px, cross-browser testing in Safari / Firefox / Edge, a performance test bench with a test data volume.

Project scale

  • ~25,000 lines of Python in the backend (113 modules) and ~21,000 lines of TypeScript/React in the frontend.
  • 68 tables in PostgreSQL.
  • More than 600 automated tests.
  • 13 implementation phases — from the foundation to non-functional requirements and production deployment.

Results

  • The platform has launched and runs on a dedicated VPS: https://neo.rent/
  • The full rental cycle online: search → selecting available equipment → booking → payment → communication with the customer
  • A "base + rules" pricing engine with hourly and daily pricing, seasonal coefficients and discounts
  • An interactive availability calendar with drag-and-drop bookings and price recalculation
  • Payment collection via YooKassa: QR code and payment link
  • Three roles and three workspaces: rental owner, customer, platform administrator

Project interface

NEO RENT — an equipment rental platform: screenshot - 1

Fortune AI

Have a similar task?

In a free consultation, we'll discuss your process and possible uses of AI.

Book a consultation