a method to create an rsvp for a meetup event

        :param group_url: string with meetup urlname for group
        :param event_id: integer with meetup id for event
        :param additional_guests: [optional] integer with number of additional guests
        :param attendance_answers: [optional] list with id & answer for event survey questions
        :param payment_service: [optional] string with name of payment service to use
        :param payment_code: [optional] string with token to authorize payment
        :return: dictionary with attendee details inside [json] key

        attendee_details = self._reconstruct_attendee({})

def join_event(self, group_url, event_id, additional_guests=0, attendance_answers=None, payment_service='', payment_code=''):

        ''' a method to create an rsvp for a meetup event

        :param group_url: string with meetup urlname for group
        :param event_id: integer with meetup id for event
        :param additional_guests: [optional] integer with number of additional guests
        :param attendance_answers: [optional] list with id & answer for event survey questions
        :param payment_service: [optional] string with name of payment service to use
        :param payment_code: [optional] string with token to authorize payment
        :return: dictionary with attendee details inside [json] key

        attendee_details = self._reconstruct_attendee({})
        '''

    # https://www.meetup.com/meetup_api/docs/:urlname/events/:event_id/rsvps/

        title = '%s.join_event' % self.__class__.__name__

    # validate permissions
        if not 'rsvp' in self.service_scope:
            raise ValueError('%s requires group_join as part of oauth2 service_scope permissions.' % title)

    # validate inputs
        input_fields = {
            'group_url': group_url,
            'event_id': event_id,
            'additional_guests': additional_guests,
            'attendance_answers': attendance_answers,
            'payment_service': payment_service,
            'payment_code': payment_code
        }
        for key, value in input_fields.items():
            if value:
                object_title = '%s(%s=%s)' % (title, key, str(value))
                self.fields.validate(value, '.%s' % key, object_title)

    # construct request fields
        url = '%s/%s/events/%s/rsvps' % (self.endpoint, group_url, event_id)
        params = {
            'response': 'yes'
        }
        if additional_guests:
            params['guests'] = additional_guests
        if attendance_answers:
            for answer in attendance_answers:
                key = 'answer_%s' % str(answer['question_id'])
                params[key] = answer['answer_text']
        if payment_service:
            params['agree_to_refund'] = True
            params['opt_to_pay'] = True

    # send request
        response_details = self._post_request(url, params=params)

    # construct method output
        if response_details['json']:
            response_details['json'] = self._reconstruct_attendee(response_details['json'])

        return response_details