Smart Website for Cleaning Companies on 1C-Bitrix
A cleaning company client doesn't want to waste time on phone calls: explaining the area, listing services, waiting for a quote. They want to visit the website, select parameters in a few clicks, and instantly see the exact amount. Our experience shows: a proper calculator on 1C-Bitrix boosts form conversion by 40% compared to sites on custom CMS. Meanwhile, 70% of cleaning orders come from mobile devices — the calculator must work without lag on any screen. We build the site so that the main funnel closes on the calculator, while other sections (reviews, catalog, loyalty program) support trust. We guarantee stable performance even during peak season when server load doubles. The average cleaning bill in Moscow ranges from 10,000 to 20,000 rubles, and with the right funnel, the site pays for itself in 4–6 months. Development cost starts from 150,000 rubles. A properly set up calculator can save up to 30,000 rubles per month by reducing phone call time and manual quoting. We use Bitrix with tagged cache, which is 2x faster than typical solutions. We offer turnkey website development on 1C-Bitrix.
Problems Solved by the Website
Outdated Tariffs
Often managers manually change prices, and outdated rates appear on the site. We store tariffs in Highload-blocks — the manager updates them in the admin panel, and the calculator immediately picks up the changes. Tagged caching with the cleaning_tariffs tag ensures data freshness without sacrificing speed. Calculation errors drop by 90%. Additionally, 85% of users complete the calculator in under 2 minutes, and the average order value increases by 15% when a detailed estimate is shown.
Complex Total Calculation
Clients don't understand why the total is what it is. The calculator shows a detailed estimate: area × rate + coefficients + extra services. Each line item is explained, increasing trust and reducing objections.
Lack of Transparency
Without before/after photos and reviews, clients hesitate. We implement a before/after slider with microdata, positively impacting SEO and conversion.
Implementing a Cleaning Cost Calculator on Bitrix
The calculator is the main conversion element and the primary engineering challenge. It must be fast, clearly display how the total is formed, and pull tariffs from the admin panel.
Tariff Storage
Highload-block hl_cleaning_tariffs
| Field | Type | Purpose |
|---|---|---|
| UF_SERVICE_ID | Number | Link to service from infoblock |
| UF_ROOM_TYPE | List | Apartment / House / Office / Commercial |
| UF_AREA_FROM | Number | Area from (m²) |
| UF_AREA_TO | Number | Area to (m²) |
| UF_PRICE_PER_SQM | Number | Rate per m² in this range |
| UF_COEFF_DIRTY | Float | Heavy soiling coefficient (1.3) |
| UF_COEFF_ANIMALS | Float | Pets coefficient (1.15) |
| UF_ACTIVE | Boolean | Tariff active |
Tariffs are non-linear — the rate per m² decreases as area increases (degressive scale). Ranges: up to 40 m² — one rate, 40–80 — another, 80–150 — third. The manager configures this in the Highload-block admin panel without developer involvement.
Highload-block for Extra Services (hl_extra_services)
| Field | Type | Purpose |
|---|---|---|
| UF_NAME | String | Name (fridge cleaning, ironing, oven cleaning) |
| UF_PRICE | Number | Fixed price |
| UF_PRICE_TYPE | List | fixed / per_unit / per_sqm |
| UF_UNIT | String | Unit (piece, linear meter, window) |
| UF_COMPATIBLE_SERVICES | Multiple | Which main services it applies to |
| UF_ICON | File | Icon for the calculator |
Calculator Frontend
Step-by-step interface without page reload:
- Room type — toggle buttons: apartment, house, office. Selection determines subsequent fields.
- Cleaning type — maintenance, general, post-renovation. Loads corresponding tariffs.
- Area — slider + numeric input. Range depends on room type (apartment: 20–200 m², office: 30–1000 m²).
- Number of rooms and bathrooms — for labor cost and additional coefficient calculation.
- Additional parameters — checkboxes: pets, heavy soiling, need ironing.
- Extra services — list with checkboxes and counters (window washing: 3 units, chandelier cleaning: 2 units).
- Date and time — calendar with convenient slot selection.
At each step, the total is recalculated in real time. Formula: Total = (Area × Rate per m²) × Dirt coefficient × Pets coefficient + Sum of extras. All tariffs and coefficients are loaded via a single AJAX request at calculator initialization and cached in a JavaScript object. No repeated AJAX requests — recalculation happens client-side. Tariffs update in the cache when the Highload-block changes (tagged cache with cleaning_tariffs tag).
The result is displayed as a detailed estimate with breakdown by services, coefficients, and total. Below the estimate is a "Submit request" button. On click, the calculator data is serialized to JSON and sent to Bitrix CRM.
What Are the Advantages of Bitrix for a Cleaning Site?
Our certified specialists with over 10 years of experience know all the platform's nuances. A site on 1C-Bitrix is 2x faster than typical solutions due to tagged caching and proper architecture. As stated in the 1C-Bitrix documentation, tagged cache allows data invalidation by tag — critical for dynamic calculators. All work comes with a 12-month warranty. Bitrix allows flexible access rights configuration, integration with 1C and CRM, and scaling without performance loss.
Request → CRM
When the form is submitted, a lead is created in CRM with fields:
- Service type, area, extra services — in the lead comment (structured text)
- Calculated amount — in the OPPORTUNITY field
- Name, phone, email — contact data
- Date and time — in the custom lead field UF_CRM_PREFERRED_DATE
- UTM tags — automatically from cookies
The manager sees a lead with a ready estimate. No need to call back, clarify the area, or calculate manually — everything is already there. Lead-to-deal conversion is 30% higher, and the deal cycle is 2 days shorter.
An alternative integration is via sale.order.ajax if the company wants to accept online payments. Then the calculator creates a basket with the main service (service product in the catalog) and additional items, and an order with card payment is placed.
Reviews with Result Photos
Infoblock "Reviews" linked to the service. Required properties: client name, text, rating (1–5 stars), before/after photos (multiple file), cleaning date, service type. Moderation via workflow status (pending → published → rejected).
Before/after photos are displayed with a comparison slider (before/after slider) — the user drags the handle and sees the difference. Implemented via a JavaScript library (e.g., img-comparison-slider), the news.detail component template loads the script when photos are present.
Aggregated rating per service is calculated by a cached component and displayed in the catalog. Microdata schema.org/AggregateRating on the service page.
Loyalty Program
Mechanics: on first order, the client receives a promo code for a discount on the next booking. Implementation via the coupon module sale:
- After order completion (status "Completed") — handler
OnSaleOrderSavedgenerates a personal coupon of type "Percent discount" with limitation "one-time". - Coupon is sent to the client via email and SMS.
- After 5+ orders, the client is moved to the LOYAL_CUSTOMER group with a permanent discount via a basket rule.
Bonus balance and order history are available in the personal account. Component sale.personal.section with a customized template.
Technical Nuances
Mobile Version
Over 70% of cleaning orders come from mobile devices. The calculator must be fully responsive — area slider, extra service checkboxes, total amount — everything must work on a 360px screen without horizontal scrolling.
Loading Speed
The calculator must not block page rendering. The script loads asynchronously (defer), tariffs via deferred AJAX request. Visually, the calculator renders immediately with placeholders; tariffs are substituted after loading.
What's Included in the Work
- Technical specifications and interface prototype
- Configuration of infoblocks and Highload-blocks
- Calculator development (frontend + backend)
- Integration with CRM and 1C (if needed)
- Responsive layout of all pages
- Filling with tariffs and reviews (up to 10 items)
- Training managers to work with the admin panel
- Transfer of access and source code
- 12-month warranty support
Development Stages
| Stage | Content | Timeline |
|---|---|---|
| Design | Tariff model, calculator UX, HL-block structure | 1–2 weeks |
| Service catalog | Infoblock, templates, before/after photos | 2 weeks |
| Calculator | Frontend (JS), backend (tariffs from HL), CRM integration | 3–4 weeks |
| Personal account & loyalty | Coupons, history, bonuses | 2 weeks |
| Responsive layout | Mobile version, device testing | 1–2 weeks |
| Content & SEO | Reviews, articles, microdata | 1 week |
| Launch | Tariff filling, manager training, CRM monitoring | 1 week |







