Is there such a thing as zero-conf in Monero and if yes, then how does it work? Is it supported by the Monero client?
You're probably referring to the concept where a vendor will accept payment, even when the payment has not been included in a block. Sure, that works the same way in Monero that it does in Bitcoin. The transaction in question will be visible in the mempool. When the vendor sees the transaction in the mempool, he may decide to release goods to the customer.
Monero transactions are pretty similar to Bitcoin ones regarding this: you see them on the network, they linger in the txpool till mined, the block they're in can be reorganized, and the more blocks on top of it, the less likely it is to happen.
The Monero wallet offers the
get_transfers RPC, which has a
pool input field. When set to true, any transaction to your address in the txpool (ie, not yet mined) is returned. There's a
double_spend_seen field for the returned transactions. If true, it means another transaction was seen which double spend at least one input of the original transaction. In that case, you'll probably want to not accept that transaction until it's actually mined.