FlightMetaSearchProxyController

메타검색 프록시용 항공편 검색 API 컨트롤러. 동기식으로 검색 결과를 즉시 반환하며, 공항/항공사 정보를 함께 제공한다.

필수 헤더

  • X-Triple-Sales-Channel: 판매 채널
  • X-Triple-Sales-Funnel: 판매 퍼널

의존성

서비스용도
StandardFlightSearchUseCase표준 검색
CombineFlightSearchUseCase조합 검색 (멀티티켓)
LocationService위치 정보 조회
AirportService공항 정보 조회
AirlineService항공사 정보 조회

메서드

searchOneWayTrip

fun searchOneWayTrip(
    ...,
    onlyDirect: Boolean = false
): List<ProxyFlightMetaSearchView>

메타검색용 편도 검색. 직항 필터 옵션 제공.

CallerCallee
HTTP GET /internals/proxy/flights/meta/search/{...}/{outboundDate}FlightMetaSearchProxyController.searchFlights

searchRoundTrip

fun searchRoundTrip(
    ...,
    onlyDirect: Boolean = false,
    useMultiTicket: Boolean? = false
): List<ProxyFlightMetaSearchView>

메타검색용 왕복 검색. useMultiTicket=true 시 조합 검색을 수행한다.

CallerCallee
HTTP GET /internals/proxy/flights/meta/search/{...}/{outboundDate}/{inboundDate}useMultiTicket=true: FlightMetaSearchProxyController.searchRoundFlights
useMultiTicket=false: FlightMetaSearchProxyController.searchFlights

searchMultiCityTrip (2~4구간)

메타검색용 다구간 검색. 2~4구간까지 지원한다.


searchFlights (private)

private fun searchFlights(
    adult: Int, child: Int, infant: Int,
    freeBaggageOnly: Boolean,
    cabins: Set<CabinType>,
    onlyDirect: Boolean,
    useCache: Boolean,
    vararg originDestinationLocationInfo: OriginDestinationLocationInfo
): List<ProxyFlightMetaSearchView>

표준 검색 로직. 퍼널에 따라 전략이 결정된다.


searchRoundFlights (private)

private fun searchRoundFlights(...): List<ProxyFlightMetaSearchView>

멀티티켓(조합) 검색 로직.


extractCodesFromSchedules (private)

private fun extractCodesFromSchedules(
    flightItems: List<CommonFlightItem>
): Pair<Set<String>, Set<String>>

검색 결과에서 공항/항공사 코드를 추출한다.

특징

  • 동기식 응답: 폴링 없이 즉시 결과 반환
  • 퍼널 기반 전략: SalesFunnel에 따라 운임 결정 전략과 그룹핑 기준이 달라짐
  • 공항/항공사 정보 포함: 응답에 공항명, 항공사명 등 부가 정보 포함
  • 직항 필터: onlyDirect=true 시 직항편만 반환
  • 추천 미사용: useRecommendation = false
  • 대표 카드 프로모션만: onlyRepresentativeCardPromotion = true