package com.cygnusa.hyperm.util;


import com.cygnusa.hyperm.wrappers.AMLeaderBoardResponse;
import com.cygnusa.hyperm.wrappers.AMResponse;
import com.cygnusa.hyperm.wrappers.ActiveResponse;
import com.cygnusa.hyperm.wrappers.AnswerResponse;
import com.cygnusa.hyperm.wrappers.AppVersion;
import com.cygnusa.hyperm.wrappers.AssessmentListResponse;
import com.cygnusa.hyperm.wrappers.AssessmentQuestionResponse;
import com.cygnusa.hyperm.wrappers.AssessmentStatusResponse;
import com.cygnusa.hyperm.wrappers.BannerResponse;
import com.cygnusa.hyperm.wrappers.BulletinResponse;
import com.cygnusa.hyperm.wrappers.BulletinStatusResponse;
import com.cygnusa.hyperm.wrappers.CalanderEventList;
import com.cygnusa.hyperm.wrappers.ChatResponse;
import com.cygnusa.hyperm.wrappers.CommonResponse;
import com.cygnusa.hyperm.wrappers.ContentDetailResponse;
import com.cygnusa.hyperm.wrappers.ContentResponse;
import com.cygnusa.hyperm.wrappers.CustomerEnquiryModel;
import com.cygnusa.hyperm.wrappers.CustomerFeedbackModel;
import com.cygnusa.hyperm.wrappers.DSEFeedbackResponse;
import com.cygnusa.hyperm.wrappers.DSEResponse;
import com.cygnusa.hyperm.wrappers.DashboardResponse;
import com.cygnusa.hyperm.wrappers.DealerResponse;
import com.cygnusa.hyperm.wrappers.ErrorResponse;
import com.cygnusa.hyperm.wrappers.ForgotPasswordResponse;
import com.cygnusa.hyperm.wrappers.GeTSingleDatAttendance;
import com.cygnusa.hyperm.wrappers.GetAllAccessoriesBikersRidersModel;
import com.cygnusa.hyperm.wrappers.GetAllAssesmentName;
import com.cygnusa.hyperm.wrappers.GetAllCustomerDetailsResponse;
import com.cygnusa.hyperm.wrappers.GetAllDSEResultAndScore;
import com.cygnusa.hyperm.wrappers.GetAllDSETrainingFeedbackSummary;
import com.cygnusa.hyperm.wrappers.GetAllExploreModel;
import com.cygnusa.hyperm.wrappers.GetAllPersonalizationModel;
import com.cygnusa.hyperm.wrappers.GetAllSalesProcessModel;
import com.cygnusa.hyperm.wrappers.GetAllSalutationModel;
import com.cygnusa.hyperm.wrappers.GetAllScorePercentage;
import com.cygnusa.hyperm.wrappers.GetAllThreeSixtyResponseModel;
import com.cygnusa.hyperm.wrappers.GetAllTrainerResultAndScore;
import com.cygnusa.hyperm.wrappers.GetAllTrainerTrainingFeedbackSummary;
import com.cygnusa.hyperm.wrappers.GetAllTrainingSummary;
import com.cygnusa.hyperm.wrappers.GetAllVenueDealerLocation;
import com.cygnusa.hyperm.wrappers.GetCancelOrRescheduleList;
import com.cygnusa.hyperm.wrappers.HitCountModel;
import com.cygnusa.hyperm.wrappers.LanguageResponse;
import com.cygnusa.hyperm.wrappers.LeaderBoardLocationResponse;
import com.cygnusa.hyperm.wrappers.LeaderBoardResponse;
import com.cygnusa.hyperm.wrappers.LearningLevel;
import com.cygnusa.hyperm.wrappers.LearningPathResponse;
import com.cygnusa.hyperm.wrappers.ManagerDashBoardResponse;
import com.cygnusa.hyperm.wrappers.MyTrainingResponse;
import com.cygnusa.hyperm.wrappers.NotificationResponse;
import com.cygnusa.hyperm.wrappers.NotificationSummaryResponse;
import com.cygnusa.hyperm.wrappers.OrderHistoryResponse;
import com.cygnusa.hyperm.wrappers.OrderStatus;
import com.cygnusa.hyperm.wrappers.OtpResponse;
import com.cygnusa.hyperm.wrappers.ProductFeedbackResponse;
import com.cygnusa.hyperm.wrappers.ProductVideoResponse;
import com.cygnusa.hyperm.wrappers.QrCodeResponse;
import com.cygnusa.hyperm.wrappers.RMResponse;
import com.cygnusa.hyperm.wrappers.ReasonListResponse;
import com.cygnusa.hyperm.wrappers.RedeemCategoryListResponse;
import com.cygnusa.hyperm.wrappers.RedeemProductDetailsResponse;
import com.cygnusa.hyperm.wrappers.RedeemProductResponse;
import com.cygnusa.hyperm.wrappers.RedeemToWalletResponse;
import com.cygnusa.hyperm.wrappers.ReviewResponse;
import com.cygnusa.hyperm.wrappers.RewardPointsResponse;
import com.cygnusa.hyperm.wrappers.RootGetAllComparisonModel;
import com.cygnusa.hyperm.wrappers.ScheduleResponse;
import com.cygnusa.hyperm.wrappers.SendAllExploreDetailsModel;
import com.cygnusa.hyperm.wrappers.SendEnquiryDataModel;
import com.cygnusa.hyperm.wrappers.SignupResponse;
import com.cygnusa.hyperm.wrappers.SupplierDetailResponse;
import com.cygnusa.hyperm.wrappers.SurveyResponse;
import com.cygnusa.hyperm.wrappers.SurveyStatusResponse;
import com.cygnusa.hyperm.wrappers.TargetSalesResponse;
import com.cygnusa.hyperm.wrappers.TitleResponse;
import com.cygnusa.hyperm.wrappers.TopicDetailResponse;
import com.cygnusa.hyperm.wrappers.TopicResponse;
import com.cygnusa.hyperm.wrappers.TrainingTitleLevel;
import com.cygnusa.hyperm.wrappers.UserResponse;
import com.cygnusa.hyperm.wrappers.VenueAreaLocation;
import com.cygnusa.hyperm.wrappers.ViewScheduleListResponse;
import com.cygnusa.hyperm.wrappers.ZoneListResponse;
import com.cygnusa.hyperm.wrappers.ZoneResponse;
import com.cygnusa.hyperm.wrappers.iLearnUserlistResponse;

import org.json.JSONObject;

import java.util.HashMap;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.Url;

public interface ApiService {

    @POST("app/en_us/user/signin")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<UserResponse> login(@FieldMap HashMap<String, String> object);

    @GET("app/en_us/user/profile")
    Call<UserResponse> getProfile();

    @GET("app/en_us/bulletin?")
    Call<BulletinResponse> getBulletinContents(@Query("page") int page, @Query("limit") int limit);

    @POST("app/en_us/user/otp_validation")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<UserResponse> OtpValidation(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/user/signup")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<SignupResponse> SignUp(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/user/signup_otp")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<OtpResponse> sentOtp(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/user/change_password")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ErrorResponse> changePassword(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/dashboard/changempin")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ErrorResponse> changeMPIN(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/user/forgot_password")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ForgotPasswordResponse> forgotPassword(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/dashboard/dashboardleaderboard")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<AMLeaderBoardResponse> amLeaderBoard(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/manager/region")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ZoneResponse> getRegion(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/manager/zone")
    @Headers("Accept: application/json")
    Call<ZoneResponse> getZone();

    @POST("app/en_us/manager/area")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ZoneResponse> getArea(@FieldMap HashMap<String, String> object);

    @GET("app/en_us/banner")
    Call<BannerResponse> getBanner();

    @GET("app/en_us/dashboard/{year}/{month}")
    Call<DashboardResponse> getDashboard(@Path("year") int year, @Path("month") int month);

    @GET("app/en_us/dashboard/managerdashboard/{year}/{month}")
    Call<ManagerDashBoardResponse> getAMDashboard(@Path("year") int year, @Path("month") int month);

    @POST("app/en_us/dashboard/areamanagerdashboardapp/{year}/{month}")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ManagerDashBoardResponse> getAreaManagerDashboard(@Path("year") int year, @Path("month") int month, @FieldMap HashMap<String, String> object);

    @GET("app/en_us/category")
    Call<MyTrainingResponse> getMyTraining();

    @GET("app/en_us/assessment")
    Call<AssessmentListResponse> getAssement();

    @GET("app/en_us/training?filter=status:completed")
    Call<MyTrainingResponse> getCompletedTraining();

    @GET("app/en_us/topics/{id}")
    Call<TopicResponse> getTrainingTopics(@Path("id") String id, @Query("page") int page, @Query("limit") int limit);

    @GET("app/en_us/topics/content/{assettopicid}")
    Call<ContentResponse> getTopicContents(@Path("assettopicid") String assettopicid,
                                           @Query("page") int page, @Query("limit") int limit);

    @GET("app/en_us/topics/get_content_details/{assettopicid}")
    Call<ContentDetailResponse> getTopicContentsDetails(@Path("assettopicid") String assettopicid);

    @POST("app/en_us/topics/content_status")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ErrorResponse> updateContentStaus(@FieldMap HashMap<String, String> object);

    @GET("app/en_us/training/get_topic_details/{id}")
    Call<TopicDetailResponse> getTopicDetail(@Path("id") String id);

    @GET("app/en_us/training/get_supplier_details/{id}")
    Call<SupplierDetailResponse> getSupplierDetail(@Path("id") String id);

    @GET("app/en_us/assessment/assessment_status/{id}")
    Call<AssessmentStatusResponse> getAssessmentByPosition(@Path("id") String id);

    @GET("app/en_us/bulletin/bulletin_status/{id}")
    Call<BulletinStatusResponse> getBulletinByPosition(@Path("id") String id);

    @GET("app/en_us/assessment/question/{id}")
    Call<AssessmentQuestionResponse> getAssesmentQuistion(@Path("id") String id);

    @GET("app/en_us/assessment")
    Call<AssessmentListResponse> getAssessmentList();

    @POST("app/en_us/assessment/{id}")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<AnswerResponse> postAssessment(@Path("id") String id, @FieldMap HashMap<String, String> object);

    @GET("app/en_us/assessment/review/{id}")
    Call<ReviewResponse> getReviewQuistion(@Path("id") String id);

    @GET("app/en_us/survey/training")
    Call<MyTrainingResponse> getSurvey();

    @GET("app/en_us/survey")
    Call<SurveyResponse> getSurveyList();

    @GET("app/en_us/survey/survey_status/{id}")
    Call<SurveyStatusResponse> getSurveyByPosition(@Path("id") String id);

    @GET("app/en_us/survey/question/{id}")
    Call<AssessmentQuestionResponse> getSurveyQuistion(@Path("id") String id);

    @POST("app/en_us/survey/{id}")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<AnswerResponse> postSurvey(@Path("id") String id, @FieldMap HashMap<String, String> object);

    @GET("app/en_us/survey/review/{id}")
    Call<AssessmentQuestionResponse> getSurveyReviewQuistion(@Path("id") String id);

    @GET("app/en_us/assessment/training")
    Call<MyTrainingResponse> getLeaderBoard();

    @GET("app/en_us/dashboard/language")
    Call<LanguageResponse> getLanguage();

    @GET("app/en_us/leaderboard/sales/{year}/{month}")
    Call<LeaderBoardResponse> getLeaderBoardList(@Path("year") String year,
                                                 @Path("month") String month);

    @GET("app/en_us/leaderboard/assessment/{type}")
    Call<LeaderBoardResponse> getLeaderBoardAssessmentTypeList(@Path("type") String type);

    @GET("app/en_us/leaderboard/assessment")
    Call<LeaderBoardResponse> getLeaderBoardAssessmentList();

    @GET("app/en_us/leaderboard/sales/{type}/{year}/{month}")
    Call<LeaderBoardResponse> getLeaderBoardSalesTypeList(@Path("type") String type, @Path("year") String year,
                                                          @Path("month") String month);

    @GET("app/en_us/dashboard/sales/{year}/{month}")
    Call<TargetSalesResponse> getTargetedSales(@Path("year") String year,
                                               @Path("month") String month);

    @GET("app/en_us/redeem/wallet")
    Call<RedeemToWalletResponse> getRedeemToWallet();

    @GET("app/en_us/dashboard/orderhistory?")
    Call<OrderHistoryResponse> getOrderHistory(@Query("page") int page, @Query("limit") int limit);

    @GET("app/en_us/dashboard/learnpath")
    Call<LearningPathResponse> getLearningPath();

    @GET("app/en_us/common/learning")
    Call<LearningLevel> getLearninglevel();

    @GET("app/en_us/dashboard/{key}")
    Call<RewardPointsResponse> getRewardPointHistory(@Path("key") String key, @Query("page") int page, @Query("limit") int limit);

    @Multipart
    @POST("app/en_us/user/profile")
    Call<UserResponse> postProfileWithImage(@Part MultipartBody.Part image, @Part("email") RequestBody fname,
                                            @Part("dob") RequestBody lname, @Part("is_married") RequestBody email,
                                            @Part("marriage_date") RequestBody marriage_date);

    @POST("app/en_us/user/profile")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<UserResponse> postProfile(@FieldMap HashMap<String, String> object);

    @GET("app/en_us/notification?")
    Call<NotificationResponse> getNotifications(@Query("page") int page, @Query("limit") int limit);

    @GET("app/en_us/redeem/category")
    Call<RedeemCategoryListResponse> getRedeemCategoryList();

    @GET("app/en_us/redeem/category/{catid}")
    Call<RedeemProductResponse> getRedeemCategoryProductList(@Path("catid") String catid);

    @GET("app/en_us/redeem/product/{productid}")
    Call<RedeemProductDetailsResponse> getProductDetails(@Path("productid") String productId);

    @POST("app/en_us/redeem/order")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<OrderStatus> postProductOrder(@FieldMap HashMap<String, String> object);

    @GET("app/en_us/notification?")
    Call<NotificationResponse> getNotificationsDB();

    @POST("app/en_us/notification/read_notification")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ErrorResponse> updateReadNotifications(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/notification/remove_notification")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ErrorResponse> updateDeleteNotifications(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/user/devicetoken")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<ErrorResponse> updateFcmToken(@FieldMap HashMap<String, String> object);

    @GET
    Call<AppVersion> getAppVersion(@Url String fileUrl);

    @POST("app/en_us/user/mpin_otp")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<OtpResponse> sentMPINOtp(@FieldMap HashMap<String, String> object);

    @POST("_api/user/login")
    @Headers("Accept: application/json")
    Call<ResponseBody> login(@Body JSONObject object);

    @POST("appstore.php?funname=getAppVersions")
    @Headers("Accept: application/json")
    Call<ResponseBody> getAppVersion(@Body JSONObject object);

    @GET("app/en_us/explore/model")
    Call<GetAllExploreModel> getAllExploreImage();

    @GET("app/en_us/explore/comparison/{id}")
    Call<RootGetAllComparisonModel> getAllComparisonDetails(@Path("id") String stringValue);

    @GET("app/en_us/explore/newimages360/{id}")
    Call<GetAllThreeSixtyResponseModel> getAllThreeSixtyImage(@Path("id") String stringValue);

    @GET("app/en_us/explore/salesprocess/{id}")
    Call<GetAllSalesProcessModel> getAllSalesProcessModel(@Path("id") String stringValue);

    @GET("app/en_us/explore/variant/{id}")
    Call<GetAllPersonalizationModel> getAllPersonalizationModel(@Path("id") String stringValue);

    @GET("app/en_us/explore/accessories_riders")
    Call<GetAllAccessoriesBikersRidersModel> getAllAccessoriesRider();

    @GET("app/en_us/explore/accessories_bikes/{id}")
    Call<GetAllAccessoriesBikersRidersModel> getAllAccessoriesUsingId(@Path("id") String stringValue);

    @GET
    Call<ResponseBody> downloadFileWithDynamicUrlSync(@Url String fileUrl);

    @POST("app/en_us/explore/enquiry/{id}")
    Call<CommonResponse> sendAllDatasToServer(@Path("id") String stringValue, @Body SendEnquiryDataModel sendEnquiryDataModel);

    @POST("app/en_us/hitcount")
    Call<CommonResponse> sendAllHitCount(@Body HitCountModel sendEnquiryDataModel);

    @POST("app/en_us/explore/customer")
    Call<GetAllCustomerDetailsResponse> sendAllExploreDetails(@Body SendAllExploreDetailsModel sendAllExploreModel);

    @POST("app/en_us/explore/customer")
    Call<ResponseBody> sendAllExploreDetailstest(@Body SendAllExploreDetailsModel sendAllExploreModel);

    @GET("app/en_us/common/salutation")
    Call<GetAllSalutationModel> getAllSaltuation();

    @GET("app/en_us/explore/customerfeedback")
    Call<ProductFeedbackResponse> getAllFeedbackData();

    @POST("app/en_us/explore/customerfeedback")
    Call<AnswerResponse> sendFeedBack(@Body CustomerFeedbackModel customerFeedbackModel);

    @POST("app/en_us/explore/customerenquiry")
    Call<CommonResponse> sendAllCustomerEnquiry(@Body CustomerEnquiryModel sendEnquiryDataModel);

    @GET("app/en_us/leaderboard/location")
    Call<LeaderBoardLocationResponse> getManagerLocation();

    @POST("app/en_us/leaderboard/mysales")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<LeaderBoardResponse> getLeaderBoardMySales(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/leaderboard/myteamsales")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<LeaderBoardResponse> getTeamLeaderBoardMySales(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/leaderboard/myassessment")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<LeaderBoardResponse> getLeaderBoardMyAssessment(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/leaderboard/myteamassessment")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<LeaderBoardResponse> getTeamLeaderBoardMyAssessment(@FieldMap HashMap<String, String> object);


    @GET("app/en_us/bulletin/bulletin_viewed/{id}")
    @Headers("Accept: application/json")
    Call<CommonResponse> sendBulletinUpdate(@Path("id") String stringValue);

    @GET("app/en_us/videotraining?")
    Call<ScheduleResponse> getSchedule(@Query("page") int page, @Query("limit") int limit);

    @POST("app/en_us/videotraining")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> postSchedule(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/videotraining/updatetime")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> updateTime(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/videotraining/message")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> postMessage(@FieldMap HashMap<String, String> object);

    @GET("app/en_us/videotraining/message/{id}")
    Call<ChatResponse> getChatList(@Path("id") String tID);

    @GET("app/en_us/videotraining/traininglist")
    Call<TitleResponse> getTrainingTitle();

    @POST("app/en_us/common/trainerrm")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<RMResponse> getRMList(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/common/trainerrm")
    @Headers("Accept: application/json")
    Call<RMResponse> getRMList();

    @POST("app/en_us/common/traineram")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<AMResponse> getAMList(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/common/trainerdealer")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<DealerResponse> getDealerList(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/common/dselist")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<DSEResponse> getDseList(@FieldMap HashMap<String, String> object);

    @DELETE("app/en_us/videotraining/scheduleusers/{trainingid}/{userid}")
    @Headers("Accept: application/json")
    Call<CommonResponse> removeDSEFromTraining(@Path("trainingid") String trainingid, @Path("userid") String userid);

    @DELETE("app/en_us/videotraining/{trainingid}")
    @Headers("Accept: application/json")
    Call<CommonResponse> removeTraining(@Path("trainingid") String trainingid);

    @POST("app/en_us/videotraining/scheduleusers")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> updateParticipant(@FieldMap HashMap<String, String> object);

    @GET("app/en_us/videotraining/trainingdse/{id}")
    Call<ActiveResponse> getActiveList(@Path("id") String tID);

    @GET("app/en_us/explore/contentlist/{model_id}")
    Call<ProductVideoResponse> getProductVideos(@Path("model_id") String modelid, @Query("page") int page, @Query("limit") int limit);

    @POST("app/en_us/common/ilearnuserlist")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<iLearnUserlistResponse> getUserList(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/crtraining/trainingcalenderlist")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CalanderEventList> getEventCalanderList(@FieldMap HashMap<String, String> object);

    @GET("app/en_us/common/trainerzoneam/{zone_name}")
    Call<VenueAreaLocation> getVenueAreaLocation(@Path("zone_name") String modelid);


    @POST("app/en_us/common/trainerdealer")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<GetAllVenueDealerLocation> getVenueDealerLocation(@FieldMap HashMap<String, String> object);

    @POST("app/en_us/crtraining")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> sendAllTrainingToServer(@FieldMap HashMap<String, String> object);

    //web/en_us/crtraining/updatetraining
    @POST("app/en_us/crtraining/updatetraining")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> sendAllUpdateTrainingToServer(@FieldMap HashMap<String, String> object);

    @GET("app/en_us/crtraining/baselevel")
    Call<TrainingTitleLevel> getTitle();

    @GET("app/en_us/crtraining/cancelreschedulelist")
    Call<GetCancelOrRescheduleList> getCancelOrReschedule();

    @GET("app/en_us/crtraining/canceltraining/{TRAINING_ID}/{QUESTION_ID}")
    Call<CommonResponse> sendReasonToServer(@Path("TRAINING_ID") String trId, @Path("QUESTION_ID") String qId);

    @POST("app/en_us/crtraining/rescheduletraining/{TRAINING_ID}/{QUESTION_ID}")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> sendRescheduleReasonToServer(@Path("TRAINING_ID") String trId, @Path("QUESTION_ID") String qId, @FieldMap HashMap<String, String> value);

    @POST("app/en_us/crtraining/updatetrainingpresentabsent")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> sendAttendanceDetailsToServer(@FieldMap HashMap<String, String> value);

    @POST("app/en_us/crtraining/amacknowledgement\n")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> sendAMAttendanceDetailsToServer(@FieldMap HashMap<String, String> value);

    @POST("app/en_us/crtraining/updatetrainingscore")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> sendScoreDetailsToServer(@FieldMap HashMap<String, String> value);

    @GET("app/en_us/crtraining/{scheduleId}/{date}")
    Call<GeTSingleDatAttendance> getSingleDateAttendance(@Path("scheduleId") String trId, @Path("date") String qId);

    @GET("app/en_us/crtraining/acceptdeclinetraining/{SCHEDULE_ID}/{USERID}/{STATUS}")
    Call<CommonResponse> sendAcceptOrDecline(@Path("SCHEDULE_ID") String trId, @Path("USERID") String qId, @Path("STATUS") String status);

    @GET("app/en_us/crtraining/{schdule_id}")
    Call<NotificationSummaryResponse> getAMNotificationSummary(@Path("schdule_id") String trId);

    @POST("app/en_us/common/zone")
    @Headers("Accept: application/json")
    Call<ZoneListResponse> getZoneList();

    @POST("app/en_us/common/trainerrm")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<RMResponse> getRM(@Path("zone") String zone);

    @GET("app/en_us/crtraining/{schdule_id}")
    Call<ViewScheduleListResponse> getScheduledList(@Path("schdule_id") String schdule_id);

    @GET("app/en_us/crtraining/traininglevelscore/{schdule_id}")
    Call<GetAllScorePercentage> getScorePercentage(@Path("schdule_id") String schdule_id);

    @GET("app/en_us/crtraining/trainingsummery/{schdule_id}")
    Call<GetAllTrainingSummary> getTrainingSummary(@Path("schdule_id") String schdule_id);

    @GET("app/en_us/crtraining/trainingfeedbackquestion/{schdule_id}")
    Call<GetAllDSETrainingFeedbackSummary> getDSETrainingFeedback(@Path("schdule_id") String schdule_id);

    @GET("app/en_us/crtraining/trainingalluserfeedbackquestion/{schdule_id}")
    Call<GetAllTrainerTrainingFeedbackSummary> getTrainingTrainingFeedback(@Path("schdule_id") String schdule_id);

    @GET("app/en_us/crtraining/declinetrainingreasonlist")
    Call<ReasonListResponse> getReasonList();

    @GET("app/en_us/crtraining/trainingdseqrcode/{DSE_ID}")
    Call<QrCodeResponse> getQrCodeImage(@Path("DSE_ID") String dse);

    @GET("app/en_us/crtraining/dsefeedbacklist")
    Call<DSEFeedbackResponse> getDSEFeedback();

    @GET("app/en_us/crtraining/trainingsfeedbacklist")
    Call<DSEFeedbackResponse> getTrainingFeedback();

    @POST("app/en_us/crtraining/acceptdeclinetraining")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> sendAcknowledge(@FieldMap HashMap<String, String> value);

    @POST("app/en_us/crtraining/acceptdeclinetraining")
    @Headers("Accept: application/json")
    Call<CommonResponse> sendTrainerFeedbqckScore(@Body JSONObject value);

    @POST("app/en_us/survey/{id}")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> dsePostSurvey(@Path("id") String id, @FieldMap HashMap<String, String> object);

    @GET("app/en_us/crtraining/getassessmentnames/{schdule_id}/{title_id}")
    Call<GetAllAssesmentName> getAssessmentName(@Path("schdule_id") String schdule_id, @Path("title_id") String title_id);

    @GET("app/en_us/crtraining/dsescoreresultlist")
    Call<GetAllDSEResultAndScore> dseFeedbackResultAndscore();

    @GET("app/en_us/crtraining/trainingsfeedbacklist")
    Call<GetAllTrainerResultAndScore> trainerFeedbackResultAndScore();

    @Multipart
    @POST("app/en_us/crtraining/traininggroupimage")
    Call<CommonResponse> postGroupCheckImage(@Part("schedule_id") RequestBody description, @Part MultipartBody.Part file);

    @POST("app/en_us/crtraining/trainingattendancenotification")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> trainingattendancenotification(@FieldMap HashMap<String, String> value);

    @POST("app/en_us/crtraining/trainingattendancenotificationupdate")
    @Headers("Accept: application/json")
    @FormUrlEncoded
    Call<CommonResponse> trainingattendancenotificationUpdate(@FieldMap HashMap<String, String> value);

}