import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import '../google-analytics.dart'; class Appointment{ final GALogger logger; Appointment(this.logger); // R015 book_appointment(){ logger('book_appointment'); } // R016.1, R017.2 book_appointment_by_clinic(){ logger('book_appointment_by_clinic'); } // R016.2, R018.2 book_appointment_by_doctor(){ logger('book_appointment_by_doctor'); } // R017.1 book_appointment_doctor_search({@required String query}){ // doctor_search_query : value logger('book_appointment_doctor_search', parameters: { 'doctor_search_query' : query }); } // R018.1 book_appointment_select_clinic({@required String appointment_type, clinic}){ // appointment_type: regular | livecare // clinic_type : $clinic_type logger('book_appointment_select_clinic', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : clinic }); } // R019.1 book_appointment_livecare_accept(){ logger('book_appointment_livecare_accept'); } // R019.2 book_appointment_livecare_decline(){ logger('book_appointment_livecare_decline'); } // R020 book_appointment_chief_complaints({@required String appointment_type, clinic, hospital, treatment}){ logger('book_appointment_chief_complaints', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : clinic, 'hospital_name' : hospital, 'treatment_type' : treatment, }); } // R021 book_appointment_select_doctor({@required String appointment_type, @required DoctorList doctor}){ // appointment_type, clinic_type, hospital_name, treatment_type, doctor_name, doctor_nationality, doctor_gender logger('book_appointment_select_doctor', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : doctor.clinicName, 'hospital_name' : doctor.projectName, 'treatment_type' : doctor.clinicName, 'doctor_name' : doctor.name, 'doctor_nationality' : doctor.nationalityName, 'doctor_gender' : doctor.gender, }); } // R022 book_appointment_schedule({@required String appointment_type, @required DoctorList doctor}){ // appointment_type, clinic_type, hospital_name, treatment_type, doctor_name, doctor_nationality, doctor_gender logger('book_appointment_schedule', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : doctor.clinicName, 'hospital_name' : doctor.projectName, 'treatment_type' : doctor.clinicName, 'doctor_name' : doctor.name, 'doctor_nationality' : doctor.nationalityName, 'doctor_gender' : doctor.gender, }); } // R023 book_appointment_date_selection({@required String appointment_type, @required day, @required DoctorList doctor}){ logger('book_appointment_date_selection', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : doctor.clinicName, 'hospital_name' : doctor.projectName, 'treatment_type' : doctor.clinicName, 'doctor_name' : doctor.name, 'doctor_nationality' : doctor.nationalityName, 'doctor_gender' : doctor.gender, 'appointment_day' : day }); } // R024.1 book_appointment_time_selection({@required String appointment_type, @required DateTime dateTime, @required DoctorList doctor}){ final day = DateUtil.getWeekDay(dateTime.weekday); final time = DateUtil.formatDateToTime(dateTime); logger('book_appointment_time_selection', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : doctor.clinicName, 'hospital_name' : doctor.projectName, 'treatment_type' : doctor.clinicName, 'doctor_name' : doctor.name, 'doctor_nationality' : doctor.nationalityName, 'doctor_gender' : doctor.gender, 'appointment_day' : day, 'appointment_hour' : time }); } // R024.2 book_appointment_review({@required String appointment_type, @required DateTime dateTime, @required DoctorList doctor}){ final day = DateUtil.getWeekDay(dateTime.weekday); final time = DateUtil.formatDateToTime(dateTime); logger('book_appointment_review', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : doctor.clinicName, 'hospital_name' : doctor.projectName, 'treatment_type' : doctor.clinicName, 'doctor_name' : doctor.name, 'doctor_nationality' : doctor.nationalityName, 'doctor_gender' : doctor.gender, 'appointment_day' : day, 'appointment_hour' : time }); } // R025 book_appointment_click_confirm({@required String appointment_type, @required DateTime dateTime, @required DoctorList doctor}){ final day = DateUtil.getWeekDay(dateTime.weekday); final time = DateUtil.formatDateToTime(dateTime); logger('book_appointment_click_confirm', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : doctor.clinicName, 'hospital_name' : doctor.projectName, 'treatment_type' : doctor.clinicName, 'doctor_name' : doctor.name, 'doctor_nationality' : doctor.nationalityName, 'doctor_gender' : doctor.gender, 'appointment_day' : day, 'appointment_hour' : time }); } // R026 book_appointment_confirmation_success({@required String appointment_type, @required DateTime dateTime, @required DoctorList doctor}){ final day = DateUtil.getWeekDay(dateTime.weekday); final time = DateUtil.formatDateToTime(dateTime); logger('book_appointment_confirmation_success', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : doctor.clinicName, 'hospital_name' : doctor.projectName, 'treatment_type' : doctor.clinicName, 'doctor_name' : doctor.name, 'doctor_nationality' : doctor.nationalityName, 'doctor_gender' : doctor.gender, 'appointment_day' : day, 'appointment_hour' : time }); } // R027 appointment_reminder(bool value){ logger('appointment_reminder', parameters: { 'reminder' : value ? 'yes' : 'no' }); } // R028 appointment_reminder_time({@required String reminde_before}){ logger('appointment_reminder_time', parameters: { 'reminder_before' : reminde_before }); } // R053 // Note : - Payment flow beyond this step are same as listed under ‘Advance Payment’ section of this document pay_now_for_appointment({@required String appointment_type, @required DoctorList doctorDetail, bool payNow = true}){ logger('pay_now_for_appointment', parameters: { 'appointment_type' : appointment_type, 'clinic_type' : doctorDetail.clinicName, 'hospital_name' : doctorDetail.projectName, 'doctor_name' : doctorDetail.name, 'payment_type' : 'appointment' }); } // Note : - Payment flow beyond this step are same as listed under ‘Advance Payment’ section of this document appointment_detail_action({@required AppoitmentAllHistoryResultList appointment, @required String action}){ logger('appointment_detail_action', parameters: { }); } // Note : - Payment flow beyond this step are same as listed under ‘Advance Payment’ section of this document appointment_details_confirm({@required AppoitmentAllHistoryResultList appointment}){ logger('appointment_details_confirm', parameters: { }); } // R053 // Note : - Payment flow beyond this step are same as listed under ‘Advance Payment’ section of this document appointment_details_cancel({@required AppoitmentAllHistoryResultList appointment}){ logger('appointment_details_cancel', parameters: { }); } }