<?php

namespace Simplyin\Simplyin_W_Plugin\Dto\Order;

class Status_Info_DTO {

	protected string $order_status          = '';
	protected string $custom_order_status   = '';
	protected string $shipment_status       = '';
	protected string $custom_shipment_status = '';
	protected string $status               = '';
	protected string $date                 = '';
	protected string $city                 = '';
	protected string $courier_slug         = '';
	protected string $location             = '';
	protected string $description          = '';

	public function set_order_status( string $order_status ): void {
		$this->order_status = $order_status;
	}

	public function set_custom_order_status( string $custom_order_status ): void {
		$this->custom_order_status = $custom_order_status;
	}

	public function set_shipment_status( string $shipment_status ): void {
		$this->shipment_status = $shipment_status;
	}

	public function set_custom_shipment_status( string $custom_shipment_status ): void {
		$this->custom_shipment_status = $custom_shipment_status;
	}

	public function set_status( string $status ): void {
		$this->status = $status;
	}

	public function set_date( string $date ): void {
		$this->date = $date;
	}

	public function set_city( string $city ): void {
		$this->city = $city;
	}

	public function set_courier_slug( string $courier_slug ): void {
		$this->courier_slug = $courier_slug;
	}

	public function set_location( string $location ): void {
		$this->location = $location;
	}

	public function set_description( string $description ): void {
		$this->description = $description;
	}

	public function to_array(): array {
		return [
			'orderStatus'          => $this->order_status,
			'customOrderStatus'    => $this->custom_order_status,
			'shipmentStatus'       => $this->shipment_status,
			'customShipmentStatus' => $this->custom_shipment_status,
			'status'               => $this->status,
			'date'                 => $this->date,
			'city'                 => $this->city,
			'courierSlug'          => $this->courier_slug,
			'location'             => $this->location,
			'description'          => $this->description,
		];
	}
}
