-
Notifications
You must be signed in to change notification settings - Fork 0
✍🏻 Plan
Minseo Cho edited this page Sep 26, 2023
·
26 revisions
URI | Description |
---|---|
📌 POST /plans | 촬영 일정 예약 신청(최초) |
📌 PUT /plans/refuse | 촬영 일정 예약 거절 |
📌 PUT /plans/deposit | 촬영 일정에 대한 입금 요청 |
📌 PUT /plans/reserve | 촬영 일정에 대한 입금 확인 |
📌 PUT /plans/delivery | 촬영 최종 완료 및 메일로 파일 전달 |
📌 PUT /plans/change | 촬영 일정 변경 요청 |
📌 PUT /plans/cancel | 촬영 일정 취소 |
GET /plans/{planId} | 촬영 개별 조회 |
GET /plans/photographer | 사진작가의 촬영 전체 조회 |
GET /plans/photographer/client | 사진작가의 촬영 전체 조회(클라이언트 화면 정렬에 필요) |
GET /plans/member | 일반고객의 촬영 전체 조회 |
📌 Request Parameters
- Headers: Authorization
Field | Type | Description |
---|---|---|
photographerId | Long | 사진작가 ID |
planDate | LocalDateTime | 예약 날짜 |
time | string | 예약 시간 |
category | string |
COUPLE 커플스냅, FREIND 우정스냅, GRADUATION 졸업스냅, WEDDING 웨딩스냅, FAMILY 가족스냅, ETC 기타 |
people | Long | 인원 |
wishPlace | string | 희망 장소 |
request | string | 요청사항 |
Response Parameters
Field | Type | Description |
---|---|---|
planId | string | 예약 아이디 |
customer | Long | 고객 ID |
photographer | Long | 사진작가 ID |
planDate | LocalDateTime | 예약 날짜 |
category | string |
COUPLE 커플스냅, FREIND 우정스냅, GRADUATION 졸업스냅, WEDDING 웨딩스냅, FAMILY 가족스냅, ETC 기타 |
people | Long | 인원 |
time | string | 예약 시간 |
wishPlace | string | 희망 장소 |
price | Long | 가격 |
request | string | 요청사항 |
status | string | 촬영 진행 상태REQUEST 예약 신청, DEPOSIT 입금 요청, REFUSE 예약 거절, RESERVED 예약 완료, TODAY 촬영 진행, COMPLETE 촬영 완료, DELIVERY 사진 전달, CANCEL 예약 취소 |
예시 요청/응답
📌 Request
{
"photographerId" : 19,
"planDate" : "2022-11-01T14:00:00",
"time" : "14:00",
"category" : "FRIEND",
"people" : 4,
"wishPlace" : "이화여자대학교",
"request" : "잘 부탁드립니다!"
}
Response
{
"planId": "f2ce844d-1b18-480f-ac78-548818e5c417",
"customer": 21,
"photographer": 19,
"planDate": "2022-11-01T14:00:00",
"category": "FRIEND",
"people": 4,
"time" : "14:00",
"wishPlace": "이화여자대학교",
"price": null,
"request": "잘 부탁드립니다!",
"status": "REQUEST"
}
- 사진 작가가 신청된 스냅 사진 촬영 예약을 거절 및 취소합니다.
- Method:
PUT
- URI:
/plans/refuse
- Request Body
Headers: Authorization{ "planId" : "57351f46-e6b7-4fd6-b826-174a71a71284", "contents" : "안녕하세요^^ 진심을 담아 자연스러운 모습을 담아내는 해피스냅입니다. 신청해주신 날은 다른 일정이 있어서 촬영이 어려울 것 같아요ㅜㅜ 혹시 11월 15일이나 17일은 어떠신가요? 날짜 괜찮으시다면 다시 예약 신청 부탁드립니다! 좋은 하루 보내세요~ 감사합니다^^" }
- Success Response
- HTTP Status Code:
200 OK
{ "status": 200, "code": "OK", "message": "스냅 사진 촬영 예약 거절 및 취소", "details": "사진 작가가 스냅 사진 촬영 예약을 거절했습니다." }
- HTTP Status Code:
- 사진 작가가 고객에게 스냅 사진 촬영 비용 입금을 요청합니다.
- Method:
PUT
- URI:
/plans/deposit
- Request Body
Headers: Authorization{ "planId" : "57351f46-e6b7-4fd6-b826-174a71a71284", "price" : 120000, "placeName" : "여의도 한강공원", "placeAddress" : "서울특별시 영등포구 여의동로 330", "message" : "입금 계좌는 국민은행 1234-5678입니다." }
- Success Response
- HTTP Status Code:
200 OK
{ "planId": "57351f46-e6b7-4fd6-b826-174a71a71284", "customer": 25, "photographer": 14, "planDate": "2022-11-10 12:30", "category": "COUPLE", "people": 2, "wishPlace": "한강공원", "time" : "12:30", "request": "잘 부탁드립니다!", "price": 120000, "placeName": "여의도 한강공원", "placeAddress": "서울특별시 영등포구 여의동로 330", "message": "입금 계좌는 국민은행 1234-5678입니다.", "status": "DEPOSIT" }
- HTTP Status Code:
- 사진 작가가 촬영 비용 입금을 확인하고 예약 일정을 확정하여 예약을 완료합니다.
- Method:
PUT
- URI:
/plans/reserve
- Request Body
Headers: Authorization{ "planId" : "57351f46-e6b7-4fd6-b826-174a71a71284", "contents" : "입금 확인되었습니다. 촬영 시 소품은 자유롭게 사용 가능합니다! 촬영일에 뵙겠습니다^^" }
- Success Response
- HTTP Status Code:
200 OK
{ "status": 200, "code": "OK", "message": "스냅 사진 예약이 완료되었습니다.", "details": "사진 작가가 촬영에 대한 입금을 확인했고, 촬영 일정을 픽스했습니다." }
- HTTP Status Code:
- 사진 작가 또는 고객이 스냅 사진 촬영 일정을 취소합니다.
- Method:
PUT
- URI:
/plans/cancel
- Request Body
Headers: Authorization{ "planId" : "57351f46-e6b7-4fd6-b826-174a71a71284", "reason" : "개인 일정", "refundAccount" : "신한은행 2222-4444" }
- Success Response
- HTTP Status Code:
200 OK
{ "status": 200, "code": "OK", "message": "스냅 사진 촬영 일정을 취소했습니다.", "details": "사진 작가 혹은 일반 고객이 스냅 사진 촬영 일정을 취소했습니다." }
- HTTP Status Code:
- 사진 작가가 고객에게 스냅 사진 파일을 전달합니다.
- Method:
PUT
- URI:
/plans/delivery
- Request Body
Headers: Authorization - Success Response
- HTTP Status Code:
200 OK
{ "status": 200, "code": "OK", "message": "스냅 사진 파일을 전달했습니다.", "details": "사진 작가가 스냅 사진을 전달했습니다." }
- HTTP Status Code:
- 촬영 예약 개별 조회 기능입니다.
- Method:
GET
- URI:
/plans/{planId}
- Request Body
Headers: Authorization(필수) Body:
{
"planId": "18ad30a9-3fec-4013-b192-cf7252a42d26",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T12:30:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"request": "잘 부탁드립니다!",
"price": null,
"placeName": null,
"placeAddress": null,
"status": "DELIVERY",
"messages": [
{
"messageId": 1,
"isMine": true,
"sender": "MEMBER",
"contents": "hey"
},
{
"messageId": 2,
"isMine": true,
"sender": "MEMBER",
"contents": "hey"
},
{
"messageId": 3,
"isMine": true,
"sender": "MEMBER",
"contents": "hey"
},
{
"messageId": 4,
"isMine": false,
"sender": "PHOTOGRAPHER",
"contents": "hey"
},
{
"messageId": 5,
"isMine": false,
"sender": "PHOTOGRAPHER",
"contents": "나는야 사진작가"
}
]
}
- 고객이 자신의 예약 내역을 모두 조회합니다.
- Method:
GET
- URI:
/plans/photographer/client
- Request Body
Headers: Authorization
{
"request": [
{
"planId": "3bdb4bbb-fa41-49dd-a600-8d27eefb222b",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T12:30:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "REQUEST"
},
{
"planId": "55db891e-cb1f-439a-bbc9-81eef74fcb30",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T12:30:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "REQUEST"
},
{
"planId": "63e57713-dfa7-4020-8b50-4c1b71f37f49",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T12:30:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "REQUEST"
},
{
"planId": "a837aae4-8fcf-4b52-b022-f752d987fd4f",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T12:30:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "REQUEST"
},
{
"planId": "cfd4d397-43f1-4c80-93cd-cbf21f716cc5",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T12:30:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "REQUEST"
},
{
"planId": "ddf82a29-7a15-49e3-ab7f-80afa9610227",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T12:30:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "REQUEST"
},
{
"planId": "de054f04-e875-4596-8348-f55a6ba73108",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T12:30:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "REQUEST"
},
{
"planId": "f1079490-792d-4a61-97a2-21291c846831",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T12:30:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "REQUEST"
}
],
"reserved": [
{
"planId": "5c510b42-a682-4f94-9854-2ba0942530e7",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T00:00:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "TODAY"
},
{
"planId": "67abe74e-208c-4f8d-b995-05baac263062",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T00:00:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "TODAY"
},
{
"planId": "b1649bec-20f3-4424-b3b7-c8d9aca97ca2",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T00:00:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "TODAY"
},
{
"planId": "f8328bf9-9f99-4576-950f-09c8203f8a00",
"customer": 7,
"photographer": 1,
"planDate": "2023-09-15T00:00:00",
"category": "COUPLE",
"people": 2,
"wishPlace": "한강공원",
"price": null,
"request": "잘 부탁드립니다!",
"status": "COMPLETE"
}
]
}
- 고객이 자신의 예약 내역을 모두 조회합니다.
- Method:
GET
- URI:
/plans/member
- Request Body
Headers: Authorization - Success Response
- HTTP Status Code:
200 OK
- 사진 작가가 자신의 예약 내역을 모두 조회합니다.
- Method:
GET
- URI:
/plans/photographer
- Request Body
Headers: Authorization - Success Response
- HTTP Status Code:
200 OK
[ { "planId": "57351f46-e6b7-4fd6-b826-174a71a71284", "customer": 25, "photographer": 14, "planDate": "2022-11-10 12:30", "category": "COUPLE", "people": 2, "wishPlace": "한강공원", "request": "잘 부탁드립니다!", "status": "RESERVED" }, "..." ]
- HTTP Status Code: