/**
  * Create the TimeInTransit request.
  *
  * @param TimeInTransitRequest $timeInTransitRequest The request details. Refer to the UPS documentation for available structure
  *
  * @return string
  */
 private function createRequest(TimeInTransitRequest $timeInTransitRequest)
 {
     $xml = new DOMDocument();
     $xml->formatOutput = true;
     $trackRequest = $xml->appendChild($xml->createElement('TimeInTransitRequest'));
     $trackRequest->setAttribute('xml:lang', 'en-US');
     $request = $trackRequest->appendChild($xml->createElement('Request'));
     $node = $xml->importNode($this->createTransactionNode(), true);
     $request->appendChild($node);
     $request->appendChild($xml->createElement('RequestAction', 'TimeInTransit'));
     $transitFromNode = $trackRequest->appendChild($xml->createElement('TransitFrom'));
     $address = $timeInTransitRequest->getTransitFrom();
     if (isset($address)) {
         $transitFromNode->appendChild($address->toNode($xml));
     }
     $transitToNode = $trackRequest->appendChild($xml->createElement('TransitTo'));
     $address = $timeInTransitRequest->getTransitTo();
     if (isset($address)) {
         $transitToNode->appendChild($address->toNode($xml));
     }
     $weight = $timeInTransitRequest->getShipmentWeight();
     if (isset($weight)) {
         $trackRequest->appendChild($weight->toNode($xml));
     }
     $packages = $timeInTransitRequest->getTotalPackagesInShipment();
     if (isset($packages)) {
         $trackRequest->appendChild($xml->createElement('TotalPackagesInShipment', $packages));
     }
     $invoiceLineTotal = $timeInTransitRequest->getInvoiceLineTotal();
     if (isset($invoiceLineTotal)) {
         $trackRequest->appendChild($invoiceLineTotal->toNode($xml));
     }
     $pickupDate = $timeInTransitRequest->getPickupDate();
     if ($pickupDate) {
         $trackRequest->appendChild($xml->createElement('PickupDate', $pickupDate->format('Ymd')));
     }
     $indicator = $timeInTransitRequest->getDocumentsOnlyIndicator();
     if ($indicator) {
         $trackRequest->appendChild($xml->createElement('DocumentsOnlyIndicator'));
     }
     return $xml->saveXML();
 }