From 840a81f09ec053035dace88312bac52bdd9f6dc8 Mon Sep 17 00:00:00 2001 From: "dinesh.patil" Date: Fri, 16 Jan 2026 12:27:15 +0530 Subject: [PATCH] Update: Started API integration --- lib/home/model/city_list_model.dart | 112 +++++++++++++++++++++++++++ lib/networkApiServices/api_urls.dart | 6 ++ 2 files changed, 118 insertions(+) create mode 100644 lib/home/model/city_list_model.dart create mode 100644 lib/networkApiServices/api_urls.dart diff --git a/lib/home/model/city_list_model.dart b/lib/home/model/city_list_model.dart new file mode 100644 index 0000000..2219fa8 --- /dev/null +++ b/lib/home/model/city_list_model.dart @@ -0,0 +1,112 @@ +class CityList { + List? cities; + List? upcomingCities; + + CityList({this.cities, this.upcomingCities}); + + CityList.fromJson(Map json) { + if (json['cities'] != null) { + cities = []; + json['cities'].forEach((v) { + cities!.add(new Cities.fromJson(v)); + }); + } + if (json['upcomingCities'] != null) { + upcomingCities = []; + json['upcomingCities'].forEach((v) { + upcomingCities!.add(new UpcomingCities.fromJson(v)); + }); + } + } + + Map toJson() { + final Map data = new Map(); + if (this.cities != null) { + data['cities'] = this.cities!.map((v) => v.toJson()).toList(); + } + if (this.upcomingCities != null) { + data['upcomingCities'] = + this.upcomingCities!.map((v) => v.toJson()).toList(); + } + return data; + } +} + +class Cities { + int? id; + String? cityName; + String? tagLine; + String? bannerImage; + int? indivisualTicketAmt; + int? cityCardTicketAmt; + int? saveAmount; + String? saveLabel; + List? upcomingCities; + + Cities( + {this.id, + this.cityName, + this.tagLine, + this.bannerImage, + this.indivisualTicketAmt, + this.cityCardTicketAmt, + this.saveAmount, + this.saveLabel, + this.upcomingCities}); + + Cities.fromJson(Map json) { + id = json['id']; + cityName = json['cityName']; + tagLine = json['tagLine']; + bannerImage = json['bannerImage']; + indivisualTicketAmt = json['indivisualTicketAmt']; + cityCardTicketAmt = json['cityCardTicketAmt']; + saveAmount = json['saveAmount']; + saveLabel = json['saveLabel']; + if (json['upcomingCities'] != null) { + upcomingCities = []; + json['upcomingCities'].forEach((v) { + upcomingCities!.add(new UpcomingCities.fromJson(v)); + }); + } + } + + Map toJson() { + final Map data = new Map(); + data['id'] = this.id; + data['cityName'] = this.cityName; + data['tagLine'] = this.tagLine; + data['bannerImage'] = this.bannerImage; + data['indivisualTicketAmt'] = this.indivisualTicketAmt; + data['cityCardTicketAmt'] = this.cityCardTicketAmt; + data['saveAmount'] = this.saveAmount; + data['saveLabel'] = this.saveLabel; + if (this.upcomingCities != null) { + data['upcomingCities'] = + this.upcomingCities!.map((v) => v.toJson()).toList(); + } + return data; + } +} + +class UpcomingCities { + int? id; + String? cityName; + String? imgPathName; + + UpcomingCities({this.id, this.cityName, this.imgPathName}); + + UpcomingCities.fromJson(Map json) { + id = json['id']; + cityName = json['cityName']; + imgPathName = json['imgPathName']; + } + + Map toJson() { + final Map data = new Map(); + data['id'] = this.id; + data['cityName'] = this.cityName; + data['imgPathName'] = this.imgPathName; + return data; + } +} diff --git a/lib/networkApiServices/api_urls.dart b/lib/networkApiServices/api_urls.dart new file mode 100644 index 0000000..cad3d40 --- /dev/null +++ b/lib/networkApiServices/api_urls.dart @@ -0,0 +1,6 @@ +class ApiUrls { + + static const baseUrl = "https://devapi.citycards.betadelivery.com"; + + static const cityList = "$baseUrl/mobile/city_list"; +} \ No newline at end of file