FlightSearchRequest
항공편 검색 요청 DTO. Adapter API로 전송하는 검색 조건.
클래스 구조
SearchAdapterRequest
메인 검색 요청 DTO.
| 필드 | 타입 | 설명 |
|---|---|---|
originDestinationLocationInfos | List<OriginDestinationLocationInfoRequest> | 출발/도착 정보 목록 |
cabins | Set<CabinType> | 좌석 등급 (ECONOMY, BUSINESS 등) |
airlines | Set<String>? | 선호 항공사 |
sotoAirlines | Set<String>? | SOTO 항공사 |
onlyDirect | Boolean | 직항만 검색 |
onlyFreeBaggageInclude | Boolean | 무료 수하물 포함만 |
useCache | Boolean | 캐시 사용 여부 (기본: true) |
pnr | String? | PNR (재발행용) |
supplierIdentificationKey | String? | 공급자 식별 키 |
useMultiTicket | Boolean | 멀티티켓 사용 (기본: false) |
preferences | List<SearchPreferenceInfo> | 검색 선호도 |
advancedOption | AdvancedSearchOptionInfo? | 고급 옵션 |
OriginDestinationLocationInfoRequest
출발/도착 정보 요청.
| 필드 | 타입 | 설명 |
|---|---|---|
origin | LocationInfoRequest | 출발지 정보 |
destination | LocationInfoRequest | 도착지 정보 |
departureDate | LocalDate | 출발일 |
LocationInfoRequest
위치 정보 요청.
| 필드 | 타입 | 설명 |
|---|---|---|
city | String? | 도시 코드 (도시 검색 시) |
airports | Set<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으로 복합 운임 검색