Connect(); 2017: SmartHotel360 Demo Apps and Architecture

Last month we hosted Microsoft Connect(); in New York City. Connect(); is a three-day, in-person and online developer event. If you missed it, no worries! You can watch our keynotes, sessions, and on-demand videos on Channel 9.

For the past five months our keynote demo team worked on a new set of reference apps. We used most of these apps and Azure backend for our keynote demos. As every year, today we are delighted to share the availability of our newest reference sample apps and Azure backend: SmartHotel360 in GitHub.

SmartHotel360 is a fictitious smart hospitality company showcasing the future of connected travel.

Their vision is to provide:

Intelligent, conversational, and personalized apps and experiences to guests

Modern workplace experiences and smart conference rooms for business travelers

Real-time customer and business insights for hotel managers & investors

There’s never been a better time to be a developer. Our intent with these set of reference apps and Azure backend is to show developers how to get started building the apps of the future, today!

The heart of this application is the cloud – best-in-class tools, data platform, and AI – and the code is built using a microservice oriented architecture orchestrated with multiple Docker containers. There are various services developed in different languages: .NET Core 2.0, Java and Node.js. These services use different data stores like SQL Server, Azure SQL DB, Azure CosmosDB, and Postgres.

In production, all these microservices run in a Kubernetes cluster, powered by Azure Container Service (ACS) as shown in the accompanying architecture diagram.

Websites

SmartHotel360 has multiple apps that share a common Azure backend, including a public website where hotel guests can book a room, smart conference rooms, and even include their accompanying family travelers and their pets! The site was built using ASP.NET Core 2.0. We published the SmartHotel360 Public Website code in GitHub and a few simplified versions on our demo scripts as well.

For hotel managers, we built a simple Node.js website to analyze customer sentiment from Twitter by using Text Analysis Cognitive Services APIs. This website was built with Visual Studio Code and we used multiple of our newest extensions for Cosmos DB, App Service, Azure Functions, and Docker for Visual Studio Code and Azure to build this app. You can find this app at our Sentiment Analysis GitHub repo.

Mobile and Desktop Apps

Travelers are always on the go, so SmartHotel360 offers a beautiful fully-native cross-device mobile app for guests and business travelers built with Xamarin. In this app guests and business travelers can book rooms and smart conference rooms as well as customize room temperature and lighting settings. The mobile app is available in iOS, Android, and Windows.

We also built a desktop app. This is a version of the SmartHotel360 Xamarin app. With this app, travelers can adjust the temperature and lighting settings of their rooms and find nearby recommended places to go, like coffee shops. All based on deeply personalized preferences.

Travelers need quick access to their rooms. What if we can provide an automated way to have them go straight to their room when they get to the hotel? We used the power of mobile development with Android and NFC to provide this experience. We included NFC access from the SmartHotel360 traveler application and we also created a digital door application to check-in and open your room. All you need is to tap your phone on the digital door. No need to get a key from the lobby.

For hotel managers and maintenance crew, we built a maintenance iOS app and used Xamarin.Forms Native Forms. This is a great way to showcase how companies can modernize existing line-of-business apps with Xamarin. In this app, hotel managers and maintenance crew can get notifications of issues and resolve those directly from their mobile app.

You can also grab all the presentations, links to workshops and demos, and creative assets to host your own Re-Connect(); events, also available in our Connect-Event-in-a-Box repo on GitHub.

Our Microsoft Application Platform gives developers the power or Azure, our best-in-class tools, our data platform, artificial intelligence, and cross-device apps to start building the apps of the future. We hope you can use SmartHotel360 as a great learning resource to start building what you need today with any apps, any tools, and any platform.

Erika has been at Microsoft for 14 years. In her current role she manages a creative and energetic team of technical product managers for Developer Tools and DevOps building tier 1 event keynote and general session demos, reference content apps, and technical content to showcase App Innovation.