CombinedFlightItem
조합된 항공편 모델. 왕복/MIX 항공편 통합 표현.
클래스 정의
data class CombinedFlightItem(
val listKey: UUID,
override val schedules: List<Schedule>,
val fares: List<CombinedFlightFare>,
var score: BigDecimal?,
var tags: List<RecommendationTag>?,
val isMix: Boolean,
val hidden: Boolean = false,
val groupKey: String = ""
) : CommonFlightItem필드
| 필드 | 타입 | 설명 |
|---|---|---|
listKey | UUID | 목록 키 |
schedules | List | 스케줄 목록 |
fares | List | 운임 목록 |
score | BigDecimal? | 추천 점수 |
tags | List | 추천 태그 |
isMix | Boolean | MIX 항공권 여부 |
hidden | Boolean | 숨김 여부 |
groupKey | String | 그룹 키 |
프로퍼티
lowestFare: 최저가 운임recommendationId: 추천 IDrecommendationPrice: 추천 가격recommendationPassengerFareMap: 승객별 운임 맵
팩토리 메서드
ofRoundTrip(flightItem)
fun ofRoundTrip(flightItem: FlightItem): CombinedFlightItem왕복 FlightItem을 CombinedFlightItem으로 변환.
ofMix(outbound, inbound, fares)
fun ofMix(outbound: FlightItem, inbound: FlightItem, fares: List<CombinedFlightFare>): CombinedFlightItem가는편/오는편 조합하여 MIX CombinedFlightItem 생성.
확장 함수
pickOptimalFlight(strategy)
fun List<CombinedFlightItem>.pickOptimalFlight(strategy: FareDecisionStrategy): CombinedFlightItem전략에 따른 최적 항공편 선택.
관련 클래스
- CombinedFlightFare - 조합 운임
- FlightItemFragment - 항공편 조각
사용처
- MIX 항공권 검색 결과
- 메타 검색 응답