Our solution won the last SAP SMB Summit 2020 Hackaton in Palma de Mallorca, and has it has been designed to provide a digital transformation to widen and to improve services offered by a garden maintenance company.
The main goal was to separate the application from the backend system, by inserting SAP Cloud Platform services as middleware between the tools.
With various building blocks and sensors available we decided to employ a camera and, thanks to the new partnership with Microsoft Azure, process its images through Azure Computer Vision to obtain specific tags.
Those tags based on the images will be used to start an automated maintenance process.
The interaction between the backend system, the customer and the operators is s fully automated:
- The process starts when the cameras detects lawn deterioration
- A chatbot sends a request to the customer using Facebook Messenger to handle the request
- The customer is allowed to manage the request by either accept, edit or reject the intervention.
- If it is accepted, the chatbot creates a new service order on the backend via Odata passing through a NodeJS Script on the SAP Cloud Platform
- At the schedule date, a gardener operator will be sent to carry over the gardening task
- IFTTT with geolocalization updates the service order with the information about the start and end of the intervention based on the gardener position
- The gardener is able to modify and add additional tasks to the service order using Amazon Alexa, handsfree
- The process is completed when the gardener leaves the area. The service order is released and an invoice is created for the customer.
- The customer is able to check and manage the interventions by using a dedicated SAP Fiori App.
Technologies used
CLOUD Services
- SAP Business ByDesign
- SAP Cloud Platform – CloudFoundry
- SAP Fiori App – Fiori Elements
- SAP Conversational AI
- Microsoft Azure Computer Vision
Other Tools
- NodeJS – to interact with the BackEnd system using Odata Services
- Amazon Alexa Skill – to manage the interaction between the gardener and the system
- Facebook Messenger – to manage the conversation with the ChatBot
- IFTTT – geolocalization service
Solution Architecture
Microsoft Azure Computer Vision – process start
The cameras analyze the lawn sending the images to the Microsoft Azure Computer Vision Service. The service is able to determine the ‘Dominant Color Foreground’ by checking that the lawn color is Green.
In case a different hue is detected, means that a maintenance service is required and the customer needs to be notified.
SAP Conversational AI – ChatBot
A Chabot message is triggered when the Azure Computer Vision detects bad conditions of the lawn and a new message is sent to the customer via Facebook Messenger.
The customer can interact with the Chatbot that will be able to reschedule the intervention to satisfy all the customer’s needs.
At the end of the process, the chatbot creates in real-time a new service order in the backend though the OData Service provided by SAP ByDesign and provide a feedback to the customer with the order reference (in this case the order ID 760).
The service order contains all the customer’s details, the intervention’s date and the required services agreed with the customer.
As the order is created real-time in the backend system, it is possible to provide additional order details to the customer like the total cost and time of the intervention, the number of gardeners required and also the chosen ones, the list of tools and so on…
NodeJS – Scripting Language
To separate the backend form the rest of the architecture, a NodeJS middleware is published on the SAP Cloud Platform-Cloud Foundry and handles the communication between the backend system and all other involved devices or cloud services.
This allows to switch to another backend system by simply adjusting the involved communication services.
SAP Fiori App – Fiori Elements
SAP Fiori elements provide a framework for the most common application patterns.
We’ve used this technology to provide a simple application to the user to interact with the system, to make it easy to create new fiori applications code-free with just a few configuration steps.
SAP Fiori elements ensure design consistency and compliance with the latest design guidelines, while reducing the amount of frontend code needed to build SAP Fiori apps.
With this tool, the customer is enabled from any device to check, modify and create service orders as well as checking service history.
IFTTT – geolocalization
To further minimize the user input, geolocalization services are used to detect the start and the end of the activities by tracking the gardener’s position.
When the gardener reaches the customer’s house, IFTTT triggers a new event that add/edit a service order item line and in the same way, the order is closed when the gardener leaves the area.
SAP ByDesign – OData Services
To manage all the entire process no customization has been done on the backend system and we used the standard OData Services provided by the system to handle the service orders and display the related information.
Wrap up
It was impressive to realize that with a few hundred lines of code and few cloud service configurations, we were able to implement the entire solution as well as the ability to easily replace the backend.
To do this, it is only necessary to replace the two OData services provided by ByDesign in the NodeJS script hosted in the Cloud Foundry and all the rest is reusable.
This approach shows how easy it is to interface different platforms (even from different providers like in this case SAP, Microsoft and Amazon) and adjust their scalability as well.
Original Article:
https://blogs.sap.com/2020/03/18/smart-gardener-alteaup-hackaton-palma-de-mallorca-2020/