Happy Hump Day, everyone! 🐪 What a crazy few weeks it's been!
Today, we're back to talk about a release we put out a couple of weeks ago that contains 41 updates. New features, lots of enhancements, and a huge list of bug fixes like always - let's get to it!
- New Features
- Enhancements & Tweaks
- Customizable Term for "Property" on Hosted Sites and Widgets
- Field Code for Travel Insurance Purchase Information
- Watched and Voted-For Topics on Forum Profiles
- Cardholder IP Address for Converge
- New "Widget Loaded" Event for Widgets
- Multiple SMS Phone Numbers in Guest Threads
- Restyle Password Reset Email
- Show All Rates on Property Info Page
- New "Apply Card" Option on Payment Form
- Bug Fixes
New Features
White-Label Branding for Portal Access
If you're a PM who uses our Portal Access to give your owners a login for their calendar and statements, you'll be happy to know that we know support white-label branding for your portal. You can now fully customize the branding that your owners see when coming to OwnerRez to log in and see their calendars and statements.
Previously, when you shared portal access with your owners, owners would see "OwnerRez" plastered on every email, login page, URL, and image as they clicked around the system. Some PMs pointed out to us how they were losing business because of this - owners would see "OwnerRez", search our website and see that we make it easy for homeowners to manage their properties and promptly fire the PM, signing up for their own account! Yikes!
That is now over. You can now configure your portal branding so that the word "OwnerRez" no longer shows anywhere to your owners. To get started, go to PM > Portal Access and notice the new "Branding" button at the top.
Once inside, you'll see a handful of fields that should be self-explanatory. You are basically setting the words and logos to use instead of "OwnerRez" so that your owners see your name and logo instead of ours.
The "Favicon" is the icon that shows in browser tabs next to your name. It's optional, but you can use this to match the one you use on your regular website.
The "Logo" field under that is the big logo that will show on all emails and login pages.
For instance, here is the login page for your portal. "OwnerRez" is nowhere to be found, just your name and logo.
And here's a "Reset your password" email being sent to a portal user.
No mention of "OwnerRez" anywhere. The links and contact information all point to you, not OwnerRez.
The last field is the "Branded Subdomain" that you want your owners to see in the address bar of their browser. If "app.ownerrez.com" is in the address bar, shrewd owners will figure out that OwnerRez is what you are using and still figure it out.
We recommend that you use something like "portal" or "owners" as the subdomain for your portal. So if your regular website is acmevacations.com, your portal subdomain might be "portal.acmevacations.com". Then you can put a prominent "Owners" link on your main website that links over to your portal.
Setting up the Branded Subdomain is easy. Simply fill in the field, specifying what subdomain you want to use, and then follow the Portal Access - Going Live article in our support area for how to configure DNS records with your domain name provider. Once you map those DNS records, come back to the Portal Access area and click the "Check DNS" button and we'll do some validation while you wait.
If the DNS is configured correctly, we'll switch your Portal Access over to the branded version and we'll issue a secure certificate so that your subdomain is secure by default and uses HTTPS/SSL.
GuestSmiles
We'd like to roll out the red carpet for our newest first-class channel partner GuestSmiles! A big shout-out to Ted and the team at GuestSmiles for the hard work they put in to make this integration possible. We already announced the GuestSmiles partnership a few days ago, but let's run through it again from a product update standpoint.
As a quick summary, GuestSmiles uses a network of vertical partners to list your properties on websites where lots of internet traffic is known to exist. GuestSmiles has relationships with these other internet sites and provides vacation rental listings to mix in with their other products and services. With GuestSmiles, you are the merchant of record and accept credit card payments via OwnerRez similar to many of our other channel partners. So you don't have to worry about giving up control of the legal or payment process. The guest will pay and communicate directly with you.
To get started with GuestSmiles, simply go to Settings > Channels > API Integrations in OwnerRez and look for the GuestSmiles tile.
Click the Connect button, fill out your preferences and save. From there, follow the instructions tab to reach out to GuestSmiles support to finish the account on their side.
The integration is complete and includes all content, rates, rules, and availability. Bookings come into OwnerRez automatically along with the guest's credit card, so the process is similar to Vrbo. If you'd like to add a rate adjustment to GuestSmiles bookings, to cover any channel fees, you can do that just like any other channel. For questions about the GuestSmiles fee structure or where your listings will appear, please reach out to GuestSmiles directly for answers.
Enhancements & Tweaks
Customizable Term for "Property" on Hosted Sites and Widgets
Do you refer to your properties by a different term? Maybe you call them "rooms" or "units" or "listings" on your website and you wished that OwnerRez did too.
Well, now you can do that. On several of our widgets and the Hosted Website, there is now an option to define how OwnerRez should refer to your properties. You can either select from a handy drop-down of common terms:
Or you can select Custom and then define your own with both singular and plural versions of the term:
Make sure to save. Then, go check out the widget or website page live.
When the results load, you'll see your own property term instead of "Properties" showing. In this example, I switched it to use "Rooms":
If you're curious, only the widgets that show "property" words have this setting, so you may not find the setting on every type of widget. The setting can be found on these types of widgets:
- Availability/Property Search
- Reviews
- Booking/Inquiry (if "show property selector" is turned on)
You can also set the property term on hosted websites by drilling into your website settings and clicking into the general settings area. This will override any other widget setting anywhere on that hosted website.
Watched and Voted-For Topics on Forum Profiles
Have you liked our new forums? We've been fixing and adding things steadily over the past few months, and we recently added the ability for you to see your own watched and voted-for topics in your forum profile.
Go to your profile which you can find using the new My Profile button on the Forums home page. The My Profile button is on the top right of the Latest Discussions board.
You'll notice a set of tabs on your profile showing what you've posted, voted on, and are watching.
Hopefully, this will help you keep track of those topics you were interested in previously but lost track of over time.
Cardholder IP Address for Converge
If you use Converge for payment processing, you'll be happy to know that we now send the cardholder's (ie. guest's) IP address to Converge with each transaction now. Converge recently added the ability for us to do this, and it can help their internal fraud processing to spot patterns with bad IP addresses. This won't eliminate fraud, but it will help with reporting on their side.
If you're curious, you can see the cardholder's IP address by going into the Converge transaction and looking at the Authorization info.
This should also fix the problem where Converge is emailing you about security problems because the cardholder's IP address isn't being sent. Now, it is.
Field Code for Travel Insurance Purchase Information
For a long time, there has been a blurb in the "Booking Confirmation to Guest" email that tells the guest about travel insurance - what it costs and how long it is available. If the guest already purchased it, it provides confirmation of that. This is provided via a hard-coded paragraph inside the {BBINFO} field code, and it can be used in other email templates. The problem is that the {BBINFO} field code also contains other booking information like their booking balance and when their security deposit is due in the future. What if you only want to display the travel insurance blurb?
We've added a new field code called {BTRAVINS} that will contain just the paragraph about travel insurance and its availability. It does not contain the link to buy it (you can add that in with an additional field code), but it focuses on the dates of the trip and when travel insurance can be purchased.
If the guest can buy both standard and CFAR (Cancel For Any Reason) travel insurance, the paragraph will display:
You may purchase travel insurance for your booking up until
<date>
(30 days prior to arrival). Travel insurance costs 7% of the total trip cost, or you can upgrade to the CFAR (Cancel For Any Reason) product for 10.8% of the total trip cost. You may select CFAR up until<date>
(within 14 days of initial booking).
If the guest can only buy standard travel insurance, the paragraph will display:
You may purchase travel insurance for your booking up until
<date>
(30 days prior to arrival). Travel insurance costs 7% of the total trip cost.
This should give you much more flexibility in showing travel insurance information by itself and where/when you want instead of using the large {BBINFO} field only.
New "Widget Loaded" Event for Widgets
This next one is a bit nerdy but pretty cool for those that need it. If you use our widgets to power your website calendar or Book Now form, you may want to track how often it's being used or automate something whenever the widget loads. Now, you can do that! We added an additional "loaded" event that fires every time the widget is rendered on your website.
When you edit a widget, you'll now see a new Widget Loaded field where you can enter some JavaScript that will run when the widget shows on your website. You shouldn't use this to track Google Analytics or Facebook Pixel counts - we already do that for you. But you can use this to enhance or change how those work, and do many other things. For instance, if you buy AdWords, you can put the AdWords conversion code here to track if your campaigns are successful.
While we were there, we upgraded the other fields in that area (Booking Started, Inquiry Sent) to use the correct code editor so that you get rich styling and validation feedback as you type.
Multiple SMS Phone Numbers in Guest Threads
Did you know you can trigger automatic SMS messages to guests? It's a super cool feature that lets you personalize small SMS text messages for the guest to receive at different periods around their stay. To make sure they're covered, if a guest has multiple mobile phone numbers, we send the trigger message to all of their mobile phone numbers at the same time.
This works great, but we noticed that the guest conversation shows those multiple-phone-number messages side by side with no other information, so they appear to be duplicates, like this:
We now detect if the guest has multiple phones and include the phone number in the guest conversation if we see that the message has gone to multiple numbers, like this:
This should provide clarity so that you realize why there are multiple SMS messages going to the same guest.
Restyle Password Reset Email
Out with the old, in with the new. While working on the above-mentioned Portal Branding feature, we noticed that the old "Your password has been reset" had a number of typos, old references, and of course the old design.
A picture is worth a thousand words. Here was the old one:
This is the new one:
Much better! But maybe this is more of a bug fix? Look at all those typos! But it felt enhancement-ish, so I snuck it in here instead. 🤫
Show All Rates on Property Info Page
The property General Info page shows some rates but not all of them, so it's kind of confusing. You might have rates that don't apply because you haven't quite configured the correct LOS (length of stay) discount. But why not show Weekly, Monthly, Weekend type columns all the time?
We did just that. All rate columns on that page now show all the time no matter if the season has a rate for that column or not.
To be clear, the 4 rate columns are Night, Weekend Night, Weekly, and Monthly. The rate amounts that show inside those columns depend on a number of things - spot rates, seasonal rates, LOS discounts, etc - and the rate may not actually be bookable depending on your rules, but you will at least see what they are all the time. Guests cannot see what shows on this rate table because it's on an internal page. Guests only see the rate table that shows publicly in widgets or hosted websites.
New "Apply Card" Option on Payment Form
We offer a series of guest forms for requesting payment from the guest. You can request a payment - straight up, that runs immediately - or a security deposit, or just a card on file for future transactions. These forms are very helpful in making sure the guest pays up, and the system often sends these forms to guests automatically.
The "new card" form has options at the bottom, asking the guest if they'd like to use the card for future payments and security deposits. And the options show upcoming transactions so that the guest can see what future payments and security deposits are likely to occur.
We realized that these options could apply to the regular payment request form as well. Often when the guest is making a payment, it's with a different card than what they used to make the first payment back when they booked, and they now want to use that card for everything moving forward. So we now show an option that says "Use this card for future security deposits" and show any pending security deposits on the payment form.
The option is not selected by default, so nothing will happen unless the guest selects it. However, we do detect if a scheduled payment failed, and the card that failed is linked to a pending security deposit. In that case, we select the option by default.
In the time since adding this option, we've noticed a number of guests using it to update the security deposit, so the option appears to be working.
Bug Fixes
Converge special characters. While we were working on the IP address issue (mentioned above) we noticed that ampersand characters ("&") were not being handled correctly by the Converge system, so we now detect and remove them when sending payment data to Converge.
Codes not updating if lock isn't manual. In a recent update, we started reusing door codes, but unfortunately, the scope of our update was too big and we were reusing random codes even with door lock types that aren't manual. So they weren't getting updated properly when bookings moved properties.
Legacy cleaning fees on Airbnb. We recently noticed that if a property listing has a legacy cleaning fee setting, it wasn't being cleared in Airbnb if we passed an empty fee (which is usual if you don't have a cleaning fee) via channel management. We fixed it by passing "0" instead of an empty fee. This appears to clear the legacy setting.
Broken links in help text. The "During Weekend" and Minimum Weekend Nights" rules both have help text under them with links to the weekend settings (ie. the days of the week that define a weekend). Those links have now been fixed.
Export booking stats as numbers. Most of our lists and reports can be exported to Excel which is great because it allows you to take the data and run with it. You can filter, sort, move it around, send it to others, and generally go nuts once you get it into Excel. However, sometimes our data doesn't convert to Excel data quite right, so we have to finesse it a little. We noticed a spot where some of the "Total" amounts on bookings (eg. Total Owed, Total Paid) weren't showing up as numbers in Excel correctly, causing users to have to manually format columns. This should now be fixed. Numbers are numbers.
Unlink photos when deleting rooms during import. Previously, we could delete rooms during a listing import, but we weren't unlinking the associated photos if the room was deleted, so the linked photos were dangling and causing problems. We fixed this to unlink photos when a room is deleted during import. While we were there, we changed the Vrbo listing import (the initial place we saw this issue) to only delete rooms with beds and bathrooms, not other types of rooms. We are leaving those since Vrbo doesn't have other room types.
No more secdeps on Channel Bridge bookings. Recently, we noticed a pattern that has actually been around a long time. When bookings are imported into OwnerRez via Channel Bridge, or fleshed out after coming in via calendar import, the guest will later get an email reminding them to pay their security deposit with a link. This is because the property's rules say that a security deposit is required, so the booking naturally follows suit. However, that doesn't really make sense because imported/Channel Bridge bookings tend to all be from platforms like Vrbo where the security deposit is handled elsewhere. We updated our Channel Bridge code to disable the security deposit rule on any booking that Channel Bridge touches.
Skipping bookings during Channel Bridge that have other surcharges. While we were in there working on Channel Bridge, we noticed something else. We have some skip logic that doesn't process bookings if they haven't changed or are in the past, to keep owner statements from being messed up. Now that PM Lock handles that, we realized that we can relax the rules to hit other issues. One problem is that when people run Channel Bridge before creating surcharges, they end up with an "other surcharge", then later try to PM batch update which doesn't change anything because it's not connected to the surcharge. We now detect if an "other" surcharge exists and process the booking instead of skipping it.
Canadian provinces on YapStone. For a while, we've been chasing down a bug where YapStone was returning a decline on certain Canadian addresses. The issue was actually on the YapStone side, and we worked with their team to accept new coding for Canadian and international states and provinces. That is now in place, so the Canadian provinces should be all good to go now.
Space... the final frontier. The long legal description of cancellation policies was including an extra single space in some circumstances. We sent it into orbit.
NO P.O. Boxes for Brands. A P.O. Box is a legally valid address, but they aren't accepted by SMS carriers when it comes to SMS Brands. We were seeing a number of PO Boxes being used to submit SMS Brands, and then being rejected by our carrier, so we now detect those first and show an error message before allowing the profile to be submitted.
Logging out from other tabs. When your browser logs out due to inactivity in one tab, you might still have a different OwnerRez tab open. When you use that other tab, you'll typically be redirected to a login page. However, there are situations where the page is trying to do an in-page operation and doesn't know that you logged out. An example of this is when using the rate calendar to select and set rates on the fly. Previously, the page would show an error message because it didn't know how to handle that. Now, we show a clear helpful message explaining that you logged out so that you understand what's going on.
Rich-text editor "cannot convert blob" error. This one was hard to figure out, as it can happen for various reasons in various scenarios, but we made some changes that stopped this from happening. You can no longer drop blobs (ie. paste images) directly into the rich-text editor. Before you could, but nothing would happen, which would lead to strange messages and formatting. We cleaned that up. We also looked for existing templates that had residue hanging around, from this happening in the past, and removed that residue. As always, you can still upload files and images using the upload buttons on the editor menu.
QoL improvements to property sharing. Property sharing has been out a while, but it needed a tad more TLC. We found some bugs and confusing things that needed to be fixed. For example, if a user withdraws a property from a join that is still pending or was previously accepted, the My Properties counter doesn't update. Also, the counts show the previous status to the requester, and the counts only go up, they never subtract. We hunkered down and cleaned this stuff up.
Pets in inquiries from Cottages in Canada. We support inquiry parsing for a wide variety of small and regional listing sites. When guests send inquiry emails to you from those sites, you can route them through OwnerRez and the inquiry details will be parsed out and turned into an inquiry record for you to respond with an email and quote. It's one of the oldest features we support, and it was around a long time before our world-class channel management came along. We recently noticed that Cottages in Canada started supporting both French and English variations for their "Pet" field in their inquiry email, so we updated our inquiry parsing engine to look for it. OwnerRez now recognizes your furry little animaux!
HTML-ish text templates. Angle brackets ("<>") look like HTML or rich-text formatting to computers and our system was not allowing them in the plain text email templates that are used for SMS and Airbnb. However, you still may want to use them. After all, the character ">" might be used as "greater than" or as an arrow, and there's nothing wrong with that. We changed our validation so that angle brackets are now allowed in plain text templates.
Allow Vrbo channel to be Instant book even if properties are RTB. There are some rules governing whether your properties can use Request to Book (RTB) mode for a channel based on what you allow with other channels. The channels require this as part of the RTB integration. However, we realized that we were enforcing this a little too tightly. After all, you could have multiple properties and want some to be RTB and others to be Instant Book. That's legal as long as the same property is RTB or Instant Book for all channels equally. We now detect if properties are correctly set to RTB for all channels, individually, and if so, allow Instant Book to appear for the Vrbo channel at large.
When bookings move, update expense dates. When a booking changes dates or properties, we were not updating the related expenses' dates to match the expense date rules we recently added. So if an expense date was tied to the booking's arrival date, the expense date would continue to have the old arrival date instead of the new one. We fixed this to use the new stay dates, and we also fixed it so that the dates are updated even if PM Lock is turned on.
Alphabetic sorting on QuickBooks Vendors list. Did you know that you can send owner payouts directly to QuickBooks as bills or expenses to be paid? Yep! After preparing your monthly owner statements, generate some payouts and then in one click you can create them all in QuickBooks as bills to be paid or checks to be printed. However, in the list of "Vendors" that shows when mapping owners to payees, we noticed that QuickBooks was showing vendor names out of order. We fixed this to reset the order ourselves when showing the list.
Preload QuickBooks settings for owner payouts. While working on the owner payout QuickBooks settings, we noticed that the reference list of vendors and other QuickBooks information was not loading by default. We fixed this so that when you first connect your QuickBooks account, we retrieve and store a full list of vendor/payout data in addition to all the other stuff.
Changing booking dates shows PM Lock error but still moves booking. We recently noticed that when PM Lock is turned on, moving a booking to new dates would show a PM Lock error but still move the booking. This was because of some financial stats that were needlessly trying to re-calculate even though no charges were changing. All better now!
Required file validation on review imports. For some reason, we were showing a "crash, bang!!!" error message when trying to import reviews without selecting a file. To be clear, selecting a file is necessary if you're trying to import a file. 😀 But there's no reason to show the terrible, horrible, no-good, very-bad crash-bang message. We fixed it to show a proper in-line validation message.
Double-click releases on security deposits. Recently, we upgraded our security deposit release process to fix a couple of bugs and to harden up against things like PM Lock being turned on. In the process, we noticed that we introduced a vulnerability against double-clicks, so we did another pass and added some additional hardening.
Don't show guest name if message wasn't to the guest. Previously, if you sent a trigger to multiple numbers, but one of the numbers wasn't a guest, it was showing the guest's name anyway since it was tied to the booking that the guest's name is on. This can happen if you are CC'ing a third party number such as an owner or housekeeper, or even a different guest in the same group. We now detect that and don't show the guest's name on the message history if the phone number is not their phone number.
Follow first payment rules for Vrbo. Previously, if the property rules are configured to not charge the card on booking, we ignore those settings for Vrbo. This was leading to confusion and problems, so we decided to start following the property rules to make things more cohesive. If the card is set to not charge when booking, in the property rules, then we don't charge it (similar to Request To Book mode). If the property rules say to make the booking permanent, then we do that. Otherwise, we make it pending like Request To Book.