The best solution is for the company to expand the resort's capacity so that there are only minimal lines, say 5 minutes at most, at any attraction.
Second best solution is a virtual ticketing system for the most popular attractions. The computer system associates an account with your ticket or pass. You can add dollar amounts to your account either at self-serve kiosks or at designated cashiers.
You purchase admission to an attraction at any one of a number of kiosks throughout the park, mainly near attractions. You choose which attraction and a reservation time. The computer remembers this and deducts the amount from your account balance.
If you miss your reservation time you do not lose any money, but you have to make a new reservation based on whatever times are still available.
This would free guests from the drudgery of standing in lines and allow them to visit shops and/or restaurants and spend money while waiting for their reservation time for the attraction.
It would also eliminate line-cutting and other shenanigans associated with lines. It would also improve guest behavior inside attractions since they paid to enter them.