Click or drag to resize

IeCommerceServiceOrderCreate Method

Create Customer Order for ClickAndCollect or BasketPostSales

Namespace:  LSOmni.Service
Assembly:  LSOmni.Service (in LSOmni.Service.dll) Version: LS Omni 3.7.0
Syntax
C#
Order OrderCreate(
	Order request
)

Parameters

request
Type: LSRetail.Omni.Domain.DataModel.Loyalty.OrdersOrder

Return Value

Type: Order
true if order creation was executed
Examples
Shows how Omni Object is mapped to LS Nav/Central WS Request
NAV WS mapping
 <Request_ID>CUSTOMER_ORDER_CREATE_EXT</Request_ID> 
 <Request_Body>
  <Item_No_Type>request.ItemNumberType</Item_No_Type>
  <Customer_Order_Header>
    <Document_Id>request.Id</Document_Id>
    <Store_No.>request.StoreId</Store_No.>
    <Member_Card_No.>request.CardId</Member_Card_No.>
    <Source_Type>request.SourceType</Source_Type>
    <Full_Name>request.ContactName</Full_Name>
    <Address>request.ContactAddress.Address1</Address>
    <Address_2>request.ContactAddress.Address2</Address_2>
    <City>request.ContactAddress.City</City>
    <County>request.ContactAddress.StateProvinceRegion</County>
    <Post_Code>request.ContactAddress.PostCode</Post_Code>
    <Country_Region_Code>request.ContactAddress.Country</Country_Region_Code>
    <Phone_No.>request.PhoneNumber</Phone_No.>
    <Email>request.Email</Email>
    <House_Apartment_No.>request.ContactAddress.HouseNo</House_Apartment_No.>
    <Mobile_Phone_No.>request.MobileNumber</Mobile_Phone_No.>
    <Daytime_Phone_No.>request.DayPhoneNumber</Daytime_Phone_No.>
    <Ship_To_Full_Name>request.ShipToName</Ship_To_Full_Name>
    <Ship_To_Address>request.ShipToAddress.Address1</Ship_To_Address>
    <Ship_To_Address_2>request.ShipToAddress.Address2</Ship_To_Address_2>
    <Ship_To_City>request.ShipToAddress.City</Ship_To_City>
    <Ship_To_County>request.ShipToAddress.StateProvinceRegion</Ship_To_County>
    <Ship_To_Post_Code>request.ShipToAddress.PostCode</Ship_To_Post_Code>
    <Ship_To_Country_Region_Code>request.ShipToAddress.Country</Ship_To_Country_Region_Code>
    <Ship_To_Phone_No.>request.ShipToPhoneNumber</Ship_To_Phone_No.>
    <Ship_To_Email>request.ShipToEmail</Ship_To_Email>
    <Ship_To_House_Apartment_No.>request.ShipToAddress.HouseNo</Ship_To_House_Apartment_No.>
    <Click_And_Collect_Order>request.ClickAndCollectOrder</Click_And_Collect_Order>
    <Anonymous_Order>request.AnonymousOrder</Anonymous_Order>
    <Shipping_Agent_Code>request.ShippingAgentCode</Shipping_Agent_Code>
    <Shipping_Agent_Service_Code>request.ShippingAgentServiceCode</Shipping_Agent_Service_Code>
  </Customer_Order_Header>
  <Customer_Order_Line>
    <Document_Id>request.Id</Document_Id>
    <Line_No.>request.OrderLineCreateRequests.LineNumber</Line_No.>
    <Line_Type>request.OrderLineCreateRequests.LineType</Line_Type>
    <Number>request.OrderLineCreateRequests.ItemId</Number>
    <Variant_Code>request.OrderLineCreateRequests.VariantId</Variant_Code>
    <Unit_of_Measure_Code>request.OrderLineCreateRequests.UomId</Unit_of_Measure_Code>
    <Net_Price>request.OrderLineCreateRequests.NetPrice</Net_Price>
    <Price>request.OrderLineCreateRequests.Price</Price>
    <Quantity>request.OrderLineCreateRequests.Quantity</Quantity>
    <Discount_Amount>request.OrderLineCreateRequests.DiscountAmount</Discount_Amount>
    <Discount_Percent>request.OrderLineCreateRequests.DiscountPercent</Discount_Percent>
    <Net_Amount>request.OrderLineCreateRequests.NetAmount</Net_Amount>
    <Vat_Amount>request.OrderLineCreateRequests.TaxAmount</Vat_Amount>
    <Amount>request.OrderLineCreateRequests.Amount</Amount>
  </Customer_Order_Line>
  <Customer_Order_Discount_Line>
    <Document_Id>request.Id</Document_Id>
    <Line_No.>request.OrderDiscountLineCreateRequests.LineNumber</Line_No.>
    <Entry_No.>request.OrderDiscountLineCreateRequests.No</Entry_No.>
    <Discount_Type>request.OrderDiscountLineCreateRequests.DiscountType</Discount_Type>
    <Offer_No.>request.OrderDiscountLineCreateRequests.OfferNumber</Offer_No.>
    <Periodic_Disc._Type>request.OrderDiscountLineCreateRequests.PeriodicDiscType</Periodic_Disc._Type>
    <Periodic_Disc._Group>request.OrderDiscountLineCreateRequests.PeriodicDiscGroup</Periodic_Disc._Group>
    <Description>request.OrderDiscountLineCreateRequests.Description</Description>
    <Discount_Percent>request.OrderDiscountLineCreateRequests.DiscountPercent</Discount_Percent>
    <Discount_Amount>request.OrderDiscountLineCreateRequests.DiscountAmount</Discount_Amount>
  </Customer_Order_Discount_Line>
  <Customer_Order_Payment>
    <Document_Id>request.Id</Document_Id>
    <Line_No.>request.OrderPaymentCreateRequests.LineNumber</Line_No.>
    <Pre_Approved_Amount>request.OrderPaymentCreateRequests.PreApprovedAmount</Pre_Approved_Amount>
    <Tender_Type>request.OrderPaymentCreateRequests.TenderType</Tender_Type>
    <Card_Type>request.OrderPaymentCreateRequests.CardType</Card_Type> 
    <Currency_Code>request.OrderPaymentCreateRequests.CurrencyCode</Currency_Code>
    <Currency_Factor>request.OrderPaymentCreateRequests.CurrencyFactor</Currency_Factor>
    <Authorisation_Code>request.OrderPaymentCreateRequests.AuthorisationCode</Authorisation_Code>
    <Pre_Approved_Valid_Date>request.OrderPaymentCreateRequests.PreApprovedValidDate</Pre_Approved_Valid_Date>
    <Card_or_Customer_number>request.OrderPaymentCreateRequests.CardNumber</Card_or_Customer_number>
  </Customer_Order_Payment>
</Request_Body>
This Sample request can be used in SOAP UI application to send request to OMNI.

Include minimum data needed to be able to process the request

SOAP Sample Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://lsretail.com/LSOmniService/EComm/2017/Service" xmlns:ns="http://lsretail.com/LSOmniService/Base/2017" xmlns:ns1="http://lsretail.com/LSOmniService/Loy/2017">
 <soapenv:Header/>
 <soapenv:Body>
    <ser:OrderCreate>
       <ser:request>
          <ns:Id></ns:Id>
          <ns1:AnonymousOrder>false</ns1:AnonymousOrder>
           <!--Not needed when AnonymouseOrder == false:-->
          <ns1:CardId>10021</ns1:CardId>
          <ns1:ClickAndCollectOrder>false</ns1:ClickAndCollectOrder>
          <ns1:CollectLocation></ns1:CollectLocation>
          <ns1:LineItemCount>1</ns1:LineItemCount>
          <!--OrderLines need to have minimum Price and Net Price set for Order to be valid.Price is unit price and will be used when calculate the Line Total Amount -->
          <ns1:OrderDiscountLines>
          </ns1:OrderDiscountLines>
          <ns1:OrderLines>
             <ns1:OrderLine>
                <ns1:Amount>160.00</ns1:Amount>
                <ns1:DiscountAmount>0</ns1:DiscountAmount>
                <ns1:DiscountPercent>0</ns1:DiscountPercent>
                <ns1:ItemId>40020</ns1:ItemId>
                <ns1:LineNumber>1</ns1:LineNumber>
                <ns1:LineType>Item</ns1:LineType>
                <ns1:NetAmount>128.00</ns1:NetAmount>
                <ns1:NetPrice>64.00</ns1:NetPrice>
                <ns1:Price>80.00</ns1:Price>
                <ns1:Quantity>2.00</ns1:Quantity>
                <ns1:QuantityOutstanding>0</ns1:QuantityOutstanding>
                <ns1:QuantityToInvoice>2.00</ns1:QuantityToInvoice>
                <ns1:QuantityToShip>0</ns1:QuantityToShip>
                <ns1:TaxAmount>32.00</ns1:TaxAmount>
                <ns1:UomId/>
                <ns1:VariantId>002</ns1:VariantId>
             </ns1:OrderLine>
          </ns1:OrderLines>
           <!--Optional: Used for PrePayment information for Shipped orders-->
          <ns1:OrderPayments>
             <!--Zero or more repetitions:-->
             <ns1:OrderPayment>
                <ns1:AuthorisationCode>123456</ns1:AuthorisationCode>
                <ns1:CardNumber>45XX..5555</ns1:CardNumber>
                <ns1:CardType>VISA</ns1:CardType>
                <ns1:CurrencyCode></ns1:CurrencyCode>
                <ns1:CurrencyFactor>1</ns1:CurrencyFactor>
                <ns1:FinalizedAmount>0</ns1:FinalizedAmount>
                <ns1:LineNumber>1</ns1:LineNumber>
                <ns1:No></ns1:No>
                <ns1:OrderId></ns1:OrderId>
                <ns1:PreApprovedAmount>160.00</ns1:PreApprovedAmount>
                <ns1:PreApprovedValidDate>2030-01-01</ns1:PreApprovedValidDate>
                <ns1:TenderType>1</ns1:TenderType>
             </ns1:OrderPayment>
          </ns1:OrderPayments>
          <ns1:OrderStatus>Pending</ns1:OrderStatus>
          <ns1:PaymentStatus>PreApproved</ns1:PaymentStatus>
          <ns1:Posted>false</ns1:Posted>
          <ns1:ShipClickAndCollect>false</ns1:ShipClickAndCollect>
           <!--Optional: ShipToAddress can not be null if ClickAndCollectOrder == false-->
          <ns1:ShipToAddress>
             <ns:Address1>Some Address</ns:Address1>
             <ns:Address2></ns:Address2>
             <ns:CellPhoneNumber></ns:CellPhoneNumber>
             <ns:City>Some City</ns:City>
             <ns:Country></ns:Country>
             <ns:HouseNo></ns:HouseNo>
             <ns:Id></ns:Id>
             <ns:PhoneNumber></ns:PhoneNumber>
             <ns:PostCode>999</ns:PostCode>
             <ns:StateProvinceRegion></ns:StateProvinceRegion>
             <ns:Type>Residential</ns:Type>
          </ns1:ShipToAddress>
          <ns1:ShippingStatus>NotYetShipped</ns1:ShippingStatus>
          <ns1:SourceType>eCommerce</ns1:SourceType>
          <ns1:StoreId>S0013</ns1:StoreId>
          <ns1:TotalAmount>160</ns1:TotalAmount>
          <ns1:TotalDiscount>0</ns1:TotalDiscount>
          <ns1:TotalNetAmount>128</ns1:TotalNetAmount>
       </ser:request>
    </ser:OrderCreate>
 </soapenv:Body>
</soapenv:Envelope>
Response Data from OMNI after Request has been sent
SOAP Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
     <OrderCreateResponse xmlns = "http://lsretail.com/LSOmniService/EComm/2017/Service" >
        < OrderCreateResult xmlns:a="http://lsretail.com/LSOmniService/Loy/2017" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
           <Id xmlns = "http://lsretail.com/LSOmniService/Base/2017" > 1874c7fa-48f9-4417-a2b2-7b51fba07b08</Id>
           <a:AnonymousOrder>false</a:AnonymousOrder>
           <a:CardId>10021</a:CardId>
           <a:ClickAndCollectOrder>false</a:ClickAndCollectOrder>
           <a:CollectLocation i:nil="true"/>
           <a:ContactAddress xmlns:b="http://lsretail.com/LSOmniService/Base/2017">
              <b:Address1/>
              <b:Address2/>
              <b:CellPhoneNumber i:nil="true"/>
              <b:City/>
              <b:Country/>
              <b:HouseNo/>
              <b:Id/>
              <b:PhoneNumber i:nil="true"/>
              <b:PostCode/>
              <b:StateProvinceRegion/>
              <b:Type>Residential</b:Type>
           </a:ContactAddress>
           <a:ContactId/>
           <a:ContactName/>
           <a:DayPhoneNumber/>
           <a:DocumentId>CO000011</a:DocumentId>
           <a:DocumentRegTime>2018-11-20T12:41:53.763</a:DocumentRegTime>
           <a:Email>tom @tom.xxx</a:Email>
           <a:LineItemCount>2</a:LineItemCount>
           <a:MobileNumber/>
           <a:OrderDiscountLines/>
           <a:OrderLines>
              <a:OrderLine>
                 <Id xmlns = "http://lsretail.com/LSOmniService/Base/2017" />
                 < a:Amount>160.00000000000000000000</a:Amount>
                 <a:DiscountAmount>0.00000000000000000000</a:DiscountAmount>
                 <a:DiscountPercent>0.00000000000000000000</a:DiscountPercent>
                 <a:ItemDescription>Skirt Linda Professional Wear</a:ItemDescription>
                 <a:ItemId>40020</a:ItemId>
                 <a:LineNumber>10000</a:LineNumber>
                 <a:LineType>Item</a:LineType>
                 <a:NetAmount>128.00000000000000000000</a:NetAmount>
                 <a:NetPrice>64.00000000000000000000</a:NetPrice>
                 <a:OrderId/>
                 <a:Price>80.00000000000000000000</a:Price>
                 <a:Quantity>2.00000000000000000000</a:Quantity>
                 <a:QuantityOutstanding>0</a:QuantityOutstanding>
                 <a:QuantityToInvoice>0</a:QuantityToInvoice>
                 <a:QuantityToShip>0</a:QuantityToShip>
                 <a:TaxAmount>32.00000000000000000000</a:TaxAmount>
                 <a:UomId/>
                 <a:VariantDescription>YELLOW/38</a:VariantDescription>
                 <a:VariantId>002</a:VariantId>
              </a:OrderLine>
           </a:OrderLines>
           <a:OrderPayments>
              <a:OrderPayment>
                 <a:AuthorisationCode>123456</a:AuthorisationCode>
                 <a:CardNumber>10xx xxxx xxxx 1475</a:CardNumber>
                 <a:CardType>VISA</a:CardType>
                 <a:CurrencyCode>GBP</a:CurrencyCode>
                 <a:CurrencyFactor>1.00000000000000000000</a:CurrencyFactor>
                 <a:FinalizedAmount>0.00000000000000000000</a:FinalizedAmount>
                 <a:LineNumber>10000</a:LineNumber>
                 <a:No>1</a:No>
                 <a:OrderId>CO000011</a:OrderId>
                 <a:PreApprovedAmount>160.00000000000000000000</a:PreApprovedAmount>
                 <a:PreApprovedValidDate>2030-01-01T00:00:00</a:PreApprovedValidDate>
                 <a:TenderType>1</a:TenderType>
              </a:OrderPayment>
           </a:OrderPayments>
           <a:OrderStatus>Created</a:OrderStatus>
           <a:PaymentStatus>PreApproved</a:PaymentStatus>
           <a:PhoneNumber>98545468</a:PhoneNumber>
           <a:PointAmount>0</a:PointAmount>
           <a:PointBalance>0</a:PointBalance>
           <a:PointCashAmountNeeded>0</a:PointCashAmountNeeded>
           <a:PointsRewarded>0</a:PointsRewarded>
           <a:PointsUsedInOrder>0</a:PointsUsedInOrder>
           <a:Posted>false</a:Posted>
           <a:ReceiptNo i:nil= "true" />
           < a:ShipClickAndCollect>false</a:ShipClickAndCollect>
           <a:ShipToAddress xmlns:b= "http://lsretail.com/LSOmniService/Base/2017" >
              < b:Address1>Some Address</b:Address1>
              <b:Address2/>
              <b:CellPhoneNumber i:nil= "true" />
              < b:City>Some City</b:City>
              <b:Country/>
              <b:HouseNo/>
              <b:Id/>
              <b:PhoneNumber i:nil= "true" />
              < b:PostCode>999</b:PostCode>
              <b:StateProvinceRegion/>
              <b:Type>Residential</b:Type>
           </a:ShipToAddress>
           <a:ShipToEmail/>
           <a:ShipToName/>
           <a:ShipToPhoneNumber/>
           <a:ShippingAgentCode/>
           <a:ShippingAgentServiceCode/>
           <a:ShippingStatus>NotYetShipped</a:ShippingStatus>
           <a:SourceType>eCommerce</a:SourceType>
           <a:StoreId>S0013</a:StoreId>
           <a:TotalAmount>160.00000000000000000000</a:TotalAmount>
           <a:TotalDiscount>0.00000000000000000000</a:TotalDiscount>
           <a:TotalNetAmount>128.00000000000000000000</a:TotalNetAmount>
        </OrderCreateResult>
     </OrderCreateResponse>
  </s:Body>
</s:Envelope>
See Also