FlightSearchRequest

항공편 검색 요청 DTO. Adapter API로 전송하는 검색 조건.

클래스 구조

SearchAdapterRequest

메인 검색 요청 DTO.

필드타입설명
originDestinationLocationInfosList<OriginDestinationLocationInfoRequest>출발/도착 정보 목록
cabinsSet<CabinType>좌석 등급 (ECONOMY, BUSINESS 등)
airlinesSet<String>?선호 항공사
sotoAirlinesSet<String>?SOTO 항공사
onlyDirectBoolean직항만 검색
onlyFreeBaggageIncludeBoolean무료 수하물 포함만
useCacheBoolean캐시 사용 여부 (기본: true)
pnrString?PNR (재발행용)
supplierIdentificationKeyString?공급자 식별 키
useMultiTicketBoolean멀티티켓 사용 (기본: false)
preferencesList<SearchPreferenceInfo>검색 선호도
advancedOptionAdvancedSearchOptionInfo?고급 옵션

OriginDestinationLocationInfoRequest

출발/도착 정보 요청.

필드타입설명
originLocationInfoRequest출발지 정보
destinationLocationInfoRequest도착지 정보
departureDateLocalDate출발일

LocationInfoRequest

위치 정보 요청.

필드타입설명
cityString?도시 코드 (도시 검색 시)
airportsSet<String>공항 코드 목록

팩토리 메서드

SearchAdapterRequest.of()

fun of(
    originDestinationLocationInfos: List<OriginDestinationLocationInfo>,
    cabins: Set<CabinType>,
    airlines: Set<String>,
    sotoAirlines: Set<String>,
    onlyDirect: Boolean,
    onlyFreeBaggageInclude: Boolean,
    useCache: Boolean,
    pnr: String? = null,
    supplierIdentificationKey: String? = null,
    preferences: List<SearchPreferenceInfo>,
    advancedOption: AdvancedSearchOptionInfo? = null,
    useMultiTicket: Boolean,
): SearchAdapterRequest

도메인 모델에서 요청 DTO로 변환.

사용처

사용 위치용도
AdapterClient.search검색 요청 생성

특징

  • 도시/공항 구분: LocationInfo.Airport 또는 LocationInfo.City에 따라 다르게 처리
  • 다구간 지원: originDestinationLocationInfos로 다구간 여정 지원
  • 캐시 제어: useCache로 캐시 사용 여부 제어
  • 멀티티켓: useMultiTicket으로 복합 운임 검색