It fully depends on what you want your renew option to do exactly. Are there limits to how often someone can renew? How long can they renew? Should anything else happen when they renew?
For instance, a microflow could look something like this:
- Retrieve the booking
- See how many times it has already been renewed. If it is < 2, the user is allowed to renew again. If not, show a message to the user explaining why they can't renew again.
- If renewing is allowed, change the "DueDate" to "addDays(DueDate, RenewalDuration)"
- Commit the booking object
- Show a message to the user indicating that their renewal was succesful