class WeatherIndicatorModel {
  dynamic date;
  int? languageID;
  int? serviceName;
  dynamic time;
  dynamic androidLink;
  dynamic authenticationTokenID;
  dynamic data;
  bool? dataw;
  int? dietType;
  dynamic errorCode;
  dynamic errorEndUserMessage;
  dynamic errorEndUserMessageN;
  dynamic errorMessage;
  int? errorType;
  int? foodCategory;
  dynamic iOSLink;
  bool? isAuthenticated;
  int? mealOrderStatus;
  int? mealType;
  int? messageStatus;
  int? numberOfResultRecords;
  dynamic patientBlodType;
  dynamic successMsg;
  dynamic successMsgN;
  dynamic citiesList;
  dynamic cityName;
  dynamic get5DaysWeatherForecastList;
  List<GetCityInfoList>? getCityInfoList;
  dynamic getTodayWeatherForecastList;
  dynamic iniciesList;

  WeatherIndicatorModel(
      {this.date,
        this.languageID,
        this.serviceName,
        this.time,
        this.androidLink,
        this.authenticationTokenID,
        this.data,
        this.dataw,
        this.dietType,
        this.errorCode,
        this.errorEndUserMessage,
        this.errorEndUserMessageN,
        this.errorMessage,
        this.errorType,
        this.foodCategory,
        this.iOSLink,
        this.isAuthenticated,
        this.mealOrderStatus,
        this.mealType,
        this.messageStatus,
        this.numberOfResultRecords,
        this.patientBlodType,
        this.successMsg,
        this.successMsgN,
        this.citiesList,
        this.cityName,
        this.get5DaysWeatherForecastList,
        this.getCityInfoList,
        this.getTodayWeatherForecastList,
        this.iniciesList});

  WeatherIndicatorModel.fromJson(Map<String, dynamic> json) {
    date = json['Date'];
    languageID = json['LanguageID'];
    serviceName = json['ServiceName'];
    time = json['Time'];
    androidLink = json['AndroidLink'];
    authenticationTokenID = json['AuthenticationTokenID'];
    data = json['Data'];
    dataw = json['Dataw'];
    dietType = json['DietType'];
    errorCode = json['ErrorCode'];
    errorEndUserMessage = json['ErrorEndUserMessage'];
    errorEndUserMessageN = json['ErrorEndUserMessageN'];
    errorMessage = json['ErrorMessage'];
    errorType = json['ErrorType'];
    foodCategory = json['FoodCategory'];
    iOSLink = json['IOSLink'];
    isAuthenticated = json['IsAuthenticated'];
    mealOrderStatus = json['MealOrderStatus'];
    mealType = json['MealType'];
    messageStatus = json['MessageStatus'];
    numberOfResultRecords = json['NumberOfResultRecords'];
    patientBlodType = json['PatientBlodType'];
    successMsg = json['SuccessMsg'];
    successMsgN = json['SuccessMsgN'];
    citiesList = json['CitiesList'];
    cityName = json['CityName'];
    get5DaysWeatherForecastList = json['Get5DaysWeatherForecastList'];
    if (json['GetCityInfo_List'] != null) {
      getCityInfoList = [];
      json['GetCityInfo_List'].forEach((v) {
        getCityInfoList!.add(new GetCityInfoList.fromJson(v));
      });
    }
    getTodayWeatherForecastList = json['GetTodayWeatherForecastList'];
    iniciesList = json['IniciesList'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['Date'] = this.date;
    data['LanguageID'] = this.languageID;
    data['ServiceName'] = this.serviceName;
    data['Time'] = this.time;
    data['AndroidLink'] = this.androidLink;
    data['AuthenticationTokenID'] = this.authenticationTokenID;
    data['Data'] = this.data;
    data['Dataw'] = this.dataw;
    data['DietType'] = this.dietType;
    data['ErrorCode'] = this.errorCode;
    data['ErrorEndUserMessage'] = this.errorEndUserMessage;
    data['ErrorEndUserMessageN'] = this.errorEndUserMessageN;
    data['ErrorMessage'] = this.errorMessage;
    data['ErrorType'] = this.errorType;
    data['FoodCategory'] = this.foodCategory;
    data['IOSLink'] = this.iOSLink;
    data['IsAuthenticated'] = this.isAuthenticated;
    data['MealOrderStatus'] = this.mealOrderStatus;
    data['MealType'] = this.mealType;
    data['MessageStatus'] = this.messageStatus;
    data['NumberOfResultRecords'] = this.numberOfResultRecords;
    data['PatientBlodType'] = this.patientBlodType;
    data['SuccessMsg'] = this.successMsg;
    data['SuccessMsgN'] = this.successMsgN;
    data['CitiesList'] = this.citiesList;
    data['CityName'] = this.cityName;
    data['Get5DaysWeatherForecastList'] = this.get5DaysWeatherForecastList;
    if (this.getCityInfoList != null) {
      data['GetCityInfo_List'] =
          this.getCityInfoList!.map((v) => v.toJson()).toList();
    }
    data['GetTodayWeatherForecastList'] = this.getTodayWeatherForecastList;
    data['IniciesList'] = this.iniciesList;
    return data;
  }
}

class GetCityInfoList {
  CategoriesNames? categoriesNames;
  String? category;
  String? categoryValue;
  int? cityID;
  String? cityName;
  String? cityNameN;
  String? colorName;
  String? createdOn;
  String? iD;
  int? iniceID;
  bool? isOrderEmpty;
  bool? isValuesReversed;
  bool? language;
  double? latitude;
  double? longitude;
  String? name;
  int? orderNum;
  double? temperature;
  String? value;

  GetCityInfoList(
      {this.categoriesNames,
        this.category,
        this.categoryValue,
        this.cityID,
        this.cityName,
        this.cityNameN,
        this.colorName,
        this.createdOn,
        this.iD,
        this.iniceID,
        this.isOrderEmpty,
        this.isValuesReversed,
        this.language,
        this.latitude,
        this.longitude,
        this.name,
        this.orderNum,
        this.temperature,
        this.value});

  GetCityInfoList.fromJson(Map<String, dynamic> json) {
    categoriesNames = json['CategoriesNames'] != null
        ? new CategoriesNames.fromJson(json['CategoriesNames'])
        : null;
    category = json['Category'];
    categoryValue = json['CategoryValue'];
    cityID = json['CityID'];
    cityName = json['CityName'];
    cityNameN = json['CityNameN'];
    colorName = json['ColorName'];
    createdOn = json['CreatedOn'];
    iD = json['ID'];
    iniceID = json['IniceID'];
    isOrderEmpty = json['IsOrderEmpty'];
    isValuesReversed = json['IsValuesReversed'];
    language = json['Language'];
    latitude = json['Latitude'];
    longitude = json['Longitude'];
    name = json['Name'];
    orderNum = json['OrderNum'];
    temperature = json['Temperature'];
    value = json['Value'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    if (this.categoriesNames != null) {
      data['CategoriesNames'] = this.categoriesNames!.toJson();
    }
    data['Category'] = this.category;
    data['CategoryValue'] = this.categoryValue;
    data['CityID'] = this.cityID;
    data['CityName'] = this.cityName;
    data['CityNameN'] = this.cityNameN;
    data['ColorName'] = this.colorName;
    data['CreatedOn'] = this.createdOn;
    data['ID'] = this.iD;
    data['IniceID'] = this.iniceID;
    data['IsOrderEmpty'] = this.isOrderEmpty;
    data['IsValuesReversed'] = this.isValuesReversed;
    data['Language'] = this.language;
    data['Latitude'] = this.latitude;
    data['Longitude'] = this.longitude;
    data['Name'] = this.name;
    data['OrderNum'] = this.orderNum;
    data['Temperature'] = this.temperature;
    data['Value'] = this.value;
    return data;
  }
}

class CategoriesNames {
  String? category1;
  String? category2;
  String? category3;
  String? category4;
  String? category5;

  CategoriesNames(
      {this.category1,
        this.category2,
        this.category3,
        this.category4,
        this.category5});

  CategoriesNames.fromJson(Map<String, dynamic> json) {
    category1 = json['Category1'];
    category2 = json['Category2'];
    category3 = json['Category3'];
    category4 = json['Category4'];
    category5 = json['Category5'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['Category1'] = this.category1;
    data['Category2'] = this.category2;
    data['Category3'] = this.category3;
    data['Category4'] = this.category4;
    data['Category5'] = this.category5;
    return data;
  }
}

