"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.OrderAddress = void 0;

var _propTypes = _interopRequireDefault(require("prop-types"));

var _phoneNumber = require("./phone-number");

var _postalCode = require("./postal-code");

var _countryCode = require("./country-code");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */

/* Copyright (c) 2018 Mobify Research & Development Inc. All rights reserved. */

/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */

/**
 * @memberOf module:types
 * @typedef {Object} OrderAddress
 * @property {String} id The id of the order address.
 * @property {String} titleCode The title code of the customer. (For example, 'Mr.' or 'Mrs.'.)
 * @property {String} firstName The customer's first name.
 * @property {String} lastName The customer's last name.
 * @property {module:types.PhoneNumber} phone The customer's phone number.
 * @property {String} addressLine1 The customer's street name, street number, and suite/unit.
 * @property {String} addressLine2 Any additional addressing information. (For example, a company name, or "Attn:".)
 * @property {module:types.CountryCode} countryCode The country code.
 * @property {String} stateCode The state code.
 * @property {String} city The city name.
 * @property {module:types.PostalCode} postalCode The postal code.
 */
var OrderAddress = {
  id: _propTypes["default"].string,
  titleCode: _propTypes["default"].string,
  firstName: _propTypes["default"].string.isRequired,
  lastName: _propTypes["default"].string.isRequired,
  phone: _phoneNumber.PhoneNumber,
  addressLine1: _propTypes["default"].string.isRequired,
  addressLine2: _propTypes["default"].string,
  countryCode: _countryCode.CountryCode.isRequired,
  stateCode: _propTypes["default"].string.isRequired,
  city: _propTypes["default"].string.isRequired,
  postalCode: _postalCode.PostalCode.isRequired
};
exports.OrderAddress = OrderAddress;