How would I build a data model for parking lot hours and respective parking fees?
Depending on how many parking lots you're operating, I wouldn't be too worried about how many records you have to manage.  It's not like this data would be fast changing, since you'd probably have to get signs printed up with the prices marked and so on.  Still, assuming that you have many lots (many of which have the same pricing) and that you want to minimize data maintenance, you could build a price schedule and map lots to the schedule.

Consider something like this:

ParkingLot -
    ParkingLotId
    Name
    Address

PriceSchedule -
    PriceScheduleId
    Description

PriceScheduleDetail - 
    PriceScheduleDetailId
    PriceScheduleId
    DayOfTheWeek
    StartTime
    EndTime
    DollarsPerUnit
    MinutesPerUnit
    MinutesMinimumStay

ParkingLotPrice -
    ParkingLotId
    PriceScheduleId
    EffectiveDate
    ExpiryDate


Note that the PriceScheduleDetail table allows you to keep two or more versions of a price for a given time of day range.  

Note also that the ParkingLotPrice table uses effective and expiry dates to link parking lots to a price table by date range.  This allows you to set up a price change in advance so you don't need to load new data in the middle of the night when a price change takes effect.

You're queries for pricing are going to have to find the version of the price that applies based on the minimum stay length, which is much more complicated than just "What is the price right now?" since it will depend on how long a stay is and which is the best price that the customer qualifies for.  Also, the price a customer pays will depend on how long their stay is and it may cross one or more price point boundaries.