Files
playzer/apps/backend/prisma/plans.seed-data.ts
Jose Selesan 1318e3bf57 feat: add recurring bookings feature with related handlers and services
- Introduced recurring booking groups with the ability to create and cancel them.
- Added database migrations for recurring bookings, including new tables and relationships.
- Implemented handlers for creating and canceling recurring bookings in the admin booking module.
- Enhanced existing booking services to support recurring bookings logic.
- Updated API contract to include new schemas for recurring bookings.
- Refactored existing code for improved readability and maintainability.
2026-06-16 11:58:06 -03:00

96 lines
2.0 KiB
TypeScript

export const planSeeds = [
{
code: 'BASIC',
name: 'Basic',
price: '49.00',
rules: {
version: 'v2',
limits: {
maxCourts: 2,
maxBookingsPerDay: 80,
maxActiveUsers: 3,
maxConcurrentBookingsPerSlot: 1,
},
policies: {
maxAdvanceBookingDays: 7,
minCancellationNoticeHours: 2,
allowOverbooking: false,
},
features: {
onlinePayments: false,
publicBookingPage: true,
advancedReports: false,
whatsappReminders: false,
fixedSlots: false,
},
pricing: {
overrides: {
AR: { amount: 14999, currency: 'ARS' },
},
},
},
},
{
code: 'ADVANCED',
name: 'Advanced',
price: '99.00',
rules: {
version: 'v2',
limits: {
maxCourts: 5,
maxBookingsPerDay: 220,
maxActiveUsers: 8,
maxConcurrentBookingsPerSlot: 1,
},
policies: {
maxAdvanceBookingDays: 15,
minCancellationNoticeHours: 2,
allowOverbooking: false,
},
features: {
onlinePayments: true,
publicBookingPage: true,
advancedReports: true,
whatsappReminders: true,
fixedSlots: true,
},
pricing: {
overrides: {
AR: { amount: 29999, currency: 'ARS' },
},
},
},
},
{
code: 'ENTERPRISE',
name: 'Enterprise',
price: '199.00',
rules: {
version: 'v2',
limits: {
maxCourts: 20,
maxBookingsPerDay: 2000,
maxActiveUsers: 50,
maxConcurrentBookingsPerSlot: 2,
},
policies: {
maxAdvanceBookingDays: 60,
minCancellationNoticeHours: 1,
allowOverbooking: true,
},
features: {
onlinePayments: true,
publicBookingPage: true,
advancedReports: true,
whatsappReminders: true,
fixedSlots: true,
},
pricing: {
overrides: {
AR: { amount: 59999, currency: 'ARS' },
},
},
},
},
] as const;