import 'package:hmg_patient_app/core/model/er/get_all_transportation_method_list_model.dart';

class PatientER_RC {
  double? versionID;
  int? channel;
  int? languageID;
  String? iPAdress;
  String? generalid;
  bool? patientOutSA;
  String? sessionID;
  bool? isDentalAllowedBackend;
  int? deviceTypeID;
  int? patientID;
  String? tokenID;
  int? patientTypeID;
  int? patientType;
  int? orderServiceID;
  String? patientIdentificationID;
  dynamic patientOutSa;
  int? projectID;
  int? lineItemNo;
  TransportationDetails? transportationDetails;
  PatientERTransportationMethod? patientERTransportationMethod;

  PatientER_RC(
      {this.versionID,
        this.channel,
        this.languageID,
        this.iPAdress,
        this.generalid,
        this.patientOutSA,
        this.sessionID,
        this.isDentalAllowedBackend,
        this.deviceTypeID,
        this.patientID,
        this.tokenID,
        this.patientTypeID,
        this.patientType,
        this.orderServiceID,
        this.patientIdentificationID,
        this.patientOutSa,
        this.projectID,
        this.lineItemNo,
        this.transportationDetails});

  PatientER_RC.fromJson(Map<String, dynamic> json) {
    versionID = json['VersionID'];
    channel = json['Channel'];
    languageID = json['LanguageID'];
    iPAdress = json['IPAdress'];
    generalid = json['generalid'];
    patientOutSA = json['PatientOutSA'];
    sessionID = json['SessionID'];
    isDentalAllowedBackend = json['isDentalAllowedBackend'];
    deviceTypeID = json['DeviceTypeID'];
    patientID = json['PatientID'];
    tokenID = json['TokenID'];
    patientTypeID = json['PatientTypeID'];
    patientType = json['PatientType'];
    orderServiceID = json['OrderServiceID'];
    patientIdentificationID = json['PatientIdentificationID'];
    patientOutSa = json['patientOutSa'];
    projectID = json['projectID'];
    lineItemNo = json['lineItemNo'];
    transportationDetails = json['transportationDetails'] != null
        ? new TransportationDetails.fromJson(json['transportationDetails'])
        : null;
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['VersionID'] = this.versionID;
    data['Channel'] = this.channel;
    data['LanguageID'] = this.languageID;
    data['IPAdress'] = this.iPAdress;
    data['generalid'] = this.generalid;
    data['PatientOutSA'] = this.patientOutSA;
    data['SessionID'] = this.sessionID;
    data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
    data['DeviceTypeID'] = this.deviceTypeID;
    data['PatientID'] = this.patientID;
    data['TokenID'] = this.tokenID;
    data['PatientTypeID'] = this.patientTypeID;
    data['PatientType'] = this.patientType;
    data['OrderServiceID'] = this.orderServiceID;
    data['PatientIdentificationID'] = this.patientIdentificationID;
    data['patientOutSa'] = this.patientOutSa;
    data['projectID'] = this.projectID;
    data['lineItemNo'] = this.lineItemNo;
    if (this.transportationDetails != null) {
      data['transportationDetails'] = this.transportationDetails!.toJson();
    }
    return data;
  }
}

class TransportationDetails {
  int? direction;
  int? haveAppointment;
  int? tripType;
  int? pickupUrgency;
  int? pickupSpot;
  String? pickupDateTime;
  String? transportationType;
  int? ambulate;
  String? ambulateTitle;
  String? notes;
  int? requesterFileNo;
  String? requesterMobileNo;
  bool? requesterIsOutSA;
  String? pickupLocationName;
  String? dropoffLocationName;
  String? pickupLatitude;
  String? pickupLongitude;
  String? dropoffLatitude;
  String? dropoffLongitude;
  String? appointmentNo;
  String? appointmentClinicName;
  String? appointmentDoctorName;
  String? appointmentBranch;
  String? appointmentTime;

  TransportationDetails(
      {this.direction,
        this.haveAppointment,
        this.tripType,
        this.pickupUrgency,
        this.pickupSpot,
        this.pickupDateTime,
        this.transportationType,
        this.ambulate,
        this.ambulateTitle,
        this.notes,
        this.requesterFileNo,
        this.requesterMobileNo,
        this.requesterIsOutSA,
        this.pickupLocationName,
        this.dropoffLocationName,
        this.pickupLatitude,
        this.pickupLongitude,
        this.dropoffLatitude,
        this.dropoffLongitude,
        this.appointmentNo,
        this.appointmentClinicName,
        this.appointmentDoctorName,
        this.appointmentBranch,
        this.appointmentTime});

  TransportationDetails.fromJson(Map<String, dynamic> json) {
    direction = json['direction'];
    haveAppointment = json['haveAppointment'];
    tripType = json['tripType'];
    pickupUrgency = json['pickupUrgency'];
    pickupSpot = json['pickupSpot'];
    pickupDateTime = json['pickupDateTime'];
    transportationType = json['transportationType'];
    ambulate = json['ambulate'];
    ambulateTitle = "";
    notes = json['notes'];
    requesterFileNo = json['requesterFileNo'];
    requesterMobileNo = json['requesterMobileNo'];
    requesterIsOutSA = json['requesterIsOutSA'];
    pickupLocationName = json['pickupLocationName'];
    dropoffLocationName = json['dropoffLocationName'];
    pickupLatitude = json['pickup_Latitude'];
    pickupLongitude = json['pickup_Longitude'];
    dropoffLatitude = json['dropoff_Latitude'];
    dropoffLongitude = json['dropoff_Longitude'];
    appointmentNo = json['appointmentNo'];
    appointmentClinicName = json['appointmentClinicName'];
    appointmentDoctorName = json['appointmentDoctorName'];
    appointmentBranch = json['appointmentBranch'];
    appointmentTime = json['appointmentTime'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['direction'] = this.direction;
    data['haveAppointment'] = this.haveAppointment;
    data['tripType'] = this.tripType;
    data['pickupUrgency'] = this.pickupUrgency;
    data['pickupSpot'] = this.pickupSpot;
    data['pickupDateTime'] = this.pickupDateTime;
    data['transportationType'] = this.transportationType;
    data['ambulate'] = this.ambulate;
    data['ambulateTitle'] = this.ambulateTitle;
    data['notes'] = this.notes;
    data['requesterFileNo'] = this.requesterFileNo;
    data['requesterMobileNo'] = this.requesterMobileNo;
    data['requesterIsOutSA'] = this.requesterIsOutSA;
    data['pickupLocationName'] = this.pickupLocationName;
    data['dropoffLocationName'] = this.dropoffLocationName;
    data['pickup_Latitude'] = this.pickupLatitude;
    data['pickup_Longitude'] = this.pickupLongitude;
    data['dropoff_Latitude'] = this.dropoffLatitude;
    data['dropoff_Longitude'] = this.dropoffLongitude;
    data['appointmentNo'] = this.appointmentNo;
    data['appointmentClinicName'] = this.appointmentClinicName;
    data['appointmentDoctorName'] = this.appointmentDoctorName;
    data['appointmentBranch'] = this.appointmentBranch;
    data['appointmentTime'] = this.appointmentTime;
    return data;
  }
}
