Skip to content

✍🏻 Plan

Minseo Cho edited this page Sep 26, 2023 · 26 revisions

SUMMARY

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 일반고객의 촬영 전체 조회

📌 촬영 일정 예약 신청(최초) POST /plans

📌 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 uuid 촬영 일정을 개별적으로 구별하는 ID
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 예약 신청

예시 요청/응답
📌 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"
}

📌 촬영 일정 예약 거절 PUT /plans/refuse

📌 Request Parameters

  • Headers: Authorization
Field Type Description
planId uuid 촬영 일정을 개별적으로 구별하는 ID
contents string 전송할 메세지 내용

Response Parameters

Field Type Description
status number 200
code string OK
message string 스냅 사진 촬영 예약 거절 및 취소
details string 사진 작가가 스냅 사진 촬영 예약을 거절했습니다.

예시 요청/응답
📌 Request

{
    "planId" : "57351f46-e6b7-4fd6-b826-174a71a71284",
    "contents" : "안녕하세요^^ 진심을 담아 자연스러운 모습을 담아내는 해피스냅입니다. 신청해주신 날은 다른 일정이 있어서 촬영이 어려울 것 같아요ㅜㅜ 혹시 11월 15일이나 17일은 어떠신가요? 날짜 괜찮으시다면 다시 예약 신청 부탁드립니다! 좋은 하루 보내세요~ 감사합니다^^"
}

Response

{
    "status": 200,
    "code": "OK",
    "message": "스냅 사진 촬영 예약 거절 및 취소",
    "details": "사진 작가가 스냅 사진 촬영 예약을 거절했습니다."
}

스냅 사진 촬영 비용 입금 요청

📌 Request Parameters

  • Headers: Authorization

Response Parameters

예시 요청/응답
📌 Request

Response

  • 사진 작가가 고객에게 스냅 사진 촬영 비용 입금을 요청합니다.
  • 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"
    }

스냅 사진 촬영 예약 완료

📌 Request Parameters

  • Headers: Authorization

Response Parameters

예시 요청/응답
📌 Request

Response

  • 사진 작가가 촬영 비용 입금을 확인하고 예약 일정을 확정하여 예약을 완료합니다.
  • 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": "사진 작가가 촬영에 대한 입금을 확인했고, 촬영 일정을 픽스했습니다."
    }

스냅 사진 촬영 일정 취소

📌 Request Parameters

  • Headers: Authorization

Response Parameters

예시 요청/응답
📌 Request

Response

  • 사진 작가 또는 고객이 스냅 사진 촬영 일정을 취소합니다.
  • 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": "사진 작가 혹은 일반 고객이 스냅 사진 촬영 일정을 취소했습니다."
    }

스냅 사진 파일 전달

📌 Request Parameters

  • Headers: Authorization

Response Parameters

예시 요청/응답
📌 Request

Response

  • 사진 작가가 고객에게 스냅 사진 파일을 전달합니다.
  • Method: PUT
  • URI: /plans/delivery
  • Request Body
    Headers: Authorization img.png
  • Success Response
    • HTTP Status Code: 200 OK
    {
        "status": 200,
        "code": "OK",
        "message": "스냅 사진 파일을 전달했습니다.",
        "details": "사진 작가가 스냅 사진을 전달했습니다."
    }

사진 촬영 예약 개별 조회

  • 촬영 예약 개별 조회 기능입니다.
  • 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"
        },
        "..."
    ]
Clone this wiki locally