FlightSearchQuery
항공편 검색 쿼리. Adapter 호출용 검색 파라미터.
클래스 정의
data class FlightSearchQuery(
val supplier: String,
val adult: Int,
val child: Int,
val infant: Int,
val originDestinationLocationInfos: List<OriginDestinationLocationInfo>,
val cabins: Set<CabinType>,
val airlines: Set<String>,
val sotoAirlines: Set<String>,
val onlyDirect: Boolean,
val onlyFreeBaggageInclude: Boolean,
val useCache: Boolean = true,
val preferences: List<SearchPreferenceInfo>,
val advancedOption: AdvancedSearchOptionInfo?,
)필드
| 필드 | 타입 | 설명 |
|---|---|---|
supplier | String | GDS/NDC 공급자 코드 |
adult | Int | 성인 수 |
child | Int | 아동 수 |
infant | Int | 유아 수 |
originDestinationLocationInfos | List | 여정 정보 |
cabins | Set<CabinType> | 좌석 등급 |
airlines | Set<String> | 항공사 필터 |
sotoAirlines | Set<String> | SOTO 항공사 |
onlyDirect | Boolean | 직항만 |
onlyFreeBaggageInclude | Boolean | 무료 수하물만 |
useCache | Boolean | 캐시 사용 |
preferences | List | 검색 선호 설정 |
advancedOption | AdvancedSearchOptionInfo? | 고급 옵션 |
팩토리 메서드
of()
companion object {
fun of(
searchCondition: SearchCondition,
searchInfo: SearchInfo,
onlyDirect: Boolean,
): FlightSearchQuery
}SearchCondition과 SearchInfo에서 FlightSearchQuery 생성.
변환 로직:
- supplier: SearchCondition에서
- 승객 정보: SearchInfo에서
- preferences: 신원 타입별 매핑
특징
- Adapter 호출용: GDS/NDC 검색 요청 파라미터
- 필터 지원: 항공사, 직항, 수하물 필터
- 선호 설정: 프로모션/운임 기준 검색