Hi there! Welcome to a fresh new work week! ☕️
We've got 36 updates to talk about from a release we put out at the beginning of last week. No new features, but we've got a couple of great enhancements and then a large list of bug fixes to run through. Off we go!
- Enhancements & Tweaks
- Bug Fixes
As you probably know, we have a great website builder for vacation rentals that lets you stand up a fully-dynamic fully-functional website with your own logo, domain name, and booking engine in seconds. We call this "Hosted Website" internally to differentiate it from our widgets and WordPress Plugin.
Over time, we've watched how users configure and style their Hosted Websites, and we even offer a premium service called "WebAssist" to help you customize your Hosted Website to something that is unique to your business and brand.
One of the things we've noticed is the many ways in which users request or design background effects for their websites. We support full CSS editing, so savvy users can inject whatever backgrounds and styling they want. However, this is difficult for most users to do even if they have a rudimentary understanding of CSS.
To help with this, we've added some built-in background settings to the Theme / Layout page on Hosted Websites.
You can now select how you want the background to behave - scrolling, fixed, or tiled. Here's what those options do:
- Scrolling - This is the default state. The background is fixed relative to the body and is attached to the body's border. When the body moves (such as when you scroll vertically down the page) the background moves at the same pace. This is the normal state of most web pages.
- Fixed - The background is fixed relative to the viewport. Even if the body has enough content to scroll vertically, the background doesn't move with the body. The background stays exactly where it is at all times.
- Tiled - The background repeats to fill the viewport, both vertically and horizontally. As you scroll down the page vertically, the background will stay where it is but copies of the background will appear like a tiled floor.
You can also change background settings per page, not just on the website overall. If you have a specific page that needs a different background effect, go to that page and click on the "Background" tab. You'll see the same options there.
And if you're looking for a more customized experience with your Hosted Website, reach out to us about our WebAssist premium service. Our WebAssist specialist will help you come up with a look and feel that is unique to your company.
Do you use Google Analytics to monitor your OwnerRez website or guest form traffic? If not, you should! It's easy to use and completely free.
We recently noticed that the data we are sending was a little bare in terms of names or information. For instance, you can see that your guests are starting a "Book Now" session, but not what property it's for. Google Analytics has the ability to pass labels and attributes when events are recorded, so we updated our code to pass along additional information.
You can now see which properties your guests are trying to book by looking at the "Event Label" parameter in Google Analytics. Here's a quick example:
In the above Google Analytics accounts, I drilled down into the Behavior menu > Events > Top Events and then clicked on "BookingStarted" events. I then selected "Event Label" as the value to see at the bottom. Those "ORPxxxx" numbers are the property IDs from OwnerRez. We are using the ID instead of the name because the name might change over time, whereas the ID will never change.
As you can see in the above screenshot, property # ORP136811 was the property that guests were mostly trying to book during the time period. If you're curious, the "(not set)" value at the top represents all of the bookings that were started during this time period before this update went out. These code changes only happened in the past few days, but the screenshot shows traffic going back a month.
At times, calendar imports/exports (iCal) can be a frustrating beast to work with. The iCal standard tends to be loosely followed which means that different platforms have a "lowest common denominator" implementation - ie. they only create and remove calendar events; they don't define those events or use cancellation and contact information to flesh out the events.
We've spent a lot of time building the best iCal engine available for the vacation rental software world, and we continue to refine our iCal engine every few months as we notice things that can be improved. In the past few weeks, we've made another great improvement - you can now specify exactly what you want the calendar import engine to create - bookings, blocked-off time or detect and match what was in the iCal feed.
Previously, our calendar import (iCal) engine would create blocks or bookings only, based on your settings, but there are times when we detect bookings and blocks in the same feed. This can happen for sites like Vrbo or Airbnb where we detect certain indicators that we use to determine that the calendar event is a booking while other events are mere blocks. The new "detect and match" option will allow you to have both at the same time.
You might notice that the entire "What to Import" section has been re-written with clearer options and help text. We felt like we could make that area a little clearer to understand.
We recently overhauled the Affiliate Program area to show you referrals, payouts, W9 status, and much more. The response has been positive, but we noticed a few things that we wanted to improve, so we jumped back in there and enhanced it a bit more.
Some of our affiliates have racked up quite a few referrals, so we added a filter that you can use to quickly search through your list to find accounts.
You can now search by name, account status, or earning amount. Account status lets you select active, in-trial, or closed as options. Earning amount lets you select None, 10%, 20%, or 30% as options.
We also added the PayPal email address to each payout (on the Payouts tab) so that if your PayPal account changes over time, you can see where an old payout went.
We upgraded the W9 options as well, and we added a template for non-US users so that non-US users can quickly submit a statement without having to spend a lot of time coming up with their own.
Ok, so this one is basically just a shameless plug to show you all the good things that people have said about OwnerRez. But it's technically an enhancement, so I'm going to mention it anyway!
As you might already know, we host a What Our Customers Say About Us page which is a dynamic page of aggregated reviews from other websites (eg. Capterra, Facebook) so that you can see the live testimonials of what OwnerRez users say as they come in. They are updated every week or two, so it stays pretty fresh! We recently started tracking reviews on the G2 reviews website as well.
And hey, if you'd like to leave us a testimonial, you can do that. Go to Capterra or G2 and write your own. We'll notice it and pick it up just like all the others. But hey - only write good stuff! No complaining! 😂
Auto-create blog menu. A few months ago, we added a blog feature to hosted websites so that you can create a blog in a few clicks and host it entirely within your own domain and hosted website. We recently noticed a situation where users were creating blog posts but not creating a blog menu so the blog wasn't showing up anywhere. Confusing! We fixed this so that the first time you create a blog post, we are now creating a blog page and menu for the website so that you don't have to go hunting to figure out how it is wired together.
Blog Post Published date. While we were looking at blogs, we noticed another error - the "Published" date was off by one day. This was happening because the Published date was being stored in UTC (London) time but displayed in the user's time zone later. We fixed this to show the date only and ignore the time zone.
Keep watching or watch anew? We recently changed some wording on the forums where you go to post a new topic or reply to an existing topic. There is an option there to watch the topic, and we recently changed the wording to "keep watching" when you already had a watch in place. However, the "keep watching" wording was too aggressive and was showing all the time. We fixed this to detect the right scenario and show the right wording.
Grandfathered referrals. When we overhauled our Affiliate Program area, we updated our code to store better affiliate earnings on each user invoice. However, some of the grandfathered amounts weren't stored correctly which led to too-low affiliate earnings. This has been fixed. If your payout was low in a previous month because of this, it will be corrected this month or next month when the next payout time occurs.
PM or Owner Payout? We noticed a typo on the Record PM Payout screen where some help text was referencing the owner. Fixed!
DP Batch Update for 'On' dates of stay. Our Damage Protection settings page has a Batch Update function that you can use to quickly fix pre-existing bookings when you add or change your Damage Protection coverage levels. That Batch Update function allows you to specify bookings that arrive "on or after" a certain date, but it wasn't working correctly. For last-minute bookings (eg. bookings that arrive tomorrow), it wasn't matching the arrival date even though "on or after" was using today or tomorrow's date. We fixed this, so it should now work as intended.
Show 0 as the amount on disabled security deposits. Previously, it was confusing if the security deposit rule was disabled on a property but the security deposit amount was still showing in a field code. Even if the security deposit is disabled, it's possible to show a field code in a renter agreement or email template for the security deposit amount. We tweaked the field code to check if the security deposit is disabled and show "0" instead of the actual amount.
Email options on Channel Bridge import. For a while, we've been debating the "Send Booking Confirmation" and "Send Create Trigger" options on Channel Bridge import. They seem to do more harm than good as users typically want to check bookings manually before emailing or have already sent confirmations in other ways. We went and removed the "Send Booking Confirmation" option and changed the "Send Create Triggers" option to default to no.
Review reviews. Back in the fall, we updated our hosted websites to support Google review/star ratings so that when your website appears in Google search results, it shows the review/start rating of each property, the reviews page, and the website overall. Since that time, we've had to make some tweaks to how it works based on user feedback and what we've noticed on Google itself. This past week, we made another tweak. Hopefully, this will stop Google from sending you webmaster emails about problems with your "product" reviews. That being said, in the past few days, we noticed a few more things to tweak, so you'll probably see a bug fix showing up about this in the next couple of weeks.
QB invoice due dates. Since the beginning of time, our QuickBooks Integration has created invoices in QuickBooks with the same "Due Date" value as the Invoice Date. Whatever the Invoice Date was, the Due Date is automatically made the same. However, the invoice date can be different things including the initial booked date of the booking. When that happens, the invoice appears to be fully due (in QuickBooks) as of the initial booked date. This was frustrating for QuickBooks users and for good reason. We fixed this to detect when the invoice date is before the final payment date and switch the due date value to match the final payment date. If your invoice dates use the booking's arrival date, the due date will continue to use the arrival date.
Enable cancellation fee when canceling a booking. Do you have a cancellation policy that includes a flat fee? If so, you might have noticed a peculiarity where your fee shows in the list of new charges, but the "No fee" option is selected above and disabled. We noticed it too, and it's now fixed.
Don't re-sync QB payments if nothing has changed. When you change a booking's financial information in OwnerRez, we also update QuickBooks so that the corresponding invoice and payments on that side are kept the same. Only sometimes, the payments have already been marked as deposited. When payments are marked as deposited in QuickBooks, they cannot be removed or changed. OwnerRez sometimes runs into this situation when trying to change a payment that was already marked as deposited. Conflicts ensue and email alerts are fired off. However, we noticed that many times we were trying to update the payment when the payment itself did not actually change. The booking's charges would change, and we would re-sync everything. We updated our sync code to detect if the payment itself had changed and, if not, keep that the same even when changing the invoice.
Airbnb LOS discounts less than 1%. Question: what is a 0.5% length-of-stay discount? Answer: 1%. We no longer allow any LOS discounts of less than 1%. We noticed that in certain situations, discounts that were less than 1% were being rounded to 0% and, thus, eliminated. Airbnb rounding is just like that. 🤷♂️ We are now detecting this and auto-rounding any LOS discounts that are less than 1% to 1% even. This isn't really a "bug fix", is it? Well, not an OwnerRez bug anyway.
Clarify the reason for rate calendar gap rule. Our new rate calendar is pretty sweet, and the hover cards that show above each day provide a lot of information about the season for that day, minimum night restrictions, and other things like gap rules. If arrival or departure isn't possible, we provide specific reasons as well. We noticed that the "required gap" rules were not showing a specific-enough reason, so we updated that to be more clear. Now, instead of saying "No arrival (seasonal)", we say "No arrival (seasonal gap rule)" so that it's clear which part of the seasonal rules is kicking in.
Clarify that virtual cards are virtual. If you use Booking.com as a channel, you already know what a "virtual card" is. For everyone else, a virtual card is a credit card that is passed to our system that looks and acts like a credit card but only works for a specific period of time and specific amount. Booking.com uses them to limit the amount of fraud that can occur by third-party partners (vacation rental homeowners and PMs) who have not established a high degree of trust with guest credit cards. We noticed some places where we were showing part of the credit card on guest receipts (like "Visa ****1234") even though the guest has no idea what card that is since it was provided by Booking.com. We now detect if the card is virtual and show a special description instead of the number.
User invoice currency. Do you live and operate outside of the United States? Even though OwnerRez is an American company by birth and operation, we have picked up users in many countries over the years. In fact, we now have users in 190 countries! Recently, we realized that our own internal invoicing (ie. the bill that you get from OwnerRez each month) was a bit confusing because it showed a USD dollar sign ($) but that currency symbol applies to other countries. There are more than 20 countries in the world that use a dollar sign ($) as their currency symbol including Canada, Australia, and Hong Kong. Some of those users thought we were billing them in their own (ie. Canadian, Australian) dollars when our billing is always in USD dollars. To clarify this, we detect now if you're a non-US user and show "USD" in several strategic places in the billing area and on invoices.
Travel Insurance unavailable error message. For a long time, we've gotten reports from users (and their guests) that travel insurance purchases would sometimes be denied with this error message:
Unable to Locate an active product with the Product "TI" for the Reseller (*CDDJD8-DK29D-E3F4250AC93DDF) while attempting to open the Coverage.
Yep, it really said that, and yep, we really left it that way for a long time.
As ugly as that error message is, it's really pretty simple. It just means that the person attempting to buy Travel Insurance lives in a geographical area that our insurance carrier does not support. That's the "product" they are saying they "cannot locate".
Well, we finally had enough. We now detect that message and replace it with this more-intuitive one:
Unfortunately, we don't have a Travel Insurance product that applies to your geographical region or type of trip.
Better? We think so!
Withdrawn Property Share requests. Previously, if someone asked to join a property share, but then withdrew the request, the request would vanish entirely, leading to confusion and support tickets. We now display withdrawn requests, but we show a strikethrough, indicating that they are no longer active.
Handle line breaks when importing Vrbo listings. Our property import tool uses the public information we see on live Vrbo and Airbnb listings to bring in the headline, description, and amenity data. We noticed that certain types of line breaks (the whitespace between paragraphs) were not being handled correctly, causing some paragraphs to run together. We updated our import code to detect and clean up those line breaks.
Extra sentences in cancellation policy description. We support complex cancellation policies where you can define many different types of refund scenarios. Previously, you could define policies with multiple refund periods that didn't make sense (like "time before arrival" periods that overlap each other). We also noticed that the long auto-generated policy description would sometimes show extra sentences. All of this has been fixed.
Line Item Summary report not factoring Discounts in Total. A while back, we enhanced the Line Item Summary report to break out positive and negative amounts into more intuitive columns. We noticed that the discount total is was not being subtracted from the final total on the right, So the final total ended up being too high. This has been fixed. To be clear, no actual booking charges were adjusted. This was simply a problem with how the report presented the total on the far right.
QB customer name matching. This is a long-standing bug that we're happy to have finally fixed. If you use our QuickBooks integration, you may have noticed extra empty customer names showing up in QuickBooks over time. This was caused by our sync engine looking at the current list of QuickBooks customers and trying to be careful about the customer we selected to go with the invoice. If we didn't see a detailed match, we would simply create another customer in QuickBooks on the fly. Over time, this led to a proliferation of extra empty customer records because a booking might start out with only a first name for the guest, and then later fill out with more name information, which in turn would create additional new customer records in QuickBooks. We hunkered down on this and re-wrote the customer find-or-create code to re-use existing customer names better. This should lead to better customer records on the QuickBooks side.
Booking.com sending bad characters in email. We noticed a situation where sending email messages to guests with special characters in the name (like "Teresa O'Neal") would cause it to choke. We dug in deeper, and we saw it was how those characters were encoded by Booking.com in the billing info when getting bookings from Booking.com. We now detect this and clean it out of the billing info correctly before the billing name can be used.
Stuck suppressed email address. A while back, we introduced a Suppressed Email Address feature that keeps track of and alerts you about email addresses that are bouncing. This includes your own account email addresses. Recently, we noticed that sometimes the global alert sticks around even after you've reactivated the suppressed email address. We found and fixed the problem.
Date pickers in Firefox. If you use Firefox, you may have noticed that date pickers occasionally look weird - specifically, too short. For instance, the Damage Protection Batch Update page looks like this for the "On or after" date option.
This was only happening in Firefox (not Chrome, Edge, etc), and it is now fixed.
Action menu edit words. On all of our lists (ie. grids), there is a little edit option on every row with a drop-down of options. The top option is almost always the "edit" option which acts the same as if you clicked on the row itself. It drills into the record. We noticed a bunch of places where that edit option had the wrong words showing.
This was happening because the edit option uses words that are automated under the covers. Sometimes, those automatic words are not the best choice. We corrected 18 lists to use a more appropriate edit word.
Hosted sites inside closed accounts. When you create a hosted website in OwnerRez, we do some checks to make sure that no one else is using that same domain name. But what happens if you close your account after setting up a hosted website? What happens if you come back 6 months later and want to create a new account? Or what if you bought a domain name that used to be owned by a different OwnerRez user? Previously, the old domain name would be locked forever in the old (closed) account, never to be used again. Now, when you close your account, we disable the website domain names too and check for that when other users create new websites.
Clean Airbnb account names. Like Booking.com, Airbnb sometimes sends special characters or HTML characters in names, and we found a spot where that was showing up. Fixed!
Clean billing info. Like the Booking.com one above, we found more places where billing info names and addresses were having special characters show up, and we fixed those too.
Portal users shouldn't be able to delete. Keyword "delete". You can give portal users the ability to cancel blocked-off time, but we noticed that portal users could also fully delete blocked-off time. You don't want that because there's no history for fully-deleted blocks. We changed this to be cancel-only. The user experience is the same, but now when portal users remove a blocked-off time, you'll see it as a cancellation.