Difference between revisions of "Make"

From Beds24 Wiki
Jump to navigation Jump to search
Line 217: Line 217:
 
  '''Some bookings are not processed'''
 
  '''Some bookings are not processed'''
 
  Make sure to set the limit value in "watch bookings" high enough to allow Integromat to process all the bookings you expect to be in the data. If you leave it at 1, only the first booking in each trigger will be processed.
 
  Make sure to set the limit value in "watch bookings" high enough to allow Integromat to process all the bookings you expect to be in the data. If you leave it at 1, only the first booking in each trigger will be processed.
 +
 +
'''Only new/recently modified bookings are processed'''
 +
Make sure the "Choose where to start" option is set to "All"
  
 
== Disconnect==
 
== Disconnect==

Revision as of 01:36, 8 December 2021

Integromat
This page is about the menu  (SETTINGS)  APPS & INTEGRATIONS > INTEGROMAT and explains how to connect and what you can do with the connection.

To use this service you will need an account with Integromat.

For Beds24 the normal channel manger fees apply.

1 Capabilities

Within Integromat you can connect Beds24 to third party Apps and services. Beds24 will then send booking data to Integromat which will be passed on to the services you connected to

2 Limitations

3 Set Up

3.1 Beds24

  • Set up an Auto Action (SETTINGS-GUEST MANAGEMENT-AUTO ACTIONS) which selects the bookings which will be sent to Integromat. Set "Trigger Action" = automatic.
  • Select the Auto Action which you want to use for Integromat. The Auto Action must be created by the Account which owns the property, actions linked from other accounts cannot be used.
  • Tick the rooms for which you want to send bookings. Only bookings from rooms enabled for Integromat and which meet the trigger conditions in the Auto Action will be sent.
  • Create an apiKey of 16 or more characters and save it.
  • Choose your send strategy, bookings can be sent continuously, repeatedly, once only or after each modification.
  • A default set of booking information is sent to Integromat, this can be customized by specifying the fields you want to send, one per line at the setting "Data fields". See below for a set of all fields.

3.1.1 Send Strategy

The following options are available for the booking send strategy.

  • Once only - send the booking once and never again, even if modified.
  • Whenever modified - send bookings if they have been modified.
  • Repeated - send bookings repeatedly with the last modified time of the booking.
  • Continuously - send bookings repeatedly with the last modified time set to the current time. This will force Integromat to re-import the bookings with every read.

3.2 Integromat

  • Create an Integromat account at Integromat.
  • Search for the Beds24 App.
  • Connect the Beds24 App to your scenario and enter the apiKey you created and the Beds24 Property Id.
  • Select the trigger "watch bookings" and map the data into your scenario as you require.
  • Make sure to set the limit value in "watch bookings" high enough to allow Integromat to process all the bookings you expect to be in the data. If you leave it at 1, only the first booking in each trigger will be processed.
  • When prompted to "Choose where to start", select the "All" option.

3.2.1 Send template variables to Integromat

The advanced section of the Integromat connection form has eight template fields where you can enter Beds24 Template Variables.

The matching "template" data field must be specified in Beds24 as one of the Integromat data fields to enable the field. (template1 etc.).

The Template Variable will be calculated and it's value sent to Integromat with the booking.


Integromat provides list of developers who can help with integrations.

  • Make sure the Integromat App Limit can process the maximum number of bookings you expect to be sent for each trigger, especially if you are sending the bookings one time only, more bookings than the limit value will not be processed.

4 How it works

In Integromat you create a scenario which automates tasks for you. A scenario is comprised of a series of modules that indicate how data should be transferred and transformed between Beds24 and other apps/services.

Bookings are sent from Beds24 to Integromat when the room is enabled and the booking meets the trigger condition in the selected auto action. If you have multiple properties enabled for Integromat and the auto action applies to their bookings, those bookings will also be sent. Bookings which were sent will appear in Integromat via the "watch bookings" trigger.

These bookings will then be automatically transferred from Integromat to the apps/services in your Integromat scenarios.

Integromat triggers the booking read when the scenario runs, they are not pushed from Beds24.

5 Data Fields

If the data fields setting is left empty, a default set of information will be sent about each booking.

If the data fields setting is used, only the booking number, modifiedTime and the fields specified are sent to Integromat. Data field values must be specified one per line.

Possible values are:

groupId

roomId

roomName

unitId

unitName

status

checkIn

checkOut

lastNight

numAdult

numChild

guestTitle

guestFirstName

guestLastName

guestComments

guestArrivalTime

guestEmail

guestPhone

guestMobile

guestCompany

guestAddress

guestCity

guestState

guestPostCode

guestCountry

guestCountry2

lang

originalBooking

originalOTA

originalReferer

referer

notes

reference

custom1

custom2

custom3

custom4

custom5

custom6

custom7

custom8

custom9

custom10

offerId

voucher

flagColor

flagText

bookingTime

invoice

invoiceCharges

invoicePayments

totalCharges

totalPayments

totalBalance

price

tax

deposit

commission

rateDescription

template1

template2

template3

template4

template5

template6

template7

template8

6 Common Problems

Some bookings are not processed
Make sure to set the limit value in "watch bookings" high enough to allow Integromat to process all the bookings you expect to be in the data. If you leave it at 1, only the first booking in each trigger will be processed.
Only new/recently modified bookings are processed
Make sure the "Choose where to start" option is set to "All"

7 Disconnect

Untick "Bookings" to stop sending bookings.

8 Examples

8.1 Sample Scenarios

Integromat provides a range of sample scenarios at https://www.integromat.com/en/integrations/beds24.

8.2 Create a Subaccount from a Google Form

1. Create the Google form(https://docs.google.com/forms/u/0/) , you will need to at least “request” on the form

a)Username

b)Email

c)Password


2. Go to Integromat and create a scenario, start with a Google Forms, and set it to “Watch Responses”

Integromat subaccount1.png view large


3. Set the connection ( you will need to Allow Integromat to access your Google account),

a) Choose the “File” this is the same name you gave your “Form” in Google forms.

b) Worksheet, Google forms should create a worksheet in your Google drive, you need to select this here.

c) Maximum number of returned rows, Here, set the maximum number of results that Integromat will work with during one cycle, You can set this to one, we will make this scenario constantly checking for new responses.

Integromat subaccount2.png view large


4. After this, it will ask you to “Select the first row” this means the row you want Integromat to start checking the worksheet, it should normal be set to number”2” because the first row is used for the column names.


5. Now we will need to add another module, add the “Json” module and set it to “Create Json”


6. You will need to add a “Data Structure.

a) Click on “Add”

b) “Name the data structure” and click on “Generator”

c) Leave the “Content Type = Json

d) On the Sample Data insert

{
   "authentication": {
       "apiKey": "apiKeyAsSetInAccountSettings"
   },
   "createAccount": [
       {
           "username": "username",
           "password": "password",
           "apiKey": "YourKeyToUseForTheNewAccount",
           "email": "[email protected]",
           "role": "0",
           "systemEmails": "0",
           "bookingEmails": "0",
           "bookingReplyto": "0"
       }
   ]
}

Integromat subaccount3.png view large

  • Click on “Save”, you should now see the original “window” with your data structure and it should have a “Authentication” box where you need to insert the API key,

Integromat subaccount4.png view large

  • You need to set the API key you have set under Settings -> Account - > Account Access
  • Click on “Add Items” under Create Account in Integromat, here you will need to add the variables into the correct fields.
    • Leave the “API” field empty, the fields
      • Role
      • systemEmails
      • bookingEmails
      • bookingReplyto
    • Can be manually filled by you conform your requirements, for information about this fields please have a look at this page, https://api.beds24.com/json/createAccount


After you have done this, click on “Add” and than click on “Ok”.

Now we are going to create another module.

  • Set the module HTTP, and set this to “Make a Request”
    • Set the:
      • URL: https://api.beds24.com/json/createAccount
      • Method:Post
      • Header: Leave blank
      • Query String: Leave blank
      • Body Type: Raw
      • Content Type: JSON
      • Request Content: JSON String ( Its a variable you need to drag and drop).

Integromat subaccount5.png view large


Click on “OK” and you are ready to test this scenario,

Open you Google form and insert some information, “username / Email and password” this will be added to row 2 on your worksheet, go to Integromat and click on “Run Once” it will insert this user as a sub account into your Beds24 account.

8.3 Sending Push Notifications for Bookings to your Google Chrome/Account

1. After you setup your Beds24 module in Integromat ( showing in this video https://wiki.beds24.com/index.php/Integromat.com#Integromat) set the Google Chrome module.

Push1.png view large

2. Click on “Add This Chrome” and install the Integromat google chrome plugin.

Push2.png view large

3. Click on “Add to Chrome” to install the plugin

Push3.png view large

4. Copy the Registration Code

Push8.png view large


5. Paste the Registration code on the Chrome module in Integromat

Push4.png view large

6. Create the message you want to send , you can use the Beds24 Template variables that show in Integromat

Push5.png view large

7. Once a new booking is created, Intergomat send a notification to your Google Chrome/Account

Push6.png view large

Push7.jpg view large

8.4 How to collect additional guest details and add to the booking

If you want to collect additional guest information and add this to the booking, you can do this using a Google Form and Integromat. Setup a google form with the information/questions you want to collect from a guest, and using Integromat we will get the response from the form and insert into the correct booking.

In this example we will show you how to collect additional guests information like “First name, Last Name, Id number and birth date. And insert this into the “Info” field of the booking

1. Setup a new google form and name this “Guests Information”

650px view large


2. Create the questions

a. Booking ID

b. First Name

c. Last Name

d. Id Number

e. Birth date

650px view large

3. Click on “Responses”, and than click on the “Excel Icon”

650px view large


4. Select “Create a new Spreadsheet” and click on “create”

650px view large


5. Log into Integromat, and start a new Scenario, the first module we are going to need is Google Forms and set this to “Watch Responces”.

6. Set the connection ( you will need to Allow Integromat to access your Google account),

a. Choose the “File” this is the same name you gave your “Form” in Google forms.

b. Worksheet, Google forms should create a worksheet in your Google drive, you need to select this here.

c. Maximum number of returned rows, Here, set the maximum number of results that Integromat will work with during one cycle, You can set this to one, we will make this scenario constantly checking for new responses

650px view large


7. After this, it will ask you to “Select the first row” this means the row you want Integromat to start checking the worksheet, it should normal be set to number ”2” because the first row is used for the column names.

8. Now we will need to add another module, add the “Json” module and set it to “Create Json”

9. You will need to add a “Data Structure. a. Click on “Add” b. “Name the data structure” and click on “Generator” c. Leave the “Content Type = Json d. On the Sample Data insert

{

   "authentication": {
       "apiKey": "apiKeyAsSetInAccountSettings",
       "propKey": "propKeyAsSetForTheProperty"
   },
   "bookId": "12345678",
   "firstNight": "2014-09-30",
   "numAdult": "3",
   "invoice": [
       {
           "invoiceId": "123456789",
           "description": "deposit payment",
           "status": "",
           "qty": "-1",
           "price": "23.45",
           "vatRate": "10",
           "type": "200"
       }
   ],
   "infoItems": [
       {
           "code": "PAYMENT",
           "text": "Paid $200"
       }
   ]

}

10. Click on “Save”, you should now see the original “window” with your data structure and it should have a “Authentication” box where you need to insert the API key

650px view large


11. You will also need to add under “Notes” the following (See image) above

a. FirstName: - add the Integromat variable for the First Name

b. Last Name: - add the Integromat variable for the Last Name

c. Id Number: - add the Integromat variable for the ID Number

d. Birth Date: - add the Integromat variable for the Birth Date

12. Set the module HTTP, and set this to “Make a Request”

Set the:

a. URL: https://api.beds24.com/json/setBooking

b. Method:Post

c. Header: Leave blank

d. Query String: Leave blank

e. Body Type: Raw

f. Content Type: JSON

g. Request Content: JSON String ( Its a variable you need to drag and drop).

650px view large


After you do this, go to your Google form and fill it in as a “guest” than in Integromat click on “Run Once” it should retrieve the answers and insert into the booking in the field “Notes”.

8.5 Collect Guest details from a Google Form


If you want to collect additional guest information ( or update the current information) and add this to the booking, you can do this using a Google Form and Integromat. Setup a google form with the information/questions you want to collect from a guest, and using Integromat we will get the response from the form and insert into the correct booking. In this example we will show you how to collect additional guests information like “First name, Last Name, address, city, postcode and country. And insert this into the corresponding field of the booking

1. Setup a new google form and name this “Guests Information”

Create the questions

a. Booking ID

b. First Name

c. Last Name

d. address

e. city

f. postcode

g. country


Guestinfofromdoc1.png view large


2. Click on “Responses”, and than click on the “Excel Icon”

Guestinfofromdoc2.png view large

3. Select “Create a new Spreadsheet” and click on “create”

Guestinfofromdoc3.png view large


4. Log into Integromat, and start a new Scenario, the first module we are going to need is Google Forms and set this to “Watch Responses”.

4.1. Set the connection ( you will need to Allow Integromat to access your Google account),

a. Choose the “File” this is the same name you gave your “Form” in Google forms.

b. Worksheet, Google forms should create a worksheet in your Google drive, you need to select this here.

c. Maximum number of returned rows, Here, set the maximum number of results that Integromat will work with during one cycle, You can set this to one, we will make this scenario constantly checking for new responses


Guestinfofromdoc4.png view large


4.2. After this, it will ask you to “Select the first row” this means the row you want Integromat to start checking the worksheet, it should normal be set to number ”2” because the first row is used for the column names.


5. Now we will need to add another module, add the “Json” module and set it to “Create Json”

Guestinfofromdoc5.png view large

6. You will need to add a “Data Structure.

a. Click on “Add”

b. “Name the data structure” and click on “Generator”

c. Leave the “Content Type = Json

d. On the Sample Data insert


{
   "authentication": {
       "apiKey": "apiKeyAsSetInAccountSettings",
       "propKey": "propKeyAsSetForTheProperty"
   },
"bookId": "12345678",
   "guestFirstName": "Joe",
   "guestName": "Smith",
   "guestAddress": "1 Big Street",
   "guestCity": "London",
   "guestPostcode": "EX 1234",
   "guestCountry": "United_Kingdom"
}


6.1. Click on “Save”, you should now see the original “window” with your data structure and it should have a “Authentication” box where you need to insert the API key

6.2You will also need to add the correct “Google form” variables into the corresponding fields., just like the image below

Guestinfofromdoc6.png view large

7. Next Add a new module, you need a HTTP module and set this to “Make a Request”

Set the: a. URL: https://api.beds24.com/json/setBooking b. Method:Post c. Header: Leave blank d. Query String: Leave blank e. Body Type: Raw f. Content Type: JSON g. Request Content: JSON String ( Its a variable you need to drag and drop).

Guestinfofromdoc7.png view large

7.1 Click on safe, now go to your google form, fill in the form with a actual Booking ID ( make sure it is a “test” booking) after you do this go back to integromat and click on “Run Once”, it should get the responses and insert the information into the Booking.

8.6 Send a booking to Integromat and set a Info Code

Due to a combination of some settings and or specific modules in Integromat sometimes Integromat can miss out on bookings sent to Integromat.

If this happens on a frequent basis we recommend that you setup Beds24 to continuously send the bookings to Integromat, once the bookings is correctly picked up by Integromat you can setup a Json module to create a code ans set a info code in the Booking in Beds24 using the API.

This way once a booking is correctly sent it will contain the Info code and based on this info code you can filter out this booking the next time it is sent to Integromat stopping the bookings from going thru any other modules in Integromat.

Each customer has its own Integromat module setup and so it is hard to create a scenario valid for everyone, however the only thing we need to setup is 2 modules a Json module to create the Json code and a HTTP module to send the code to Beds24 to set the info code.

Have a look at the following video to understand how the sequence will work,

      • Beds24 Setup.

1. Under Settings > Apps & Integrations > Integromat, set the "Send strategy=Continuously" In the Data fields set all the necessary fields that you need to pass from Beds24 to Integromat, it is required that you set a "template" field (template1), we are using this to pass the Info code to Integromat.

Integromat Setup.

Json Module,

You will need the following Data Structure,

{
   "authentication": {
       "apiKey": "apiKeyAsSetInAccountSettings",
       "propKey": "propKeyAsSetForTheProperty"
   },
   "bookId": "12345678",
           "infoItems": [
       {
           "code": "Integromat",
           "text": "OK"
       }
   ]
}

The HTTP module

You need a HTTP module after the json module and set this to “Make a Request”

Set the:

a. URL: https://api.beds24.com/json/setBooking

b. Method:Post

c. Header: Leave blank

d. Query String: Leave blank

e. Body Type: Raw

f. Content Type: JSON

g. Request Content: JSON String ( Its a variable you need to drag and drop).


Do not forget to set a filter as you saw in the video the filter will stop the booking from going further if it contains the info code,

1. Set a "Text Operator" filter "Not Equal To"