class GetCMCAllOrdersResponseModel {
  int iD;
  int patientId;
  int patientOutSa;
  bool isOutPatient;
  int projectId;
  int nearestProjectId;
  dynamic longitude;
  dynamic latitude;
  dynamic appointmentNo;
  dynamic dischargeId;
  int statusId;
  int serviceId;
  int channel;
  Orderpayment orderpayment;
  dynamic orderselectedservice;
  dynamic wforder;
  dynamic orderapprovalobj;
  String created;
  dynamic createdBy;
  dynamic modified;
  dynamic modifiedBy;
  bool isDeleted;
  String statusText;
  int paymentStatus;
  dynamic clientRequestid;
  dynamic paymentStatusText;
  String projectName;
  String nearestProjectName;
  dynamic paymentAmount;
  WFOrder wFOrder;
  String serviceText;
  bool isSentForApproval;
  int exaCartOrderId;
  bool isTimer;
  int timeSeconds;
  int totalPendingSeconds;
  int timeMinute;
  int timeHour;
  int timeTotalSeconds;
  int timeTotalMinute;
  int timeTotalHour;
  dynamic approvalStatus;
  bool isActive;
  int clickButton;
  List<dynamic> procedures;
  dynamic pickupLocation;
  dynamic dropOffLocation;
  dynamic clinicName;
  dynamic doctorName;
  dynamic branch;
  dynamic time;
  dynamic notes;

  GetCMCAllOrdersResponseModel(
      {this.iD,
        this.patientId,
        this.patientOutSa,
        this.isOutPatient,
        this.projectId,
        this.nearestProjectId,
        this.longitude,
        this.latitude,
        this.appointmentNo,
        this.dischargeId,
        this.statusId,
        this.serviceId,
        this.channel,
        this.orderpayment,
        this.orderselectedservice,
        this.wforder,
        this.orderapprovalobj,
        this.created,
        this.createdBy,
        this.modified,
        this.modifiedBy,
        this.isDeleted,
        this.statusText,
        this.paymentStatus,
        this.clientRequestid,
        this.paymentStatusText,
        this.projectName,
        this.nearestProjectName,
        this.paymentAmount,
        this.wFOrder,
        this.serviceText,
        this.isSentForApproval,
        this.exaCartOrderId,
        this.isTimer,
        this.timeSeconds,
        this.totalPendingSeconds,
        this.timeMinute,
        this.timeHour,
        this.timeTotalSeconds,
        this.timeTotalMinute,
        this.timeTotalHour,
        this.approvalStatus,
        this.isActive,
        this.clickButton,
        this.procedures,
        this.pickupLocation,
        this.dropOffLocation,
        this.clinicName,
        this.doctorName,
        this.branch,
        this.time,
        this.notes});

  GetCMCAllOrdersResponseModel.fromJson(Map<String, dynamic> json) {
    iD = json['ID'];
    patientId = json['PatientId'];
    patientOutSa = json['PatientOutSa'];
    isOutPatient = json['IsOutPatient'];
    projectId = json['ProjectId'];
    nearestProjectId = json['NearestProjectId'];
    longitude = json['Longitude'];
    latitude = json['Latitude'];
    appointmentNo = json['AppointmentNo'];
    dischargeId = json['DischargeId'];
    statusId = json['StatusId'];
    serviceId = json['ServiceId'];
    channel = json['Channel'];
    orderpayment = json['orderpayment'] != null
        ? new Orderpayment.fromJson(json['orderpayment'])
        : null;
    orderselectedservice = json['orderselectedservice'];
    wforder = json['wforder'];
    orderapprovalobj = json['orderapprovalobj'];
    created = json['Created'];
    createdBy = json['CreatedBy'];
    modified = json['Modified'];
    modifiedBy = json['ModifiedBy'];
    isDeleted = json['IsDeleted'];
    statusText = json['StatusText'];
    paymentStatus = json['PaymentStatus'];
    clientRequestid = json['ClientRequestid'];
    paymentStatusText = json['PaymentStatusText'];
    projectName = json['ProjectName'];
    nearestProjectName = json['NearestProjectName'];
    paymentAmount = json['PaymentAmount'];
    wFOrder = json['WF_order'] != null
        ? new WFOrder.fromJson(json['WF_order'])
        : null;
    serviceText = json['ServiceText'];
    isSentForApproval = json['isSentForApproval'];
    exaCartOrderId = json['ExaCart_OrderId'];
    isTimer = json['isTimer'];
    timeSeconds = json['TimeSeconds'];
    totalPendingSeconds = json['TotalPendingSeconds'];
    timeMinute = json['TimeMinute'];
    timeHour = json['TimeHour'];
    timeTotalSeconds = json['TimeTotalSeconds'];
    timeTotalMinute = json['TimeTotalMinute'];
    timeTotalHour = json['TimeTotalHour'];
    approvalStatus = json['ApprovalStatus'];
    isActive = json['isActive'];
    clickButton = json['ClickButton'];
    pickupLocation = json['PickupLocation'];
    dropOffLocation = json['DropOffLocation'];
    clinicName = json['clinicName'];
    doctorName = json['DoctorName'];
    branch = json['Branch'];
    time = json['Time'];
    notes = json['Notes'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['ID'] = this.iD;
    data['PatientId'] = this.patientId;
    data['PatientOutSa'] = this.patientOutSa;
    data['IsOutPatient'] = this.isOutPatient;
    data['ProjectId'] = this.projectId;
    data['NearestProjectId'] = this.nearestProjectId;
    data['Longitude'] = this.longitude;
    data['Latitude'] = this.latitude;
    data['AppointmentNo'] = this.appointmentNo;
    data['DischargeId'] = this.dischargeId;
    data['StatusId'] = this.statusId;
    data['ServiceId'] = this.serviceId;
    data['Channel'] = this.channel;
    if (this.orderpayment != null) {
      data['orderpayment'] = this.orderpayment.toJson();
    }
    data['orderselectedservice'] = this.orderselectedservice;

    data['wforder'] = this.wforder;
    data['orderapprovalobj'] = this.orderapprovalobj;
    data['Created'] = this.created;
    data['CreatedBy'] = this.createdBy;
    data['Modified'] = this.modified;
    data['ModifiedBy'] = this.modifiedBy;
    data['IsDeleted'] = this.isDeleted;
    data['StatusText'] = this.statusText;
    data['PaymentStatus'] = this.paymentStatus;
    data['ClientRequestid'] = this.clientRequestid;
    data['PaymentStatusText'] = this.paymentStatusText;
    data['ProjectName'] = this.projectName;
    data['NearestProjectName'] = this.nearestProjectName;
    data['PaymentAmount'] = this.paymentAmount;
    if (this.wFOrder != null) {
      data['WF_order'] = this.wFOrder.toJson();
    }
    data['ServiceText'] = this.serviceText;
    data['isSentForApproval'] = this.isSentForApproval;
    data['ExaCart_OrderId'] = this.exaCartOrderId;
    data['isTimer'] = this.isTimer;
    data['TimeSeconds'] = this.timeSeconds;
    data['TotalPendingSeconds'] = this.totalPendingSeconds;
    data['TimeMinute'] = this.timeMinute;
    data['TimeHour'] = this.timeHour;
    data['TimeTotalSeconds'] = this.timeTotalSeconds;
    data['TimeTotalMinute'] = this.timeTotalMinute;
    data['TimeTotalHour'] = this.timeTotalHour;
    data['ApprovalStatus'] = this.approvalStatus;
    data['isActive'] = this.isActive;
    data['ClickButton'] = this.clickButton;
    data['PickupLocation'] = this.pickupLocation;
    data['DropOffLocation'] = this.dropOffLocation;
    data['clinicName'] = this.clinicName;
    data['DoctorName'] = this.doctorName;
    data['Branch'] = this.branch;
    data['Time'] = this.time;
    data['Notes'] = this.notes;
    return data;
  }
}

class Orderpayment {
  int iD;
  int orderId;
  dynamic clientRequestId;
  dynamic totalAmount;
  int paymentStatus;
  dynamic order;
  String created;
  dynamic createdBy;
  dynamic modified;
  dynamic modifiedBy;
  bool isDeleted;

  Orderpayment(
      {this.iD,
        this.orderId,
        this.clientRequestId,
        this.totalAmount,
        this.paymentStatus,
        this.order,
        this.created,
        this.createdBy,
        this.modified,
        this.modifiedBy,
        this.isDeleted});

  Orderpayment.fromJson(Map<String, dynamic> json) {
    iD = json['ID'];
    orderId = json['OrderId'];
    clientRequestId = json['ClientRequestId'];
    totalAmount = json['TotalAmount'];
    paymentStatus = json['PaymentStatus'];
    order = json['Order'];
    created = json['Created'];
    createdBy = json['CreatedBy'];
    modified = json['Modified'];
    modifiedBy = json['ModifiedBy'];
    isDeleted = json['IsDeleted'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['ID'] = this.iD;
    data['OrderId'] = this.orderId;
    data['ClientRequestId'] = this.clientRequestId;
    data['TotalAmount'] = this.totalAmount;
    data['PaymentStatus'] = this.paymentStatus;
    data['Order'] = this.order;
    data['Created'] = this.created;
    data['CreatedBy'] = this.createdBy;
    data['Modified'] = this.modified;
    data['ModifiedBy'] = this.modifiedBy;
    data['IsDeleted'] = this.isDeleted;
    return data;
  }
}

class WFOrder {
  dynamic wfButtonsDTO;
  int iD;
  int orderId;
  int previousStep;
  int nextStep;
  int serviceId;
  dynamic order;
  String created;
  dynamic createdBy;
  dynamic modified;
  dynamic modifiedBy;
  bool isDeleted;

  WFOrder(
      {this.wfButtonsDTO,
        this.iD,
        this.orderId,
        this.previousStep,
        this.nextStep,
        this.serviceId,
        this.order,
        this.created,
        this.createdBy,
        this.modified,
        this.modifiedBy,
        this.isDeleted});

  WFOrder.fromJson(Map<String, dynamic> json) {
    wfButtonsDTO = json['wf_ButtonsDTO'];
    iD = json['ID'];
    orderId = json['OrderId'];
    previousStep = json['PreviousStep'];
    nextStep = json['NextStep'];
    serviceId = json['ServiceId'];
    order = json['Order'];
    created = json['Created'];
    createdBy = json['CreatedBy'];
    modified = json['Modified'];
    modifiedBy = json['ModifiedBy'];
    isDeleted = json['IsDeleted'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['wf_ButtonsDTO'] = this.wfButtonsDTO;
    data['ID'] = this.iD;
    data['OrderId'] = this.orderId;
    data['PreviousStep'] = this.previousStep;
    data['NextStep'] = this.nextStep;
    data['ServiceId'] = this.serviceId;
    data['Order'] = this.order;
    data['Created'] = this.created;
    data['CreatedBy'] = this.createdBy;
    data['Modified'] = this.modified;
    data['ModifiedBy'] = this.modifiedBy;
    data['IsDeleted'] = this.isDeleted;
    return data;
  }
}
