<?php
/**
 * Class GetLabel
 *
 * @package DhlPolska\API\ParcelShop\Method
 */

namespace DhlPolska\API\ParcelShop\Method;

use DhlPolska\API\AuthDataInterface;
use JsonSerializable;

/**
 * GetLabel structure.
 */
class GetLabel implements JsonSerializable {

	/**
	 * @var AuthDataInterface
	 */
	private AuthDataInterface $auth_data;

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

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

	/**
	 * GetLabel constructor.
	 *
	 * @param AuthDataInterface $auth_data .
	 * @param string            $shipment  .
	 * @param string            $type      .
	 */
	public function __construct( AuthDataInterface $auth_data, string $shipment, string $type ) {
		$this->auth_data = $auth_data;
		$this->shipment  = $shipment;
		$this->type      = $type;
	}

	/**
	 * @return array
	 */
	public function jsonSerialize(): array {
		return [
			'authData' => $this->auth_data,
			'shipment' => $this->shipment,
			'type'     => $this->type,
		];
	}
}
