<!ELEMENT ShopSiteOrders (Response, Order*)>

<!ATTLIST ShopSiteOrders version CDATA #IMPLIED>

<!ELEMENT Response (ResponseCode, ResponseDescription)>
<!ELEMENT ResponseCode (#PCDATA)>
<!ELEMENT ResponseDescription (#PCDATA)>
    
<!ELEMENT Order (OrderNumber, ShopSiteTransactionID, OrderDate, Billing, Shipping, 
                 Payment, Totals, Coupon*, GiftCertificate*, Other)> 
<!ELEMENT OrderNumber (#PCDATA)>
<!ELEMENT OrderDate   (#PCDATA)>
<!ELEMENT ShopSiteTransactionID (#PCDATA)>

<!ELEMENT Billing (FullName, NameParts, Email, Company, Phone, Address)>
<!ELEMENT Email  (#PCDATA)>

<!ELEMENT Shipping   (FullName, NameParts, Company, Phone, Address, Products)>
<!ELEMENT Products   (Product)+>
<!ELEMENT Product    (ProdType, Name, SKU, Taxable, TaxRate, Quantity, ItemPrice, Total, Weight?,
                      Dimension?, Dimensions?, OrderOptions*, CustomerText, MerchantInfo?,
                      FromWishList?, QBImport*, DobaItemID?, GiftCertificatePurchase?)> 

<!ELEMENT ProdType   (#PCDATA)>
<!ELEMENT SKU        (#PCDATA)>
<!ELEMENT Quantity   (#PCDATA)>
<!ELEMENT ItemPrice  (#PCDATA)>
<!ELEMENT Taxable    (#PCDATA)>
<!ELEMENT Weight     (#PCDATA)>
<!ELEMENT DobaItemID (#PCDATA)>

<!ELEMENT Dimension  (Length?, Width?, Height?)>
<!ELEMENT Dimensions (Length?, Width?, Height?)>
<!ELEMENT Length     (#PCDATA)>
<!ELEMENT Width      (#PCDATA)>
<!ELEMENT Height     (#PCDATA)>

<!ELEMENT OrderOptions  (OrderOption)*>
<!ELEMENT OrderOption   (SelectedOption, OptionPrice, QBImport?)>
<!ELEMENT SelectedOption  (#PCDATA)>
<!ELEMENT OptionPrice     (#PCDATA)>

<!ELEMENT CustomerText  (#PCDATA)> 
<!ELEMENT MerchantInfo  (#PCDATA)> 
<!ELEMENT FromWishList  (#PCDATA)> 

<!ELEMENT QBImport  (ItemType?, ItemName?, ItemDesc?, ItemQBID?)>
<!ELEMENT ItemType      (#PCDATA)>
<!ELEMENT ItemName      (#PCDATA)>
<!ELEMENT ItemDesc      (#PCDATA)>
<!ELEMENT ItemQBID      (#PCDATA)>

<!ELEMENT GiftCertificatePurchase  (EmailTo*, From, To, Message)>
<!ELEMENT EmailTo    (Email)+>
<!ELEMENT From       (#PCDATA)>
<!ELEMENT To         (#PCDATA)>
<!ELEMENT Message    (#PCDATA)>

<!ELEMENT Payment  ((CreditCard | COD | Check | eCheck | PurchaseOrder | Generic1 | Generic2 |
                     PayPal | PayPalExpress | WorldPay | Google | NetBanx | AnetSim | Amazon | Amazon_pwa)?)>

<!ELEMENT CreditCard  (Issuer?, Number?, VerificationValue?, FullName?, Company?, ExpirationDate?,
                       PaymentGateway?, PaymentStatus?, OrderProcessingInfo?)>

<!ELEMENT Issuer              (#PCDATA)>
<!ELEMENT Number              (#PCDATA)>
<!ELEMENT VerificationValue   (#PCDATA)>
<!ELEMENT ExpirationDate      (#PCDATA)>
<!ELEMENT PaymentGateway      (#PCDATA)>
<!ELEMENT PaymentStatus       (#PCDATA)>
<!ELEMENT OrderProcessingInfo (#PCDATA)>

<!ELEMENT COD EMPTY>

<!ELEMENT Check (RoutingNumber, AccountNumber)>

<!ELEMENT eCheck  (RoutingNumber, AccountNumber, BankName, NameOnAccount)>
<!ELEMENT BankName      (#PCDATA)>
<!ELEMENT NameOnAccount (#PCDATA)>

<!ELEMENT PurchaseOrder (PurchaseNumber)>
<!ELEMENT PurchaseNumber  (#PCDATA)>

<!ELEMENT Generic1  (field1?, field2?, field3?, field4?)>
<!ELEMENT Generic2  (field1?, field2?, field3?, field4?)> 

<!ELEMENT PayPal         (OrderProcessingInfo?)>
<!ELEMENT PayPalExpress  (OrderProcessingInfo?)>
<!ELEMENT WorldPay       (OrderProcessingInfo?)>
<!ELEMENT Google         (OrderProcessingInfo?)>
<!ELEMENT NetBanx        (OrderProcessingInfo?)>
<!ELEMENT AnetSim        (OrderProcessingInfo?)>
<!ELEMENT Amazon         (OrderProcessingInfo?)>
<!ELEMENT Amazon_pwa     (OrderProcessingInfo?)>

<!ELEMENT Totals  (ProductTotal, Discount, Subtotal, Tax, GrandTotal, ShippingTotal, Surcharge*)>
<!ELEMENT ProductTotal  (#PCDATA)>

<!ELEMENT Discount  (Type?, Percent?, Amount?, ApplyDiscount?)>
<!ELEMENT Type          (#PCDATA)>
<!ELEMENT Percent       (#PCDATA)>
<!ELEMENT Amount        (#PCDATA)>
<!ELEMENT ApplyDiscount (#PCDATA)>

<!ELEMENT Subtotal      (#PCDATA)>

<!ELEMENT Tax   (TaxName?, TaxRate?, TaxAmount?, TaxShipping?)>
<!ELEMENT TaxName       (#PCDATA)>
<!ELEMENT TaxRate       (#PCDATA)>
<!ELEMENT TaxAmount     (#PCDATA)>
<!ELEMENT TaxShipping   (#PCDATA)>

<!ELEMENT GrandTotal    (#PCDATA)>
<!ELEMENT Surcharge     (Total?, Description?)>
<!ELEMENT ShippingTotal (Total?, Description?)>

<!ELEMENT Coupon  (Name?, Status?, Total?, ApplyCoupon?, CouponCode?)>
<!ELEMENT Status      (#PCDATA)>
<!ELEMENT ApplyCoupon (#PCDATA)>
<!ELEMENT CouponCode  (#PCDATA)>

<!ELEMENT GiftCertificate (ID?, AmountUsed?, AmountRemaining?)>
<!ELEMENT ID                (#PCDATA)>
<!ELEMENT AmountUsed        (#PCDATA)>
<!ELEMENT AmountRemaining   (#PCDATA)>

<!ELEMENT Other (CustomerID?, Associate?, OrderInstructions?, Comments?, Notes?, OrderUTC?,
                 OrderMedium?, Log?, Shipper?, TrackingNumber?, IpHostname?, TotalOrderWeight?,
                 EmailList?, BuySafeAmount?, BuySafeText?, BuySafeCartID?, DobaShipping?,
                 DobaOrderInfo?, VATID?, CustomCheckoutField*)>
<!ELEMENT CustomerID              (#PCDATA)>
<!ELEMENT Associate               (#PCDATA)>
<!ELEMENT OrderInstructions       (#PCDATA)>
<!ELEMENT Comments                (#PCDATA)>
<!ELEMENT Notes                   (#PCDATA)>
<!ELEMENT OrderUTC                (#PCDATA)>
<!ELEMENT OrderMedium             (#PCDATA)>
<!ELEMENT TrackingNumber          (#PCDATA)>
<!ELEMENT Shipper                 (#PCDATA)>
<!ELEMENT IpHostname              (#PCDATA)>
<!ELEMENT TotalOrderWeight        (#PCDATA)>
<!ELEMENT EmailList               (#PCDATA)>
<!ELEMENT BuySafeAmount           (#PCDATA)>
<!ELEMENT BuySafeText             (#PCDATA)>
<!ELEMENT BuySafeCartID           (#PCDATA)>
<!ELEMENT DobaShipping            (#PCDATA)>
<!ELEMENT DobaOrderInfo           (#PCDATA)>
<!ELEMENT VATID                   (#PCDATA)>

<!ELEMENT Log (Entry)*>
<!ELEMENT Entry (Action, Date, Name?, Info?)>
<!ELEMENT Action        (#PCDATA)>
<!ELEMENT Date          (#PCDATA)>
<!ELEMENT Info          (#PCDATA)>

<!ELEMENT CustomCheckoutField (FieldName?, FieldValue?)>
<!ELEMENT FieldName   (#PCDATA)>
<!ELEMENT FieldValue  (#PCDATA)>

<!ELEMENT RoutingNumber (#PCDATA)>
<!ELEMENT AccountNumber (#PCDATA)>

<!ELEMENT Name          (#PCDATA)>
<!ELEMENT Description   (#PCDATA)>
<!ELEMENT Total         (#PCDATA)>

<!ELEMENT FullName  (#PCDATA)>

<!ELEMENT NameParts (Title, FirstName, MiddleName, LastName, Suffix)>
<!ELEMENT Title       (#PCDATA)>
<!ELEMENT FirstName   (#PCDATA)>
<!ELEMENT MiddleName  (#PCDATA)>
<!ELEMENT LastName    (#PCDATA)>
<!ELEMENT Suffix      (#PCDATA)>

<!ELEMENT Company   (#PCDATA)>
<!ELEMENT Phone     (#PCDATA)>

<!ELEMENT Address (Street1, Street2, City, State, Code, Country)>
<!ELEMENT Street1   (#PCDATA)>
<!ELEMENT Street2   (#PCDATA)>
<!ELEMENT City      (#PCDATA)>
<!ELEMENT State     (#PCDATA)>
<!ELEMENT Code      (#PCDATA)>
<!ELEMENT Country   (#PCDATA)>

<!ELEMENT field1    (#PCDATA)>
<!ELEMENT field2    (#PCDATA)>
<!ELEMENT field3    (#PCDATA)>
<!ELEMENT field4    (#PCDATA)>

<!ENTITY euro    "&#128;">
<!ENTITY sbquo   "&#130;">
<!ENTITY lsquor  "&#130;">
<!ENTITY fnof    "&#131;">
<!ENTITY bdquo   "&#132;">
<!ENTITY ldquor  "&#132;">
<!ENTITY hellip  "&#133;">
<!ENTITY ldots   "&#133;">
<!ENTITY dagger  "&#134;">
<!ENTITY Dagger  "&#135;">
<!ENTITY permil  "&#137;">
<!ENTITY Scaron  "&#138;">
<!ENTITY lsaquo  "&#139;">
<!ENTITY OElig   "&#140;">
<!ENTITY lsquo   "&#145;">
<!ENTITY rsquor  "&#145;">
<!ENTITY rsquo   "&#146;">
<!ENTITY ldquo   "&#147;">
<!ENTITY rdquor  "&#147;">
<!ENTITY rdquo   "&#148;">
<!ENTITY bull    "&#149;">
<!ENTITY ndash   "&#150;">
<!ENTITY endash  "&#150;">
<!ENTITY mdash   "&#151;">
<!ENTITY emdash  "&#151;">
<!ENTITY tilde   "&#152;">
<!ENTITY trade   "&#153;">
<!ENTITY scaron  "&#154;">
<!ENTITY rsaquo  "&#155;">
<!ENTITY oelig   "&#156;">
<!ENTITY Yuml    "&#159;">
<!ENTITY nbsp    "&#160;">
<!ENTITY iexcl   "&#161;">
<!ENTITY cent    "&#162;">
<!ENTITY pound   "&#163;">
<!ENTITY curren  "&#164;">
<!ENTITY yen     "&#165;">
<!ENTITY brvbar  "&#166;">
<!ENTITY sect    "&#167;">
<!ENTITY uml     "&#168;">
<!ENTITY copy    "&#169;">
<!ENTITY ordf    "&#170;">
<!ENTITY laquo   "&#171;">
<!ENTITY not     "&#172;">
<!ENTITY shy     "&#173;">
<!ENTITY reg     "&#174;">
<!ENTITY macr    "&#175;">
<!ENTITY deg     "&#176;">
<!ENTITY plusmn  "&#177;">
<!ENTITY sup2    "&#178;">
<!ENTITY sup3    "&#179;">
<!ENTITY acute   "&#180;">
<!ENTITY micro   "&#181;">
<!ENTITY para    "&#182;">
<!ENTITY middot  "&#183;">
<!ENTITY cedil   "&#184;">
<!ENTITY sup1    "&#185;">
<!ENTITY ordm    "&#186;">
<!ENTITY raquo   "&#187;">
<!ENTITY frac14  "&#188;">
<!ENTITY frac12  "&#189;">
<!ENTITY frac34  "&#190;">
<!ENTITY iquest  "&#191;">
<!ENTITY Agrave  "&#192;">
<!ENTITY Aacute  "&#193;">
<!ENTITY Acirc   "&#194;">
<!ENTITY Atilde  "&#195;">
<!ENTITY Auml    "&#196;">
<!ENTITY Aring   "&#197;">
<!ENTITY AElig   "&#198;">
<!ENTITY Ccedil  "&#199;">
<!ENTITY Egrave  "&#200;">
<!ENTITY Eacute  "&#201;">
<!ENTITY Ecirc   "&#202;">
<!ENTITY Euml    "&#203;">
<!ENTITY Igrave  "&#204;">
<!ENTITY Iacute  "&#205;">
<!ENTITY Icirc   "&#206;">
<!ENTITY Iuml    "&#207;">
<!ENTITY ETH     "&#208;">
<!ENTITY Ntilde  "&#209;">
<!ENTITY Ograve  "&#210;">
<!ENTITY Oacute  "&#211;">
<!ENTITY Ocirc   "&#212;">
<!ENTITY Otilde  "&#213;">
<!ENTITY Ouml    "&#214;">
<!ENTITY times   "&#215;">
<!ENTITY Oslash  "&#216;">
<!ENTITY Ugrave  "&#217;">
<!ENTITY Uacute  "&#218;">
<!ENTITY Ucirc   "&#219;">
<!ENTITY Uuml    "&#220;">
<!ENTITY Yacute  "&#221;">
<!ENTITY THORN   "&#222;">
<!ENTITY szlig   "&#223;">
<!ENTITY agrave  "&#224;">
<!ENTITY aacute  "&#225;">
<!ENTITY acirc   "&#226;">
<!ENTITY atilde  "&#227;">
<!ENTITY auml    "&#228;">
<!ENTITY aring   "&#229;">
<!ENTITY aelig   "&#230;">
<!ENTITY ccedil  "&#231;">
<!ENTITY egrave  "&#232;">
<!ENTITY eacute  "&#233;">
<!ENTITY ecirc   "&#234;">
<!ENTITY euml    "&#235;">
<!ENTITY igrave  "&#236;">
<!ENTITY iacute  "&#237;">
<!ENTITY icirc   "&#238;">
<!ENTITY iuml    "&#239;">
<!ENTITY eth     "&#240;">
<!ENTITY ntilde  "&#241;">
<!ENTITY ograve  "&#242;">
<!ENTITY oacute  "&#243;">
<!ENTITY ocirc   "&#244;">
<!ENTITY otilde  "&#245;">
<!ENTITY ouml    "&#246;">
<!ENTITY divide  "&#247;">
<!ENTITY oslash  "&#248;">
<!ENTITY ugrave  "&#249;">
<!ENTITY uacute  "&#250;">
<!ENTITY ucirc   "&#251;">
<!ENTITY uuml    "&#252;">
<!ENTITY yacute  "&#253;">
<!ENTITY thorn   "&#254;">
<!ENTITY yuml    "&#255;">

