Загрузка приложения

IOrder

Физическое объявление TypeScript из стартового проекта Nuxt со связанными типами и комментариями к полям.

IOrder

Заказ покупателя с оплатой, контактами и отправлениями.

interfaces/orionplace/orders/IOrderHistory.ts
TypeScript
export interface IOrder {
  // ID заказа.
  id: number;
  // Способ оплаты последнего счёта либо null.
  payment: IPaymentMethod | null;
  // Суммы по валютам: итог, оплаченная сумма, остаток, скидки и возвраты.
  // `delivery_price_is_estimate` обозначает предварительную стоимость доставки.
  prices: IOrderPrices;
  // Валюта, в которой посчитан и оплачивается заказ: `id` валюты и `rate` — её
  // единиц за доллар США на момент оформления. Для заказов, оформленных до
  // сохранения валюты, оба поля `null`.
  currency: {
    // ID заказа.
    id: number | null;
    // Единиц валюты заказа за доллар США на момент оформления; `null` для
    // старых заказов.
    rate: number | null;
  };
  // Состояние заказа: `EOrderStatus`. Состояние оплаты находится в отдельном
  // поле.
  status: {
    // Значение поля int.
    int: EOrderStatus;
    // Значение поля text.
    text: string;
  };
  // Состояние оплаты: `EOrderPaymentStatus`.
  payment_status: {
    // Значение поля int.
    int: EOrderPaymentStatus;
    // Значение поля text.
    text: string;
  };
  // Количество ожидаемых к возврату, возвращённых и ожидающих выплаты позиций.
  refund_stats: IOrderRefundStats;
  // Использует ли последний счёт оплату при получении.
  pay_on_delivery: boolean;
  // Сохранённый адрес заказа; `country` и `state` — отдельные объекты либо
  // null.
  main_address: Omit<ICartAddress, 'location'>;
  // Контактные данные покупателя и необязательные данные получателя в
  // `reciever_name` и `reciever_phone`.
  contact: {
    // Значение поля full_name.
    full_name: string;
    // Значение поля phone.
    phone: string;
    // Значение поля email.
    email: string;
    // ID заказа.
    id: number;
    // Необязательное поле reciever_name; может отсутствовать.
    reciever_name?: string;
    // Необязательное поле reciever_phone; может отсутствовать.
    reciever_phone?: string;
  };
  // Отправления со способом доставки, адресом, датами, отслеживанием, ценами и
  // `shipment_items`. `null`, если данные отправлений отсутствуют.
  delivery_froms: IOrderShipment[] | null;
  // Покупатель запросил отмену.
  order_self_canceled: boolean;
  // Данные прикреплённой акции, если они включены в ответ; могут быть `null`.
  attached_promo?: IPromoDefinition | null;
  // Применённый выданный код, если есть.
  promocode?: string;
  // Количество отправленных отправлений.
  c_delivery_from_sent: number;
  // Количество доставленных отправлений.
  c_delivery_from_delivered: number;
  // Всего отправлений.
  c_delivery_from: number;
  // Минуты до истечения текущего неоплаченного счёта, только пока счёт создан и
  // имеет срок действия. Значение может быть отрицательным; иначе null.
  cancel_in_minutes: number | null;
  // Время оформления заказа.
  time_submited: IApiDateTime | null;
  // Комментарий покупателя, сохранённый в заказе.
  user_comment: string;
}