forked from codesquad-members-2021/airbnb
-
Notifications
You must be signed in to change notification settings - Fork 0
API List
choitree edited this page May 20, 2021
·
19 revisions
메인 화면 : 이미지 받아오는 GET API
{
"heroBanner " : [
{},
...
],
"nearDestination" : [
{},
...
]
}
struct HeroBanner {
let image
let title
}
struct NearDestination {
let image
let Destination
let timeDistance // 본래 상대적이어야 하지만, 임의로 시간 거리를 집어넣음 (30분, 4.5시간)
}
검색 화면 : mapkit을 사용하기로 . (https://daheenallwhite.github.io/ios/2019/08/07/MKLocalSearchCompleter/)
숙소찾기 내 가격범위 : GET API 해당 지역의 숙소들의 가격을 가져오는 API
return Array<Int>
[Int]
{
let location
let checkIn
let checkOut
let priceRange
let personnel
}
[
{
"image" : ,
"grade" : ,
"reviewer" : ,
"roomName" : ,
"pricePerDay" : ,
"totalPrice" : ,
}
...
]
숙소 상세 : GET API
struct roomInfo {
let roomid : Int
let image : [String]
let grade : Float // 실수형
let howManyReviewer : Int
let location : String
let roomName
let pricePerDay
let totalPrice // iOS가 계산.
let roomType :String // "레지던스 전체", "아파트 전체", "게스트용 별채 전체" "초소형 주택" "개인실"
let host: HOST
let roomConfiguration: String // "최대인원 3명∙원룸∙침대 1개∙욕실 1개"
let description
}
struct Host{
let name : String
let profileImage : String
}
최종 결제 팝업 : GET API
{
"checkIn" : ,
"checkOut" : ,
"personnel: {
"guest" :,
"infant":
}
}
{
let dicountPerWeek
let cleaningFee
let serviceFee
let tax
let totalPrice
}
예약하기 : POST API
body : {
let roomId: Int,
let checkIn : String
let checkOut : String
let personnel : Personnel // "게스트 3명"
let totalPrice : Int
}
예약 정보 보기
[
{
"bookingId":,
"roomId":,
"roomName":,
"image":[],
"checkIn" :,
"checkOut" :,
"location":
},
...
]
예약 목록 -> 상세페이지
{
let checkIn : String
let checkOut : String
let host: Host
let roomType : String
let personnel : Personnel // "게스트 3명"
let totalPrice : Int
}
struct Personnel {
let guest : Int
let 유아 : Int?
}
예약 취소 : DELETE API
위시리스트 : GET API
[
{
roomInfo
}
]
POST API : 숙소를 위시리스트로 지정
{
"roomId" :
}
DELETE API : 숙소를 위시리스트로 삭제
{
"roomId" :
}