Our Service Level Agreements include a fixed amount of hours. Starting at 6 hours per month and as high as necessary and useful for you and your project(s). This allows you to plan with a fixed maintenance budget.
You receive a quarterly report every quarter on the tasks we worked on and how much time was spent on them. Internally, we have continuous reporting to ensure we do not go above the budget and avoid unexpected costs.
Hours that were not used can be carried over into the next quarter. If there are sufficient hours available, then they can also be used for smaller features and change requests.
Otherwise, feature requests can either be added to a backlog for future consideration or spun out into a separate project with a cost estimate.