<?php

declare(strict_types=1);

namespace Gls\GlsPoland\AdePlus\Type;

final class CPickup
{
    /**
     * @var string
     */
    private $desc;

    /**
     * @var int
     */
    private $quantity;

    /**
     * @var float
     */
    private $weight;

    /**
     * @var string
     */
    private $datetime;

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

    public function withDesc(string $desc): CPickup
    {
        $new = clone $this;
        $new->desc = $desc;

        return $new;
    }

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

    public function withQuantity(int $quantity): CPickup
    {
        $new = clone $this;
        $new->quantity = $quantity;

        return $new;
    }

    public function getWeight(): float
    {
        return $this->weight;
    }

    public function withWeight(float $weight): CPickup
    {
        $new = clone $this;
        $new->weight = $weight;

        return $new;
    }

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

    public function withDatetime(string $datetime): CPickup
    {
        $new = clone $this;
        $new->datetime = $datetime;

        return $new;
    }
}
