please help me, please redo the code below for my travel agency database!!!
code:

use [master]
go

ALTER DATABASE [autoservice] ADD FILEGROUP fastGrowingGroup;
alter database [autoservice] add file 
(NAME = N'fastGrowingGroup', FILENAME = N'D:\SQLData\fastGrowingGroup.ndf', SIZE = 358400KB, FILEGROWTH = 51200KB)
to filegroup fastGrowingGroup
go

ALTER DATABASE [autoservice] ADD FILEGROUP defaultGroup;
alter database [autoservice] add file 
(NAME = N'defaultGroup', FILENAME = N'D:\SQLData\defaultGroup.ndf', SIZE = 358400KB, FILEGROWTH = 51200KB)
to filegroup defaultGroup
go

ALTER DATABASE [autoservice] ADD FILEGROUP otherGroup;
alter database [autoservice] add file 
(NAME = N'otherGroup', FILENAME = N'D:\SQLData\otherGroup.ndf', SIZE = 358400KB, FILEGROWTH = 51200KB)
to filegroup otherGroup
go

ALTER DATABASE [autoservice] ADD FILEGROUP indexGroup;
alter database [autoservice] add file 
(NAME = N'indexGroup', FILENAME = N'D:\SQLData\indexGroup.ndf', SIZE = 358400KB, FILEGROWTH = 51200KB)
to filegroup indexGroup
go

ALTER DATABASE [autoservice] ADD FILEGROUP frequentlyReqGroup;
GO
alter database [autoservice] add file (  
  NAME = N'frequentlyReqGroup', FILENAME = N'D:\SQLData\Frequently_requested_tables.ndf', SIZE = 358400KB, FILEGROWTH = 51200KB
)
to filegroup frequentlyReqGroup
GO

use [autoservice]
go
create partition function partitionFunction (bigint)
as range right for values (20230101, 20240101, 20250101);
go

CREATE PARTITION SCHEME schemePartition
AS PARTITION partitionFunction TO
( fastGrowingGroup, frequentlyReqGroup, frequentlyReqGroup, frequentlyReqGroup);


CREATE TABLE worker (
  worker_id INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_worker_id PRIMARY KEY,
  worker_name NVARCHAR(20),
  surname NVARCHAR(20),
  phone NVARCHAR(11),
  email NVARCHAR(30),
  worker_address NVARCHAR(50),
  work_start_date DATE,
  salary INT,
  education NVARCHAR(50),
  FLAG BIT
) ON otherGroup;

CREATE TABLE client (
  client_id INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_client_id PRIMARY KEY,
  alter_key int,
  date_of_birth datetime,
  client_name NVARCHAR(20),
  surname NVARCHAR(20),
  patronymic NVARCHAR(20),
  client_address NVARCHAR(50),
  FLAG BIT
) ON otherGroup;

CREATE TABLE work_title (
  work_title_id INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_work_title_id PRIMARY KEY,
  article_number INT,
  work_category NVARCHAR(50),
  work_name NVARCHAR(50),
  cost INT
) ON otherGroup;

CREATE TABLE fast_client (
  fast_client_id INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_fast_client_id PRIMARY KEY,
  family_status varchar(30),
  age NVARCHAR(10),
  number_of_children varchar(10)
) ON fastGrowingGroup;



CREATE TABLE Dates
  ( dates_id bigint NOT NULL CONSTRAINT PK_Dates_key PRIMARY KEY,
	Date date,
	Year int,
	Quarter int,
	Month int,
	Day int,
	Month_Name nvarchar(50),
	Day_Name nvarchar(50))
ON otherGroup;

CREATE TABLE type_payment (
  type_payment_id INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_type_payment_id PRIMARY KEY,
  method NVARCHAR(20),
  payment_fee NVARCHAR(10),
  discount NVARCHAR(10)
) ON otherGroup;

CREATE TABLE filial (
  filial_id INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_filial_id PRIMARY KEY,
  filial_address NVARCHAR(50)
) ON otherGroup;

CREATE TABLE fact_orders (
  fact_orders_id INT IDENTITY(1,1) NOT NULL,
  worker_id INT,
  work_title_id INT,
  client_id INT,
  fast_client_id INT,
  date_payment BIGINT,
  type_payment_id INT,
  filial_id INT,
  FOREIGN KEY (worker_id) REFERENCES worker(worker_id),
  FOREIGN KEY (work_title_id) REFERENCES work_title(work_title_id),
  FOREIGN KEY (client_id) REFERENCES client(client_id),
  FOREIGN KEY (fast_client_id) REFERENCES fast_client(fast_client_id),
  FOREIGN KEY (date_payment) REFERENCES dates(dates_id),
  FOREIGN KEY (type_payment_id) REFERENCES type_payment(type_payment_id),
  FOREIGN KEY (filial_id) REFERENCES filial(filial_id)
) ON schemePartition(date_payment);

select * from [dbo].[fact_orders]
select * from fact_orders


SELECT DISTINCT
    prt.partition_number,
    prt.rows,
    prv.value AS low_boundary,
    fg.name AS name_filegroup
FROM sys.partitions AS prt
JOIN sys.indexes AS ind ON prt.object_id = ind.object_id AND ind.index_id < 2
JOIN sys.tables AS tbl ON tbl.object_id = ind.object_id
JOIN sys.data_spaces AS ds ON ds.data_space_id = ind.data_space_id
LEFT JOIN sys.partition_schemes AS ps ON ps.data_space_id = ds.data_space_id
LEFT JOIN sys.partition_range_values AS prv ON prv.function_id = ps.function_id AND prv.boundary_id = prt.partition_number - 1
LEFT JOIN sys.destination_data_spaces AS dds ON dds.partition_scheme_id = ps.data_space_id AND dds.destination_id = prt.partition_number
LEFT JOIN sys.filegroups AS fg ON fg.data_space_id = dds.data_space_id
WHERE tbl.name = 'fact_orders'
ORDER BY prt.partition_number;




--ЗАПОЛНЕНИЕ ТАБЛИЦ ДАННЫМИ

--WORKER
DECLARE @count INT = 0;
WHILE @count < 2000
BEGIN
    INSERT INTO worker (worker_name, surname, phone, email, worker_address, work_start_date, salary, education, FLAG)
    VALUES (CONCAT('Name', @count), CONCAT('Surname', @count), CONCAT('1234567', @count), CONCAT('email', @count, '@example.com'), CONCAT('address', @count), GETDATE(), 50000, 'Bachelor', 1);
    SET @count = @count + 1;
END;


-- CLIENT
SET @count = 0;
WHILE @count < 2000
BEGIN
    INSERT INTO client (alter_key, client_name, surname, patronymic, client_address, FLAG, date_of_birth)
   VALUES (
        @count + 1, 
        CONCAT('ClientName', @count), 
        CONCAT('ClientSurname', @count), 
        CONCAT('Patronymic', @count), 
        'Some client address', 
        1,
        DATEADD(year, -(@count % 41), '2001-01-01') -- генерация дат от 2000 года до 1960 года
    );
    SET @count = @count + 1;
END;




/*
--FAST CLIENT
SET @count = 0;
WHILE @count < 2000
BEGIN
    INSERT INTO fast_client (age, phone, email)
    VALUES (CONCAT('', 20 + (@count % 30)), '9876543210', CONCAT('fastemail', @count, '@example.com'));
    SET @count = @count + 1;
END;
*/



-- Заполнение таблицы Client_fast
DECLARE @AgeRangeStart INT = 16;
DECLARE @AgeRangeEnd INT = 99;
DECLARE @CurrentAge INT = @AgeRangeStart;
DECLARE @FamilyStatus VARCHAR(30);
DECLARE @NumberOfChildren INT;

WHILE @CurrentAge <= @AgeRangeEnd
BEGIN
    SET @FamilyStatus = 'FALSE';
    SET @NumberOfChildren = 0;

    WHILE @NumberOfChildren <= 3
    BEGIN
        INSERT INTO fast_client (age, family_status, number_of_children)
        VALUES (CONVERT(VARCHAR(10), @CurrentAge) + '-' + CONVERT(VARCHAR(10), @CurrentAge + 2), @FamilyStatus, @NumberOfChildren);

        SET @NumberOfChildren = @NumberOfChildren + 1;
    END

    SET @FamilyStatus = 'TRUE';
    SET @NumberOfChildren = 0;

    WHILE @NumberOfChildren <= 3
    BEGIN
        INSERT INTO fast_client (age, family_status, number_of_children)
        VALUES (CONVERT(VARCHAR(10), @CurrentAge) + '-' + CONVERT(VARCHAR(10), @CurrentAge + 2), @FamilyStatus, @NumberOfChildren);

        SET @NumberOfChildren = @NumberOfChildren + 1;
    END

    SET @CurrentAge = @CurrentAge + 3;
END;



--WORK TITLE
set @count = 0;
WHILE @count < 2000
BEGIN
    INSERT INTO work_title (article_number, work_category, work_name, cost)
    VALUES (@count, CONCAT('Category', @count % 10), CONCAT('WorkName', @count), 1000 + (@count * 10));
    SET @count = @count + 1;
END;


--ДАТЕС
set language Russian
declare @start date = '2023-01-01'
declare @end date = '2025-01-01'
declare @inc date
set @inc = @start
while @inc <= @end
begin
	insert into [dbo].[Dates]
	values
	(cast (convert (varchar(8), @inc, 112) as bigint),
	convert( date, @inc, 104),
	year(@inc),
	datepart(qq, @inc),
	month (@inc),
	day(@inc),
	datename(mm, @inc),
	datename(dw, @inc))
	set @inc = dateadd(day, 1, @inc)
end
go


--FILIAL
declare @count int = 0
WHILE @count < 2000
BEGIN
    INSERT INTO filial (filial_address)
    VALUES (CONCAT('Address', @count));
    SET @count = @count + 1;
END;


--TYPE PAYMENT
DECLARE @i INT = 1;
DECLARE @methods TABLE (ID INT IDENTITY(1,1), MethodName NVARCHAR(50));

INSERT INTO @methods (MethodName) VALUES ('Credit Card'), ('Debit Card'), ('PayPal'), ('Bank Transfer'), ('Cash');

WHILE @i <= 2000
BEGIN
    INSERT INTO type_payment (method, payment_fee, discount)
    VALUES (
        (SELECT MethodName FROM @methods WHERE ID = (@i % 5) + 1),
        FORMAT((RAND() * (5 - 1) + 1), 'N2'), -- Случайное значение комиссии за оплату от 1 до 5
        FORMAT((RAND() * (10 - 0) + 0), 'N2')  -- Случайный процент скидки от 0 до 10
    );
    
    SET @i = @i + 1;
END;



--FACT ORDERS
DECLARE @j INT = 1;
WHILE @j <= 2000
BEGIN
    INSERT INTO fact_orders (worker_id, work_title_id, client_id, fast_client_id, date_payment, type_payment_id, filial_id)
    VALUES (
        (SELECT TOP 1 worker_id FROM worker ORDER BY NEWID()),
        (SELECT TOP 1 work_title_id FROM work_title ORDER BY NEWID()),
        (SELECT TOP 1 client_id FROM client ORDER BY NEWID()),
        (SELECT TOP 1 fast_client_id FROM fast_client ORDER BY NEWID()),
        (SELECT TOP 1 dates_id FROM dates ORDER BY NEWID()),
        (SELECT TOP 1 type_payment_id FROM type_payment ORDER BY NEWID()),
        (SELECT TOP 1 filial_id FROM filial ORDER BY NEWID())
    );

    SET @j = @j + 1;
END;


--архив
CREATE PARTITION FUNCTION archivePartitionFunction (bigint)
AS RANGE Right FOR VALUES (20230101)

CREATE PARTITION SCHEME archiveScheme
AS PARTITION archivePartitionFunction TO
( fastGrowingGroup, frequentlyReqGroup);


CREATE TABLE archiveFactOrders(
  id INT IDENTITY(1,1) NOT NULL,
  worker_id INT,
  work_title_id INT,
  client_id INT,
  fast_client_id INT,
  date_payment BIGINT,
  type_payment_id INT,
  filial_id INT,
) on archiveScheme(date_payment);



select client_id, filial_id, worker_id, work_title_id FROM fact_orders WHERE date_payment < 20240920; 


CREATE NONCLUSTERED COLUMNSTORE INDEX columnIndex 
ON fact_orders ([fact_orders_id], [date_payment], [filial_id], [client_id], [worker_id], [work_title_id], [fast_client_id], [type_payment_id])
GO


select client_id, filial_id, worker_id, work_title_id FROM fact_orders WHERE date_payment < 20240920; 

DROP INDEX columnIndex  ON fact_orders


SELECT DISTINCT
    prt.partition_number,
    prt.rows,
    prv.value AS low_boundary,
    fg.name AS name_filegroup
FROM sys.partitions prt
JOIN sys.indexes ind ON prt.object_id = ind.object_id
JOIN sys.data_spaces dts ON dts.data_space_id = ind.data_space_id
LEFT JOIN sys.partition_schemes prs ON prs.data_space_id = dts.data_space_id
LEFT JOIN sys.partition_range_values prv ON prv.function_id = prs.function_id AND prv.boundary_id = prt.partition_number - 1
LEFT JOIN sys.destination_data_spaces dds ON dds.partition_scheme_id = prs.data_space_id AND dds.destination_id = prt.partition_number
LEFT JOIN sys.filegroups fg ON fg.data_space_id = dds.data_space_id
WHERE prt.object_id = (SELECT object_id FROM sys.tables WHERE name = 'archiveFactOrders');


SELECT DISTINCT
    prt.partition_number,
    prt.rows,
    prv.value AS low_boundary,
    fg.name AS name_filegroup
FROM sys.partitions prt
JOIN sys.indexes ind ON prt.object_id = ind.object_id
JOIN sys.data_spaces dts ON dts.data_space_id = ind.data_space_id
LEFT JOIN sys.partition_schemes prs ON prs.data_space_id = dts.data_space_id
LEFT JOIN sys.partition_range_values prv ON prv.function_id = prs.function_id AND prv.boundary_id = prt.partition_number - 1
LEFT JOIN sys.destination_data_spaces dds ON dds.partition_scheme_id = prs.data_space_id AND dds.destination_id = prt.partition_number
LEFT JOIN sys.filegroups fg ON fg.data_space_id = dds.data_space_id
WHERE prt.object_id = (SELECT object_id FROM sys.tables WHERE name = 'fact_orders');




DECLARE @DayForMaxPartFactSales VARCHAR(8)
DECLARE @DayForMaxPartArchival VARCHAR(8)
DECLARE @DayForMinPartFactSales VARCHAR(8)
DECLARE @DayForMinPartArchival VARCHAR(8)

SET @DayForMaxPartFactSales = CAST((SELECT TOP 1 [value] FROM
sys.partition_range_values
WHERE function_id = (SELECT function_id
FROM sys.partition_functions
WHERE name = 'partitionFunction')
ORDER BY boundary_id DESC) AS VARCHAR(8))

SET @DayForMaxPartArchival = CAST((SELECT TOP 1 [value] FROM
sys.partition_range_values
WHERE function_id = (SELECT function_id
FROM sys.partition_functions
WHERE name = 'archivePartitionFunction')
ORDER BY boundary_id DESC) AS VARCHAR(8))


DECLARE @Day_DT DATE
SET @Day_DT = DATEADD(YEAR, 1, CAST(@DayForMaxPartFactSales AS DATE))DECLARE @DayArchival_DT DATE
SET @DayArchival_DT = DATEADD(YEAR, 1, CAST(@DayForMaxPartArchival AS
DATE))

ALTER PARTITION SCHEME schemePartition
NEXT USED [fastGrowingGroup];

ALTER PARTITION SCHEME archiveScheme
NEXT USED [fastGrowingGroup];

ALTER PARTITION FUNCTION partitionFunction()
SPLIT RANGE (CAST(CONVERT (VARCHAR(8),@Day_DT, 112) AS BIGINT))

ALTER PARTITION FUNCTION archivePartitionFunction()
SPLIT RANGE (CAST(CONVERT (VARCHAR(8),@DayArchival_DT, 112) AS BIGINT))

ALTER TABLE  fact_orders
SWITCH PARTITION 2
TO  archiveFactOrders PARTITION 2

SET @DayForMinPartFactSales = CAST((SELECT TOP 1 [value] FROM
sys.partition_range_values
WHERE function_id = (SELECT function_id
FROM sys.partition_functions
WHERE name = 'partitionFunction')
ORDER BY boundary_id) AS VARCHAR(8))

SET @DayForMinPartArchival = CAST((SELECT TOP 1 [value] FROM
sys.partition_range_values
WHERE function_id = (SELECT function_id
FROM sys.partition_functions
WHERE name = 'archivePartitionFunction')
ORDER BY boundary_id) AS VARCHAR(8))

ALTER PARTITION FUNCTION partitionFunction()
MERGE RANGE (CAST(@DayForMinPartFactSales AS BIGINT));

ALTER PARTITION FUNCTION archivePartitionFunction()
MERGE RANGE (CAST(@DayForMinPartArchival AS BIGINT));


SELECT DISTINCT
    prt.partition_number,
    prt.rows,
    prv.value AS low_boundary,
    fg.name AS name_filegroup
FROM sys.partitions prt
JOIN sys.indexes ind ON prt.object_id = ind.object_id
JOIN sys.data_spaces dts ON dts.data_space_id = ind.data_space_id
LEFT JOIN sys.partition_schemes prs ON prs.data_space_id = dts.data_space_id
LEFT JOIN sys.partition_range_values prv ON prv.function_id = prs.function_id AND prv.boundary_id = prt.partition_number - 1
LEFT JOIN sys.destination_data_spaces dds ON dds.partition_scheme_id = prs.data_space_id AND dds.destination_id = prt.partition_number
LEFT JOIN sys.filegroups fg ON fg.data_space_id = dds.data_space_id
WHERE prt.object_id = (SELECT object_id FROM sys.tables WHERE name = 'archiveFactOrders');


SELECT DISTINCT
    prt.partition_number,
    prt.rows,
    prv.value AS low_boundary,
    fg.name AS name_filegroup
FROM sys.partitions prt
JOIN sys.indexes ind ON prt.object_id = ind.object_id
JOIN sys.data_spaces dts ON dts.data_space_id = ind.data_space_id
LEFT JOIN sys.partition_schemes prs ON prs.data_space_id = dts.data_space_id
LEFT JOIN sys.partition_range_values prv ON prv.function_id = prs.function_id AND prv.boundary_id = prt.partition_number - 1
LEFT JOIN sys.destination_data_spaces dds ON dds.partition_scheme_id = prs.data_space_id AND dds.destination_id = prt.partition_number
LEFT JOIN sys.filegroups fg ON fg.data_space_id = dds.data_space_id
WHERE prt.object_id = (SELECT object_id FROM sys.tables WHERE name = 'fact_orders');


select * from archiveFactOrders







SELECT 
    c.client_id AS [client_id],
    f.filial_address AS [filial_address],
    wt.work_name AS [work_title],
    w.worker_name AS [worker_name],
    tp.method AS [pay_method],
    d.Date AS [pay_date]
FROM 
    fact_orders fo
LEFT JOIN 
    client c ON fo.client_id = c.client_id
LEFT JOIN 
    filial f ON fo.filial_id = f.filial_id
LEFT JOIN 
    work_title wt ON fo.work_title_id = wt.work_title_id
LEFT JOIN 
    worker w ON fo.worker_id = w.worker_id
LEFT JOIN 
    type_payment tp ON fo.type_payment_id = tp.type_payment_id
LEFT JOIN 
    Dates d ON fo.date_payment = d.dates_id;





select * from fast_client

select * from client




select * from client

SELECT 
    c.client_id AS [client_id],
    c.date_of_birth AS [date_of_birth],
    f.filial_address AS [filial_address],
    wt.work_name AS [work_title],
    w.worker_name AS [worker_name],
    tp.method AS [pay_method],
    d.Date AS [pay_date]
FROM 
    fact_orders fo
LEFT JOIN 
    client c ON fo.client_id = c.client_id
LEFT JOIN 
    filial f ON fo.filial_id = f.filial_id
LEFT JOIN 
    work_title wt ON fo.work_title_id = wt.work_title_id
LEFT JOIN 
    worker w ON fo.worker_id = w.worker_id
LEFT JOIN 
    type_payment tp ON fo.type_payment_id = tp.type_payment_id
LEFT JOIN 
    Dates d ON fo.date_payment = d.dates_id;



select * from fact_orders



DECLARE @age INT = DATEDIFF(YEAR, ?, GETDATE());
DECLARE @demog INT;
SET @demog = (
    SELECT [fast_client_id]
    FROM [dbo].[fast_client]
    WHERE [family_status] = ? 
    AND [number_of_children] = ? 
    AND @age >= CAST(LEFT([age], CHARINDEX('-', [age]) - 1) AS INT) 
    AND @age <= CAST(SUBSTRING([age], CHARINDEX('-', [age]) + 1, LEN([age])) AS INT)
);

INSERT INTO [dbo].[fact_orders]
(
    worker_id, 
    work_title_id, 
    client_id, 
    fast_client_id, 
    date_payment, 
    type_payment_id, 
    filial_id
)
VALUES
(
    ?, -- worker_id
    ?, -- work_title_id
    ?, -- client_id
    @demog, -- fast_client_id
    ?, -- date_payment
    ?, -- type_payment_id
    ?  -- filial_id
);



my db created with this code:
drop table if exists
    visas,
    orders,
    employees,
    offices,
    booking,
    rooms,
    clients,
    hotels,
    tours,
    classes


create table clients
(
    client_id    int identity
        primary key not null,
    first_name   nvarchar(255),
    middle_name  nvarchar(255),
    last_name    nvarchar(255),
    email        nvarchar(255),
    phone_number nvarchar(11),
    zagran       nvarchar(10)
)


create table classes
(
    class_id   int identity
        primary key,
    class_name nvarchar(255)
)

create table offices
(
    office_id       int identity
        primary key,
    office_location nvarchar(255),
    orders_quantity int
)

create table employees
(
    employee_id  int identity
        primary key,
    office_id    int
        foreign key references offices on delete cascade,
    first_name   nvarchar(255),
    middle_name  nvarchar(255),
    last_name    nvarchar(255),
    email        nvarchar(255),
    phone_number nvarchar(11),
    employment_date date,
    salary       money,
    bonus money
)

create table tours
(
    tour_id       int identity
        primary key,
    tour_location nvarchar(255),
    price         money,
    tour_status   nvarchar(255),
    sale          float
)

create table hotels
(
    hotel_id   int identity
        primary key,
    hotel_name nvarchar(50),
    stars      int,
    tour_id    int
        foreign key references tours on delete set null
)

create table rooms
(
    room_id  int identity
        primary key,
    capacity int,
    class_id int
        foreign key references classes on delete set null ,
    hotel_id int
        foreign key references hotels on delete cascade,
    price    money
)

create table booking
(
    booking_id int identity
        primary key,
    room_id   int
        foreign key references rooms on delete cascade,
    arrival   datetime,
    departure datetime
)

create table orders
(
    order_id    int identity
        primary key,
    client_id   int
        foreign key references clients on delete set null,
    tour_id     int
        foreign key references tours on delete set null,
    booking_id  int
        foreign key references booking on delete set null,
    employee_id int
        foreign key references employees on delete set null,
    order_date date
)

create table visas
(
    visa_name    nvarchar(50),
    expires_date date,
    client_id    int
        foreign key references clients(client_id) on delete cascade
)





use tourist_agency;


insert into clients (first_name, middle_name, last_name, email, phone_number, zagran)
values ('Никита', 'Кириллович', 'Михайлов', 'nikita@ya.ru', '88005535353', '1ABCD'),
       ('Влад', 'Кириллович', 'Крошкин', 'rikiki22ta@ya.ru', '88024153532', '1EMP'),
       ('Евгений', 'Никитович', 'Лошков', 'elozhka@ya.ru', '89567887665', '2ABCD'),
       ('Дмитрий', 'Михайлович', 'Вилкин', 'evilka@ya.ru', '89567123665', '3FGHD'),
       ('Дмитрий', 'Александрович', 'Мишкин', 'emilka@ya.ru', '89567123665', '3FCHD'),
       ('Дмитрий', 'Дмитриевич', 'Шапков', 'eshapka@gmail.ru', '89567123665', '3FBHD'),
       ('Алексей', 'Игнатович', 'Горелкин', 'ksksks@ya.ru', '89569987665', '4HBCD'),
       ('Владимир', 'Алексеевич', 'Ножков', 'lmaoman@ya.ru', '89567887689', '5LBCD'),
        ('Чел', 'Челович', 'Волшебник', 'magic_man', '12345678910', '3AAA');

insert tours (tour_location, price, tour_status, sale)
values ('Turkey', 150000, 'sale_off', 0.25),
       ('Kazakhstan', 170000, 'sale_on', 0.15),
       ('Britain', 300000, 'sale_off', 0.25),
       ('USA', 350000, 'sale_off', 0.75),
       ('Canada', 400000, 'sale_on', 0.05),
       ('Germany', 210000, 'sale_off', 0.1),
       ('Turkey', 200000, 'sale_off', 0.25),
       ('Turkey', 300000, 'sale_off', 0.0),
       ('Turkey', 400000, 'sale_off', 0.25)

insert offices (office_location, orders_quantity)
values ('Moscow', 25),
       ('Saratov', 3),
       ('Voronezh', 50),
       ('Samara', 100),
       ('Kazan', 70),
       ('Nigeria', 0),
       ('Tokyo', 0)

insert employees (office_id, first_name, middle_name, last_name, email, phone_number, employment_date, salary, bonus)
values (1, 'Влад', 'Кириллович', 'Крошкин', 'rikiki22ta@ya.ru', '88024153532', '2020-10-10', 25000, 0),
        (5, 'Евгений', 'Никитович', 'Маркин', 'elo121zhka@ya.ru', '89562387665', '2020-10-20', 30000, 0),
        (2, 'Антон', 'Михайлович', 'Шелковичкин', 'evil212ka@ya.ru', '89512323665', '2020-10-30', 45000, 0),
        (2, 'Ахмед', 'Михайлович', 'Шелковичкин', 'nitonito212ka@ya.ru', '89512323668', '2020-10-30', 35000, 0),
        (3, 'Никита', 'Игнатович', 'Тушилкин', 'ksks212ks@ya.ru', '89569567665', '2021-11-10', 40000, 0),
        (4, 'Владимир', 'Витальевич', 'Палкин', 'lmaoma21n@ya.ru', '8922345689', '2021-11-20', 20000, 0),
        (4, 'Игнат', 'Витальевич', 'Палкин', 'lmaoma22n@ya.ru', '8922345688', '2022-12-31', 25000, 0)


insert visas (visa_name, expires_date, client_id)
values ('Green card', '2023-11-23', 1),
       ('Red card', '2023-12-23', 2),
       ('Green card', '2024-11-30', 3),
       ('Green card', '2024-11-11', 4),
       ('Brown card', '2027-12-23', 5)

insert hotels (hotel_name, stars, tour_id)
values ('Grand Michelle', 4, 1),
       ('Almaty', 5, 2),
       ('Great Elizabeth', 3, 3),
       ('Grand Canyon of Death', 2, 4),
       ('MegaMega', 5, 5),
       ('Duchen Bruhen', 4, 6),
       ('Grand Heineken', 4, 7),
       ('Grand Stella Artoes', 4, 8),
       ('Grand Europe', 4, 9)

insert classes (class_name)
values ('Luxury'), ('Premium'), ('Budget'), ('Mid-segment'), ('Love story'), ('You`re funny but ok :)')

insert rooms (capacity, class_id, hotel_id, price)
values (2, 1, 1, 2500),
       (1, 2, 2, 3000),
       (1, 2, 2, 3000),
       (1, 3, 2, 3000),
       (1, 2, 2, 3000),
       (3, 3, 3, 1500),
       (4, 2, 3, 4500),
       (2, 4, 4, 5000),
       (1, 5, 5, 1000),
       (3, 6, 6, 3000),
       (2, 6, 6, 3000),
       (1, 6, 6, 7000),
       (4, 6, 6, 3000),
       (5, 2, 6, 6000),
       (3, 1, 6, 5000),
       (3, 4, 6, 4000),
       (3, 5, 6, 2000),
       (2, 6, 6, 11000),
       (3, 6, 7, 20000),
       (4, 4, 8, 30000),
       (3, 5, 9, 40000)

insert booking (room_id, arrival, departure)
    values (1,      '20231011 10:00', '20231015 10:00'),
           (20,         '20231012 10:00', '20231014 10:00'),
           (1,      '20231015 10:00', '20231018 10:00'),
           (6,          '20231111 10:00', '20231115 10:00'),
           (8,      '20231211 10:00', '20231215 10:00'),
           (9,          '20231211 10:00', '20231215 10:00'),
           (10,     '20221216 10:00', '20221217 10:00'),
           (19,         '20230316 10:00', '20230320 10:00'),
           (20,     '20231016 10:00', '20231017 10:00'),
           (1,          '20221216 10:00', '20221219 10:00'),
           (19,     '20230316 10:00', '20230320 10:00'),
           (21,         '20231016 10:00', '20231017 10:00'),
        (21,         '20171016 10:00', '20171017 10:00')

insert orders (client_id, tour_id, booking_id, employee_id, order_date)
values (2,  1, 1, 1, '2023-09-10'),
       (3,  8, 2, 2,    '2023-09-11'),
       (3,  1, 3, 3, '2023-08-11'),
       (4,  3, 4, 4,    '2023-09-23'),
       (5,  4, 5, 5, '2023-10-23'),
       (1,  5, 6, 6,    '2023-07-15'),
       (2,  6, 7, 1, '2022-10-25'),
       (5,  7, 8, 1,    '2023-01-02'),
       (1,  8, 9, 1, '2023-08-22'),
    (2,  1, 10, 1,      '2022-04-11'),
    (3,  7, 11, 1,   '2022-12-21'),
    (3,  9, 12, 1,      '2023-07-17'),
    (3,  9, 13, 1,      '2015-03-17')





PLEASE KEEP IN MIND THE DIFFERENCE IN ENTITIES AND DATA FORMATS BETWEEN THE CODE THAT NEEDS TO BE REDONE AND MINE. ALL CODE FOR MICROSOFT SQL SERVER