-
Notifications
You must be signed in to change notification settings - Fork 134
Open
Labels
good first issueGood for newcomersGood for newcomers
Description
Location: backend/src/bookings/
Description
ManageHub needs a Bookings module to handle workspace reservations made by members. A booking represents a member's intent to use a specific workspace for a defined period under a chosen pricing plan. This issue covers the foundational setup — the database entity, the NestJS module, and the bare service/controller stubs that subsequent issues will build on.
The platform uses NestJS with TypeORM and PostgreSQL (synchronize: true is active). All monetary values must be stored in kobo as integers.
Acceptance Criteria
- A
Bookingentity is created atbackend/src/bookings/entities/booking.entity.tswith the following fields:id— UUID, primary key, auto-generatedplanType— enum:HOURLY,DAILY,MONTHLYstartDate— timestamp, requiredendDate— timestamp, requiredseatCount— integer, default1totalAmountKobo— integer, requiredstatus— enum:PENDING,CONFIRMED,COMPLETED,CANCELLED— defaultPENDINGnotes— text, nullableuserId— UUID, foreign key referencingusersworkspaceId— UUID, foreign key referencingworkspacesuser—@ManyToOnerelation toUserentityworkspace—@ManyToOnerelation toWorkspaceentitycreatedAt/updatedAt— auto timestamps
- A
BookingStatusenum is created atbackend/src/bookings/enums/booking-status.enum.ts - A
PlanTypeenum is created atbackend/src/bookings/enums/plan-type.enum.ts - A
BookingsModuleis created atbackend/src/bookings/bookings.module.tswithTypeOrmModule.forFeature([Booking])registered - A
BookingsServicestub is created atbackend/src/bookings/providers/bookings.service.ts - A
BookingsControllerstub is created atbackend/src/bookings/bookings.controller.tswith the@Controller('bookings')decorator -
BookingsModuleis imported intobackend/src/app.module.ts -
npx tsc --noEmitpasses with no errors
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomers