text: from typing import Optional
  import xml.etree.ElementTree as ET
  from ...xml.XmlReader import XmlReader as XR
  from ..namespaces import COMMON
  from ..namespaces import API
  from ..dto.TransactionResponse import TransactionResponse
  from .deserialize_basic_header import deserialize_basic_header
  from .deserialize_basic_result import deserialize_basic_result
  from .deserialize_software import deserialize_software
  
  
  def deserialize_transaction_response(element: ET.Element) -> Optional[TransactionResponse]:
      if element is None:
          return None
  
      result = TransactionResponse(
          header=deserialize_basic_header(
              XR.find_child(element, 'header', COMMON)
          ),
          result=deserialize_basic_result(
              XR.find_child(element, 'result', COMMON)
          ),
          software=deserialize_software(
              XR.find_child(element, 'software', API)
          ),
          transaction_id=XR.get_child_text(element, 'transactionId', API),
      )
  
      return result
  