include ../mixins
soap:Envelope(
  xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/',
  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance',
  xmlns:tns='http://ws.micros-retail.com/xservices/TransServices'
)
  soap:Header
  soap:Body
    tns:addSaleLineItem
      tns:ServiceContext: +serviceContext(serviceContext)
      TransSeq= transSeq
      ItemId= itemId || upc
      +optional('Qty', qty || quantity)
      +optional('ItemIdInputType', itemIdInputType)
      +optional('Price', price)
      +optional('Weight', weight)
      +optional('ItemDescription', itemDescription || description)
      +optional('SerialNumber', serialNumber)
      if commissionedAssociates
        CommissionedAssociates
      if itemPromptProperties
        ItemPromptProperties
          each prop in itemPromptProperties
            itemId= prop.itemId
            propertyCode= prop.propertyCode
            propertyValue= prop.propertyValue
            +optional('promptMethod', prop.promptMethod)
            +optional('promptText', prop.promptText)
            +optional('promptTitle', prop.promptTitle)
            +optional('valueRequired', prop.valueRequired)