Fix virtual field SQL, remove available method and use virtual field
Recursive -1 for coupon index
Fix check for available coupons, use available virtual field