Avaiability calendar representation

I was wondering what would be the best way to represent/design an availability calendar.

An easy example would be AirBnb, where I have several properties and for each of them I want to set, for some dates, a price. And then a person should be able to search, given a date range, the available properties.

Any suggestions? (I’ve been thinking of a few ways but all of them are very inefficient)