USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[Contacts]    Script Date: 1/21/2026 4:16:02 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Contacts](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[PhoneNumber] [nvarchar](max) NULL,
	[Email] [nvarchar](max) NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
	[Title] [nvarchar](200) NULL,
	[Owner] [nvarchar](200) NULL,
	[FirstName] [nvarchar](100) NULL,
	[MiddleName] [nvarchar](100) NULL,
	[LastName] [nvarchar](100) NULL,
	[ContactType] [nvarchar](100) NULL,
	[Address1] [nvarchar](255) NULL,
	[Address2] [nvarchar](255) NULL,
	[City] [nvarchar](100) NULL,
	[State] [nvarchar](100) NULL,
	[Zip] [nvarchar](20) NULL,
	[FacebookUrl] [nvarchar](255) NULL,
	[LinkedInUrl] [nvarchar](255) NULL,
	[TwitterUrl] [nvarchar](255) NULL,
	[LocationId] [int] NULL,
	[AccountId] [int] NULL,
 CONSTRAINT [PK_Contacts] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[Contacts]  WITH CHECK ADD  CONSTRAINT [FK_Contacts_Accounts] FOREIGN KEY([AccountId])
REFERENCES [dbo].[Accounts] ([Id])
ON DELETE SET NULL
GO

ALTER TABLE [dbo].[Contacts] CHECK CONSTRAINT [FK_Contacts_Accounts]
GO

ALTER TABLE [dbo].[Contacts]  WITH CHECK ADD  CONSTRAINT [FK_Contacts_Locations] FOREIGN KEY([LocationId])
REFERENCES [dbo].[Locations] ([Id])
ON DELETE SET NULL
GO

ALTER TABLE [dbo].[Contacts] CHECK CONSTRAINT [FK_Contacts_Locations]
GO

CREATE TABLE Assets (
    Id INT IDENTITY(1,1) PRIMARY KEY,

    AssetCode NVARCHAR(50) NOT NULL,
    Name NVARCHAR(255) NOT NULL,
    Description NVARCHAR(MAX) NULL,

    AccountId INT NULL,
    LocationId INT NULL,

    IsActive BIT NOT NULL DEFAULT 1,

    CreatedDate DATETIME2 NOT NULL DEFAULT GETUTCDATE(),
    CreatedBy INT NULL,
    LastModificationTime DATETIME2 NULL,
    LastModifiedBy INT NULL,

    CONSTRAINT FK_Assets_Accounts
        FOREIGN KEY (AccountId) REFERENCES Accounts(Id),

    CONSTRAINT FK_Assets_Locations
        FOREIGN KEY (LocationId) REFERENCES Locations(Id)
);
CREATE TABLE PMSchedules (
    Id INT IDENTITY(1,1) PRIMARY KEY,

    Name NVARCHAR(255) NOT NULL,
    Frequency NVARCHAR(50) NOT NULL,  -- Monthly / Quarterly / Yearly
    StartDate DATE NOT NULL,
    IsActive BIT NOT NULL DEFAULT 1,

    AssetId INT NULL,
    LocationId INT NULL,

    CreatedDate DATETIME2 NOT NULL DEFAULT GETUTCDATE(),
    CreatedBy INT NULL,
    LastModificationTime DATETIME2 NULL,
    LastModifiedBy INT NULL,

    CONSTRAINT FK_PMSchedules_Assets
        FOREIGN KEY (AssetId) REFERENCES Assets(Id),

    CONSTRAINT FK_PMSchedules_Locations
        FOREIGN KEY (LocationId) REFERENCES Locations(Id)
);

CREATE TABLE FollowUps (
    Id INT IDENTITY(1,1) PRIMARY KEY,

    Reason NVARCHAR(MAX) NOT NULL,
    ScheduleDate DATETIME2 NOT NULL,
    ScheduleStartTime TIME NOT NULL,

    Status NVARCHAR(20) NOT NULL DEFAULT 'Open', -- Open | Completed | Cancelled

    EmployeeId INT NULL,
    WorkOrderId INT NULL,
    AccountId INT NULL,
    LocationId INT NULL,

    CreatedDate DATETIME2 NOT NULL DEFAULT GETUTCDATE(),
    CreatedBy INT NULL,
    LastModificationTime DATETIME2 NULL,
    LastModifiedBy INT NULL,

    CONSTRAINT FK_FollowUps_Employees
        FOREIGN KEY (EmployeeId) REFERENCES Employees(Id),

    CONSTRAINT FK_FollowUps_WorkOrders
        FOREIGN KEY (WorkOrderId) REFERENCES WorkOrders(Id),

    CONSTRAINT FK_FollowUps_Accounts
        FOREIGN KEY (AccountId) REFERENCES Accounts(Id),

    CONSTRAINT FK_FollowUps_Locations
        FOREIGN KEY (LocationId) REFERENCES Locations(Id)
);

CREATE TABLE Employees (
    Id INT IDENTITY(1,1) PRIMARY KEY,

    -- General Details
    FirstName           NVARCHAR(50)  NOT NULL,
    MiddleName          NVARCHAR(50)  NULL,
	
    LastName            NVARCHAR(50)  NOT NULL,
    DepartmentId        INT           NULL,
    TimeZone            NVARCHAR(200) NULL,
    Gender              INT           NULL,        -- 0=Male,1=Female,2=Not specified,3=Other
    DateOfBirth         DATE          NULL,
    JobTitleId          INT           NULL,
    EmployeeNumber      NVARCHAR(50)  NULL,
    HireDate            DATE          NULL,
    RegionId            INT           NULL,
    CanChangeProviderNumber BIT       NULL,
    About               NVARCHAR(255) NULL,

    -- Login & Role (stored locally, no Identity)
    PermissionGroupId   INT           NULL,        -- LoginInfo.PermissionGroupID
    UserName            NVARCHAR(256) NULL,        -- LoginInfo.UserName
    ConfirmUserName     NVARCHAR(256) NULL,        -- LoginInfo.ConfirmUserName

    -- Additional Details
    SMSAddress          NVARCHAR(270) NULL,
    Website             NVARCHAR(2048) NULL,

    -- Social Media
    FacebookUrl         NVARCHAR(2048) NULL,
    LinkedInUrl         NVARCHAR(2048) NULL,
    TwitterUrl          NVARCHAR(2048) NULL,

    -- Status (for list grid)
    Status              NVARCHAR(50)  NULL,        -- "Active", "Offline", "Awaiting Confirmation"
    LastLogin           DATETIME      NULL,

    -- Soft delete / audit
    IsDeleted           BIT           NULL,
    CreatedBy           NVARCHAR(MAX) NULL,
    CreatedDate         DATETIME2     NULL,
    LastModificationTime DATETIME2    NULL,
    LastModifierUserId  INT           NULL
);


CREATE TABLE EmployeeAddresses (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    EmployeeId      INT          NOT NULL,
    Street          NVARCHAR(250) NULL,
    StreetLineTwo   NVARCHAR(250) NULL,
    City            NVARCHAR(100) NULL,
    Zip             NVARCHAR(20)  NULL,
    CountryCode     NVARCHAR(10)  NULL,   -- "US"
    StateCode       NVARCHAR(10)  NULL,   -- "NY", "CA", etc.
    CountyId        INT           NULL,

    FOREIGN KEY (EmployeeId) REFERENCES Employees(Id) ON DELETE CASCADE
);

CREATE TABLE EmployeePhones (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    EmployeeId  INT          NOT NULL,
    PhoneTypeId INT          NULL,        -- 1=Work, 2=Home, etc.
    Number      NVARCHAR(25) NULL,
    Extension   NVARCHAR(10) NULL,
    IsPrimary   BIT          NULL,

    FOREIGN KEY (EmployeeId) REFERENCES Employees(Id) ON DELETE CASCADE
);

CREATE TABLE EmployeeEmails (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    EmployeeId  INT           NOT NULL,
    EmailTypeId INT           NULL,       -- 1=Work,2=Home,3=Other
    Address     NVARCHAR(256) NULL,
    IsPrimary   BIT           NULL,

    FOREIGN KEY (EmployeeId) REFERENCES Employees(Id) ON DELETE CASCADE
);


CREATE TABLE Departments (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    Name NVARCHAR(200) NOT NULL
);

CREATE TABLE JobTitles (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    Name NVARCHAR(200) NOT NULL
);

CREATE TABLE Regions (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    Name NVARCHAR(200) NOT NULL
);

CREATE TABLE PermissionGroups (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    Name NVARCHAR(200) NOT NULL
);

CREATE TABLE PhoneTypes (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    Name NVARCHAR(50) NOT NULL
);

CREATE TABLE EmailTypes (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    Name NVARCHAR(50) NOT NULL
);
USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[Accounts]    Script Date: 1/21/2026 4:10:39 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Accounts](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](255) NULL,
	[Type] [nvarchar](100) NULL,
	[Importance] [int] NULL,
	[TerritoryId] [int] NULL,
	[OwnerEmployeeId] [int] NULL,
	[PrivacySetting] [nvarchar](100) NULL,
	[About] [nvarchar](max) NULL,
	[Tags] [nvarchar](500) NULL,
	[Phone] [nvarchar](50) NULL,
	[Email] [nvarchar](150) NULL,
	[IndustryId] [int] NULL,
	[TimeZone] [nvarchar](100) NULL,
	[Website] [nvarchar](255) NULL,
	[CurrencyCode] [nvarchar](50) NULL,
	[ServiceInstructions] [nvarchar](max) NULL,
	[FacebookUrl] [nvarchar](255) NULL,
	[LinkedInUrl] [nvarchar](255) NULL,
	[TwitterUrl] [nvarchar](255) NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](450) NULL,
	[DeleterUserId] [nvarchar](450) NULL,
	[DeletionTime] [datetime] NULL,
	[CreatedDate] [datetime] NULL,
	[LastModificationTime] [datetime] NULL,
	[LastModifierUserId] [int] NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[Accounts] ADD  DEFAULT ((0)) FOR [IsDeleted]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[workOrderAttachments]    Script Date: 1/21/2026 4:30:43 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[workOrderAttachments](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Attachments] [nvarchar](max) NULL,
	[WorkorderId] [int] NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
 CONSTRAINT [PK_workOrderAttachments] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[workOrderAttachments]  WITH CHECK ADD  CONSTRAINT [FK_workOrderAttachments_workOrders_WorkorderId] FOREIGN KEY([WorkorderId])
REFERENCES [dbo].[workOrders] ([Id])
GO

ALTER TABLE [dbo].[workOrderAttachments] CHECK CONSTRAINT [FK_workOrderAttachments_workOrders_WorkorderId]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[workOrderCategories]    Script Date: 1/21/2026 4:31:16 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[workOrderCategories](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[CategoryId] [int] NULL,
	[WorkorderId] [int] NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
 CONSTRAINT [PK_workOrderCategories] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[workOrderCategories]  WITH CHECK ADD  CONSTRAINT [FK_workOrderCategories_Categories_CategoryId] FOREIGN KEY([CategoryId])
REFERENCES [dbo].[Categories] ([Id])
GO

ALTER TABLE [dbo].[workOrderCategories] CHECK CONSTRAINT [FK_workOrderCategories_Categories_CategoryId]
GO

ALTER TABLE [dbo].[workOrderCategories]  WITH CHECK ADD  CONSTRAINT [FK_workOrderCategories_workOrders_WorkorderId] FOREIGN KEY([WorkorderId])
REFERENCES [dbo].[workOrders] ([Id])
GO

ALTER TABLE [dbo].[workOrderCategories] CHECK CONSTRAINT [FK_workOrderCategories_workOrders_WorkorderId]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[WorkOrderContacts]    Script Date: 1/21/2026 4:31:56 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[WorkOrderContacts](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[ContactId] [int] NULL,
	[WorkorderId] [int] NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
 CONSTRAINT [PK_WorkOrderContacts] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[WorkOrderContacts]  WITH CHECK ADD  CONSTRAINT [FK_WorkOrderContacts_Contacts_ContactId] FOREIGN KEY([ContactId])
REFERENCES [dbo].[Contacts] ([Id])
GO

ALTER TABLE [dbo].[WorkOrderContacts] CHECK CONSTRAINT [FK_WorkOrderContacts_Contacts_ContactId]
GO

ALTER TABLE [dbo].[WorkOrderContacts]  WITH CHECK ADD  CONSTRAINT [FK_WorkOrderContacts_workOrders_WorkorderId] FOREIGN KEY([WorkorderId])
REFERENCES [dbo].[workOrders] ([Id])
GO

ALTER TABLE [dbo].[WorkOrderContacts] CHECK CONSTRAINT [FK_WorkOrderContacts_workOrders_WorkorderId]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[workOrders]    Script Date: 1/21/2026 4:32:35 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[workOrders](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[WorkerOrderNumber] [nvarchar](max) NULL,
	[WorkerOrderTitle] [nvarchar](max) NULL,
	[Description] [nvarchar](max) NULL,
	[PO] [nvarchar](max) NULL,
	[TT] [nvarchar](max) NULL,
	[SignOffAttachment] [nvarchar](max) NULL,
	[AssignTo] [nvarchar](450) NULL,
	[DueDate] [datetime2](7) NULL,
	[Priority] [nvarchar](max) NULL,
	[Status] [nvarchar](max) NULL,
	[LocationId] [int] NULL,
	[Attachments] [nvarchar](max) NULL,
	[BeforPhotoIssue] [nvarchar](max) NULL,
	[BeforPhotoAttachment] [nvarchar](max) NULL,
	[AfterPhotoIssue] [nvarchar](max) NULL,
	[AfterPhotoAttachment] [nvarchar](max) NULL,
	[SignOffName] [nvarchar](max) NULL,
	[SignOffSignature] [nvarchar](max) NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
	[istemplate] [bit] NULL,
	[WorkOrderType] [varchar](50) NULL,
	[AvettaTask] [varchar](max) NULL,
	[AssignDate] [date] NULL,
 CONSTRAINT [PK_workOrders] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[workOrders]  WITH CHECK ADD  CONSTRAINT [FK_workOrders_AspNetUsers_AssignTo] FOREIGN KEY([AssignTo])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO

ALTER TABLE [dbo].[workOrders] CHECK CONSTRAINT [FK_workOrders_AspNetUsers_AssignTo]
GO

ALTER TABLE [dbo].[workOrders]  WITH CHECK ADD  CONSTRAINT [FK_workOrders_Locations_LocationId] FOREIGN KEY([LocationId])
REFERENCES [dbo].[Locations] ([Id])
GO

ALTER TABLE [dbo].[workOrders] CHECK CONSTRAINT [FK_workOrders_Locations_LocationId]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[Templates]    Script Date: 1/21/2026 4:33:35 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Templates](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[WorkerOrderNumber] [nvarchar](max) NULL,
	[WorkerOrderTitle] [nvarchar](max) NULL,
	[Description] [nvarchar](max) NULL,
	[PO] [nvarchar](max) NULL,
	[TT] [nvarchar](max) NULL,
	[SignOffAttachment] [nvarchar](max) NULL,
	[AssignTo] [nvarchar](450) NULL,
	[DueDate] [datetime2](7) NULL,
	[Priority] [nvarchar](max) NULL,
	[Status] [nvarchar](max) NULL,
	[LocationId] [int] NULL,
	[CategoryId] [int] NULL,
	[Attachments] [nvarchar](max) NULL,
	[BeforPhotoIssue] [nvarchar](max) NULL,
	[BeforPhotoAttachment] [nvarchar](max) NULL,
	[AfterPhotoIssue] [nvarchar](max) NULL,
	[AfterPhotoAttachment] [nvarchar](max) NULL,
	[SignOffName] [nvarchar](max) NULL,
	[SignOffSignature] [nvarchar](max) NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
	[ContactId] [int] NULL,
 CONSTRAINT [PK_Templates] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[Templates]  WITH CHECK ADD  CONSTRAINT [FK_Templates_AspNetUsers_AssignTo] FOREIGN KEY([AssignTo])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO

ALTER TABLE [dbo].[Templates] CHECK CONSTRAINT [FK_Templates_AspNetUsers_AssignTo]
GO

ALTER TABLE [dbo].[Templates]  WITH CHECK ADD  CONSTRAINT [FK_Templates_Categories_CategoryId] FOREIGN KEY([CategoryId])
REFERENCES [dbo].[Categories] ([Id])
GO

ALTER TABLE [dbo].[Templates] CHECK CONSTRAINT [FK_Templates_Categories_CategoryId]
GO

ALTER TABLE [dbo].[Templates]  WITH CHECK ADD  CONSTRAINT [FK_Templates_Contacts_ContactId] FOREIGN KEY([ContactId])
REFERENCES [dbo].[Contacts] ([Id])
GO

ALTER TABLE [dbo].[Templates] CHECK CONSTRAINT [FK_Templates_Contacts_ContactId]
GO

ALTER TABLE [dbo].[Templates]  WITH CHECK ADD  CONSTRAINT [FK_Templates_Locations_LocationId] FOREIGN KEY([LocationId])
REFERENCES [dbo].[Locations] ([Id])
GO

ALTER TABLE [dbo].[Templates] CHECK CONSTRAINT [FK_Templates_Locations_LocationId]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[Regions]    Script Date: 1/21/2026 4:34:46 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Regions](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](200) NOT NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[QuotesLines]    Script Date: 1/21/2026 4:35:20 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[QuotesLines](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[LineitemNumber] [int] NULL,
	[Lineitem] [decimal](18, 2) NULL,
	[QuoteId] [int] NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
	[Descriptions] [nvarchar](max) NULL,
 CONSTRAINT [PK_QuotesLines] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[QuotesLines]  WITH CHECK ADD  CONSTRAINT [FK_QuotesLines_Quotes_QuoteId] FOREIGN KEY([QuoteId])
REFERENCES [dbo].[Quotes] ([Id])
GO

ALTER TABLE [dbo].[QuotesLines] CHECK CONSTRAINT [FK_QuotesLines_Quotes_QuoteId]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[Quotes]    Script Date: 1/21/2026 4:35:57 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Quotes](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[QuotId] [nvarchar](max) NULL,
	[Date] [datetime2](7) NULL,
	[BillingAddress] [nvarchar](max) NULL,
	[TT] [nvarchar](max) NULL,
	[PO] [nvarchar](max) NULL,
	[ContactId] [int] NULL,
	[WorkorderId] [int] NULL,
	[ProjectName] [nvarchar](max) NULL,
	[SiteName] [nvarchar](max) NULL,
	[SiteId] [nvarchar](max) NULL,
	[ShippingAddress] [nvarchar](max) NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
	[Status] [nvarchar](max) NULL,
 CONSTRAINT [PK_Quotes] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[Quotes]  WITH CHECK ADD  CONSTRAINT [FK_Quotes_Contacts_ContactId] FOREIGN KEY([ContactId])
REFERENCES [dbo].[Contacts] ([Id])
GO

ALTER TABLE [dbo].[Quotes] CHECK CONSTRAINT [FK_Quotes_Contacts_ContactId]
GO

ALTER TABLE [dbo].[Quotes]  WITH CHECK ADD  CONSTRAINT [FK_Quotes_workOrders_WorkorderId] FOREIGN KEY([WorkorderId])
REFERENCES [dbo].[workOrders] ([Id])
GO

ALTER TABLE [dbo].[Quotes] CHECK CONSTRAINT [FK_Quotes_workOrders_WorkorderId]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[PermissionGroups]    Script Date: 1/21/2026 4:36:37 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[PermissionGroups](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](200) NOT NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[Locations]    Script Date: 1/21/2026 4:37:09 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Locations](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Title] [nvarchar](max) NULL,
	[Name] [nvarchar](max) NULL,
	[Latitude] [nvarchar](max) NULL,
	[Longitude] [nvarchar](max) NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
 CONSTRAINT [PK_Locations] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[JobTitles]    Script Date: 1/21/2026 4:39:15 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[JobTitles](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](200) NOT NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[ForgetPasswordCodes]    Script Date: 1/21/2026 4:41:21 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[ForgetPasswordCodes](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[UserId] [nvarchar](max) NOT NULL,
	[Email] [nvarchar](max) NOT NULL,
	[Code] [nvarchar](max) NOT NULL,
 CONSTRAINT [PK_ForgetPasswordCodes] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[Categories]    Script Date: 1/21/2026 4:42:50 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Categories](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](max) NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
 CONSTRAINT [PK_Categories] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[Comments]    Script Date: 1/21/2026 4:44:45 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Comments](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Commenttext] [nvarchar](max) NULL,
	[WorkerOrderId] [int] NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](max) NULL,
	[DeleterUserId] [nvarchar](max) NULL,
	[DeletionTime] [datetime2](7) NULL,
	[CreatedDate] [datetime2](7) NULL,
	[LastModificationTime] [datetime2](7) NULL,
	[LastModifierUserId] [int] NULL,
	[UserId] [nvarchar](450) NULL,
	[Documents] [nvarchar](max) NULL,
 CONSTRAINT [PK_Comments] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[Comments]  WITH CHECK ADD  CONSTRAINT [FK_Comments_AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO

ALTER TABLE [dbo].[Comments] CHECK CONSTRAINT [FK_Comments_AspNetUsers_UserId]
GO

ALTER TABLE [dbo].[Comments]  WITH CHECK ADD  CONSTRAINT [FK_Comments_workOrders_WorkerOrderId] FOREIGN KEY([WorkerOrderId])
REFERENCES [dbo].[workOrders] ([Id])
GO

ALTER TABLE [dbo].[Comments] CHECK CONSTRAINT [FK_Comments_workOrders_WorkerOrderId]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[ContactDetails]    Script Date: 1/21/2026 4:45:14 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[ContactDetails](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[ContactId] [int] NOT NULL,
	[Gender] [nvarchar](50) NULL,
	[DateOfBirth] [datetime] NULL,
	[Territory] [nvarchar](100) NULL,
	[PrivacySetting] [nvarchar](100) NULL,
	[About] [nvarchar](max) NULL,
	[Tags] [nvarchar](500) NULL,
	[FacebookUrl] [nvarchar](255) NULL,
	[LinkedInUrl] [nvarchar](255) NULL,
	[TwitterUrl] [nvarchar](255) NULL,
	[IsDeleted] [bit] NULL,
	[createdby] [nvarchar](450) NULL,
	[DeleterUserId] [nvarchar](450) NULL,
	[DeletionTime] [datetime] NULL,
	[CreatedDate] [datetime] NULL,
	[LastModificationTime] [datetime] NULL,
	[LastModifierUserId] [int] NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[ContactDetails] ADD  DEFAULT ((0)) FOR [IsDeleted]
GO

ALTER TABLE [dbo].[ContactDetails]  WITH CHECK ADD  CONSTRAINT [FK_ContactDetails_Contacts] FOREIGN KEY([ContactId])
REFERENCES [dbo].[Contacts] ([Id])
ON DELETE CASCADE
GO

ALTER TABLE [dbo].[ContactDetails] CHECK CONSTRAINT [FK_ContactDetails_Contacts]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[Departments]    Script Date: 1/21/2026 4:45:43 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Departments](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](200) NOT NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO


USE [db_a7141e_seahavenindustry]
GO

/****** Object:  Table [dbo].[EmailTypes]    Script Date: 1/21/2026 4:46:25 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[EmailTypes](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](50) NOT NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO





