<?php

declare(strict_types=1);

namespace App\Platform\Shopee\Constants;

use Hyperf\Constants\Annotation\Constants;
use Hyperf\Constants\Annotation\Message;
use Hyperf\Constants\EnumConstantsTrait;

#[Constants]
enum OrderStatus: int
{
    use EnumConstantsTrait;

    #[Message("Order is created, buyer has not paid yet.")]
    case UNPAID = 1;

    #[Message("Seller can arrange shipment.")]
    case READY_TO_SHIP = 2;

    #[Message("Seller has arranged shipment online and got tracking number from 3PL.")]
    case PROCESSED = 3;

    #[Message("3PL pickup parcel fail. Need to re arrange shipment.")]
    case RETRY_SHIP = 4;

    #[Message("The parcel has been drop to 3PL or picked up by 3PL.")]
    case SHIPPED = 5;

    #[Message("The order has been received by buyer.")]
    case TO_CONFIRM_RECEIVE = 6;

    #[Message("The order's cancelation is under processing.")]
    case IN_CANCEL = 7;

    #[Message("The order has been canceled.")]
    case CANCELLED = 8;

    #[Message("The buyer requested to return the order and order's return is processing.")]
    case TO_RETURN = 9;

    #[Message("The order has been completed.")]
    case COMPLETED = 10;
}
