<?php

namespace App\Modules\CommercialInvoice\Application\Insert;

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

final class InsertCommercialInvoiceQuery implements Query
{
    public function __construct(
        private string $date,
        private string $dateUpdate,
        private string $issueDate,
        private string $codeReservation,
        private string $numberSerie,
        private int $type,
        private string $amountWithoutIgv,
        private string $amountWithIgv,
        private int $status,
        private int $idBookingUpgradePassenger,
        private int $idBookingExtraPassenger,
        private int $idBooking,
        private int $idAdmin
    ) {}

    public function date(): string
    {
        return $this->date;
    }

    public function dateUpdate(): string
    {
        return $this->dateUpdate;
    }

    public function issueDate(): string
    {
        return $this->issueDate;
    }

    public function codeReservation(): string
    {
        return $this->codeReservation;
    }

    public function numberSerie(): string
    {
        return $this->numberSerie;
    }

    public function type(): int
    {
        return $this->type;
    }

    public function amountWithoutIgv(): string
    {
        return $this->amountWithoutIgv;
    }

    public function amountWithIgv(): string
    {
        return $this->amountWithIgv;
    }

    public function status(): int
    {
        return $this->status;
    }

    public function idBookingUpgradePassenger(): int
    {
        return $this->idBookingUpgradePassenger;
    }

    public function idBookingExtraPassenger(): int
    {
        return $this->idBookingExtraPassenger;
    }

    public function idBooking(): int
    {
        return $this->idBooking;
    }

    public function idAdmin(): int
    {
        return $this->idAdmin;
    }
}
