Перейти до основного вмісту

How often is customer support overloaded with the typical calls at a time when you can find a simple solution for even the most complex tasks?

Every day members of the YMCA of the North organization use the site, which has all the necessary information for them. Here you can find not only activities, preschools, or sports sections, but also summer programs and camps for children.

But how do organize this process? How to find the camp and the nearest bus, that can pick up a child at any time?

You do not need to call customer support and ask about the bus schedule and their location. A bus stop application created by IT Care & Jet.dev for YMCA of the North in minutes will help you find what you need.

The Bus Stops Map project was created in 2020 by the request of the Customer Service Center team of YMCA of the North in order to minimize customers' requests to the Service Center and provide comprehensive information to the parents about transportation services and child care services for Summer and Day Camps.


The functionality includes:

  • Map with pins, that indicate the position of transportation and child care services;
  • The pin bubble with location address and provided services;
  • Syncer, which pulls transportation and care products from the Personify DB with SQL procedures and updates availability;
  • Filters and date selector.

What information does the pin have?

  • Name
  • Address
  • Services

You can use filters to find the service you need.


So how does it work?

The developers had a complex task: to take information about each camp and collect information about places the bus stops, which are located in the Personify CRM database, and then broadcast it on a map, that will be displayed on the YMCA website.


In addition, it should be understood that the camps are not stable, because each of them has its own internal data, geolocation, and busy hours, which may change. And managers need to have access to them.


But how to ensure automatic updating of information? 

So for that developers used CRON. This is a utility that allows users to execute commands or scripts automatically at a specified time.


Technical specifications


Drupal 8 (upd: Version 9)

Key modules/theme/distribution used: 

  • Drupal core modules (json API)
  • Contrib modules (Open Y Bussing)
  • Distribution Open Y

Why these modules/theme/distribution were chosen: 

  • Using the json API, we make a request and retrieve data from a resource that can be used for an application.
  • Contrib modules (Open Y Bussing) were created by developers special for this product.
  • Open Y was created to build many YMCA sites.

Technologies used:

  • React JS
  • PHP
  • Syncer


Personify DB Syncer for Specific Products (Busing and Before & After Care). Implemented with SQL procedures.

Cron configuration:

Cron is set up to run once in 1 hour.

QA tests:

Automation tests setup with Jenkins Pipelines perform general checks of the map page and compares all the map pins and products with the data displayed on the previous date.


The bus stops map solved several problems:

  • Collection and analysis of data on all bus stops;
  • Reducing the load on the customer support;
  • Quick opportunity to get all the necessary information on the website;
  • The ability to apply filters to find the needed service.


Try the Bus Stops Map to see how it works https://www.ymcanorth.org/camp-bus-care-locations