   getActivitiesAndStatus: (shipment) ->
     activities = []
     status = null
-    rawActivities = shipment['TrackingHistory']?[0]?['Status']
+    rawActivities = shipment['ShipmentEvent']
+    rawActivities = [] unless rawActivities?
+    rawActivities.reverse()
     for rawActivity in rawActivities or []
-      location = @presentAddress rawActivity['Location']?[0]
+      location = @presentAddress rawActivity['ServiceArea']?[0]?['Description']?[0]
       timestamp = @presentTimestamp rawActivity['Date']?[0], rawActivity['Time']?[0]
-      details = rawActivity['StatusDesc']?[0]?['_']
+      details = rawActivity['ServiceEvent']?[0]?['Description']?[0]
       if details? and location? and timestamp?
         details = if details.slice(-1) is '.' then details[..-2] else details
         activity = {timestamp, location, details}
         activities.push activity
       if !status
-        status = @presentStatus rawActivity['Disposition']?[0]
+        status = @presentStatus rawActivity['ServiceEvent']?[0]?['EventCode']?[0]
     {activities, status}
 
   getDestination: (shipment) ->
-    destination = shipment['DestinationDescr']?[0]?['Location']?[0]
+    destination = shipment['DestinationServiceArea']?[0]?['Description']?[0]
     return unless destination?
-    fields = destination.split /,/
+    fields = destination.split /,-/
     newFields = []
     for field in fields or []
       field = field.trim()
-      newFields.push(if field.length > 2 then titleCase(field) else field)
+      newFields.push(if field.length > 3 then titleCase(field) else field)
     return newFields.join(', ') if newFields?.length
 
   requestOptions: ({trackingNumber}) ->
     method: 'POST'
-    uri: 'http://eCommerce.Airborne.com/APILanding.asp'
+    uri: 'http://xmlpi-ea.dhl.com/XMLShippingServlet'
     body: @generateRequest trackingNumber
 
 module.exports = {DhlClient}

    'BT': ShipperClient.STATUS_TYPES.OUT_FOR_DELIVERY
    'OD': ShipperClient.STATUS_TYPES.OUT_FOR_DELIVERY
    'ED': ShipperClient.STATUS_TYPES.OUT_FOR_DELIVERY
    'AD': ShipperClient.STATUS_TYPES.DELAYED
    'CC': ShipperClient.STATUS_TYPES.EN_ROUTE
    'DH': ShipperClient.STATUS_TYPES.EN_ROUTE
    'GH': ShipperClient.STATUS_TYPES.EN_ROUTE

    'CH': ShipperClient.STATUS_TYPES.DELAYED
    'DY': ShipperClient.STATUS_TYPES.DELAYED
    'SE': ShipperClient.STATUS_TYPES.DELAYED
    'UD': ShipperClient.STATUS_TYPES.DELAYED
    'AX': ShipperClient.STATUS_TYPES.EN_ROUTE
    'OF': ShipperClient.STATUS_TYPES.EN_ROUTE
    'PO': ShipperClient.STATUS_TYPES.EN_ROUTE
    'DI': ShipperClient.STATUS_TYPES.EN_ROUTE
    'OK': ShipperClient.STATUS_TYPES.DELIVERED

  presentStatus: (status) ->
    STATUS_MAP[status] or ShipperClient.STATUS_TYPES.UNKNOWN
