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

  • 고객이 사진 작가에게 스냅 사진 촬영 예약을 신청합니다.
  • Method: POST
  • URI: /plans
  • Request Body
    Headers: Authorization
    {
        "photographerId" : 19,
        "planDate" : "2022-11-01T14:00:00",
        "time" : "12:30",
        "category" : "FRIEND",
        "people" : 4,
        "wishPlace" : "이화여자대학교",
        "request" : "잘 부탁드립니다!"
    }
  • Success Response
    • HTTP Status Code: 201 Created
    {
        "planId": "f2ce844d-1b18-480f-ac78-548818e5c417",
        "customer": 21,
        "photographer": 19,
        "planDate": "2022-11-01T14:00:00",
        "category": "FRIEND",
        "people": 4,
        "time" : "12:30",
        "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": "사진 작가가 스냅 사진 촬영 예약을 거절했습니다."
    }

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

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

스냅 사진 촬영 예약 완료

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

스냅 사진 촬영 일정 취소

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

스냅 사진 파일 전달

  • 사진 작가가 고객에게 스냅 사진 파일을 전달합니다.
  • 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