<?php

namespace App\Modules\Tour\Application\Create;

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

final class TourInserterQuery implements Query
{
    public function __construct(
        private string $code,
        private string $name,
        private string $urlThumbnail,
        private int $duration,
        private int $minPax,
        private int $availability,
        private int $availabilityStatus,
        private int $anticipation,
        private int $anticipationType,
        private string $color,
        private int $status,

        private int $briefingDaysBefore,
        private string $briefingTime,
        private string $briefingText,
        private int $briefingUseCredential,
        private int $groupCamp,

        private int $idCategoryTour,
        private int $idTypeTour,
        private int $idCountry,
        private int $idState,
        private int $idCity,
    ) {}

    public function code(): string
    {
        return $this->code;
    }
    public function name(): string
    {
        return $this->name;
    }
    public function urlThumbnail(): string
    {
        return $this->urlThumbnail;
    }
    public function duration(): int
    {
        return $this->duration;
    }
    public function minPax(): int
    {
        return $this->minPax;
    }
    public function availability(): int
    {
        return $this->availability;
    }
    public function availabilityStatus(): int
    {
        return $this->availabilityStatus;
    }
    public function anticipation(): int
    {
        return $this->anticipation;
    }
    public function anticipationType(): int
    {
        return $this->anticipationType;
    }
    public function color(): string
    {
        return $this->color;
    }
    public function status(): int
    {
        return $this->status;
    }
    public function groupCamp(): int
    {
        return $this->groupCamp;
    }
    public function idCategoryTour(): int
    {
        return $this->idCategoryTour;
    }
    public function idTypeTour(): int
    {
        return $this->idTypeTour;
    }
    public function idCountry(): int
    {
        return $this->idCountry;
    }
    public function idState(): int
    {
        return $this->idState;
    }
    public function idCity(): int
    {
        return $this->idCity;
    }


    public function  briefingDaysBefore(): int
    {
        return $this->briefingDaysBefore;
    }
    public function  briefingTime(): string
    {
        return $this->briefingTime;
    }
    public function  briefingText(): string
    {
        return $this->briefingText;
    }
    public function  briefingUseCredential(): int
    {
        return $this->briefingUseCredential;
    }
}
