<?php

namespace Shm\ShmPayment\TBankPayment\TBankCollections;

use Shm\Collection\Collection;
use Shm\Shm;
use Shm\ShmTypes\StructureType;

class TNominalDeals extends Collection
{
    public function schema(): StructureType
    {
        return Shm::structure([
            "dealId" => Shm::string(),
            "accountNumber" => Shm::string()->title("Номер счета"),
            "status" => Shm::enum([
                //CREATED (Создана): Сделка появляется в системе после выполнения команды на создание.
                'CREATED' => 'Создана',
                //DRAFT (Черновик): В этот статус сделку можно перевести специальным методом, если её параметры требуют правки до подтверждения.
                'DRAFT' => 'Черновик',
                //CONFIRMED (Подтверждена): Этот этап наступает после подтверждения параметров сделки. Дополнительно можно использовать метод проверки статуса, чтобы убедиться, что по сделке возможно проведение платежей.
                'CONFIRMED' => 'Подтверждена',
                //CANCELLED (Отменена): Сделка прекращается без завершения расчетов.
                'CANCELLED' => 'Отменена',
                //DELETED (Удалена): Полное удаление сделки из реестра.
                'DELETED' => 'Удалена',
            ])->title("Статус сделки"),
        ]);
    }
}