query.go 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. package models
  2. type Query struct {
  3. Data Data `json:"data"`
  4. }
  5. type ResponseStatus struct {
  6. Ack string `json:"Ack"`
  7. Typename string `json:"__typename"`
  8. }
  9. type ResponseHead struct {
  10. ErrorCode string `json:"errorCode"`
  11. ErrorMessage string `json:"errorMessage"`
  12. Typename string `json:"__typename"`
  13. }
  14. type ResultBasicInfo struct {
  15. IsAll bool `json:"isAll"`
  16. ResultFlag interface{} `json:"resultFlag"`
  17. CriteriaToken string `json:"criteriaToken"`
  18. SegmentNo int `json:"segmentNo"`
  19. Typename string `json:"__typename"`
  20. }
  21. type DurationInfo struct {
  22. Hour int `json:"hour"`
  23. Min int `json:"min"`
  24. Typename string `json:"__typename"`
  25. }
  26. type MinPriceInfo struct {
  27. AvgPrice float64 `json:"avgPrice"`
  28. TotalPrice float64 `json:"totalPrice"`
  29. Typename string `json:"__typename"`
  30. }
  31. type FilterInfoList struct {
  32. StopType int `json:"stopType"`
  33. ArrPeriod []int `json:"arrPeriod"`
  34. DepPeriod []int `json:"depPeriod"`
  35. DTimeStr string `json:"dTimeStr"`
  36. ATimeStr string `json:"aTimeStr"`
  37. Typename string `json:"__typename"`
  38. }
  39. type DCityInfo struct {
  40. Code string `json:"code"`
  41. Name string `json:"name"`
  42. Typename string `json:"__typename"`
  43. }
  44. type ACityInfo struct {
  45. Code string `json:"code"`
  46. Name string `json:"name"`
  47. Typename string `json:"__typename"`
  48. }
  49. type DPortInfo struct {
  50. Code string `json:"code"`
  51. Name string `json:"name"`
  52. Terminal interface{} `json:"terminal"`
  53. Typename string `json:"__typename"`
  54. }
  55. type APortInfo struct {
  56. Code string `json:"code"`
  57. Name string `json:"name"`
  58. Terminal interface{} `json:"terminal"`
  59. Typename string `json:"__typename"`
  60. }
  61. type AirlineInfo struct {
  62. Code string `json:"code"`
  63. Name string `json:"name"`
  64. IsLCC bool `json:"isLCC"`
  65. Alliance interface{} `json:"alliance"`
  66. Typename string `json:"__typename"`
  67. LowPrice interface{} `json:"lowPrice"`
  68. }
  69. type CraftInfo struct {
  70. Name string `json:"name"`
  71. MinSeats int `json:"minSeats"`
  72. MaxSeats int `json:"maxSeats"`
  73. WidthLevel string `json:"widthLevel"`
  74. CraftType string `json:"craftType"`
  75. Typename string `json:"__typename"`
  76. }
  77. type LuggageDirectInfo struct {
  78. DirectStatus int `json:"directStatus"`
  79. DirectDesc string `json:"directDesc"`
  80. DirectTitle string `json:"directTitle"`
  81. Typename string `json:"__typename"`
  82. }
  83. type FlightInfoList struct {
  84. SegmentNo int `json:"segmentNo"`
  85. ADateTime string `json:"aDateTime"`
  86. DCityInfo DCityInfo `json:"dCityInfo"`
  87. ACityInfo ACityInfo `json:"aCityInfo"`
  88. DMainCityInfo interface{} `json:"dMainCityInfo"`
  89. AMainCityInfo interface{} `json:"aMainCityInfo"`
  90. DMainCityDistance interface{} `json:"dMainCityDistance"`
  91. AMainCityDistance interface{} `json:"aMainCityDistance"`
  92. DPortInfo DPortInfo `json:"dPortInfo"`
  93. APortInfo APortInfo `json:"aPortInfo"`
  94. ArrivalDays int `json:"arrivalDays"`
  95. AirlineInfo AirlineInfo `json:"airlineInfo"`
  96. CraftInfo CraftInfo `json:"craftInfo"`
  97. CabinClass string `json:"cabinClass"`
  98. CrossingSignInfo interface{} `json:"crossingSignInfo"`
  99. DDateTime string `json:"dDateTime"`
  100. ShareAirline interface{} `json:"shareAirline"`
  101. ShareFlightNo string `json:"shareFlightNo"`
  102. DurationInfo DurationInfo `json:"durationInfo"`
  103. TransferDurationInfo interface{} `json:"transferDurationInfo"`
  104. StopInfoList interface{} `json:"stopInfoList"`
  105. LuggageDirectInfo LuggageDirectInfo `json:"luggageDirectInfo"`
  106. FlightNo string `json:"flightNo"`
  107. FlightFlag int `json:"flightFlag"`
  108. SequenceNo int `json:"sequenceNo"`
  109. AtbFlight bool `json:"atbFlight"`
  110. SubClass interface{} `json:"subClass"`
  111. BeMainSegment interface{} `json:"beMainSegment"`
  112. Typename string `json:"__typename"`
  113. }
  114. type ChannelInfoList struct {
  115. EngineType string `json:"engineType"`
  116. ChannelType string `json:"channelType"`
  117. Typename string `json:"__typename"`
  118. }
  119. type Adult struct {
  120. TotalPrice float64 `json:"totalPrice"`
  121. Tax float64 `json:"tax"`
  122. Fare float64 `json:"fare"`
  123. Discount interface{} `json:"discount"`
  124. ExtraFee interface{} `json:"extraFee"`
  125. BookingFee int `json:"bookingFee"`
  126. AtolFee interface{} `json:"atolFee"`
  127. Typename string `json:"__typename"`
  128. }
  129. type PriceDetailInfo struct {
  130. OriginalViewAvgPrice interface{} `json:"originalViewAvgPrice"`
  131. ViewAvgPrice float64 `json:"viewAvgPrice"`
  132. ViewTotalPrice float64 `json:"viewTotalPrice"`
  133. Adult Adult `json:"adult"`
  134. Child interface{} `json:"child"`
  135. Infant interface{} `json:"infant"`
  136. Typename string `json:"__typename"`
  137. }
  138. type ProductKeyInfo struct {
  139. GroupKey string `json:"groupKey"`
  140. ShoppingID string `json:"shoppingId"`
  141. Typename string `json:"__typename"`
  142. }
  143. type LimitInfo struct {
  144. NationalityLimitType int `json:"nationalityLimitType"`
  145. NationalityLimit []interface{} `json:"nationalityLimit"`
  146. MinAge int `json:"minAge"`
  147. MaxAge int `json:"maxAge"`
  148. MinPassengerCount int `json:"minPassengerCount"`
  149. MaxPassengerCount int `json:"maxPassengerCount"`
  150. LocalDocumentsLimitList []interface{} `json:"localDocumentsLimitList"`
  151. Typename string `json:"__typename"`
  152. }
  153. type TicketDeadlineInfo struct {
  154. DeadlineType int `json:"deadlineType"`
  155. PromiseMinutes int `json:"promiseMinutes"`
  156. Typename string `json:"__typename"`
  157. }
  158. type DescriptionInfo struct {
  159. ProductName string `json:"productName"`
  160. ProductCategory string `json:"productCategory"`
  161. TicketDescription string `json:"ticketDescription"`
  162. Typename string `json:"__typename"`
  163. }
  164. type PolicyInfoList struct {
  165. RemarkTokenKey string `json:"remarkTokenKey"`
  166. ProductFlag int `json:"productFlag"`
  167. ChannelInfoList []ChannelInfoList `json:"channelInfoList"`
  168. ProductClass []string `json:"productClass"`
  169. MainClass string `json:"mainClass"`
  170. AvailableTickets int `json:"availableTickets"`
  171. PriceDetailInfo PriceDetailInfo `json:"priceDetailInfo"`
  172. ProductKeyInfo ProductKeyInfo `json:"productKeyInfo"`
  173. FlightPromptInfoList interface{} `json:"flightPromptInfoList"`
  174. TravelerEligibilityList []string `json:"travelerEligibilityList"`
  175. LimitInfo LimitInfo `json:"limitInfo"`
  176. TicketDeadlineInfo TicketDeadlineInfo `json:"ticketDeadlineInfo"`
  177. WhetherNonCard interface{} `json:"whetherNonCard"`
  178. AgencyTag string `json:"agencyTag"`
  179. Recommend interface{} `json:"recommend"`
  180. LimitTimeFreeInfo interface{} `json:"limitTimeFreeInfo"`
  181. HasFreeCoupon bool `json:"hasFreeCoupon"`
  182. DescriptionInfo DescriptionInfo `json:"descriptionInfo"`
  183. MultiTicketInfo interface{} `json:"multiTicketInfo"`
  184. CouponInfoList []interface{} `json:"couponInfoList"`
  185. HasMemberPrice bool `json:"hasMemberPrice"`
  186. PromoFundInfo interface{} `json:"promoFundInfo"`
  187. KRCreditCardPromotionList interface{} `json:"kRCreditCardPromotionList"`
  188. BaggageIncluded int `json:"baggageIncluded"`
  189. CanFlexibleChange bool `json:"canFlexibleChange"`
  190. HasAgencyModel bool `json:"hasAgencyModel"`
  191. HasBrandTier bool `json:"hasBrandTier"`
  192. CreditCardPaymentInfoRefNumList []interface{} `json:"creditCardPaymentInfoRefNumList"`
  193. HasAtol bool `json:"hasAtol"`
  194. BrandTier int `json:"brandTier"`
  195. IsMoreGradeResult bool `json:"isMoreGradeResult"`
  196. PolicyTags interface{} `json:"policyTags"`
  197. Typename string `json:"__typename"`
  198. }
  199. type NoticeInfoList struct {
  200. Title string `json:"title"`
  201. Description string `json:"description"`
  202. Typename string `json:"__typename"`
  203. }
  204. type ItineraryInfoList struct {
  205. SegmentNo int `json:"segmentNo"`
  206. ArrivalDays int `json:"arrivalDays"`
  207. DDateTime int `json:"dDateTime"`
  208. ADateTime int `json:"aDateTime"`
  209. DurationInfo DurationInfo `json:"durationInfo"`
  210. ACityInfo ACityInfo `json:"aCityInfo"`
  211. DCityInfo DCityInfo `json:"dCityInfo"`
  212. APortInfo APortInfo `json:"aPortInfo"`
  213. DPortInfo DPortInfo `json:"dPortInfo"`
  214. Typename string `json:"__typename"`
  215. }
  216. type CityStopInfoGroup struct {
  217. Type int `json:"type"`
  218. Code string `json:"code"`
  219. Name string `json:"name"`
  220. DurationInfo DurationInfo `json:"durationInfo"`
  221. DiffType int `json:"diffType"`
  222. DPortInfo DPortInfo `json:"dPortInfo"`
  223. APortInfo APortInfo `json:"aPortInfo"`
  224. Index int `json:"index"`
  225. Typename string `json:"__typename"`
  226. }
  227. type ProductInfoList struct {
  228. DurationInfo DurationInfo `json:"durationInfo"`
  229. DDateTime int `json:"dDateTime"`
  230. ADateTime int `json:"aDateTime"`
  231. AvbTickets int `json:"avbTickets"`
  232. DurationMin int `json:"durationMin"`
  233. Currency string `json:"currency"`
  234. Score int `json:"score"`
  235. FlightID string `json:"flightId"`
  236. IsShortestDrt bool `json:"isShortestDrt"`
  237. IsLowestPrice bool `json:"isLowestPrice"`
  238. ArrivalDays int `json:"arrivalDays"`
  239. MinPriceInfo MinPriceInfo `json:"minPriceInfo"`
  240. FilterInfoList []FilterInfoList `json:"filterInfoList"`
  241. StopoverPeriod []int `json:"stopoverPeriod"`
  242. StopoverMinute int `json:"stopoverMinute"`
  243. FlightInfoList []FlightInfoList `json:"flightInfoList"`
  244. PolicyInfoList []PolicyInfoList `json:"policyInfoList"`
  245. NoticeInfoList []NoticeInfoList `json:"noticeInfoList"`
  246. ItineraryInfoList []ItineraryInfoList `json:"itineraryInfoList"`
  247. CityStopInfoGroup [][]CityStopInfoGroup `json:"cityStopInfoGroup"`
  248. CanFlexibleChange bool `json:"canFlexibleChange"`
  249. HasMoreGrade bool `json:"hasMoreGrade"`
  250. Typename string `json:"__typename"`
  251. }
  252. type IntlFlightListSearch struct {
  253. ResponseStatus ResponseStatus `json:"ResponseStatus"`
  254. ResponseHead ResponseHead `json:"responseHead"`
  255. LowestPrice float64 `json:"lowestPrice"`
  256. OutputCurrency string `json:"outputCurrency"`
  257. ResultBasicInfo ResultBasicInfo `json:"resultBasicInfo"`
  258. ProductInfoList []ProductInfoList `json:"productInfoList"`
  259. SelectedFlightInfoList []interface{} `json:"selectedFlightInfoList"`
  260. LongestDuration int `json:"longestDuration"`
  261. ShortestDuration int `json:"shortestDuration"`
  262. MaxStopoverMinute int `json:"maxStopoverMinute"`
  263. MinStopoverMinute int `json:"minStopoverMinute"`
  264. GeneralCouponCount int `json:"generalCouponCount"`
  265. CreditCardPaymentInfoList interface{} `json:"creditCardPaymentInfoList"`
  266. Typename string `json:"__typename"`
  267. }
  268. type Data struct {
  269. IntlFlightListSearch IntlFlightListSearch `json:"intlFlightListSearch"`
  270. }