// To parse this JSON data, do // // final eligibity = eligibityFromJson(jsonString); import 'package:meta/meta.dart'; import 'dart:convert'; EligibityCert eligibityFromJson(String str) => EligibityCert.fromJson(json.decode(str)); String eligibityToJson(EligibityCert data) => json.encode(data.toJson()); class EligibityCert { EligibityCert({ required this.id, required this.rating, required this.examDate, required this.attachments, required this.eligibility, required this.examAddress, required this.validityDate, required this.licenseNumber, }); final int? id; final double? rating; final DateTime? examDate; final dynamic attachments; final Eligibility? eligibility; final ExamAddress? examAddress; final DateTime? validityDate; final String? licenseNumber; factory EligibityCert.fromJson(Map json) => EligibityCert( id: json["id"], rating: json["rating"]?.toDouble(), examDate: DateTime.parse(json["exam_date"]), attachments: null, eligibility: Eligibility.fromJson(json["eligibility"]), examAddress: ExamAddress.fromJson(json["exam_address"]), validityDate: json["validity_date"], licenseNumber: json["license_number"], ); Map toJson() => { "id": id, "rating": rating, "exam_date": "${examDate!.year.toString().padLeft(4, '0')}-${examDate!.month.toString().padLeft(2, '0')}-${examDate!.day.toString().padLeft(2, '0')}", "attachments": attachments, "eligibility": eligibility!.toJson(), "exam_address": examAddress!.toJson(), "validity_date": validityDate, "license_number": licenseNumber, }; } class Eligibility { Eligibility({ required this.id, required this.type, required this.title, }); final int? id; final String? type; final String? title; factory Eligibility.fromJson(Map json) => Eligibility( id: json["id"], type: json["type"], title: json["title"], ); Map toJson() => { "id": id, "type": type, "title": title, }; } class ExamAddress { ExamAddress({ required this.id, required this.examAddressClass, required this.country, required this.barangay, required this.addressCategory, required this.cityMunicipality, }); final int? id; final dynamic examAddressClass; final Country? country; final dynamic barangay; final AddressCategory? addressCategory; final CityMunicipality? cityMunicipality; factory ExamAddress.fromJson(Map json) => ExamAddress( id: json["id"], examAddressClass: json["class"], country: Country.fromJson(json["country"]), barangay: json["barangay"], addressCategory: AddressCategory.fromJson(json["address_category"]), cityMunicipality: CityMunicipality.fromJson(json["city_municipality"]), ); Map toJson() => { "id": id, "class": examAddressClass, "country": country!.toJson(), "barangay": barangay, "address_category": addressCategory!.toJson(), "city_municipality": cityMunicipality!.toJson(), }; } class AddressCategory { AddressCategory({ required this.id, required this.name, required this.type, }); final int? id; final String? name; final String? type; factory AddressCategory.fromJson(Map json) => AddressCategory( id: json["id"], name: json["name"], type: json["type"], ); Map toJson() => { "id": id, "name": name, "type": type, }; } class CityMunicipality { CityMunicipality({ required this.code, required this.zipcode, required this.province, required this.psgcCode, required this.description, }); final String? code; final String? zipcode; final Province? province; final String? psgcCode; final String? description; factory CityMunicipality.fromJson(Map json) => CityMunicipality( code: json["code"], zipcode: json["zipcode"], province: Province.fromJson(json["province"]), psgcCode: json["psgc_code"], description: json["description"], ); Map toJson() => { "code": code, "zipcode": zipcode, "province": province!.toJson(), "psgc_code": psgcCode, "description": description, }; } class Province { Province({ required this.code, required this.region, required this.psgcCode, required this.shortname, required this.description, }); final String? code; final Region? region; final String? psgcCode; final String? shortname; final String? description; factory Province.fromJson(Map json) => Province( code: json["code"], region: Region.fromJson(json["region"]), psgcCode: json["psgc_code"], shortname: json["shortname"], description: json["description"], ); Map toJson() => { "code": code, "region": region!.toJson(), "psgc_code": psgcCode, "shortname": shortname, "description": description, }; } class Region { Region({ required this.code, required this.psgcCode, required this.description, }); final int? code; final String? psgcCode; final String? description; factory Region.fromJson(Map json) => Region( code: json["code"], psgcCode: json["psgc_code"], description: json["description"], ); Map toJson() => { "code": code, "psgc_code": psgcCode, "description": description, }; } class Country { Country({ required this.id, required this.code, required this.name, }); final int? id; final String? code; final String? name; factory Country.fromJson(Map json) => Country( id: json["id"], code: json["code"], name: json["name"], ); Map toJson() => { "id": id, "code": code, "name": name, }; }