This solution is similar to renting a house. The owner of the NFT decides the daily rental price, the currency he/she wants to get paid in, and the maximum rental duration. After putting it up for rent, the renter can decide how long he/she wants to rent the NFT. The renter is required to pay the total rental price (daily rental price * rental duration). When the tokens have been received in the smart contract, the renter has access to the utility of the NFT.