This is not a question you should be asking here as it does not pertain to coding, but ill give you a link that gives you a pretty good description: http://tips.thinkrupee.com/articles/what-is-gift-voucher-gift-certificate-.php
also if you would like to incorporate these three in CI, i would just create a function in your controller for each of these. if you only are interested in gift voucher then i would try something like this:
function buyGiftVoucher(){
..your code..
}
function useGiftVoucher(){
..your code
}
hope this helps a bit