How might I integrate a pre-paid or coupon option?

We're using Appointments+ for a phone based intuitive reading business.

We are currently requiring payment when an appointment is booked, however we would like to start selling gift certificates. If someone receives a gift certificate for a reading, they should be able to visit our website and schedule an appointment indicating the service they're booking has already been paid for. Maybe they "redeem gift certificate"? How do we do this?

We would also like to start marketing our service with promotions and/or coupon codes (e.g. 20% off with coupon code GHNDK, or buy 2 get the 3rd half off).

How might we go about doing these two things using Appointments+ scheduling system?