class paymentRequisitionPaymentsDetailsResponse {
  PaymentDetails? paymentDetails;
  String? error;
  String? message;

  paymentRequisitionPaymentsDetailsResponse({
    this.paymentDetails,
    this.error,
    this.message,
  });

  paymentRequisitionPaymentsDetailsResponse.fromJson(
    Map<String, dynamic> json,
  ) {
    paymentDetails =
        json['payment_details'] != null
            ? PaymentDetails.fromJson(json['payment_details'])
            : null;
    error = json['error'];
    message = json['message'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = <String, dynamic>{};
    if (paymentDetails != null) {
      data['payment_details'] = paymentDetails!.toJson();
    }
    data['error'] = error;
    data['message'] = message;
    return data;
  }
}

class PaymentDetails {
  String? id;
  String? refType;
  String? refId;
  String? paymentAccountId;
  String? accountId;
  String? paymentModeId;
  String? amount;
  String? bankName;
  String? bankBranchName;
  String? bankIfscCode;
  String? bankAccountHolderName;
  String? bankAccountNumber;
  String? bankUpiId;
  String? attachmentDirFilePath;
  String? attachmentViewFileName;
  String? description;
  String? paymentReferenceNumber;
  String? createdEmployeeId;
  String? paymentDate;
  String? paymentRemarks;
  String? isExists;
  String? createdDatetime;
  String? updatedDatetime;
  String? accountName;
  String? paymentAccountName;
  String? paymentEmployeeName;
  String? mode;

  PaymentDetails({
    this.id,
    this.refType,
    this.refId,
    this.paymentAccountId,
    this.accountId,
    this.paymentModeId,
    this.amount,
    this.bankName,
    this.bankBranchName,
    this.bankIfscCode,
    this.bankAccountHolderName,
    this.bankAccountNumber,
    this.bankUpiId,
    this.attachmentDirFilePath,
    this.attachmentViewFileName,
    this.description,
    this.paymentReferenceNumber,
    this.createdEmployeeId,
    this.paymentDate,
    this.paymentRemarks,
    this.isExists,
    this.createdDatetime,
    this.updatedDatetime,
    this.accountName,
    this.paymentAccountName,
    this.paymentEmployeeName,
    this.mode,
  });

  PaymentDetails.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    refType = json['ref_type'];
    refId = json['ref_id'];
    paymentAccountId = json['payment_account_id'];
    accountId = json['account_id'];
    paymentModeId = json['payment_mode_id'];
    amount = json['amount'];
    bankName = json['bank_name'];
    bankBranchName = json['bank_branch_name'];
    bankIfscCode = json['bank_ifsc_code'];
    bankAccountHolderName = json['bank_account_holder_name'];
    bankAccountNumber = json['bank_account_number'];
    bankUpiId = json['bank_upi_id'];
    attachmentDirFilePath = json['attachment_dir_file_path'];
    attachmentViewFileName = json['attachment_view_file_name'];
    description = json['description'];
    paymentReferenceNumber = json['payment_reference_number'];
    createdEmployeeId = json['created_employee_id'];
    paymentDate = json['payment_date'];
    paymentRemarks = json['payment_remarks'];
    isExists = json['is_exists'];
    createdDatetime = json['created_datetime'];
    updatedDatetime = json['updated_datetime'];
    accountName = json['account_name'];
    paymentAccountName = json['payment_account_name'];
    paymentEmployeeName = json['payment_employee_name'];
    mode = json['mode'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = <String, dynamic>{};
    data['id'] = id;
    data['ref_type'] = refType;
    data['ref_id'] = refId;
    data['payment_account_id'] = paymentAccountId;
    data['account_id'] = accountId;
    data['payment_mode_id'] = paymentModeId;
    data['amount'] = amount;
    data['bank_name'] = bankName;
    data['bank_branch_name'] = bankBranchName;
    data['bank_ifsc_code'] = bankIfscCode;
    data['bank_account_holder_name'] = bankAccountHolderName;
    data['bank_account_number'] = bankAccountNumber;
    data['bank_upi_id'] = bankUpiId;
    data['attachment_dir_file_path'] = attachmentDirFilePath;
    data['attachment_view_file_name'] = attachmentViewFileName;
    data['description'] = description;
    data['payment_reference_number'] = paymentReferenceNumber;
    data['created_employee_id'] = createdEmployeeId;
    data['payment_date'] = paymentDate;
    data['payment_remarks'] = paymentRemarks;
    data['is_exists'] = isExists;
    data['created_datetime'] = createdDatetime;
    data['updated_datetime'] = updatedDatetime;
    data['account_name'] = accountName;
    data['payment_account_name'] = paymentAccountName;
    data['payment_employee_name'] = paymentEmployeeName;
    data['mode'] = mode;
    return data;
  }
}
