Skip to content

API Docs ‐ Booth(admin)

taegeon edited this page May 19, 2025 · 18 revisions

API Documentation

Endpoints

1. Save DayBooth

- 주간부스 등록

  • Endpoint: /admin/booth/day
  • Method: POST
  • Request:
    • boothName : String
    • adminCategory : String
    • adminName : String
    • openTime : String
    • closeTime : String
    • boothIntro : String
    • boothImage : List
    • isOpen : Boolean
  • Request Example:
{
    "boothName" : "FEEL so good",
    "adminName" : "FEEL",
    "adminCategory" : "주간부스",
    "openTime" : "12:00",
    "closeTime" : "18:00",
    "boothIntro" : "한국공학대학교 중앙밴드동아리 FEEL입니다.",
    "boothImage": [
        "https://festino/7ea1d4e0-ae96-4044-b4b0-c830eeaeece3-feal.jpg",
        "https://festino/b2be3e8c-d7f8-4a1a-abdf-574700b27ff3-feal-dayBooth.jpeg"
    ],
    "isOpen" : true
}
  • Response:
    • success : Boolean
    • message : String
    • boothId : UUID (unique)
  • Response Example:
  • 성공
{
    "success": true,
    "message": "주간부스 등록 성공",
    "boothId": "d7135dc9-b9ed-48f2-9d35-5cea3ac8885b"
}
  • 실패
{
    "success": false,
    "message": "주간부스 등록 시 DAO 저장 실패",
    "boothId": null
}

2. Update DayBooth

- 주간부스 수정

  • Endpoint: /admin/booth/day
  • Method: PUT
  • Request:
    • boothId : UUID (unique)
    • boothName : String
    • adminCategory : String
    • adminName : String
    • openTime : String
    • closeTime : String
    • boothIntro : String
    • boothImage : List
    • isOpen : Boolean
  • Request Example:
{
    "boothId" : "d7135dc9-b9ed-48f2-9d35-5cea3ac8885b",
    "boothName" : "FEEL so good!!",
    "adminName" : "FEEL",
    "adminCategory" : "주간부스",
    "openTime" : "12:00",
    "closeTime" : "18:00",
    "boothIntro" : "한국공학대학교 중앙밴드동아리 FEEL입니다.",
    "boothImage": [
        "https://festino/7ea1d4e0-ae96-4044-b4b0-c830eeaeece3-feal.jpg",
        "https://festino/b2be3e8c-d7f8-4a1a-abdf-574700b27ff3-feal-dayBooth.jpeg"
    ],
    "isOpen" : true
}
  • Response:
    • success : Boolean
    • message : String
    • boothId : UUID (unique)
  • Response Example:
  • 성공
{
    "success": true,
    "message": "주간부스 수정 성공",
    "boothId": "d7135dc9-b9ed-48f2-9d35-5cea3ac8885b"
}
  • 실패
{
    "success": false,
    "message": "주간부스 수정 시 DAO 저장 실패",
    "boothId": null
}

3. Get DayBooth

- 주간부스 조회

  • Endpoint: /admin/booth/day/{boothId}
  • Method: GET
  • Request: : None
  • Response:
    • success : Boolean
    • message : String
    • boothInfo (boothId, boothName, adminCategory, adminName, openTime, closeTime, boothIntro, boothImage, location, isOpen)
      • boothId: UUID (unique)
      • boothName: String
      • adminCategory: String
      • adminName: String
      • openTime: String
      • closeTime: String
      • boothIntro: String
      • boothImage: List
      • location: String
      • isOpen: Boolean
  • Response Example:
  • 성공
{
    "boothInfo": {
        "boothId": "d7135dc9-b9ed-48f2-9d35-5cea3ac8885b",
        "boothName": "FEEL so good!!",
        "adminName": "FEEL",
        "adminCategory": "주간부스",
        "openTime": "12:00",
        "closeTime": "18:00",
        "boothIntro": "한국공학대학교 중앙밴드동아리 FEEL입니다.",
        "boothImage": [
            "https://festino/7ea1d4e0-ae96-4044-b4b0-c830eeaeece3-feal.jpg",
            "https://festino/b2be3e8c-d7f8-4a1a-abdf-574700b27ff3-feal-dayBooth.jpeg"
        ],
        "location": "D동 앞",
        "isOpen": false
    },
    "success": true,
    "message": "주간부스 조회 성공"
}
  • 실패
{
    "boothInfo": null,
    "success": false,
    "message": "주간부스 조회 시 DAO 검색 실패"
}

4. Get DayBooth All

- 주간부스 전체 조회

  • Endpoint: /admin/booth/day/all
  • Method: GET
  • Request: : None
  • Response:
    • success : Boolean
    • message : String
    • boothList (boothId, boothName, adminCategory, adminName, openTime, closeTime, isOpen)
      • boothId: UUID (unique)
      • boothName: String
      • adminCategory: String
      • adminName: String
      • openTime: String
      • closeTime: String
      • isOpen: Boolean
  • Response Example:
  • 성공
{
    "success": true,
    "message": "주간부스 전체조회 성공",
{
    "success": true,
    "message": "주간부스 전체조회 성공",
    "boothList": [
        {
            "boothId": "af434c51-aff5-4401-836b-165087d1dde2",
            "adminCategory": "주간부스",
            "adminName": "소리새",
            "boothName": "어쿠스틱",
            "openTime": "12:00",
            "closeTime": "18:00",
            "isOpen": true
        },
        {
            "boothId": "27ad2db8-be10-405e-972e-31219e6ee2b8",
            "adminCategory": "주간부스",
            "adminName": "CCC",
            "boothName": "덕달구나",
            "openTime": "12:00",
            "closeTime": "18:00",
            "isOpen": true
        },
       "..."
    ]
}
  • 실패
{
    "boothInfo": null,
    "success": false,
    "message": "주간부스 전체 조회 시 DAO 검색 실패"
}

5. Save FoodBooth

- 푸드트럭 등록

  • Endpoint: /admin/booth/food
  • Method: POST
  • Request:
    • boothName : String
    • adminName : String
    • adminCategory : String
    • openTime : String
    • closeTime : String
    • boothIntro : String
    • boothImage : List
    • isOpen : Boolean
  • Request Example:
{
    "adminName" : "스테이크",
    "adminCategory" : "푸드트럭",
    "boothName" : "조각 스테이크",
    "openTime" : "10:00",
    "closeTime" : "20:00",
    "boothIntro" : "스테이크 푸드트럭입니다.",
    "boothImage": [
        "https://festino/39d929fc-1834-4066-9692-ed2d13b28dfd-steak-foodBooth1.jpg",
        "https://festino/099d87e1-4099-411d-84d3-9d7aad7b07b3-steak-foodBooth2.jpg"
    ],
    "isOpen" : true
}
  • Response:
    • success : Boolean
    • message : String
    • boothId : UUID (unique)
  • Response Example:
  • 성공
{
    "success": true,
    "message": "푸드트럭 등록 성공",
    "boothId": "3f5ce05c-ea9a-4070-a389-1e155c5e55dd"
}
  • 실패
{
    "success": false,
    "message": "푸드트럭 등록 시 DAO 저장 실패",
    "boothId": null
}

6. Update FoodBooth

- 푸드트럭 수정

  • Endpoint: /admin/booth/food
  • Method: PUT
  • Request:
    • boothId : UUID (unique)
    • boothName : String
    • adminName : String
    • adminCategory : String
    • openTime : String
    • closeTime : String
    • boothIntro : String
    • boothImage : List
    • isOpen : Boolean
  • Request Example:
{
    "boothId" : "3f5ce05c-ea9a-4070-a389-1e155c5e55dd",
    "adminName" : "스테이크",
    "adminCategory" : "푸드트럭",
    "boothName" : "조각 스테이크",
    "openTime" : "10:00",
    "closeTime" : "20:00",
    "boothIntro" : "스테이크 푸드트럭입니다!!",
    "boothImage": [
        "https://festino/39d929fc-1834-4066-9692-ed2d13b28dfd-steak-foodBooth1.jpg",
        "https://festino/099d87e1-4099-411d-84d3-9d7aad7b07b3-steak-foodBooth2.jpg"
    ],
    "isOpen" : true
}
  • Response:
    • success : Boolean
    • message : String
    • boothId : UUID (unique)
  • Response Example:
  • 성공
{
    "success": true,
    "message": "푸드트럭 수정 성공",
    "boothId": "3f5ce05c-ea9a-4070-a389-1e155c5e55dd"
}
  • 실패
{
    "success": false,
    "message": "푸드트럭 수정 시 DAO 저장 실패",
    "boothId": null
}

7. Get FoodBooth

- 푸드트럭 조회

  • Endpoint: /admin/booth/food/{boothId}
  • Method: GET
  • Request: : None
  • Response:
    • success : Boolean
    • message : String
    • boothInfo (boothId, boothName, adminCategory, adminName, openTime, closeTime, boothIntro, boothImage, location, isOpen)
      • boothId: UUID (unique)
      • boothName: String
      • adminCategory: String
      • adminName: String
      • openTime: String
      • closeTime: String
      • boothIntro: String
      • boothImage: List
      • location: String
      • isOpen: Boolean
  • Response Example:
  • 성공
{
    "boothInfo": {
        "boothId": "3f5ce05c-ea9a-4070-a389-1e155c5e55dd",
        "boothName": "조각 스테이크",
        "adminCategory": "푸드트럭",
        "adminName": "스테이크",
        "openTime": "10:00",
        "closeTime": "20:00",
        "boothIntro": "스테이크 푸드트럭입니다!!",
        "boothImage": [
            "https://festino/39d929fc-1834-4066-9692-ed2d13b28dfd-steak-foodBooth1.jpg",
            "https://festino/099d87e1-4099-411d-84d3-9d7aad7b07b3-steak-foodBooth2.jpg"
        ],
        "location": "토비동산 앞",
        "isOpen": false
    },
    "success": true,
    "message": "푸드트럭 조회 성공"
}
  • 실패
{
    "boothInfo": null,
    "success": false,
    "message": "푸드트럭 조회 시 DAO 검색 실패"
}

8. Get FoodBooth All

- 푸드트럭 전체 조회

  • Endpoint: /admin/booth/food/all
  • Method: GET
  • Request: : None
  • Response:
    • success : Boolean
    • message : String
    • boothList (boothId, boothName, adminCategory, adminName, openTime, closeTime, isOpen)
      • boothId: UUID (unique)
      • boothName: String
      • adminCategory: String
      • adminName: String
      • openTime: String
      • closeTime: String
      • isOpen: Boolean
  • Response Example:
  • 성공
{
    "success": true,
    "message": "푸드트럭 전체조회 성공",
    "boothList": [
        {
            "boothId": "7236f43a-575d-4f4e-bb21-19557365c99c",
            "adminCategory": "푸드트럭",
            "adminName": "커피",
            "boothName": "cookie and coffee",
            "openTime": "10:00",
            "closeTime": "20:00",
            "isOpen": true
        },
        {
            "boothId": "3f5ce05c-ea9a-4070-a389-1e155c5e55dd",
            "adminCategory": "푸드트럭",
            "adminName": "스테이크",
            "boothName": "조각 스테이크",
            "openTime": "10:00",
            "closeTime": "20:00",
            "isOpen": false
        },
       "..."
    ]
}
  • 실패
{
    "boothInfo": null,
    "success": false,
    "message": "푸드트럭 전체 조회 시 DAO 검색 실패"
}

9. Save NightBooth

- 야간부스 등록

  • Endpoint: /admin/booth/night
  • Method: POST
  • Request:
    • boothName : String
    • adminCategory : String
    • adminName : String
    • openTime : String
    • closeTime : String
    • boothIntro : String
    • boothImage : String
    • isOrder : Boolean
    • isOpen : Boolean
    • isReservation : Boolean
    • accountInfo : Map(account, accountHolder, bankName)
      • account : String
      • accountHolder : String
      • bankName : String
  • Request Example:
{
    "boothName" : "허경영",
    "adminName" : "경영학과",
    "adminCategory" : "야간부스",
    "boothIntro" : "한국공학대학교 제22대 경영학부 학생회 MELODY",
    "boothImage": [
        "https://festino/9cb16e03-0b2b-4ef9-9261-ae0d07ef3bad-design-nightBooth.jpg",
        "https://festino/c43d7359-db14-49d8-b916-9a8352d439aa-design-nightBooth2.jpg"
    ],
    "openTime" : "18:00",
    "closeTime" : "24:00",
    "isOpen" : true, 
    "isOrder" : true,
    "isReservation" : true
    "accountInfo" : {
        "account" : "123", 
        "accountHolder" : "유수현", 
        "bankName" : "우리"
        }
}
  • Response:
    • success : Boolean
    • message : String
    • boothId : UUID (unique)
  • Response Example:
  • 성공
{
    "success": true,
    "message": "야간부스 등록 성공",
    "boothId": "0b463039-6b58-4461-8ae4-d3c63de799a8"
}
  • 실패
{
    "success": false,
    "message": "야간부스 등록 시 DAO 저장 실패",
    "boothId": null
}

10. Update NightBooth

- 야간부스 수정

  • Endpoint: /admin/booth/night
  • Method: PUT
  • Request:
    • boothId : UUID (unique)
    • boothName : String
    • adminCategory : String
    • adminName : String
    • openTime : String
    • closeTime : String
    • boothIntro : String
    • boothImage : String
    • isOrder : Boolean
    • isOpen : Boolean
    • isReservation : Boolean
    • accountInfo : Map(account, accountHolder, bankName)
      • account : String
      • accountHolder : String
      • bankName : String
  • Request Example:
{
    "boothId" : "0b463039-6b58-4461-8ae4-d3c63de799a8",
    "boothName" : "부잣집 막내아들",
    "adminName" : "경영학과",
    "adminCategory" : "야간부스",
    "boothIntro" : "한국공학대학교 제22대 경영학부 학생회 MELODY",
    "boothImage": [
        "https://festino/9cb16e03-0b2b-4ef9-9261-ae0d07ef3bad-design-nightBooth.jpg",
        "https://festino/c43d7359-db14-49d8-b916-9a8352d439aa-design-nightBooth2.jpg"
],
    "openTime" : "18:00",
    "closeTime" : "24:00",
    "isOpen" : true, 
    "isOrder" : true,
    "isReservation" : true
    "accountInfo" : {
        "account" : "100000000000", 
        "accountHolder" : "유수현", 
        "bankName" : "토스"
        }
}
  • Response:
    • success : Boolean
    • message : String
    • boothId : UUID (unique)
  • Response Example:
  • 성공
{
    "success": true,
    "message": "야간부스 수정 성공",
    "boothId": "0b463039-6b58-4461-8ae4-d3c63de799a8"
}
  • 실패
{
    "success": false,
    "message": "야간부스 수정 시 DAO 저장 실패",
    "boothId": null
}

11. Get NightBooth

- 야간 부스 조회

  • Endpoint: /admin/booth/night/{boothId}
  • Method: GET
  • Request: : None
  • Response:
    • success : Boolean
    • message : String
    • boothInfo (boothId, boothName, adminCategory, adminName, openTime, closeTime, boothIntro, boothImage, location, isOpen, isReservation, totalReservationNum)
      • boothId: UUID (unique)
      • boothName: String
      • adminCategory: String
      • adminName: String
      • openTime: String
      • closeTime: String
      • boothIntro: String
      • boothImage: List
      • location: String
      • isOpen: Boolean
      • isReservation: Boolean
      • totalReservationNum: Integer
      • accountInfo : Map(account, accountHolder, bankName)
        • account : String
        • accountHolder : String
        • bankName : String
  • Response Example:
  • 성공
{
    "boothInfo": {
        "boothId": "bcb6ddc2-1116-4729-a643-fa8f3bb5408f",
        "boothName": "컴공 선생",
        "adminName": "컴퓨터공학부",
        "adminCategory": "야간부스",
        "openTime": "18:00",
        "closeTime": "02:00",
        "boothIntro": "한국공학대학교 제25대 컴퓨터공학부 학생회 ERUM",
        "boothImage": [
            "https://tuk-planet.s3.ap-northeast-2.amazonaws.com/festino/890faf19-f354-414f-a93b-57fd6f7b0f44-computer-nightBooth1.jpg",
            "https://tuk-planet.s3.ap-northeast-2.amazonaws.com/festino/d4e9b5c4-8b42-425a-9726-f526c415f257-computerLogo-nightBooth.jpg",
            "https://tuk-planet.s3.ap-northeast-2.amazonaws.com/festino/c9f1f4e0-e0da-4166-89f2-55a9c9ae565e-computer-nightBooth2.jpg"
        ],
        "markerNum": 1,
        "location": "운동장",
        "isOpen": true,
        "isOrder": true,
        "isReservation": true,
        "totalReservationNum": 4,
        "accountInfo": {
            "account": "123456789",
            "accountHolder": "이승민",
            "bankName": "신한"
        }
    },
    "success": true,
    "message": "야간부스 조회 성공"
}
  • 실패
{
    "boothInfo": null,
    "success": false,
    "message": "야간부스 조회 시 DAO 검색 실패"
}

12. Get NightBooth All

- 야간부스 전체 조회

  • Endpoint: /admin/booth/night/all
  • Method: GET
  • Request: : None
  • Response:
    • success : Boolean
    • message : String
    • boothList (boothId, boothName, adminCategory, adminName, openTime, closeTime, isOpen, isOrder, isReservation)
      • boothId: UUID (unique)
      • boothName: String
      • adminCategory: String
      • adminName: String
      • openTime: String
      • closeTime: String
      • isOpen: Boolean
      • isOrder: Boolean
      • isReservation: Boolean
  • Response Example:
  • 성공
{
    "success": true,
    "message": "야간부스 전체조회 성공",
    "boothList": [
        {
            "boothId": "4c0fdc4d-4a3d-4ba7-acc3-0d5d46d7f6f1",
            "adminCategory": "야간부스",
            "adminName": "메카트로닉스공학과",
            "boothName": "MECA : 메이드 카페",
            "openTime": "18:00",
            "closeTime": "24:00",
            "isOpen": true,
            "isOrder": true,
            "isReservation": true
        },
        {
            "boothId": "a1084779-1d3b-4846-8bf7-64f2731f6bbb",
            "adminCategory": "야간부스",
            "adminName": "생명화학공학과",
            "boothName": "생화공 부스",
            "openTime": "18:00",
            "closeTime": "24:00",
            "isOpen": true,
            "isOrder": true,
            "isReservation": false
        },
       "..."
    ]
}
  • 실패
{
    "boothInfo": null,
    "success": false,
    "message": "야간부스 전체 조회 시 DAO 검색 실패"
}

13. Update DayBooth Open

**- 주간부스 운영 중 여부 수정

  • Endpoint: /admin/booth/day/open
  • Method: PUT
  • *Request:
    • boothId : UUID(unique)
    • isOpen : Boolean
  • Request Example:
{
    "boothId": "d7135dc9-b9ed-48f2-9d35-5cea3ac8885b",
    "isOpen": true
}
  • Response:
    • success : Boolean
    • message : String
    • boothInfo (boothId, isOpen)
      • boothId : UUID (unique)
      • isOpen : Boolean
  • Response Example:
  • 성공
{
    "success": true,
    "message": "주간부스 운영 중 여부 수정 성공",
    "openInfo": {
        "boothId": "d7135dc9-b9ed-48f2-9d35-5cea3ac8885b",
        "isOpen": false
    }
}
  • 실패
{
    "success": false,
    "message": "주간부스 운영 중 여부 수정 시 DAO 저장 실패",
    "openInfo": null
}

14. Update FoodBooth Open

**- 푸드트럭 운영 중 여부 수정

  • Endpoint: /admin/booth/food/open
  • Method: PUT
  • *Request:
    • boothId : UUID(unique)
    • isOpen : Boolean
  • Request Example:
{
    "boothId" : "3f5ce05c-ea9a-4070-a389-1e155c5e55dd",
    "isOpen" : true
}
  • Response:
    • success : Boolean
    • message : String
    • boothInfo (boothId, isOpen)
      • boothId : UUID (unique)
      • isOpen : Boolean
  • Response Example:
  • 성공
{
    "success": true,
    "message": "푸드트럭 운영 중 여부 수정 성공",
    "openInfo": {
        "boothId": "3f5ce05c-ea9a-4070-a389-1e155c5e55dd",
        "isOpen": false
    }
}
  • 실패
{
    "success": false,
    "message": "푸드트럭 운영 중 여부 수정 시 DAO 저장 실패",
    "openInfo": null
}

15. Update NightBooth Open

**- 야간 부스 운영 중 여부 수정

  • Endpoint: /admin/booth/night/open
  • Method: PUT
  • *Request:
    • boothId : UUID(unique)
    • isOpen : Boolean
  • Request Example:
{
    "boothId" : "cc958624-20ae-4621-8ea1-d968886d8d6c",
    "isOpen" : true
}
  • Response:
    • success : Boolean
    • message : String
    • boothInfo (boothId, isOpen)
      • boothId : UUID (unique)
      • isOpen : Boolean
  • Response Example:
  • 성공
{
    "success": true,
    "message": "야간부스 운영 중 여부 수정 성공",
    "openInfo": {
        "boothId": "cc958624-20ae-4621-8ea1-d968886d8d6c",
        "isOpen": false
    }
}
  • 실패
{
    "success": false,
    "message": "야간부스 운영 중 여부 수정 시 DAO 저장 실패",
    "openInfo": null
}

16. Update NightBooth Order

- 야간부스 주문가능 여부 수정

  • Endpoint: /admin/booth/night/order
  • Method: PUT
  • Request:
    • boothId : UUID
    • isOrder : Boolean
  • Request Example:
{
    "boothId" : "ca8ad9cb-6dbe-482a-abd7-8add24e5d7b2"
    "isOrder" : false
}
  • Response:
    • success : Boolean
    • message : String
    • orderInfo (boothId, isOrder)
      • boothId: UUID (unique)
      • isOrder: Boolean
  • Response Example:
  • 성공
{
    "orderInfo": {
        "boothId": "ca8ad9cb-6dbe-482a-abd7-8add24e5d7b2",
        "isOrder": true
    },
    "success": true,
    "message": "야간부스 주문가능 여부 수정 성공"
}
  • 실패
{
    "success": false,
    "message": "야간부스 주문가능 여부 수정 실패",
    "orderInfo": null
}

17. Update NightBooth Reservation

- 야간부스 예약가능 여부 수정

  • Endpoint: /admin/booth/night/reservation
  • Method: PUT
  • Request:
    • boothId : UUID
    • isReservation : Boolean
  • Request Example:
{
    "boothId" : "ca8ad9cb-6dbe-482a-abd7-8add24e5d7b2"
    "isReservation" : false
}
  • Response:
    • success : Boolean
    • message : String
    • reservationInfo (boothId, isReservation)
      • boothId: UUID (unique)
      • isReservation: Boolean
  • Response Example:
  • 성공
{
    "reservationInfo": {
        "boothId": "ca8ad9cb-6dbe-482a-abd7-8add24e5d7b2",
        "isReservation": true
    },
    "success": true,
    "message": "야간부스 예약가능 여부 수정 성공"
}
  • 실패
{
    "success": false,
    "message": "야간부스 예약가능 여부 수정 실패",
    "orderInfo": null
}

18. Update NightBooth Call

- 야간부스 직원 호출 여부 수정

  • Endpoint: /admin/booth/night/call
  • Method: PUT
  • Request:
    • boothId : UUID
    • isCall : Boolean
  • Request Example:
{
    "boothId" : "ca8ad9cb-6dbe-482a-abd7-8add24e5d7b2"
    "isCall" : false
}
  • Response:
    • success : Boolean
    • message : String
    • reservationInfo (boothId, isStaffCall)
      • boothId: UUID (unique)
      • isCall: Boolean
  • Response Example:
  • 성공
{
    "success": true,
    "message": "야간부스 직원 호출 여부 수정 성공",
    "StaffCallInfo": 
    {
        "boothId": "d7135dc9-b9ed-48f2-9d35-5cea3ac8885b",
        "isStaffCall": false
    }
}
  • 실패
{
    "success": false,
    "message": "야간부스 직원 호출 여부 수정 시 DAO 저장 실패",
    "StaffCallInfo": null
}

Clone this wiki locally