def request_session(self):
        """
        Performs initial request to initialize session and get session id
        necessary to construct all future requests.
        :return: Session ID to be placed in header of all other requests.
        """
        concierge_request_header = self.construct_concierge_header(
            url="http://membersuite.com/contracts/IConciergeAPIService/WhoAmI")

        result = self.client.service.WhoAmI(
            _soapheaders=[concierge_request_header])

        self.session_id = get_session_id(result=result)

        if not self.session_id:
            raise MembersuiteLoginError(
                result["body"]["WhoAmIResult"]["Errors"])

        return self.session_id