<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bol="http://ws.estesexpress.com/schema/2013/06/bol" xmlns:exla="http://ws.estesexpress.com/schema/vocabulary" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ws.estesexpress.com/schema/2013/06/bol" xml:lang="en">
<xsd:annotation>
<xsd:documentation xml:lang="en">Bill of Lading Request. Copyright 2013 Estes Express Lines, Inc.</xsd:documentation>
</xsd:annotation>
<xsd:include schemaLocation="BolService?xsd=bolCommon.xsd"/>
<xsd:import namespace="http://ws.estesexpress.com/schema/vocabulary" schemaLocation="BolService?xsd=vocabulary.xsd"/>
<xsd:element name="bol">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="bol:requestID"/>
<xsd:element name="role" type="bol:UserRoleType"/>
<xsd:element name="info" type="bol:BolInfoType"/>
<xsd:element name="shipper" type="bol:PartyType"/>
<xsd:element name="consignee" type="bol:PartyType"/>
<xsd:element name="billTo" type="bol:BillToType"/>
<xsd:element minOccurs="0" name="cod" type="bol:CODType"/>
<xsd:element minOccurs="0" name="specialInstructions" type="bol:SpecialInstructionsType"/>
<xsd:element minOccurs="0" name="hazmat" type="bol:HazmatType"/>
<xsd:element minOccurs="0" name="totalShipUnits" type="bol:TotalShipUnitsType"/>
<xsd:element minOccurs="0" name="totalCube" type="bol:TotalCubeType"/>
<xsd:element name="commodities" type="bol:CommoditiesType"/>
<xsd:element minOccurs="0" name="references" type="bol:ReferenceNumbersType"/>
<xsd:element minOccurs="0" name="accessorials" type="bol:AccessorialsType"/>
<xsd:element minOccurs="0" name="labels" type="bol:ShipLabelsType"/>
<xsd:element minOccurs="0" name="notifications" type="bol:NotificationsType"/>
</xsd:sequence>
<xsd:attribute default="E" name="type" type="bol:BolDocumentType"/>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="AccessorialsType">
<xsd:annotation>
<xsd:documentation>Accessorial charge codes</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="accessorial" type="bol:AccessorialType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="AccessorialType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="6"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CommoditiesType">
<xsd:annotation>
<xsd:documentation>Commodity lines in request</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="commodity" type="bol:CommodityType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="CommodityDescriptionType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="512"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CommodityType">
<xsd:sequence>
<xsd:element minOccurs="0" name="hazmat" type="bol:YesNoBlankType"/>
<xsd:element minOccurs="0" name="description" type="bol:CommodityDescriptionType"/>
<xsd:element name="units" type="bol:CommodityUnitType"/>
<xsd:element name="unitType" type="exla:PackagingType"/>
<xsd:element name="weight" type="bol:CommodityWeightType"/>
<xsd:element minOccurs="0" name="shipClass" type="exla:ShipmentClassType"/>
<xsd:element minOccurs="0" name="nmfc" type="bol:NmfcType"/>
<xsd:element minOccurs="0" name="packagingUnits" type="bol:CommodityUnitType"/>
<xsd:element minOccurs="0" name="packagingUnitType" type="exla:PackagingType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="CommodityUnitType">
<xsd:annotation>
<xsd:documentation>Commodity units - up to 5 digits</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:positiveInteger">
<xsd:maxInclusive value="99999"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CommodityWeightType">
<xsd:annotation>
<xsd:documentation>Commodity weight</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:positiveInteger">
<xsd:totalDigits value="7"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="HazmatType">
<xsd:annotation>
<xsd:documentation>Commodity hazmat info.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element minOccurs="0" name="firstName" type="bol:PersonNameType"/>
<xsd:element minOccurs="0" name="lastName" type="bol:PersonNameType"/>
<xsd:element name="phone" type="bol:PhoneType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="NmfcCodeType">
<xsd:restriction base="xsd:positiveInteger">
<xsd:totalDigits value="6"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="NmfcSubCodeType">
<xsd:restriction base="xsd:positiveInteger">
<xsd:totalDigits value="2"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="NmfcType">
<xsd:annotation>
<xsd:documentation>National Motor Freight Classification (NMFC) code</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="code" type="bol:NmfcCodeType"/>
<xsd:element minOccurs="0" name="subCode" type="bol:NmfcSubCodeType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NotificationsType">
<xsd:sequence>
<xsd:element maxOccurs="3" minOccurs="0" name="partyNotification" type="bol:PartyNotificationType"/>
<xsd:element minOccurs="0" name="otherNotification" type="bol:OtherNotificationType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OtherNotificationType">
<xsd:sequence>
<xsd:element minOccurs="0" name="email" type="bol:EmailType"/>
<xsd:element minOccurs="0" name="fax" type="bol:PhoneType"/>
<xsd:element minOccurs="0" name="emailBol" type="bol:YesNoBlankType"/>
<xsd:element minOccurs="0" name="emailTracking" type="bol:YesNoBlankType"/>
<xsd:element minOccurs="0" name="emailShipLabels" type="bol:YesNoBlankType"/>
<xsd:element minOccurs="0" name="faxBol" type="bol:YesNoBlankType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PartyNotificationType">
<xsd:sequence>
<xsd:choice>
<xsd:element name="useShipper" type="bol:YesNoBlankType"/>
<xsd:element name="useConsignee" type="bol:YesNoBlankType"/>
<xsd:element name="useThirdParty" type="bol:YesNoBlankType"/>
</xsd:choice>
<xsd:element minOccurs="0" name="emailBol" type="bol:YesNoBlankType"/>
<xsd:element minOccurs="0" name="emailTracking" type="bol:YesNoBlankType"/>
<xsd:element minOccurs="0" name="emailShipLabels" type="bol:YesNoBlankType"/>
<xsd:element minOccurs="0" name="faxBol" type="bol:YesNoBlankType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="ReferenceCartonsType">
<xsd:restriction base="xsd:positiveInteger">
<xsd:totalDigits value="5"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ReferenceNumbersType">
<xsd:annotation>
<xsd:documentation>Customer reference numbers</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="reference" type="bol:ReferenceType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="ReferenceNumberType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="30"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ReferenceType">
<xsd:sequence>
<xsd:element name="number" type="bol:ReferenceNumberType"/>
<xsd:element name="type" type="bol:TypeOfReference"/>
<xsd:element minOccurs="0" name="cartons" type="bol:ReferenceCartonsType"/>
<xsd:element minOccurs="0" name="weight" type="bol:ReferenceWeightType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="ReferenceWeightType">
<xsd:restriction base="xsd:positiveInteger">
<xsd:totalDigits value="5"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ShipLabelType">
<xsd:annotation>
<xsd:documentation>Type of shipping label</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ShipLabelsType">
<xsd:annotation>
<xsd:documentation>Shipping label inforamtion</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="labelType" type="bol:ShipLabelType"/>
<xsd:element name="startLabel" type="bol:StartShipLabelType"/>
<xsd:element name="totalLabels" type="bol:TotalShipLabelsType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="StartShipLabelType">
<xsd:restriction base="xsd:positiveInteger">
<xsd:totalDigits value="1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TotalShipLabelsType">
<xsd:restriction base="xsd:positiveInteger">
<xsd:totalDigits value="4"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TypeOfReference">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="5"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
