import 'dart:convert';

class ItgTimeCardSummaryData {
  String? returNStatus;
  String? returNMsg;
  List<Summery>? summeries;
  List<Map<String, String?>>? details;

  ItgTimeCardSummaryData({this.returNStatus, this.returNMsg, this.summeries, this.details});

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

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

  factory ItgTimeCardSummaryData.fromJson(Map<String, dynamic> json) => ItgTimeCardSummaryData(
    returNStatus: json["returN_STATUS"],
    returNMsg: json["returN_MSG"],
    summeries: json["summeries"] == null ? [] : List<Summery>.from(json["summeries"]!.map((x) => Summery.fromJson(x))),
    details: json["details"] == null ? [] : List<Map<String, String?>>.from(json["details"]!.map((x) => Map.from(x).map((k, v) => MapEntry<String, String?>(k, v)))),
  );

  Map<String, dynamic> toJson() => {
    "returN_STATUS": returNStatus,
    "returN_MSG": returNMsg,
    "summeries": summeries == null ? [] : List<dynamic>.from(summeries!.map((x) => x.toJson())),
    "details": details == null ? [] : List<dynamic>.from(details!.map((x) => Map.from(x).map((k, v) => MapEntry<String, dynamic>(k, v)))),
  };
}

class Summery {
  int? missinGSwipesDays;
  String? scheduleDHrs;
  String? actuaLHrs;
  String? excesSHrs;
  String? timebacKHrs;
  String? shortagEHrs;
  String? latEInHrs;
  String? earlYOutHrs;
  double? uncovereDShortageHrs;
  int? sicKLeaves;
  int? publiCHolidays;
  int? unauthorizeDLeaves;
  int? unpaiDLeaves;
  int? paiDLeaves;

  Summery({

    this.missinGSwipesDays,
    this.scheduleDHrs,
    this.actuaLHrs,
    this.excesSHrs,
    this.timebacKHrs,
    this.shortagEHrs,
    this.latEInHrs,
    this.earlYOutHrs,
    this.uncovereDShortageHrs,
    this.sicKLeaves,
    this.publiCHolidays,
    this.unauthorizeDLeaves,
    this.unpaiDLeaves,
    this.paiDLeaves,
  });

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

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

  factory Summery.fromJson(Map<String, dynamic> json) => Summery(
    missinGSwipesDays: json["missinG_SWIPES_DAYS"],
    scheduleDHrs: json["scheduleD_HRS"],
    actuaLHrs: json["actuaL_HRS"],
    excesSHrs: json["excesS_HRS"],
    timebacKHrs: json["timebacK_HRS"],
    shortagEHrs: json["shortagE_HRS"],
    latEInHrs: json["latE_IN_HRS"],
    earlYOutHrs: json["earlY_OUT_HRS"],
    uncovereDShortageHrs: json["uncovereD_SHORTAGE_HRS"]?.toDouble(),
    sicKLeaves: json["sicK_LEAVES"],
    publiCHolidays: json["publiC_HOLIDAYS"],
    unauthorizeDLeaves: json["unauthorizeD_LEAVES"],
    unpaiDLeaves: json["unpaiD_LEAVES"],
    paiDLeaves: json["paiD_LEAVES"],
  );

  Map<String, dynamic> toJson() => {
    "missinG_SWIPES_DAYS": missinGSwipesDays,
    "scheduleD_HRS": scheduleDHrs,
    "actuaL_HRS": actuaLHrs,
    "excesS_HRS": excesSHrs,
    "timebacK_HRS": timebacKHrs,
    "shortagE_HRS": shortagEHrs,
    "latE_IN_HRS": latEInHrs,
    "earlY_OUT_HRS": earlYOutHrs,
    "uncovereD_SHORTAGE_HRS": uncovereDShortageHrs,
    "sicK_LEAVES": sicKLeaves,
    "publiC_HOLIDAYS": publiCHolidays,
    "unauthorizeD_LEAVES": unauthorizeDLeaves,
    "unpaiD_LEAVES": unpaiDLeaves,
    "paiD_LEAVES": paiDLeaves,
  };
}
