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?,
)

필드

필드타입설명
supplierStringGDS/NDC 공급자 코드
adultInt성인 수
childInt아동 수
infantInt유아 수
originDestinationLocationInfosList여정 정보
cabinsSet<CabinType>좌석 등급
airlinesSet<String>항공사 필터
sotoAirlinesSet<String>SOTO 항공사
onlyDirectBoolean직항만
onlyFreeBaggageIncludeBoolean무료 수하물만
useCacheBoolean캐시 사용
preferencesList검색 선호 설정
advancedOptionAdvancedSearchOptionInfo?고급 옵션

팩토리 메서드

of()

companion object {
    fun of(
        searchCondition: SearchCondition,
        searchInfo: SearchInfo,
        onlyDirect: Boolean,
    ): FlightSearchQuery
}

SearchCondition과 SearchInfo에서 FlightSearchQuery 생성.

변환 로직:

  1. supplier: SearchCondition에서
  2. 승객 정보: SearchInfo에서
  3. preferences: 신원 타입별 매핑

특징

  • Adapter 호출용: GDS/NDC 검색 요청 파라미터
  • 필터 지원: 항공사, 직항, 수하물 필터
  • 선호 설정: 프로모션/운임 기준 검색