When it comes to friends and family visiting, I put them in two categories:
1) Those who would come to visit us no matter where we were or whether or not we had a B&B. These are close family and friends who are happy to come in the slow seasons because that's when they'll actually get to visit with us, to have our time and attention when we're not crazy busy working the business. They're here to see us, not for a vacation. I don't charge them.
As for tax purposes, here in Canada I designate space as either 100% biz, 100% personal, or 50-50. I have one guest room that I've designated as 50% business use and that's the room these folks stay in.
2) Then there are those who want to experience this region, enjoy a getaway, the same reasons our "real" guests come here. These are acquaintances, former colleagues, not-so-close relatives, etc who would be spending money for accommodations anyway, but choose to spend it here. Why? To support us, or to get the bonus of seeing us and catching up, or to get the perks of "knowing the owner" when they come. I gladly give these folks a discount, with some exceptions. No discount during long weekends or peak weekends.
The amount of discount depends on time of year, how close I am to them, how many nights they're staying. I've done everything from 50% to 10% off. I take their booking like any other guest and tell them up front what I'll offer as a "friends & family discount".
Hope that helps.