feat(bookings): add payment and document upload to confirmation page

Allow users to select payment method and upload receipts before confirming.
Add public API endpoints for payment updates and document management.
This commit is contained in:
2026-05-09 13:15:45 +08:00
parent b64a2b4c1c
commit a56a6706b0
11 changed files with 746 additions and 18 deletions

View File

@@ -106,6 +106,20 @@ export function parseBookingPicTransferInput(body: {
}
}
export function parsePaymentMethodInput(body: {
paymentMethod?: PaymentMethod | string | null
}) {
const paymentMethod = typeof body.paymentMethod === 'string'
? body.paymentMethod.trim().toLowerCase()
: body.paymentMethod
assertBadRequest(isPaymentMethod(paymentMethod), 'Payment method must be Cash or Bank')
return {
paymentMethod
}
}
export function buildBookingMessage(booking: PublicBooking, confirmationUrl: string) {
if (booking.locale === 'zh') {
return [