Security Company Website Development on 1C-Bitrix
A private security company website is not a brochure — it's a trust instrument. Potential customer arrives with specific task: protect warehouse, office, construction site. They seek license confirmation, clear service list, and ability to quickly calculate budget. On 1C-Bitrix all this is assembled via info blocks, sale module for calculator, and personal cabinet components giving client real-time control over protected sites.
Security Services Catalog
Private security services are heterogeneous: physical security, central monitoring, video surveillance, access control, cargo escort, fire monitoring. Each direction creates info block element with property set:
- Service Type — list values (physical, monitoring, technical, comprehensive)
- Description — detailed text field with HTML editor
- Object Applications — binding to object type reference (warehouse, office, mall, private house)
- Certificates and Permits — file properties for PDF documents
- Icon and Cover — for cards on main and in catalog
Info block configured with faceted index for filtering by service type and object type to work without lag even with dozens of elements. On front — cards with brief description and CTA "Calculate Cost" leading to calculator.
Protected Objects: Portfolio Without Data Leaks
Security company cannot publish addresses and details of protected sites — direct contract violation and security threat. But portfolio needed for competency proof.
Solution — separate "Objects" info block with controlled detail:
- Object Category — "Warehouse Complex 12,000 m², Moscow Region"
- Protection Period — "from 2019 to present"
- Service List — binding to services info block
- Depersonalized Photo — without identifying features, processed
- Customer Review — with position, without full company name (if NDA)
Front filtering: by object type, service, region. Cards compact — main task not to sell specific object, but show scale and experience.
Licenses and Certificates
For private security company, licenses section — legally mandatory. Visitor should see:
- Private security activity license (Ministry of Interior)
- Fire and Video Surveillance Installation Permits (if applicable)
- ISO Certificates, Professional Association Membership
- Employee Certifications (general qualification information)
"Documents" info block with typing (license, certificate, permit, membership), issuance date, validity period, and scan file. On front — tile with document preview and link to full-size scan. Cron agent checks expiration and notifies administrator 60 days prior via mail events.
Security Cost Calculator
Calculator — key conversion element. Client selects parameters, gets approximate cost, submits application. Logic:
| Step | Parameter | Implementation |
|---|---|---|
| 1 | Object Type | Dropdown from reference |
| 2 | Area / Post Count | Numeric field with validation |
| 3 | Protection Mode | Radio buttons: 24/7, day, night, weekends |
| 4 | Additional Services | Checkboxes: video, access control, panic button |
| 5 | Result | Monthly Cost Range |
Calculation on server via AJAX handler. Coefficients stored in separate info block-reference, letting manager adjust rates without programmer. After calculation — application form with pre-filled parameters, creating lead in Bitrix24 CRM or deal in crm module.
Central Monitoring Station Integration
CMS — core of monitoring security. Website integrates with monitoring systems (Mirage, Atlas, Elesta) via API or intermediate database. Integration solves two tasks:
- For Client — object status display in personal cabinet (under protection / disarmed / alarm)
- For Operator — doesn't duplicate CMS, but displays client object summary
Technical link: cron agent queries CMS API, writes states to highload-block, personal cabinet component reads from highload-block. Delay — up to 60 seconds, acceptable for information display (operational response goes through CMS directly).
Personal Cabinet with Object Monitoring
Personal cabinet — what distinguishes serious security company website from template business card. Client logs in (user group "Security Company Clients" with limited access) and sees control panel for their objects.
Cabinet Architecture on Three Highload-Blocks:
- HL_Objects — client objects (address, type, service binding, user binding)
- HL_Events — object events (arming/disarming, alarms, technical failures)
- HL_Reports — monthly reports in PDF (auto-generated or uploaded by manager)
Highload-blocks chosen over usual info blocks due to data volume: large security company has thousands of events daily, usual info block starts lagging on selections. Highload-block with ORM queries via D7 works stably.
Cabinet Panel Includes:
- Objects List — table with current status (green/yellow/red indicator), address, protection type. Filter by status and type.
- Object Card — detail page with event history for selected period. Table with pagination, filters by event type and date. Charts — alarm count by months (Chart.js, client-side rendering from component JSON response).
- Alarms Section — separate tab with alarm events. Sort by date, group by object. "Reviewed" mark from client side — written to highload-block.
- Reports — PDF report list with download option. Access rights via report-to-user binding — client sees only their documents.
- Requests and Appeals — feedback form bound to object. Creates CRM request or support ticket.
Cabinet Security — critical. Standard Bitrix authorization with enhanced settings: password complexity minimum 12 characters, lock after 5 failed attempts, session binding to IP, two-factor OTP authentication (module security). All highload-block requests pass ownership check — prevents horizontal privilege escalation.
Notifications: on alarm event client gets email and SMS (via SMS-provider, connected to messageservice module). Templates configured in mail events with object data substitution.
Cabinet doesn't replace mobile monitoring app, but gives client single entry point: check status, download report, submit request — without manager call.
Development Stages
| Stage | Content | Timeline |
|---|---|---|
| Analysis | Service structure, calculator logic, cabinet requirements, CMS API access | 2 weeks |
| Prototyping | Cabinet wireframes, calculator, service catalog | 1 week |
| Design | Key page mockups, UI-kit, mobile version | 2 weeks |
| Frontend and Markup | Adaptive markup, calculator JS logic, cabinet charts | 2 weeks |
| Backend | Info blocks, highload-blocks, cabinet components, CMS integration | 3 weeks |
| Content and Testing | Population, access rights check, load testing | 1 week |
| Launch | Deploy, monitoring, manager training | 3 days |
Total: 10–12 weeks for full-featured website with personal cabinet. Without cabinet — 6–7 weeks.







