Service Provider - access full appointment details

Hi there,

I would like each service provider to be able view all details regarding their appointments - including custom fields.
But, only be able to see their appointments, and no other service providers appointments - unless they are an admin user.

At the moment it looks like when a service provider logs in to access appointments, there is no way to find out any extra information the client may have provided using custom fields.

Please advise how we can set this up.

Many thanks,
Kate

  • Rowena Murray

    Hi Ash,

    Thanks for your response - apologies for the double up. I could not see that this initial Q had gone through.

    I guess there is no way to also pull extra data into the 'My Appointments' page for example, for a service provider to see this extra info?

    I did see a previous thread where some custom code was provided by a developer to get something like this going for someone.

    Cheers
    Kate

  • Ash

    Hello @Rowena Murray

    Thanks for sharing the thread.

    Would you please send your admin login and ftp login both?

    To send me details, please use our contact form: https://premium.wpmudev.org/contact/

    Select: I have a different question
    Subject: Attn-Ash (this ensures that it will be assigned to me)
    Details:
    1. Send all requested details
    2. Send a link of this thread so that I can track
    3. Send any other relevant link

    I will be happy to take a look :slight_smile:

    Cheers
    Ash

  • Ash

    Hello @Rowena Murray

    I have added the required code as mu-plugin in your site:

    <?php
    
    add_filter('app_my_appointments_column_name','incsub_appt_add_field_display_col_name');
    function incsub_appt_add_field_display_col_name($head_html){
    	// Repeat the following line for headers/column names
    	$head_html .= '<th class="all-appointments-status">' . __('Do you know the design you are looking for? If so, please specifiy', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Stone Style', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Heart', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Round', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Emerald Cut', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Princess', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Not sure', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Do you have a carat weight in mind? If so, please let us know here', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('What is your estimated budget. Please let us know here', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('When do you need the ring by', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Within 1 month', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Within 3 months', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Within 6 months', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Within 1 year', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('If you would like to give us any additional comments to prepare for your appointment, please let us know here', 'appointments' ) . '</th>';
    	$head_html .= '<th class="all-appointments-status">' . __('Will this be your first time visiting the Australian Diamond Company', 'appointments' ) . '</th>';
    
    	return $head_html;
    }
    
    add_filter('app-shortcode-my_appointments-after_status','incsub_appt_add_field_display_field_value',99,2);
    function incsub_appt_add_field_display_field_value($x,$appointment){
    	$appointments_data = get_option('appointments_data', array());
    
    	$extra_html = $x;
    	$extra_fields = empty($appointments_data[$appointment->ID])? array(): $appointments_data[$appointment->ID];
    
    	//repeat the following line for each extra fields, replacing hometeam with appropriate values
    	$extra_html .= '<td>'. $extra_fields[strtolower('DOYOUKNOWTHEDESIGNYOUARELOOKINGFORIFSOPLEASESPECIFIY')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('STONESTYLE')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('HEART')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('ROUND')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('EMERALDCUT')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('PRINCESS')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('NOTSURE')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('DOYOUHAVEACARATWEIGHTINMINDIFSOPLEASELETUSKNOWHERE')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('WHATISYOURESTIMATEDBUDGETPLEASELETUSKNOWHERE')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('WHENDOYOUNEEDTHERINGBY')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('WITHIN1MONTH')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('WITHIN3MONTHS')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('WITHIN6MONTHS')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('WITHIN1YEAR')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('IFYOUWOULDLIKETOGIVEUSANYADDITIONALCOMMENTSTOPREPAREFORYOURAPPOINTMENTPLEASELETUSKNOWHERE')] .'</td>';
    	$extra_html .= '<td>'. $extra_fields[strtolower('WILLTHISBEYOURFIRSTTIMEVISITINGTHEAUSTRALIANDIAMONDCOMPANY')] .'</td>';
    
    	return 	$extra_html;
    }

    But I don't think it will look good as you have lots of custom field, and all those fields will make the table too big.

    Though, please check as a provider and let me know.

    Cheers
    Ash

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.