I want to create a cash discount for direct bookers. But I cannot seem to do so for hosted website, only for listing sites, as direct booking/hosted website is not an option?
Surcharge > Criteria > Listing Sites.
The only way to do that is to put it on the payment method. Go Settings > Payment Methods > scroll to bottom and select check (or custom instructions for cash). Then add a processing adjustment of [x] discount. If selected online, the system will auto-add a line item for that amount (either fee or discount) when the guest selects that option. It only works, though, if the guests selects that option when booking online. If you create a manual booking and record a cash payment against it, the processing adjustment won't be auto-added. You'd have to add it yourself.