Reserve a voucher within an open session.
POST /api/v1/vouchers/sessions/:sessionId/reserve-voucher
Works the same as the standalone reserve-voucher endpoint, but scoped to a session. Each voucher reserved in a session is independent — with its own code, lifecycle, and settlement — but tracked together under the session.