getEstimatedOnlinePrice method
Implementation
Future<EstimateRateQuote?> getEstimatedOnlinePrice({OfferModel? offer, bool setQoute = true}) async {
try{
final departureDate = DateFormat('EEE, dd/MM/yy').parse(searchDepartureDate.value);
final returnDate = DateFormat('EEE, dd/MM/yy').parse(searchReturnDate.value);
var data = {
"departureDate": DateFormat('yyyy-MM-dd').format(departureDate),
"returnDate": DateFormat('yyyy-MM-dd').format(returnDate),
"fromAirport": searchFromAirport.value?.code ?? '',
"toAirport": searchToAirport.value?.code ?? '',
"flightClass": (offer?.flightClass) ?? (selectedExclusiveOffer.value?.flightClass) ?? '',
"adultPassengersCount": searchAdults.value,
"childPassengersCount": searchChildren.value,
"infantWithSeatPassengersCount": searchInfantsInSeats.value,
"infantNoSeatPassengersCount": searchInfantsInLap.value,
"departureTime" : (offer?.departureTrip?.flights?.firstOrNull?.departureTime) ?? (selectedExclusiveOffer.value?.departureTrip?.flights?.firstOrNull?.departureTime) ?? "",
"returnTime" : (offer?.returnTrip?.flights?.firstOrNull?.departureTime) ?? (selectedExclusiveOffer.value?.returnTrip?.flights?.firstOrNull?.departureTime) ?? '',
"departureTripId": (offer?.departureTrip?.id) ?? (selectedExclusiveOffer.value?.departureTrip?.id) ?? '',
"returnTripId": (offer?.returnTrip?.id) ?? (selectedExclusiveOffer.value?.returnTrip?.id) ?? '',
};
var response =
await Requests.getDio().post("booking/v4/online-price", data: data);
if (response.statusCode == 200) {
if(setQoute){
return estimateQuote.value = EstimateRateQuote.fromJson(response.data);
}
return EstimateRateQuote.fromJson(response.data);
}
else{
debugPrint("### estimate Quote Failed");
return null;
}
}
catch(e){
debugPrint("Error: Getting estimeted price");
return null;
}
}