/* tslint:disable */
/* eslint-disable */
/**
 * ShipStation API v2
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 2.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


// May contain unused imports in some cases
// @ts-ignore
import type { CarrierAdvancedOption } from './carrier-advanced-option';
// May contain unused imports in some cases
// @ts-ignore
import type { PackageType } from './package-type';
// May contain unused imports in some cases
// @ts-ignore
import type { Service } from './service';

/**
 * A carrier object that represents a provider such as UPS, USPS, DHL, etc that has been tied to the current account. 
 * @export
 * @interface Carrier
 */
export interface Carrier {
    [key: string]: any;

    /**
     * A string that uniquely identifies the carrier.
     * @type {string}
     * @memberof Carrier
     */
    'carrier_id'?: string;
    /**
     * The [shipping carrier] who will ship the package, such as `fedex`, `dhl_express`, `stamps_com`, etc. 
     * @type {string}
     * @memberof Carrier
     */
    'carrier_code'?: string;
    /**
     * The account number that the carrier is connected to.
     * @type {string}
     * @memberof Carrier
     */
    'account_number'?: string;
    /**
     * Indicates whether the carrier requires funding to use its services
     * @type {boolean}
     * @memberof Carrier
     */
    'requires_funded_amount'?: boolean;
    /**
     * Current available balance
     * @type {number}
     * @memberof Carrier
     */
    'balance'?: number;
    /**
     * Nickname given to the account when initially setting up the carrier.
     * @type {string}
     * @memberof Carrier
     */
    'nickname'?: string;
    /**
     * Screen readable name
     * @type {string}
     * @memberof Carrier
     */
    'friendly_name'?: string;
    /**
     * Funding source ID for the carrier
     * @type {string}
     * @memberof Carrier
     */
    'funding_source_id'?: string | null;
    /**
     * Is this the primary carrier that is used by default when no carrier is specified in label/shipment creation
     * @type {boolean}
     * @memberof Carrier
     */
    'primary'?: boolean;
    /**
     * Carrier supports multiple packages per shipment
     * @type {boolean}
     * @memberof Carrier
     */
    'has_multi_package_supporting_services'?: boolean;
    /**
     * The carrier supports adding custom label messages to an order.
     * @type {boolean}
     * @memberof Carrier
     */
    'supports_label_messages'?: boolean;
    /**
     * The carrier is disabled by the current ShipStation account\'s billing plan.
     * @type {boolean}
     * @memberof Carrier
     */
    'disabled_by_billing_plan'?: boolean;
    /**
     * A list of services that are offered by the carrier
     * @type {Array<Service>}
     * @memberof Carrier
     */
    'services'?: Array<Service>;
    /**
     * A list of package types that are supported by the carrier
     * @type {Array<PackageType>}
     * @memberof Carrier
     */
    'packages'?: Array<PackageType>;
    /**
     * A list of options that are available to that carrier
     * @type {Array<CarrierAdvancedOption>}
     * @memberof Carrier
     */
    'options'?: Array<CarrierAdvancedOption>;
}

