feat(bookings): implement ticket receipts and seat sharing system

Add receipt tokens and booking_seats table to track individual tickets
Create receipt and seat view pages with QR code generation
This commit is contained in:
2026-04-12 22:48:26 +08:00
parent 7f582b530c
commit 6194c96ead
15 changed files with 1663 additions and 61 deletions

View File

@@ -276,6 +276,14 @@
icon="i-lucide-external-link"
size="sm"
/>
<UButton
:to="receiptPath(row.original)"
label="Receipt"
color="neutral"
variant="outline"
icon="i-lucide-receipt"
size="sm"
/>
</div>
</template>
</UTable>
@@ -408,6 +416,10 @@ function confirmationPath(booking: PublicBooking) {
return `/confirmation/${booking.confirmationToken}`
}
function receiptPath(booking: PublicBooking) {
return `/receipt/${booking.receiptToken}`
}
function formatInventoryNumber(value: number | null) {
return value === null ? 'Not set' : String(value)
}