Dry Cleaning Website on 1C-Bitrix: Calculator & CRM Integration

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Showing 1 of 1All 1626 services
Dry Cleaning Website on 1C-Bitrix: Calculator & CRM Integration
Complex
from 1 week to 3 months
Frequently Asked Questions

Our competencies:

Development stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    943
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    829
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1074

Dry Cleaning Website Development on 1C-Bitrix

A visitor lands on your dry cleaning site, sees great photos, but can't quickly calculate the cost of cleaning a down jacket. They leave for another site. Solution: a live calculator integrated with CRM and one-click order submission. We implement this on 1C-Bitrix in 4–8 weeks. We offer a free project estimate—contact us.

A dry cleaning site solves a specific task: the client must understand the cost of processing their item and submit an order—ideally in one visit, without calls or clarifications. On 1C-Bitrix, this is achieved through a combination of infoblocks, Highload blocks with a price matrix, and an order form linked to CRM. Over 10 years of Bitrix development experience ensures reliability and performance.

Service Catalog Structure with Infoblocks

Dry cleaning services are grouped into categories: clothing, carpets and carpeting, curtains and textiles, leather and suede, wedding dresses, upholstered furniture. Each category is a section of the Services infoblock. Items inside are specific services: "Dry cleaning of down jacket", "Carpet cleaning 2×3 m", "Leather jacket restoration".

Infoblock element properties:

  • PROPERTY_MATERIAL — material type (multiple, directory)
  • PROPERTY_MIN_PRICE — price from (for catalog display)
  • PROPERTY_DURATION — completion time in working days
  • PROPERTY_COMPLEXITY — processing complexity (standard / increased / premium)
  • PROPERTY_PHOTO_BEFORE_AFTER — before/after gallery (multiple file)

For output, the bitrix:catalog.section.list component is used with a custom template. The service card shows a photo, price range, duration, and a "Calculate cost" button that opens the calculator pre-filled with the category.

How the Calculator on Bitrix Works

The calculator is the key element of the site, and its architecture deserves a detailed breakdown. It is based on a three-dimensional price matrix stored in the Highload block CleaningPrices. The price depends on three parameters: item type, material, and degree of soiling.

Price Matrix

Stored in the HL block CleaningPrices:

HL block field Type Example value
UF_ITEM_TYPE Link to directory Down jacket
UF_MATERIAL Link to directory Polyester
UF_CONTAMINATION List light / medium / heavy
UF_BASE_PRICE Number base price
UF_EXPRESS_COEFF Number 1.5
UF_EXTRA_SERVICES JSON {"waterproofing": 500, "deodorization": 300}

Directories ItemTypes and Materials are separate HL blocks. This allows the manager to add new item types and materials without a developer. Links between them define valid combinations: leather applies to jackets but not to bed linen.

Frontend Logic

The calculator is implemented as a step-by-step form (wizard):

  1. Step 1 — Item type. Visual selection with icons: jacket, dress, carpet, curtains. Upon selection, an AJAX request loads available materials for that type.
  2. Step 2 — Material. The list is filtered by item type. For inexperienced users, hints with texture photos.
  3. Step 3 — Degree of soiling. Three options with visual examples: light (dust, surface stains), medium (stubborn stains, odor), heavy (oil, paint, mold).
  4. Step 4 — Additional services. Checkboxes: water-repellent impregnation, deodorization, anti-moth, packaging. The cost is pulled from the UF_EXTRA_SERVICES field.
  5. Result. Total cost with breakdown: base price + additional services. Optionally, express processing cost (×UF_EXPRESS_COEFF).

Server Side

AJAX controller CleaningCalculator extends Bitrix\Main\Engine\Controller. The calculateAction() method accepts item type ID, material, soiling level, and an array of additional services. It queries the HL block via D7 ORM:

CleaningPricesTable::getList([
    'filter' => [
        'UF_ITEM_TYPE' => $itemTypeId,
        'UF_MATERIAL' => $materialId,
        'UF_CONTAMINATION' => $contamination
    ]
])

If an exact match is not found (client selected a rare material), the default price for the item type is used with the note "exact cost after inspection".

More details: official D7 ORM documentation

Matrix Caching

On the first request, the entire price matrix is loaded into Bitrix\Main\Data\Cache with the tag cleaning_prices. When any HL block element changes, the tag is cleared via the OnAfterUpdate event handler. This eliminates database queries on every calculation—pages load 2-3 times faster.

How to Organize Online Ordering with Courier Call

After the cost calculation, the client fills out an order form:

  • Contact details (phone, name)
  • Pickup address (with suggestions via DaData API)
  • Date and time slot for pickup (agent daily generates slots for the next 7 days)
  • Comment (description of stains, special wishes)

The order creates a lead in the Bitrix24 CRM module via REST API. The lead card already contains: service, estimated cost, address, pickup slot. The manager only needs to confirm the order and assign a courier.

For SMS notifications, a provider is connected via the messageservice module. The client receives SMS at each stage: "Courier has left", "Items received", "Order ready", "Courier will deliver today from 2 to 4 PM".

Order Tracking

A "Check order status" form is placed on the site. The client enters the order number and the last 4 digits of the phone. The system searches for an item in the Orders infoblock and displays the current status with a timeline:

Stage Status
Application accepted Completed
Courier picked up items Completed
Inspection and evaluation Completed
Dry cleaning In progress
Quality control Pending
Delivery to client Pending

Statuses are updated by the operator in the admin panel or automatically via a webhook from the dry cleaning accounting system (1C:Enterprise, StoryClean, or custom ERP).

Cumulative Loyalty Program

For regular clients, a cumulative system is implemented. The sale module with internal user accounts is used. Upon order payment, bonus points are awarded (percentage of the amount is configured in the HL block LoyaltySettings).

Mechanics:

  • Registration by phone number (authorization via SMS code, main module with custom handler)
  • Personal account: order history, bonus balance, favorite addresses
  • Bonus redemption on the next order (limit — no more than 30% of the amount)
  • Referral program: client shares a link; when a new client orders, both receive bonuses

The bonus balance is stored in the user's UF field UF_BONUS_BALANCE. Accrual and deduction are logged in a separate HL block BonusTransactions for transparency and auditability.

SEO Optimization for Local Search

Dry cleaning is a local business. Main queries include geography: "dry cleaning down jackets Minsk", "carpet cleaning Frunzensky district".

What we set up:

  • Schema.org DryCleaningOrLaundry microdata with address, working hours, service area
  • Landing pages for districts — via the GeoPages infoblock with coordinate binding
  • Auto-generation of title and description by template: "Dry cleaning {item_type} in {district} — from {min_price} RUB"
  • Before/after pages with alt tags by soiling type — work for image search
  • Bitrix SEO module for managing robots.txt, sitemap.xml, canonical URLs

Component caching is configured with geo in mind: for each city/district, a separate cache variant via CACHE_GROUPS.

What's Included in the Dry Cleaning Site Work

Stage Description
Analysis and prototyping Catalog structure, price matrix, user scenarios
Design concept Responsive interface, visual calculators, before/after galleries
Development on 1C-Bitrix Infoblocks, HL blocks, calculator component, CRM integration
Integrations 1C, CDEK, SMS gateways, DaData, payment systems
Content filling Up to 30 services, photos, descriptions, meta tags
Testing and launch Load testing, SEO audit, monitoring
Employee training Admin panel, orders, bonuses
Warranty and support 30 days of free technical support after launch

We have over 10 years of hands-on experience with 1C-Bitrix and Bitrix24, having completed more than 50 projects. Get an engineer's consultation on your project — our estimate is free.

How to properly design infoblocks?

When developing a 1C-Bitrix website, we see dozens of projects where poor infoblock structure slows down the site. Typical scenario: the client asks for a "product catalog." The developer creates one infoblock catalog, puts 15 properties in it. Six months later – 40 properties, 8 of which are used only for one category. The filter lags, the b_iblock_element_property table grows to millions of rows, CIBlockElement::GetList runs for 3 seconds. Consequences – conversion drop, loss of customers, additional optimization costs. In one project after catalog refactoring, page generation time dropped from 4.2 to 0.8 seconds, and annual support costs were reduced by over $10,000 through eliminated redundant queries and agents.

Our approach: design infoblocks before writing a single line of code. Separate infoblocks for entities (products, categories, brands), dictionary properties via highload blocks, trade offers for SKUs. This builds performance for years. If you want a preliminary audit of your infoblock schema, contact us for a free review of common mistakes and recommendations.

Why 1C-Bitrix outperforms most CMS for business

The choice of CMS is dictated by business needs, not preferences. Native 1C exchange via catalog.import.1c provides two-way synchronization of products, prices, balances, and orders through CommerceML without third-party modules — five times faster than developing custom exchange on OpenCart or WordPress, saving hundreds of thousands of rubles. Proactive security module includes WAF, file integrity control, SQL injection protection, and two-factor authentication; it's certified for FSTEK requirements. Modular architecture lets you enable only needed modules — iblock, catalog, sale, search — reducing DB queries per hit. Regular patches close vulnerabilities faster than open-source projects (average CVE fix time two weeks). Official documentation is maintained on the vendor's site.

What highload blocks are and how they speed up the catalog

Highload blocks are an alternative to extended infoblock properties when the list of values can grow to thousands of entries. Typical example: manufacturers, countries, colors. If stored as list properties in an infoblock, each filter triggers a full scan of b_iblock_property_enum table. With HL-blocks, selection uses indexes – filter response time drops from 1–2 seconds to 50 ms. We use HLB component and custom queries via Bitrix\Highloadblock\DataManager. This is critical for catalogs with 100,000+ items.

From our practice: an online store with 500,000 items. Standard filter by brand took 4 seconds. The server couldn't handle 50 concurrent requests – pages crashed. We moved the brand directory to an HL-block, added tagged caching for 15 minutes, and set up an agent to clear cache on change. After optimization, filter time was 120 ms, average LCP was 1.8 seconds. The project runs stable without failures.

What integrations are critical for 1C-Bitrix stores

Each e‑commerce project requires reliable connections with payments, fiscalization, logistics, and CRM. We integrate YooKassa, CloudPayments, Tinkoff, Apple Pay, Google Pay for payments; ATOL and OrangeData for 54-FZ compliance via sale.cashbox; CDEK, Boxberry, PEC, Russian Post, Yandex.Delivery for logistics; Bitrix24, amoCRM, Roistat, Calltouch, Mindbox for analytics and CRM. All integrations are configured with proper error handling and fallback logic.

What's included in 1C-Bitrix website development

Each project includes a full set of documentation and artifacts to prevent knowledge loss after handover.

  • Technical specification – user stories, infoblock diagrams, integration schemas.
  • Source code in Git – with commit history, release tags, branching rules.
  • Administrative documentation – description of custom components, deployment instructions, list of agents and events.
  • Staff training – up to a 3-hour webinar: admin panel, order management, price settings. Recorded for later review.
  • Access to staging during development – test before production deployment.
  • Warranty support – bug fixes for 30 days after launch. Post-warranty support packages with SLA (response 2 hours, resolution 8 hours).

Our process and technologies

Project type Timeline Complexity Key features
Corporate website from 1 month Medium Catalog, news, forms, CRM integration
Online store from 2 months High 54-FZ, marketplaces, 1C exchange, SKU
B2B portal from 3 months Very high Personal prices, document flow, Bizproc
Landing page from 2 weeks Low LCP < 2s, composite cache, static
Multisite structure from 1.5 months High Separate content, shared catalog, hreflang

Tech stack: mobile-first markup, tested on physical devices (iPhone, iPad, Android). Use BrowserStack for Safari on iOS. Performance goals: LCP < 2.5 s, FID < 100 ms, CLS < 0.1. Enable composite site (composite module), CDN, tagged caching, WebP/AVIF, lazy loading. SEO: Schema.org via JSON-LD, auto-generation of sitemap.xml via seo module, canonical and hreflang for multilingual versions. robots.txt blocks /bitrix/ from indexing. CI/CD: Git, auto-deploy via GitLab CI, staging. DB migrations: sprint.migration module with versioning.

Process:

  1. Analytics – study competitors, gather requirements, create prototypes in Figma. Output: technical specification with user stories.
  2. Design – UI/UX with design system. Components are reusable.
  3. Development – write components with custom templates in local/templates/. Business logic in local/modules/.
  4. Testing – functional, cross-browser, load testing (up to 1000 requests). Critical bugs fixed before launch.
  5. Launch – deploy to production, monitoring via UptimeRobot, alerts in Telegram. Fixes for first 48 hours.

Multilingual support and redesign

Full localization via language files lang/ and SITE_ID mechanism. hreflang for each version. Regional versions with different prices and content – IP detection (main.geo) or manual selection. Multidomain – unified management of multiple domains.

Redesign without losing rankings: performance audit (PageSpeed, WebPageTest), SEO (Screaming Frog). New template in local/templates/ with preserved URL structure. 301 redirects only if URL changes significantly. Kernel update, migration to D7 ORM, infoblock restructuring, migration via sprint.migration with Git.

Guarantee and support

We have been working with 1C-Bitrix for 12+ years, completed 500+ projects. Certified developers on staff. Fixed price in contract – no surprises. Warranty period covers code errors. After warranty, subscription packages with SLA (response time 2 hours, resolution 8 hours). 24/7 availability monitoring, alerts in Telegram. Get a consultation and preliminary estimate: contact us via the form on the website or chat – we'll respond within an hour. Order turnkey development – we'll design infoblocks, integrate 1C, and speed up the catalog. If you already have a site on another CMS, order a performance audit and migration to Bitrix.