/**
  * @param $expected_date_time
  * @param $earliest_date_time
  * @param $ship_cancel_date_time
  * @param $PONumber
  * @param $ReferenceNum
  * @return TransactionInfoExt
  */
 private function buildTransactionInformation($expected_date_time, $earliest_date_time, $ship_cancel_date_time, $PONumber, $ReferenceNum)
 {
     // New up a TransactionInfoExt object
     $transaction = new TransactionInfoExt($expected_date_time, $earliest_date_time, $ship_cancel_date_time);
     // Set information via method attributes
     $transaction->setPONum($PONumber);
     $transaction->setReferenceNum($ReferenceNum);
     // Return the properly formatted TransactionInfoExt
     return $transaction;
 }
// create order
$order = new Order(1);
// contact information
$contact_info = new ContactInfoExt(3);
// company name
$contact_info->setCompanyName("Some Company");
// contact information
$contact_info->setCustomerName("John Doe");
$contact_info->setDept("IT");
$contact_info->setPhoneNumber1("9547854455");
$contact_info->setName("Johnathon Doe");
$contact_info->setEmailAddress1("*****@*****.**");
$contact_info->setFax("9548884213");
$contact_info->setVendor("A Vendor");
// transaction information
$transaction = new TransactionInfoExt(new DateTime(), new DateTime(), new DateTime());
$transaction->setPONum("293473718734");
$transaction->setReferenceNum("ThisIsATest1234");
// address ext information
$address = new AddressExt();
$address->setAddress1("1233 Garden Rd.");
$address->setAddress2("");
$address->setCity("Weston");
$address->setState("Florida");
$address->setCountry("United States");
$address->setZip("33327");
// contact info set address
$contact_info->setAddress($address);
$order->setShipTo($contact_info);
$order->setNotes("Hello World, Testing from Fulfillment API plugin");
$order->setTransInfo($transaction);