RCC adds RESTful web service; Legacy Vacation Resorts guests rest easier with new self-check-in
RCC has been at the core of the resort and hospitality business for over 30 years. The RCC Resort Management Solution is used by vacation property owners to run their business operations, offering features for all property management needs, including reservations, contracts, sales analysis, and many other facets. The RCC software is developed with Synergy/DE, a software development and deployment platform from Synergex.
Legacy Vacation Resorts (LVR) is an RCC customer that offers family-friendly and sustainable travel experiences across Florida, Colorado, New Jersey, and Nevada. Like many businesses in the travel industry, LVR was hit hard by the worldwide shutdown caused by the COVID-19 pandemic. As they explored ways to make their travel experiences safer and more comfortable for their guests, one area of concern was their check-in process. Upon arrival at their destinations, guests had to spend time interacting with LVR’s front desk agents: confirming their reservation, discussing upgrade options, paying fees, and more. To minimize this interaction, LVR decided to move this check-in process to the web, and they asked RCC to add a web-based self-check-in feature to the RCC solution.
This request brought an exciting challenge to RCC. Their solution had evolved over many years of meeting customer needs, and they already provided web access to RCC logic and data for some customers, including LVR. But RCC and LVR had concerns about the existing web-access solution, as it used proprietary technology. Both companies wanted a more industry-standard solution, and this project would provide the perfect opportunity to accomplish that. Now the question was not just how to provide better web access, but also how to bring RCC up to today’s technologies and provide a foundation that would support future demands for access.
"When Covid-19 hit, we knew we had to react quickly to do whatever we could to make our guests feel safer visiting our resorts. We wanted to empower our customers with the ability to check in on their own and reduce the time they spent engaging with our staff. Partnering with RCC on this project allowed us to be nimble when the unexpected hit."
Tony Picciano, President, Legacy Vacation Resorts
Goals
RCC’s goals for this project were twofold:
- Deliver a modern, web-based self-check-in for LVR that would meet their functional requirements.
- Lay the foundation for access to RCC functionality, RCC UI modernization, and reduced delivery time for future RCC projects.
Solution
Identifying the right technologies
These goals necessitated a flexible, scalable back-end solution, created with industry-standard technologies and practices, that would provide secure access that is easy to consume. In other words, RCC needed to create a RESTful web service with an OData-compliant API:
- RESTful web services enable you to expose data and logic optimally over the web—i.e., without maintaining application state.
- OData APIs enable you to expose data via URLs instead of having to code API endpoints for every possible access variation. Like SQL for relational databases, OData access can be configured to enable web service consumers to query exposed data. With a well-designed OData API, requests for additional functionality are minimized.
- Non-proprietary technologies provide the type of access front-end web developers are accustomed to, and they eliminate the performance and scaling bottlenecks that often result from aging proprietary technologies.
While there are many technology options for creating RESTful web services, RCC had an easy choice. Since the RCC solution uses Synergy data and is written in Synergex’s Synergy DBL language, RCC looked at Synergex’s Harmony Core framework to see if it would meet their needs. Not only does Harmony Core support multithreading, asynchronous processing, REST, OData, scalability, logging, and other current, relevant technologies such as .NET Core, it also provides native access to Synergy data, with mechanisms for incorporating existing Synergy logic, both local and remote. And a Harmony Core web service would be able to manage the complex business logic that RCC needed to compile data from many interrelated RCC files and ensure data integrity when writing RCC data with complex relationships. At the click of a button on a web page, the web service might return account information or subtract a payment from a customer’s loan amount. Either could involve calculations and data from several RCC files.
Migrating xfServerPlus solution to Harmony Core
As mentioned previously, the RCC solution already provided web access to LVR through a proprietary Synergex technology. LVR has a reservation website that uses Synergex’s xfServerPlus and xfNetlink products to access Synergy DBL routines designed to read and write RCC data. The clients send filter criteria, and the application server returns data or success status. But RCC wanted to move away from this proprietary protocol and open RCC access to non-proprietary clients to better support future data access needs.
RCC was able to start with the data access routines that it used with the xfServerPlus solution, but they needed to improve these routines to make them available and optimal for web service access. They needed adjustments to accommodate requests from the new UI, such as adding fields. Also, RCC’s Synergy repository lacked information required for some data relationships supported by Harmony Core, so the team addressed those issues.
Implementing new web service with Harmony Core
After updating the existing data access routines to prepare them for the new solution, the RCC team expanded those routines and added new routines as needed to meet the needs of the new web service and LVR’s web UI. They used OData controllers and a Harmony Core feature called “adapters” to expose the data and logic as OData resources. Adapters were used when custom code was required, for example, to ensure data integrity on routines that update data. And controllers were used for direct OData access—that is, access that uses built-in OData operations (filters, queries, etc.)—for read-only operations, so the frontend developers could query data without requiring custom code (one of OData’s primary benefits). The adapters and controllers were code-generated using Synergex’s CodeGen tool and RCC’s Synergy/DE repository.
The team was able to use the RCC application’s existing security system by setting it up as part of the web service. As they did with the data access routines earlier, this entailed fitting existing code to web-friendly standards used by Harmony Core—in this case, JSON web tokens (JWTs). When a user logs in, a JWT is generated by the RCC application. The JWT is then cryptographically verified for all subsequent calls to the web service from that user. In other words, the token is passed between the client and the application by Harmony Core to make sure the user is allowed to do what they are trying to do. (You can annotate every Harmony Core call to specify whether security is required.)
Creating a modern web portal
In addition to creating the new web service back end, the project goals also required a modern front-end solution that would provide LVR users with a professional, intuitive, friendly interface. RCC engaged the Synergex Professional Services Group (PSG) to create the new web portal. While the RCC team worked on developing the web service, PSG designed and implemented the UI. They used Visual Studio to create an ASP.NET web portal, and they used the Postman utility and Swagger API documentation generated by Harmony Core to write and verify the API calls that the web pages needed to make.
Leveraging Synergex Harmony Core resources
RCC worked closely with Synergex’s Harmony Core team throughout their implementation to ensure they were using best practices and taking advantage of relevant Harmony Core features. Synergex provides frequent office hours as well as detailed documentation and training videos to help customers be successful. (Synergex’s Professional Services team can help customers who would like a higher level of assistance with their web service or other open-access project.)
The web client uses proprietary xfNetlink and xfServerPlus technology to access the RCC data and logic.
The new web client accesses RCC data and logic through the RCC application’s new standards-based Harmony Core OData layer, which includes adapters, controllers, and the use of JWT security.
"The Harmony Core framework provided the ideal technologies and tools for this project, and our collaboration with Legacy inspired our design and helped us lay the bricks to build a successful outcome."
Bill Hawkins, RCC Application Architect
Outcome
After about two person-months of work on the back end and another two months on the front (including addressing new client requirements), the RCC team delivered the new web portal to LVR.
Now, before a guest arrives at an LVR resort, the RCC application emails them a link to self-check- in. When they link to the web portal, it walks them through the process, including
- Having the owner confirm their reservation
- Offering a room upgrade and, if upgraded, calculating and applying the upgrade fee
- Asking if the owner wants to make a donation to offset environmental impact
- Displaying and accepting terms and conditions, collecting any fees due, and emailing a confirmation.
When the guest arrives at the property, they can comfortably socially distance and limit in-person interactions. They just show their ID and pick up the room key—no more extended check-ins with front-desk agents or waiting in line while other guests check in. Guests can get right to enjoying their LVR travel experience.
RCC was able to meet LVR’s requirements, and they were able to create a scalable RESTful web service with an OData API for the RCC solution, providing a foundation for future development for RCC customers.
What’s next for Legacy Vacation Resorts?
LVR plans to rework their pre-existing reservation website to give it a new UI and have it use the new RESTful web service. Not only will this enable LVR to get rid of the proprietary xfServerPlus/xfNetLink components of their solution, it will also enable them to streamline their deployment. They currently deploy a Synergy .NET application for the new web service and a traditional Synergy/DE application (.dbr) for xfServerPlus. When LVR updates the reservation site to use the new web service, they’ll be able to eliminate the traditional Synergy application from their deployment. Looking forward, LVR is also considering adding other web access features, such as a housekeeping module.
What’s next for RCC?
Now that the RCC solution includes a RESTful web service, RCC is well positioned (and excited) to assist customers with future data/logic access projects.