This guide explains how you can include your views into the apaleo user interface. This allows users to see information or even trigger actions in your product. You can let them generate access keys, send emails, see the guest's loyalty status, display rate recommendations, or videos of little puppy dogs - anything, really. It works best, when you already have an API-integration in place, as that allows you to look up additional data for the context you are in (like, the guest's name).
In the apaleo UI, there are well-defined places, targets, where you can put your content. Each of them has a specific size, and can forward specific data to you application.
|PropertyDashboardCard||min. 340 x 350||propertyId|
Want something else? Let us know.
Technically, those placeholders are iframes. This has the benefit that you can use whatever technology to create this page. Server side generation of pages or client side rendering? Up to you. "Wait," we hear you say, "you said iframe? Is that secure?" It sure is, and we'll get to that later.
For the rest of the guide, we'll use the additional tab on reservations as an example.
The apaleo component used for the UI integration is the integration service, which you can find on https://integration.apaleo.com. Because we are using plain old iframes, all that is happening, is that the UI is using the URL you configured as the source attribute.
Integration is turned on or off per apaleo account, by calling
This allows to:
- Toggle visibility, and only show it to your customers (or even specific customers)
- Link the apaleo account to the account / tenant on your side
- Have different URLs per account
You can specify a label and icon, which are displayed on tabs, the URL, and they type. For the type, please always specify 'private'. Early beta, you know.
When no URL is configured for a specific apaleo account, no content will be displayed. This is what you want, but don't forget to configure the integration every time a new connection is made. Because manual work is for non-lazy people, and remembering to do something is error-prone, you should plug that into the connect flow.
Now, if you would just configure a plain URL, and we would display it, that would not be secure at all. To fix this, you need to configure an endpoint which is generating and returning a secure URL. This URL should include a timestamp until which this URL is valid. Then the integration framework will know when to request a new one.
This is the format we expect as a response from your secure-URL endpoint:
When constructing the secure URL, you can go wild and implement whatever security magic you want, but we recommend to do at least these:
- Use https
- Use a reference token to identify the account, not a plain text ID (neither from your, nor from our side). This can be a signed JWT which you'd recognize, or some long random string (like a GUID) which you map in your database.
When calling the final URL, apaleo appends the data to the URL, as a query parameter. Check the table of availble integration targets to see which data that is.
We would recommend to develop your apaleo UI snippet as a separate page, and not just include a page or view from your prodcut. That way you can style it differently, and optimize the content. The downside is that it might be out of sight and out of mind, and break without you noticing. Make sure to include it in your tests.
Make it clearly visible, that this is your content and not apaleo's. You should get the fame for what you built – and the support tickets, too.
The apaleo UI is responsive, and works from phones to giant screen. Many hotels still have old and non-high-res screens standing around, take that into account when designing and building your UI. As font, we use Roboto, background is white, text is black and sentence case. We usually don't do bold, italic or all-caps. Our brand new branding is using #363942 (grey), #5C832E (green), #382513 (brown), #D9CBA8 (sand), #2C8693 (blue) and #F19721 (orange), where the last one is the primary color for buttons. The layout is Material design-ish, and we also use their icons.
You don't have to use the same style as we do, but we think the users would be happy, if it is not looking completely different. So would Nadia and Dmitry, and if you want to, they can do a quick review of what you built.
Posted byAndrea Stubbe