Many waiters will ask you if you want to use a Diamond voucher, but it's a good idea to mention it.
You can book in advance, but you have to pay for it when you book the reservations, then go through the process of getting a refund on board. Or you can just wait until you are on the ship and pay when you eat.