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

  • Ash
    • WordPress Hacker

    Hello @Kate

    Welcome to WPMU community!

    I hope you are well today and thanks for asking the question.

    Currently the provider can't see any custom field data, only admin can. So, this is not possible out of the box. But I think this would be a great feature, so I am marking this as a feature request.

    Cheers
    Ash

  • Rowena Murray
    • WPMU DEV Initiate

    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
    • WordPress Hacker

    Hello @Kate

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

    Maybe that is one of old thread. But would you please send me a link of that thread, so that I can try to make that code compatible to current version of the plugin?

    Please let me know.

    Cheers
    Ash

  • Ash
    • WordPress Hacker

    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
    • WordPress Hacker

    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.