Application Load

ICartPromoNotice

The physical TypeScript declaration from the Nuxt starter, with linked types and field comments.

ICartPromoNotice

Promo code without a discount, or a removed or refused code.

app/interfaces/orionplace/cart/ICartData.ts
TypeScript
export interface ICartPromoNotice {
  // Reason code. With `is_removed: false`: `no_lines`, `not_matched`,
  // `product_discounted`, `below_minimum`, `subscriptions_only`, `too_small` or
  // `nothing_to_ship` (a free-shipping code where every covered shipment
  // already ships for free). With `is_removed: true`: `expired`, `not_active`,
  // `not_started`, `usage_limit`, `promotion_limit`, `not_yours`,
  // `personal_limit`, `first_order_only` or `wrong_domain`, or one of the first
  // group when `marketing_promo_promo_apply` refused the code for these items.
  reason: ECartPromoNoticeReason | string;
  /** The reason in the request language. */
  message: string;
  // Code the notice is about.
  promocode: string | null;
  // `false` — the code is still in `cart.promocode` but gives no discount with
  // the current items. `true` — the cart no longer holds this code: it was
  // removed or refused.
  is_removed: boolean;
  /**
   * Minimum order amount per currency; set only for `below_minimum`. The
   * dollar amount decides (catalog dollar prices); the other currencies
   * are its conversion.
   */
  minimum_order_amount: ICurrencyAmounts | null;
  /**
   * The currency ids the notice is about; `null` means every currency.
   * Show the notice only when the selected currency id is in the list, for
   * example a fixed code that takes $10 off in dollars and 0 ₽ in rubles
   * (`too_small`). Absent on older backends.
   */
  currency_ids?: Array<number | string> | null;
  /**
   * For `below_minimum`: how much more the products the code covers must
   * cost, per currency (dollars decide). `null` otherwise; absent on older
   * backends.
   */
  missing_amount?: ICurrencyAmounts | null;
}