Whats the best way to implement a booking system for a B&B?
If you are looking for a strictly online booking/reservation system, then that is relatively simple. It can just be a modified shopping cart system basically. You may even be able to do this with FoxyCart.
Now if you are looking at using a system, that books online, but is also tied into a home system where you can book in house, over the phone, or in person, you may be looking at tens of thousands of dollars.
My suggestion, use the online shopping cart, they can be implemented fairly simply, and when someone is booking over the phone, just get their info and use the same website that they would to book their reservation. No sense in paying a ton of money for a network that is only going to be used for a small bed and breakfast. If you were starting a large hotel, then yes, you'd need a large network with administrative control and all that junk, but FoxyCart would probably work just fine.
By the way, here is the link for FOXYCART:
http://www.foxycart.com
There is a contact form on the right side of the website, just email them and ask if you can set up a product that would chose a specific range of dates, if you can, then it will work just fine. If you can only sell products, then it's not for you. I've never used FoxyCart for this purpose, so im not sure. Always worth a shot.
EDIT: I found a topic on the FoxyCart forums talking about a hotel reservation management system, and it seems to be possible, according to an Admin at FoxyCart.
As I suspected, you can just build the date picker for the check-in and check-out dates, but the tricky part would be the JS coding required in getting the price to change when they choose a longer range of dates.
An easy solution to this would be as follows: If you are planning on only requiring a deposit, then the JS coding will not be required. No matter what dates they choose the deposit price would remain the same. That then poses the problem, of not showing them what their total will be at check, perhaps that can be fixed with a simple sentence explaining the pricing per day, and that if they want the total, they can just call or something.
I know it's a hassle, but if you want something cheap, a lot of times it's not the most convenient solution. FoxyCart is pretty amazing though. I think you'll find the people there are great with support and that the system usually works flawlessly. They also handle all of the PCI and SSL certificates and security, so you don't have to pay for any of that. It's like 20$/month, but you would pay more than that for the certificates alone for a self-hosted eCommerce platform, so it's a good deal.
Just one link for an easy to use jQuery date-picker (just google it if you prefer a different one):
http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerIntoSelects.html