Using a smart lock is the best option. I have 50 properties that I host in Colorado, and keys are simply a nightmere!
By using a smart lock that is connected to the internet you can easily add and remove codes at will. The ability to add a code on the fly for a service person is awesome! Also, the ability to remove codes is critical in my mind. I don't want keys floating around from past guest stays, and I don't want to have to change the locks everytime a guest doesn't return a key, so each guest having their own personalized code works the best.
I make the code the last four digits of the guests mobile phone number, so it's easy for them to remember. Then, I remove it at check out. All very simple using my lock app.
For the last decade i've used Schlage locks with the Zwave technology. And mynexia.com to connect via their bridge that plugs into the internet router and syncs with the lock.
However, there are some better options that have come out in the last year or so.
Virtual Key is one to look at using a Yale brand electronic lock.
And there are plenty others.
Mark