The only thought I'd raise is if the rates belong in their own table. If you had to introduce new rates, it would require new columns, which many of us know is often a bad thing insofar as what it does to queries, forms, and often, their controls. Another approach might be to have the VendorID in the equipment table (instead of in Pricing) to tie equipment to a vendor and have a RateID in the pricing table. You tie the RateId to tblRates, which lists the rate type in rows (Hourly, Daily, Weekly, Monthly, Extended) instead of columns. I realize this would increase the number of rows in the equipment table, as you'd need a row for each rate type that you can rent it at. However, if the rate types for a piece of equipment change (i.e. a rate is added or becomes unavailable) you add a row or delete/deactivate it. No effect on any table, query or form design. Nor would there be any nulls in the rates data like you will have now for any rate that is not available. You will also have to store the rate/and or rate dollar amount in a table somewhere, be it PO or tblRentalHist or whatever. Imagine the impact on that table if you have to add a rate type to your existing design.
Edit: now you know why they say "normalize until it hurts".
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.