import 'dart:convert';

class GetInvoicesListResponseModel {
  String? setupId;
  int? projectId;
  int? patientId;
  int? appointmentNo;
  String? appointmentDate;
  dynamic appointmentDateN;
  int? clinicId;
  int? doctorId;
  int? invoiceNo;
  int? status;
  String? arrivedOn;
  String? doctorName;
  String? doctorNameN;
  String? clinicName;
  double? decimalDoctorRate;
  String? doctorImageUrl;
  int? doctorRate;
  bool? isAllowRefund;
  int? patientNumber;
  String? projectName;

  GetInvoicesListResponseModel({
    this.setupId,
    this.projectId,
    this.patientId,
    this.appointmentNo,
    this.appointmentDate,
    this.appointmentDateN,
    this.clinicId,
    this.doctorId,
    this.invoiceNo,
    this.status,
    this.arrivedOn,
    this.doctorName,
    this.doctorNameN,
    this.clinicName,
    this.decimalDoctorRate,
    this.doctorImageUrl,
    this.doctorRate,
    this.isAllowRefund,
    this.patientNumber,
    this.projectName,
  });

  factory GetInvoicesListResponseModel.fromRawJson(String str) => GetInvoicesListResponseModel.fromJson(json.decode(str));

  String toRawJson() => json.encode(toJson());

  factory GetInvoicesListResponseModel.fromJson(Map<String, dynamic> json) => GetInvoicesListResponseModel(
        setupId: json["SetupId"],
        projectId: json["ProjectID"],
        patientId: json["PatientID"],
        appointmentNo: json["AppointmentNo"],
        appointmentDate: json["AppointmentDate"],
        appointmentDateN: json["AppointmentDateN"],
        clinicId: json["ClinicID"],
        doctorId: json["DoctorID"],
        invoiceNo: json["InvoiceNo"],
        status: json["Status"],
        arrivedOn: json["ArrivedOn"],
        doctorName: json["DoctorName"],
        doctorNameN: json["DoctorNameN"],
        clinicName: json["ClinicName"],
        decimalDoctorRate: json["DecimalDoctorRate"]?.toDouble(),
        doctorImageUrl: json["DoctorImageURL"],
        doctorRate: json["DoctorRate"],
        isAllowRefund: json["IsAllowRefund"],
        patientNumber: json["PatientNumber"],
        projectName: json["ProjectName"],
      );

  Map<String, dynamic> toJson() => {
        "SetupId": setupId,
        "ProjectID": projectId,
        "PatientID": patientId,
        "AppointmentNo": appointmentNo,
        "AppointmentDate": appointmentDate,
        "AppointmentDateN": appointmentDateN,
        "ClinicID": clinicId,
        "DoctorID": doctorId,
        "InvoiceNo": invoiceNo,
        "Status": status,
        "ArrivedOn": arrivedOn,
        "DoctorName": doctorName,
        "DoctorNameN": doctorNameN,
        "ClinicName": clinicName,
        "DecimalDoctorRate": decimalDoctorRate,
        "DoctorImageURL": doctorImageUrl,
        "DoctorRate": doctorRate,
        "IsAllowRefund": isAllowRefund,
        "PatientNumber": patientNumber,
        "ProjectName": projectName,
      };
}
