2 Commits

Author SHA1 Message Date
mystery012728
aac65c57be city_list_model added 2026-01-16 12:32:24 +05:30
840a81f09e Update: Started API integration 2026-01-16 12:27:15 +05:30
2 changed files with 118 additions and 0 deletions

View File

@@ -0,0 +1,112 @@
class CityList {
List<Cities>? cities;
List<UpcomingCities>? upcomingCities;
CityList({this.cities, this.upcomingCities});
CityList.fromJson(Map<String, dynamic> json) {
if (json['cities'] != null) {
cities = <Cities>[];
json['cities'].forEach((v) {
cities!.add(new Cities.fromJson(v));
});
}
if (json['upcomingCities'] != null) {
upcomingCities = <UpcomingCities>[];
json['upcomingCities'].forEach((v) {
upcomingCities!.add(new UpcomingCities.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
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>? upcomingCities;
Cities(
{this.id,
this.cityName,
this.tagLine,
this.bannerImage,
this.indivisualTicketAmt,
this.cityCardTicketAmt,
this.saveAmount,
this.saveLabel,
this.upcomingCities});
Cities.fromJson(Map<String, dynamic> 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 = <UpcomingCities>[];
json['upcomingCities'].forEach((v) {
upcomingCities!.add(new UpcomingCities.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
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<String, dynamic> json) {
id = json['id'];
cityName = json['cityName'];
imgPathName = json['imgPathName'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['cityName'] = this.cityName;
data['imgPathName'] = this.imgPathName;
return data;
}
}

View File

@@ -0,0 +1,6 @@
class ApiUrls {
static const baseUrl = "https://devapi.citycards.betadelivery.com";
static const cityList = "$baseUrl/mobile/city_list";
}