43 lines
903 B
TypeScript
43 lines
903 B
TypeScript
import { DateTime } from 'luxon'
|
|
import { BaseModel, column, belongsTo } from '@adonisjs/lucid/orm'
|
|
import type { BelongsTo } from '@adonisjs/lucid/types/relations'
|
|
import Room from '#models/room'
|
|
|
|
export default class Reservation extends BaseModel {
|
|
@column({ isPrimary: true })
|
|
declare id: number
|
|
|
|
@column()
|
|
declare roomId: number
|
|
|
|
@column()
|
|
declare customerName: string
|
|
|
|
@column()
|
|
declare customerPhone: string
|
|
|
|
@column()
|
|
declare guestsCount: number
|
|
|
|
@column.dateTime()
|
|
declare startsAt: DateTime
|
|
|
|
@column.dateTime()
|
|
declare endsAt: DateTime
|
|
|
|
@column()
|
|
declare status: 'confirmed' | 'cancelled'
|
|
|
|
@column()
|
|
declare notes: string | null
|
|
|
|
@belongsTo(() => Room)
|
|
declare room: BelongsTo<typeof Room>
|
|
|
|
@column.dateTime({ autoCreate: true })
|
|
declare createdAt: DateTime
|
|
|
|
@column.dateTime({ autoCreate: true, autoUpdate: true })
|
|
declare updatedAt: DateTime
|
|
}
|