feat: Enhance booking functionality with invoice management and dashboard summary

- Added customerId to guest booking requests for better identification.
- Implemented new endpoints for managing booking invoices and dashboard summaries.
- Created BookingInvoice and BookingDashboardSummary DTOs to support new features.
- Updated Booking and BookingInvoice models to include payment method and timestamps.
- Enhanced BookingService to handle invoice creation upon payment confirmation.
- Modified BookingRepository to support CRUD operations for BookingInvoice.
- Updated TenantDbContext to include BookingInvoice DbSet and relevant configurations.
- Improved error handling and validation for booking completion and payment processes.
This commit is contained in:
2026-10-01 03:46:03 +05:30
parent 6abef835e8
commit 51f0021e27
16 changed files with 501 additions and 45 deletions
+21
View File
@@ -0,0 +1,21 @@
namespace Fitness_core_BE.DTOs.Booking
{
/// <summary>A booking payment receipt -- deliberately separate from the membership-based
/// CustomerInvoice, listed on its own "Invoices" tab, not mixed into Customer Payments.</summary>
public class BookingInvoiceDto
{
public Guid BookingInvoiceId { get; set; }
public Guid BookingId { get; set; }
public decimal Amount { get; set; }
public string PaymentMethod { get; set; } = string.Empty;
public string GuestName { get; set; } = string.Empty;
public string? GuestPhone { get; set; }
public string FacilityName { get; set; } = string.Empty;
public DateTime BookingStartTime { get; set; }
public DateTime BookingEndTime { get; set; }
public DateTime IssuedAt { get; set; }
/// <summary>Public, unauthenticated link to this receipt's printable page.</summary>
public string? ShareUrl { get; set; }
}
}