<?php

namespace App\Modules\Group\Application;

use App\Modules\Shared\Domain\Bus\Query\Response;

class GroupResponse implements Response
{
    public function __construct(
        public int $Id_Group,
        public string $Group_Date,
        public string $Group_DateUpdate,
        public string $Group_DateStart,
        public string $Group_DateEnd,
        public string $Group_Hour,
        public string $Group_Name,
        public string $Group_Token,
        public string $Group_Origin,
        public string $Group_Destination,
        public int $Group_Type,
        public int $Group_Order,
        public int $Group_TourDuration,
        public string $Group_Remark,
        public int $Group_MasterType,
        public int $Group_ServiceType,
        public int $Group_NoValidPassengers,
        public int $Group_ValidPassengers,
        public int $Group_Birthday,
        public int $Cant_Pax,

        public int $Group_NotificationCount,
        public int $Group_NotificationStatus,
        public int $Group_Status,
        public int $Id_Master,
        public int $Id_Service,
        public int $Id_StatusGroup,
        public string $Service_Code,
        public string $Service_Name,
        public ?string $Service_Detail,
        public string $Group_Guide_Main,
        public string $Group_Providers,
        public string $Group_Endorser,
        public string $Group_Transport,

        public string $Booking_Code,

        public ?int $Id_Flight,
        public ?string $Flight_DateDeparture,
        public ?string $Flight_DateArrival,
        public ?string $Flight_Origin,
        public ?string $Flight_Destination,
        public ?string $Flight_Number,
        public ?string $Flight_Carrier,
        public ?string $Flight_Observation,
        public ?int $Flight_Type,
        public ?int $Id_Booking,

        public ?int $Id_Tour,
        public ?string $Tour_Code,
        public ?string $Tour_Name,
        public ?string $Tour_UrlThumbnail,
        public ?string $Tour_Duration,
        public ?string $Tour_MinPax,
        public ?string $Tour_Availability,
        public ?string $Tour_AvailabilityStatus,
        public ?string $Tour_Anticipation,
        public ?string $Tour_AnticipationType,
        public ?string $Tour_Color,
        public ?float $Tour_Score,
        public ?float $Tour_ScoreCant,
        public ?float $Tour_ScoreTotal,
        public ?int $Tour_Status,
        public ?int $Id_CategoryTour,
        public ?int $Id_TypeTour,
        public ?int $Id_Country,
        public ?int $Id_State,
        public ?int $Id_City
    ) {}
}
