Interactive Chessboard Floor Plan for Developer's Website on 1C-Bitrix

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
Interactive Chessboard Floor Plan for Developer's Website on 1C-Bitrix
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
    1356
  • 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
    828
  • 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
    1073

Build a Developer's Website on 1C-Bitrix with Chessboard Layout

The average real estate sales cycle is 2–4 months. Buyers return to the website 8–15 times: comparing layouts, monitoring construction progress, calculating mortgages. If the site doesn't address these needs, the prospect turns to a competitor with a working chessboard. Our experience shows that proper data architecture and interactive tools boost conversion by 30–40%. A chessboard is twice as effective as a tabular catalog, generating 2x more leads.

The key technical feature is the interactive floor plan (chessboard). It's not just a table but an SVG scheme where each apartment is clickable, color-coded by status, and linked to real infoblock data. The chessboard sets a developer's site apart from a templated catalog.

We guarantee your chessboard will be fast, adaptive, and sync with 1C. Certified Bitrix specialists ensure stability and security. Over 10+ years, we've completed 200+ projects for developers — from small residential complexes to portals for major developers.

How the Chessboard Boosts Conversion

The chessboard is a visual representation of floors and apartments within a building. Users see a building facade or floor plan, click on an apartment, and receive a card with price, area, and layout. Apartments are color-coded by status: green — available, yellow — reserved, gray — sold. A developer with a working chessboard gets 30–40% more leads than with a tabular catalog. This is proven across 200+ projects: average conversion with a chessboard is 5.2% vs. 2.8% without.

Why 1C Integration Is Critical

Developers manage apartment inventory in 1C:Enterprise. Prices and statuses are updated in 1C, and the site must reflect real-time data. Without integration, data is entered manually — leading to errors and delays costing up to 200,000 ₽ per month to fix. Integration is 10x cheaper than manual data entry, saving up to 200,000 ₽ per month. We offer three options:

  • Standard 1C-Bitrix exchange (catalog module) — via CommerceML. Works for prices, but statuses require mapping.
  • REST API — 1C calls endpoint /api/apartments/update-status/, sends JSON {apartment_code, status, price}. A controller on the Bitrix side finds the element by LAYOUT_SVG_ID and updates properties. Update time: under 1 second.
  • Periodic CSV export — 1C uploads CSV to FTP; a Bitrix agent picks it up every 15 minutes and parses it. Parse errors occur in ~2% of cases — acceptable for legacy 1C.

Data Architecture: Complex → Building → Apartment

The infoblock structure mirrors the physical hierarchy: a residential complex contains buildings (sections), a building contains apartments.

Infoblock "Residential Complexes" (or Highload-block if fewer than 50 complexes) — parent entity. Properties:

Property Type Purpose
NAME Complex name Title and SEO
ADDRESS S (string) Address, geocoding
COORDINATES S ("lat,lng") Map marker
STAGE L (list) Stage: design, foundation, construction, completed
COMPLETION_DATE S (date) Planned completion date
INFRASTRUCTURE S (HTML/text) Infrastructure description
DEVELOPER_ID E (link) Reference to developer company
GENPLAN_SVG F (file) SVG of territory master plan

Infoblock sections — buildings and sections. Each complex is a first-level section. Buildings are second-level sections within the complex. If a building has multiple sections (entrances) — third-level sections. This nesting allows using standard bitrix:catalog.section.list navigation without custom queries.

Infoblock elements — apartments. Each apartment is linked to its building section. Minimum property set:

Property Type Index Comment
ROOMS L (list) Facet Studio, 1, 2, 3, 4+
AREA_TOTAL N (number) Facet Total area, m²
AREA_LIVING N No Living area
AREA_KITCHEN N No Kitchen area
FLOOR N Facet Floor number
PRICE N Facet Price, ₽
PRICE_PER_M2 N Facet Price per m²
STATUS L Facet Available / Reserved / Sold
LAYOUT_IMG F (file) No Layout image
LAYOUT_SVG_ID S (string) No Apartment ID in SVG chessboard
FINISHING L Facet No finish / Rough / Fine
WINDOW_VIEW L No Courtyard / Street / Panoramic
DECORATION_IMG F (multiple) No Decoration photos (if any)

The property LAYOUT_SVG_ID is the link between the database record and the SVG chessboard file.

How the Interactive Chessboard Works

Follow these steps to implement a chessboard:

  1. SVG file preparation. The designer draws a facade or floor plan in Adobe Illustrator or Figma and exports to SVG. Each apartment is a separate <path> with attribute data-apartment-id matching the LAYOUT_SVG_ID property value. Naming convention: building-floor-number (e.g., K1-5-01). The format is specified in the technical specification. If the designer submits an SVG without attributes, the developer spends 2-3 days manually annotating it. Therefore, an SVG template with example attributes is provided to the designer before drawing begins.

  2. Inline SVG, not . The SVG is not embedded via <img>, but inlined directly into the page HTML. Reason: contents of <img src="plan.svg"> are inaccessible to JavaScript (cross-origin policy). Inline SVG becomes part of the DOM, and each <path data-apartment-id="..."> is accessible via document.querySelector. In practice: Bitrix reads the SVG file from the building section property and outputs its contents via file_get_contents() directly into the component template:

$svgPath = CFile::GetPath($arResult['SECTION']['UF_FLOOR_PLAN_SVG']);
$svgContent = file_get_contents($_SERVER['DOCUMENT_ROOT'] . $svgPath);
$svgContent = preg_replace('/<\?xml[^?]*\?>/', '', $svgContent);
echo '<div class="chess-board">' . $svgContent . '</div>';
  1. JavaScript: linking SVG with apartment data. On page load, the frontend receives a JSON array of apartments for the current building. JSON structure:
const apartments = [
  {
    svgId: "K1-5-01",
    id: 4521,
    rooms: 2,
    area: 58.3,
    floor: 5,
    price: 7200000,
    status: "available",
    layoutImg: "/upload/layouts/k1-5-01.jpg",
    url: "/zhk-solnechnyj/korpus-1/kvartira-4521/"
  }
];

function initChessBoard(apartments) {
    const svgContainer = document.querySelector('.chess-board svg');
    if (!svgContainer) return;
    const statusColors = {
        available: '#4CAF50',
        reserved:  '#FFC107',
        sold:      '#9E9E9E'
    };
    apartments.forEach(apt => {
        const el = svgContainer.querySelector(`[data-apartment-id="${apt.svgId}"]`);
        if (!el) return;
        el.style.fill = statusColors[apt.status];
        el.style.cursor = apt.status === 'sold' ? 'default' : 'pointer';
        el.addEventListener('mouseenter', () => {
            if (apt.status === 'sold') return;
            showTooltip(el, apt);
        });
        el.addEventListener('click', () => {
            if (apt.status === 'sold') return;
            showApartmentCard(apt);
        });
    });
}
  1. Tooltip on hover. On hover over an apartment, a tooltip appears with brief info: rooms, area, price. Tooltip position is calculated via getBoundingClientRect().

  2. Card on click. A side panel opens with full details: layout, room-by-room area, floor, window view, finishing, and buttons "Book" and "Download PDF". Data is already loaded — no additional AJAX request needed.

  3. Filtering on the chessboard. Above the SVG scheme, there's a filter panel: number of rooms, price range, area range. When the filter changes, JavaScript hides non-matching apartments by reducing their opacity to 0.1. Matching ones remain bright. This works instantly without server requests.

  4. Responsive SVG. On desktop, the SVG takes 100% container width. On mobile devices (<768px), the facade view is unreadable — we use floor-by-floor view where one floor fills the width, or pinch-to-zoom via the panzoom library. The first option is more reliable.

  5. Real-time status updates. When a manager books an apartment in CRM or 1C, the site status must change without reload. We use polling every 30 seconds: an AJAX request returns an array [{svgId, status}], and JavaScript updates colors. With 200 apartments, the JSON response is under 5 KB.

Technical requirements for SVG chessboard - The file must be pure SVG without embedded raster images. - Each apartment element must have a unique identifier in the `data-apartment-id` attribute. - Canvas size: no larger than 2000x2000 px for Retina compatibility. - Default fill colors should be neutral (e.g., #E0E0E0) so that JS can recolor.

Construction Progress: Photo Reports and Cameras

The "Construction Progress" section is mandatory for projects under construction. Infoblock "Photo Reports": each element = one report (date, description, multiple "Photo" property). Sections — buildings. Output — timeline, sorted by DATE_ACTIVE_FROM DESC. Drone video — string property with YouTube/Vimeo URL. Embed via <iframe> with loading="lazy". Webcam — <iframe> with stream from provider (Ivideon, Trassir). Embedded into the complex section template. Template caching is disabled for the camera block; the rest of the page is cached normally.

Mortgage Calculator with Bank Programs

Pure JavaScript. Highload-block "Mortgage Programs": fields BANK_NAME, PROGRAM_NAME, RATE, MIN_DOWNPAYMENT, MAX_TERM, IS_ACTIVE. On the apartment page load — AJAX request or inline JSON with active programs. Annuity payment formula: P = S × (r × (1 + r)^n) / ((1 + r)^n − 1), where S = price minus down payment, r = annual rate / 12 / 100, n = term in months. Interface: select bank → rate and minimum down payment are filled → three sliders (apartment cost automatically filled, down payment, term) → result: monthly payment, overpayment, total. Recalculated on every slider movement. This helps clients save up to 200,000 ₽ per year by choosing the optimal program.

SEO and Microdata

Meta templates via infoblock settings:

  • Title: Buy an apartment in #SECTION_NAME# — #ELEMENT_NAME#, from #PROPERTY_PRICE# ₽
  • Description: #PROPERTY_ROOMS#-room apartment #PROPERTY_AREA_TOTAL# m² on floor #PROPERTY_FLOOR# in #SECTION_NAME#. Developer #PROPERTY_DEVELOPER#.

Microdata — Schema.org Residence for the complex and Offer for the apartment:

{
  "@context": "https://schema.org",
  "@type": "Residence",
  "name": "Residential Complex "Solnechny"",
  "address": "Moscow, Stroiteley St., 15",
  "geo": {"@type": "GeoCoordinates", "latitude": 55.75, "longitude": 37.61},
  "makesOffer": [
    {
      "@type": "Offer",
      "name": "2-room apartment, 58.3 m², floor 5",
      "price": "7200000",
      "priceCurrency": "RUB",
      "availability": "https://schema.org/InStock"
    }
  ]
}

What's Included in Turnkey Developer Website Development

  • Analytics and chessboard prototyping
  • Infoblock and HL-block structure design
  • Integration with 1C and CRM (Bitrix24)
  • Mortgage calculator and booking form
  • PDF layout generation
  • Adaptive chessboard layout
  • Microdata markup and SEO templates
  • Staff training on site management
  • One month of post-release support

Stages and Timelines

Project Scale Timeline
One residential complex, 1-2 buildings, up to 200 apartments, basic chessboard 1-4 weeks
2-5 complexes, chessboard + construction progress + mortgage calculator + CRM 5-8 weeks
Developer portal, 10+ complexes, 1C integration, PDF, personal account 8-12 weeks

Timelines assume ready SVG chessboard files with correct data-apartment-id markup. If SVG needs to be created from scratch — add 1-2 weeks per building.

Development cost is calculated individually based on the scope of integrations. Request a consultation — we'll estimate your project in 1 day. Get a developer website developed with guaranteed results.

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.