package models

import (
	"time"
)

// User is the user model
type User struct {
	CreatedAt   time.Time
	UpdatedAt   time.Time
	FirstName   string
	LastName    string
	Email       string
	Password    string
	ID          int
	AccessLevel int
}

// Room is the room model
type Room struct {
	CreatedAt time.Time
	UpdatedAt time.Time
	RoomName  string
	ID        int
}

// Restriction is the restriction model
type Restriction struct {
	CreatedAt       time.Time
	UpdatedAt       time.Time
	RestrictionName string
	ID              int
}

// Reservation is the reservation model
type Reservation struct {
	CreatedAt time.Time
	UpdatedAt time.Time
	StartDate time.Time
	EndDate   time.Time
	FirstName string
	LastName  string
	Email     string
	Phone     string
	Room      Room
	ID        int
	RoomID    int
	Processed int
}

// RoomRestriction is the room restriction model
type RoomRestriction struct {
	StartDate     time.Time
	EndDate       time.Time
	CreatedAt     time.Time
	UpdatedAt     time.Time
	Room          Room
	Restriction   Restriction
	ID            int
	RoomID        int
	ReservationID int
	RestrictionID int
}

// MailData holds an email message
type MailData struct {
	To       string
	From     string
	Subject  string
	Content  string
	Template string
}
