Channel management is a completely outsourced functionality using beds24
The goal of the registration process is to offer our guests a customizable and flexible registration.
The process can be adapted to local legal requirements such as uploading certificates or different content granularity. In Germany, for example, you do not have to enter all family members as a guest. In Hungary you must provide all personal information such as ID card number.
The process is triggered by automatic actions by beds24. The booking will be confirmed by email. This email contains a link to the JobelHome platform. We call it "redirection" because it's like a general entry point for the guest. This cloud function calculates the current process status and what the guest needs to do.
If the registration is not yet completed, the guest will be redirected with all existing data (received from the booking channel) and must fill in all missing details.
Invoicing is triggered by beds24's auto action via webhook. Only the booking ID is transferred as a URL parameter.
The cloud function createInvoice is called.
First, the invoice data is created in a separate data collection. The origin of this data is the booking/registration data.
Multi property booking
If the booking contains multiple rooms owned by different owners, billing information will be created for each owner. When multiple rooms are booked by the same owner, the billing information will contain the room booking details as a collection, allowing each room to appear as a separate billing line on the bill.
Processing and monitoring
The processing meta information is saved. This is relevant in order to be able to find and fix possible errors. The external service is probably not available. Invoicing can be triggered manually multiple times by clicking on the Redo in beds24 auto action. The processing meta information is used to visualize the current status of invoice processing. If an error occurs, this is also saved so that the manager can check the reason for the error.
Country selection
We customize different online billing providers for the different countries. This implementation is always a separate module with a defined interface, so we can easily add new providers. The property address (country code) is used to select the correct invoice provider module.
Legal- or natural person
The property owner can be a legal or natural person. The generated invoice creates different invoices with different taxes and fees based on the rules of local tax authorities.
Invoice storage and download
When the invoice is created, we store it in secure Google storage. This file can be accessed via a URL. We use the Google privacy policy for this. Technically, this means that the files are not accessible by default. Access is only allowed for the download time.
If the billing process has been successfully completed, we will write the billed info code to the beds24 booking. This will trigger an automatic action to send the invoice email to the guest. The link calls the downloadInvoice cloud function with the bookingId as the URL parameter. If the invoice file is available, we trigger access to the invoice file and forward the call to the Google Storage resource. If an error occurs, we redirect the call to the error page and display the error to the guest.
In order to use Smart Control, a user and access code should be created for user before they check in. Also user should have a user group with them in order to have proper permissions and accesses. So these steps should be taken:
First of all, all user groups should be got from db.
Create user (First assumption: userId could be the same as BookingID then it could be found easier) and assign userGroup to them. Also validFrom and validUntil should be defined here then user (and Access Code which we talk about later) will be validated during this time. By this, before check in and after check out user has no access to anything neither in Web Interface nor with NFC touch pad.
No information in Documentation about how to assign password to user while creating, so password could be set after creation with another api.
With created user UUID, an Access Code could be created for user.
By these steps user has proper accesses and permission during the mentioned time and after check out it will be disabled.
First Assumption: User account could be removed after check out as no need to it and the information anymore after checkout.
Go to Loxone API documentation ...
...
Sources:
Google 2: https://youtu.be/58tCXW6MugQ
Klickmánia 1: https://youtu.be/_PJhQzxv7gE
Balazs Looker HU: https://www.youtube.com/watch?v=Wtwgg3KAedY