Maximoster-creation and development of sites and online stores on 1C-Bitrix, Symfony, technical support, website promotion, hosting
Zenit football club sales system
The Zenit football club is part of the ten most popular clubs in Europe, while at the same time the most popular team of the post -Soviet space. In Russia, 15 million fans support blue-white-blue.
Zenit is the owner of 18 trophies: Russian Champions Cup (1984, 2007, 2010, 2012, 2015, 2019), National Cup (1944, 1999, 2010, 2016) and Super Cup (1985, 2008, 2011, 2015, 2016), 2016) Premier League Cup (2003), UEFA Cup and UEFA Super Cup (both-2008).
The General Sponsor of the Club is Gazprom Public Joint -Stock Company.
The goals and objectives of the project
Initially, the purpose of the project was to implement a website on which a user from any device could easily find information about the matches conducted by the club. Each fan was supposed to be able to purchase a ticket for any match of the team without the need for a visit to the client office, as well as the opportunity to purchase seasonal subscriptions for the team football matches. The key aspect of the new site was to be the possibility of further expansion of functionality, because The previous version of the site did not satisfy this criterion, the developers simply physically did not have time for business ideas.
The project we implemented turned out to be successful, and over time its goals began to expand. The site was supposed to become a system that would allow the maximum number of offline sales to online, not only for football matches, but also for many other types of events, as well as provide additional services to help with fans as before the event, so And at the time of its implementation.
Performed work
Interaction with the user
The first version of the project was implemented back in 2013. The design corresponded to the corporate style of that time and met the then requirements for the design of the modern site. He provided a convenient interface for the user, the main task of which was to draw a fan through the main funnel, starting from familiarizing themselves with current events through the sector and place to the basket and payment procedure.
During our cooperation, the project has successfully survived two redesignes, gradually experiencing the third. Over 3,000 tasks from the customer were adopted and processed with total labor costs of more than 20,000 human hours as of October 2021.
Ticket system
Our main task was then to think over and implement the close integration of the project with the TicketNet ticket system – the main system for managing the cash desks, events and the sale of tickets used at the Petrovsky stadium, where the football club was based at that time and held home matches.
Since TicketNet did not have all the necessary data for the sale of matches, it was necessary to organize a superstructure over it, which expanded the essence of TicketNet with additional data necessary for the work of the future site. But since the central system was TicketNet, we needed to implement the mechanisms of synchronization of the general data between the system being developed and TicketNet.
Since the launch, this integration has undergone a huge number of changes. Over time, the number of processed data increased. The frequency of contacting the service has increased. There were also problems that had to be solved. The capabilities of TicketNet are limited by scaling, so I had to think about the restructuring of the entire process of interaction with the system. Several layers of data caching were introduced, which was updated both in time and in business scenarios. Mechanisms for monitoring the availability of a web service were implemented, which automatically block the process of selling tickets in situations when the web service stopped working for unknown reasons. Administrators have the possibility of managing a list of connections. Logging of all metabolic processes made it possible to monitor the viability of the service and make operational decisions in emergency situations.
The Unified Center for Authorization
Another important feature of launching a new project was integration with another external system. The site for the sale of tickets is not the only project of the club. There is also the main site, online store, blogs, forums and many more sites. Fans interact with each of these sites. The club has a centralized storage of all user accounts that provided the API for the processes of authorization, registration, extracting data from its account. In order to be able to replenish this system with data about new fans, and also not to force the existing to register again, integration with this service was developed. This gave users the opportunity not to think about registering and authorization on each of the resources. It was enough to register and log in to one of them to be authorized everywhere.
Over time, the processes of authorization and registration were improved. The functions of authorization through various social networks, two -factor authentication with confirmation through SMS were introduced. And the exchange of features of a ticket system with a single center allowed other football projects of the club to expand their services and provide more convenient functions for fans.
The map of the venue
One of the most technological public pages is the map of the venue. At the time of the start of the project, a unique map of the venue existed only for one venue – the Petrovsky stadium. At the moment, the project can boast of the support of six unique places – Gazprom Arena, Parking Gazprom Arena, SK Yubileiny, KSK Sibur Arena, SK Petrovsky, Malaya Arena Petrovsky SK.Some of the cards have additional variations that allow online sales of various events – online broadcasts of away matches, concerts, international forums. The number of supported configurations is growing every year and will continue to increase, which will allow the club's management to use their venues for various purposes.
Each card is unique in its own way. Each venue has its own rules for holding events. Moreover, each event at each site can also have its own rules of conduct, which should also be reflected on the map in the web interface in order to improve the user experience.
In order to conveniently navigate through the stadiums, a set of filters has been developed that allows you to select only those sectors that correspond to the wishes of the fan. In the context of strict requirements for the relevance of data, their personalization and the presence of a large number of places, filtering the list of sectors becomes an extremely non-trivial task, which we successfully coped with.
Sector Map
Each sector provides the fan with information about the seating chart. It is extremely important to display up-to-date information on this diagram in order to prevent the buyer from purchasing those tickets that have already been purchased offline, or by other buyers.
On the sector diagram, the user can see those places that are available for sale at the current time and that meet the selected filter criteria.
The scheme is fully synchronized with the club's software, which allows you to have an identical card and manage it from a single center.
Checkout
To create an order, each visitor uses the shopping cart page, which will display all possible club products in a simple and understandable form, from regular match tickets to exclusive author's excursions. Along with the purchase of a ticket, the user can purchase one of the pre-installed additional services. For example, when buying a ticket, you can organize the purchase of a parking space for your car.
To pay for the order, the user can use Gazprombank's acquiring or the Yandex.Checkout payment aggregator, with which the project is integrated.
After payment, the buyer receives a letter and a PDF document containing information about the purchase made, as well as an electronic receipt that confirms the fact of payment. Each product for each event can have its own unique PDF ticket, which is generated by the site based on the rules.
Loyalty program and privileges
The club has its own centralized loyalty program. Purchases made in the club's online store affect the discount received when purchasing tickets, and vice versa.The project fully implements the possibilities of the loyalty program, giving fans the opportunity to receive privileges in all scenarios of the purchase of club products.
The club’s products did not pass by the VIP. A whole section was developed, which allows you to get information about hospitality packages at the stadiums of football and basketball clubs in a convenient form.
Administrative panel
For this kind of project, there were not enough capabilities of the default control panel, which led to the need to expand existing administrative tools and develop new ones. Many new administrative tools have been developed, which include both additional opportunities for managing existing entities and completely new tools.
Here, the functionality is presented for every taste and color, starting from the most modest requests like the implementation of the payment report and ending with an exclusive mechanism for the reconciliation of funds directly with Gazprombank data. Consolidated reports for each match, summary reports for receipt of funds from different payment systems, mechanism for managing promotional codes and discounts, designer PDF templates, mechanisms for returning tickets and subscriptions, summary information about measures from third -party systems, polls management mechanism, and checking cash reconciliations with payment systems and CRM. This is only a small part of the completion of the administrative panel.
All administrative tools are delimited by user roles with pre -installed powers that are worked out specifically for this project.
Technological platform
- The project is built on the PHP using the Symfony Framorka, and the basic administrative interface is implemented on CMS 1C-Bitrix. Since the launch of MVP in 2013, the principles of building the source code were revised in accordance with modern trends. Initially, the product was built according to the principles that are laid down in the CMS 1C-Bitrix, but at the moment, due to its restrictions, we have left these principles and move towards constructing the REST API for Single Page Application. We try to bring the code into line with the patterns of strategic design Domain Driven Design.
- The assembly of Frontened project code is carried out using Webpack. The main part of the logic is written on jQuery, in the process of redesign we move towards React/Redux, gradually replacing the old code with a newer, improving the technological platform. The entire site is fully adaptive in the resolution range from 320 to 1200px and uses different markings for mobile and desktop devices.
- Almost every service on the project is equipped with a logistics mechanism. Every day, the project records the gigabytes of logs, collecting information about the state of the system that are aggregated in Zabbix and Kibana.
- The project has configured warning politicians about critical situations, and in some cases has the opportunity to self -heal and continuous work even in the case of very critical failures.
- The project infrastructure includes the following technical tools – nginx, php-fpm, mariadb, redis, memcached, rabbitmq, docker, elasticsearch, logstash, kibana, zabbix.
Integrations
- To be successful, a site must communicate with multiple systems, supporting multiple scenarios. The closest integration is made with the TicketNet system. Almost any manipulations of the user in the process of passing through the sales funnel are somehow related to this integration.
- Integration with the web service of the Unified Authorization Center allows the implementation of manual and automatic authentication mechanisms on all club sites. User profile data is regularly synchronized between club projects.
- Almost any significant visitor action on the site is recorded by an analytical system based on SAP CRM. The integration performed by us guarantees 100% delivery of the event to CRM.
- For payment on the site, official acquiring gateways of Gazprombank and Yandex.Checkout are used, with which close integration has been established both in terms of payment and fully automated refunds.
- To ensure compliance with FZ-54, immediately after the payment is made, an electronic receipt is printed using integration with Atol.Online.
- Integration with the discount program allows users to use the privileges of their discount cards when buying tickets.
- Integration with Google Analytics and Yandex Metrika allows you to conduct additional tracking of visitor activity and the ecommerce component of the project.
- Integration with Sendsay made it possible to guarantee the delivery of transactional letters about the creation of an order and to keep analytical records of them.
Results of the project development
Today, FC Zenit's ticketing site is the leading solution in this market and provides opportunities that other clubs would like to implement. The site is fully adaptive, works in two languages and performs the tasks assigned to it, ready to solve new ones.
The total labor costs for the project amounted to more than 20,000 man-hours as of October 2021