Configuring 1C:Fitness Club and 1C-Bitrix Exchange
1C:Fitness Club is an industry configuration for managing fitness centers, sports clubs, and studios: memberships, schedules, clients, finances. Integration with 1C-Bitrix allows moving membership sales and class registration online while keeping 1C as the main accounting system.
What needs to be synchronized
From 1C:Fitness Club to Bitrix:
- Service catalog (memberships, classes, personal training) — for display on website
- Class schedule — for online registration
- Remaining visits per membership for client account — for personal cabinet
From Bitrix to 1C:Fitness Club:
- New clients (on website registration)
- Membership purchases (orders with payment)
- Class registrations
Integration mechanism
There is no standard CommerceML in 1C:Fitness Club. Integration is via HTTP services of 1C or Web services of the configuration, or direct database access (only on one server, not recommended).
From Bitrix side — custom modules: agents for periodic synchronization and event handlers for instant actions (new order).
Service catalog synchronization
Services from 1C:Fitness Club → Bitrix infoblock. Fields for mapping:
- Service name → infoblock element name
- Membership validity period → "Period" property (number of days)
- Number of visits → "Visits" property
- Price → price type in
b_catalog_price - Applicability (direction, hall) → list property
Synchronization on schedule: agent hourly checks for changes in 1C and updates the infoblock.
Online schedule
Schedule of classes is the most specific part of integration. In 1C:Fitness Club, schedule is a separate entity with its own structure. In Bitrix, it needs to be presented either via:
- "Schedule" infoblock (element = class, properties: date/time, hall, trainer, seats available)
- Custom component with AJAX loading of schedule from 1C in real-time
The second option is more accurate (actual data without cache) but loads 1C. The first is simpler but requires frequent synchronization (every 5–15 minutes for upcoming classes).
Membership purchase via website
When ordering on the website (membership selected, payment processed):
- Hook on
OnSaleOrderSavein Bitrix captures the order with "Paid" status. - Send request to 1C HTTP service: create membership sale for client.
- 1C activates the membership, returns membership ID and validity period.
- In Bitrix save in user profile (
b_user_fieldor HL-block "Memberships"): 1C membership ID, period, remaining visits.
Client personal cabinet
In the personal cabinet on Bitrix, display data from 1C: current membership, remaining visits, visit history. Data is loaded via AJAX request to Bitrix, which proxies the request to 1C HTTP service or uses local cache (updated by agent).
Class registration
When registering online:
- Customer selects a class from the schedule on the website.
- Click "Register" → AJAX request to Bitrix.
- Bitrix sends request to 1C: register client for class (deduct visit from membership).
- 1C confirms registration or returns error (no seats, membership invalid).
- Bitrix shows result to client.
Timeline
| Scale | Composition | Duration |
|---|---|---|
| Service catalog synchronization | Agent + infoblock | 2–3 days |
| + Online schedule | Component + synchronization | +3–4 days |
| + Membership purchase and activation | Hook + 1C HTTP service | +3–4 days |
| + Online registration | AJAX registration + personal cabinet | +3–4 days |







