대시보드 요구사항 볼토피아 요구사항정의서
초안 · 검수 대기 문서 버전 v0.6

볼토피아 요구사항정의서

볼토피아의 회원·이벤트·클럽·예약·성적 관리를 아우르는 볼링장 통합 운영 플랫폼의 기능·시스템 요구사항을 정의합니다. 04~11절은 각각 기능 요구사항(FR) 표서버가 강제하는 업무 규칙(BR) 표로 구성됩니다 — 규칙은 "[조건] → [서버 강제 동작]" 명제이며, 실제 서비스와 그대로 대조 검증할 수 있습니다.

문서 유형 요구사항정의서
대상 시스템 볼링장 통합 운영 (BOWLTOPIA)
담당 단계 볼토피아 운영 플랫폼
최종 갱신 2026-07-13
수정 요청
01

문서 목적 · 범위

본 문서는 볼토피아의 회원·이벤트·클럽·예약·성적 관리를 아우르는 볼링장 통합 운영 플랫폼의 기능·시스템 요구사항을 정의합니다. 볼토피아는 정책이 중요하게 반영되는 서비스이므로, 각 영역은 기능 개요보다 서버가 실제로 강제하는 업무 규칙을 중심으로 기술합니다.

  • 최우선 원칙 1 — 회원 데이터 보호
  • 최우선 원칙 2 — 대회 운영의 공정성 · 안정성
  • 원칙 충돌 시 — 개발 속도 등 다른 목표보다 항상 위 두 원칙을 우선

확정 — 아래 포함 범위(8개 영역)는 모두 진승과의 계약 딜리버리 대상입니다.

포함 범위 (In scope · 계약 딜리버리 대상)
  • 회원 · 등급 · 인증
  • 대회 · 이벤트 접수 (BMT / 리그 / 대회 공통)
  • 클럽 · 리그 운영
  • 레인 · 락커 예약
  • 볼(사용구) 등록 · 공인구 확인
  • 성적 · 등급 · 통계
  • 게시판 · 알림 · 소셜
  • 결제
제외 범위 (Out of scope · 별도 프로젝트/백로그)
  • 진승 통합 인증(SSO) 전환 — 별도 프로젝트(JS-AUTH). 본 문서는 현행 인증 연동 구조만 개념 언급
  • 매출 · 정산 리포트, 멀티 지점 관리, 키오스크 모드 — 장기 백로그
02

시설 운영 목표

회원은 하나의 볼링장 안에서 대회 접수 → 클럽 활동 → 레인/락커 예약 → 성적 확인까지 하나의 서비스로 이용하며, 관리자는 하나의 관리 화면에서 시설 전체를 운영합니다.

03

연동 대상 시스템

시스템연동 내용
진승 JS-HOME대회접수 — 공인구 확인. 참가자가 등록한 볼의 시리얼을 진승 공인구 원장과 실시간 대조
참고 확정 — 회원 인증은 현재 진승 시스템과 연동되어 있으며, 향후 진승 통합 인증(JS-AUTH/SSO) 완료 시 인증 권위가 그쪽으로 전환될 예정입니다.
04

회원 · 인증 요구사항

기능 요구사항
ID기능설명
FR-1.1로그인계정으로 로그인; 관리자는 강화된 인증 절차 적용
FR-1.2회원 등급 산정산정 기준은 아래 등급 정책 표 참조
FR-1.3등급별 조건 · 혜택 관리관리자가 직접 편집, 앱에 즉시 반영
FR-1.4단일 로그인 세션동시 세션 1개만 허용
FR-1.5진승 인증 연동 장애 대응자동 재시도 후 명확한 안내로 대응
등급 정책
등급산정 조건강등 정책조건 · 혜택 문구
GUEST진승 ID로 로그인(비회원)해당 없음관리자 편집 가능
MEMBER볼토피아 회원 가입해당 없음(기본 등급)관리자 편집 가능
REGULAR(정회원)최근 1년 게임 수 기준 충족 또는 유효 락커 보유게임 수 기준 승급자는 강등 없음. 락커만으로 승급한 경우 락커 만료+미연장+게임 수 미달 시에만 MEMBER로 자동 강등관리자 편집 가능(예: 레인 할인)
STORM최근 1년 게임 수 기준 충족자동 강등 없음 — 관리자 수동 조정만관리자 편집 가능
확정 STORM 등급은 자동으로 강등되지 않으며, 관리자 수동 변경으로만 하향됩니다. 이는 확정된 정책입니다.
업무 규칙 (서버 강제) — 10건

아래 규칙은 회원 · 등급 · 인증 도메인에서 서버가 항상 강제하는 정책입니다.

규칙조건서버 강제 동작
BR-1.1등급을 판정하는 시점(성적 반영, 프로필 조회 등)최근 1년(365일)간의 실제 참여 게임 수만 집계하며, 그 이전 기록은 포함하지 않습니다.
BR-1.2회원이 유효한 락커를 보유게임 수 기준을 충족하지 않아도 정회원 등급을 부여합니다.
BR-1.3게임 수 기준으로 정회원 또는 STORM 등급으로 승급이후 활동이 줄어도 해당 등급을 자동으로 낮추지 않습니다.
BR-1.4락커 보유만으로 정회원이 된 회원의 락커가 만료 · 미연장 + 게임 수 기준 미달일반 회원 등급으로 자동 조정합니다(자동 강등이 발생하는 유일한 경로).
BR-1.5회원이 최고 등급(STORM)에 도달이후 활동이 없어도 자동 강등하지 않으며, 등급 하향은 관리자의 수동 조정으로만 가능합니다.
BR-1.6이미 로그인된 계정으로 다른 기기에서 새로 로그인기존 기기의 로그인 세션을 즉시 무효화하고, 해당 기기에 강제 로그아웃 안내를 전달합니다.
BR-1.7관리자 · 키오스크 계정단일 세션 강제 정책이 적용되지 않습니다(다중 세션 허용).
BR-1.8진승 인증 시스템이 응답하지 않음정해진 횟수만큼 자동 재시도 후, 최종 실패 시 원인을 알 수 있는 안내로 응답하며 관리자 계정 인증에는 영향을 주지 않습니다.
BR-1.9관리자가 특정 등급의 승급 조건 문구를 비워둠게임 수 임계값 기반으로 자동 생성된 문구로 대체 표시합니다.
BR-1.10일반 회원 권한으로 관리자 전용 기능(회원 관리, 대회 운영 등)에 접근 시도요청을 거부합니다(역할 기반 접근 통제).
05

대회 · 이벤트 접수 요구사항

BMT(미니대회) · 리그 · 대회는 공통된 접수 흐름을 따르며, 8개 영역 중 업무 규칙이 가장 촘촘한 영역입니다.

기능 요구사항
ID기능설명
FR-2.1접수 유형개인 / 클럽(팀) / 프로암 세 가지 지원
FR-2.2선착순 접수 · 대기열정원 초과 시 대기열, 취소 발생 시 자동 승격
FR-2.3성적 제출 · 확정 워크플로우리그 · BMT: 참가자 제출 → 관리자 확정 / 정정 / 반려(2단계). 일반(GAME) 대회: 관리자 직접 입력(단일 단계, 설계상 별도 모델)
FR-2.4결과 공개 시점 선택관리자가 아래 4가지 공개 방식 중 선택
FR-2.5단체전 팀 생성 · 로스터 관리클럽 운영자가 대상 대회를 선택해 팀을 만들고 명단(로스터)을 구성 · 확정. 확정 · 배포 완료
FR-2.6단체전 팀 접수 · 조 편성확정된 팀을 대표자가 대회의 특정 조(회차)에 접수. 선착순 · 추첨 방식 모두 지원. 확정 · 배포 완료
FR-2.7단체전 팀 참가비 결제대표자가 팀 전체 참가비를 일괄 결제(간편결제 · 무통장 · 현장). 확정 · 배포 완료
FR-2.8단체전 레인 배정 · 게임 간 레인 순환관리자가 조별 레인 구성과 순환 규칙을 설정하면 첫 게임 자동 배정 + 이후 게임 자동 순환. 확정 · 배포 완료
FR-2.9단체전 팀 성적 입력 · 핸디캡 산정관리자가 팀원별 게임 성적을 입력하면 핸디캡이 자동 반영되고, 로스터 전원의 성적이 모이면 팀 단위로 확정. 확정 · 배포 완료
FR-2.10단체전 팀 순위 · 대회 전체 개인 순위 공개팀 성적이 확정되면 순위가 자동 집계되고, 관리자가 공개 여부를 선택. 확정 · 배포 완료
FR-2.11단체전 우승 명예의 전당 자동 연동순위 공개 시 우승 팀 전원이 명예의 전당(§09)에 자동 등재. 확정 · 배포 완료
확정 · 배포 완료 FR-2.5~2.11(단체전 CLUB · 프로암 팀 기능 전체)은 설계 확정을 거쳐 이미 프로덕션에 배포되었습니다. 아래 업무 규칙 BR-2.23~2.42가 상세 규정입니다.
결과 공개 방식
공개 방식동작제공 상태
즉시 공개성적이 확정되는 즉시 순위표에 반영제공 중
비공개관리자가 수동으로 공개하기 전까지 순위 비공개제공 중
일 단위 공개그날 확정된 성적은 다음날부터 공개확정 대기
대회 종료 후 공개대회 전체가 종료된 이후 일괄 공개확정 대기
이벤트 진행 단계 (상태 전이)
단계전환 트리거
1. 접수 시작(초기 상태)
2. 접수 종료접수 마감 시각 도래(자동)
3. 결제 기간접수 종료 직후 진입(자동)
4. 결제 마감결제 기한 도래(자동)
5. 레인 배정 완료관리자 수동 전환(자동 전환 없음)
6. 진행 중대회 시작 시각 도래(자동)
7. 종료대회 종료 시각 도래(자동)
공통 예외 위 어느 단계에서든 관리자가 대회를 취소하면 즉시 취소 상태로 전환됩니다(유일한 역행 경로). 그 외 전이는 항상 정방향으로만 진행합니다.
단체전(CLUB · 프로암) 팀 접수 방식
접수 방식동작대기(보결)
선착순조 정원이 찰 때까지 접수 순서대로 확정정원 초과분은 대기 순번 등록, 취소 발생 시 순번대로 자동 승격
추첨접수 마감까지는 전원 접수 대기 상태 유지, 마감 시 조별로 무작위 추첨해 정원만큼 확정추첨에서 밀린 팀 중 정해진 인원만큼 보결로 전환, 이후 취소 발생 시 순번대로 자동 승격

대회가 여러 조(회차)로 편성된 경우, 정원 · 대기 · 추첨 · 승계는 모두 대표자가 접수 시 선택한 조 단위로 독립 운영됩니다.

단체전 게임 간 레인 순환 방식
순환 방식동작
순환 없음첫 게임에 배정된 레인을 전 게임 동일하게 사용
교차 순환레인 좌 · 우에 있던 팀이 서로 반대 방향으로 이동하며 자리(좌 · 우)는 그대로 유지
이동 순환레인의 모든 팀이 정해진 같은 방향으로 함께 이동

첫 게임 레인은 조별로 시스템이 자동(무작위) 배정하며, 이후 게임은 조마다 설정한 순환 방식대로 자동 전환됩니다. 관리자는 개별 팀 · 게임 단위로 레인을 수동 조정할 수 있습니다.

업무 규칙 (서버 강제) — 42건
규칙조건서버 강제 동작
BR-2.1대회 접수 유형이 개인 또는 클럽개인은 참가자 수, 클럽은 팀 수를 기준으로 각각 별도 정원을 산정하고, 클럽 접수는 팀 대표(팀장) 명의로만 접수할 수 있습니다.
BR-2.2이미 리그에 참가 팀을 등록한 클럽이 같은 리그에 다른 팀으로 재접수정상 접수를 허용합니다(동일 클럽 복수 팀 가능). 단 이미 등록된 것과 동일한 팀의 중복 접수만 차단합니다.
BR-2.3승인 대기 상태의 클럽이 클럽 단위 대회 · 리그에 접수 시도접수 자체를 차단합니다.
BR-2.4이벤트 정원이 모두 찬 상태에서 신규 접수대기열로 등록합니다.
BR-2.5확정 참가자의 취소 발생대기열 중 접수 시간이 가장 빠른 순번을 자동으로 정식 참가자로 승격하고, 승격 대상 본인(또는 팀 대표) · 소속 클럽 운영자 · 시설 관리자에게 동시에 알림을 발송합니다.
BR-2.6현재 시각이 접수 마감 시각을 지남신규 접수 · 수정 · 취소 요청을 모두 거부합니다.
BR-2.7결제 기한 도달 시점까지 참가비 미결제해당 참가자를 자동으로 취소 처리하고 대기자를 승격 절차로 넘깁니다.
BR-2.8리그 · BMT 대회에서 참가자가 경기 성적을 입력해 제출관리자가 확정하기 전까지 해당 성적은 순위표 · 팀 기록에 전혀 반영되지 않습니다.
BR-2.9리그 · BMT 대회에서 관리자가 제출된 성적을 확정즉시 팀 기록 · 순위표에 반영되며, 이후 참가자 본인은 직접 수정할 수 없고 관리자를 통해서만 정정할 수 있습니다.
BR-2.10리그 · BMT 대회에서 관리자가 제출된 성적을 반려사유와 함께 참가자에게 재입력을 요청하며, 재제출할 때까지 순위 미반영 상태를 유지합니다.
BR-2.11경기 당일 팀 또는 선수가 불참상대측에 승점을 자동 부여하는 부전승으로 처리하되, 양측의 누적 핀수 · 게임 수에는 영향을 주지 않습니다.
BR-2.12클럽(팀) 참가 경기의 순위가 동점승점 → 누적 핀수 → 팀 간 상대 전적 순서로 우선순위를 적용합니다.
BR-2.13개인 참가 경기의 순위 산정승패가 아닌 게임별 누적 핀수 합산을 기준으로 산정합니다.
BR-2.14핸디캡을 적용하는 대회핸디캡이 반영된 순위만 공식적으로 표시하고, 핸디캡 미반영(원점수) 순위는 별도로 게시하지 않습니다.
BR-2.15경기가 이미 시작됨후보 선수와 정규 선수 간의 교체 요청을 차단합니다(교체는 경기 시작 전까지만 허용).
BR-2.16대회 접수가 진행 중인 기간접수 · 순위 산정 로직에 영향을 주는 변경 사항의 배포를 보류합니다.
BR-2.17여러 날에 걸쳐 진행되는 미니대회(BMT)에 회원이 연속으로 참가연속 참가일수에 따라 정해진 보너스 핸디캡을 자동으로 계산해 부여합니다.
BR-2.18대회의 설정된 시작 · 종료 시각 도래관리자 조작 없이 자동으로 진행 중 · 종료 상태로 전환합니다.
BR-2.19관리자가 결과 공개 방식(즉시 · 비공개 · 일 단위 · 종료 후) 중 하나를 선택선택된 방식의 규칙에 따라서만 순위가 노출되며, 다른 방식으로 임의 노출되지 않습니다.
BR-2.20참가자 결제 마감 시각 도래자동으로 결제 마감 상태로 전환되고 관리자 작업 목록에 "레인 배정 필요" 항목이 자동으로 나타납니다. 이후 레인 배정 완료 전환은 관리자의 명시적 조작으로만 이루어집니다(자동 전환 없음).
BR-2.21이벤트 진행 단계의 전환(자동 · 수동 모두 포함)항상 정해진 순서로만 앞으로 진행하며 이전 단계로 되돌아가지 않습니다. 단 관리자의 취소 처리는 이 규칙의 예외로 언제든 가능합니다.
BR-2.22일반(GAME) 대회의 성적 처리관리자가 성적을 직접 입력하며, 리그 · BMT의 참가자 제출 → 확정 게이트(BR-2.8~2.10)를 거치지 않습니다. 이는 설계상 별도 모델이며 성숙도 차이가 아닙니다.
BR-2.23클럽 운영자가 단체전 팀을 생성대상 대회가 클럽(팀) 또는 프로암 유형일 때만 생성을 허용하며, 팀 정원은 생성자가 임의로 정할 수 없고 대상 대회가 정한 규격에서 자동으로 결정합니다.
BR-2.24프로암 대회의 팀을 생성 · 로스터 수정 · 확정각 시점마다 대회가 정한 성별 · 프로 선수 정원 구성을 검증합니다 — 생성 · 로스터 수정 시점은 이미 정원을 초과한 명백한 위반만 즉시 차단하고, 아직 다 채우지 못한 초안 구성은 통과시키며, 최종 확정 시점에는 규격과 정확히 일치해야만 통과합니다.
BR-2.25단체전 팀의 대표자(주장) 지정그 팀의 로스터에 포함된 회원만 대표자로 지정할 수 있으며, 로스터에 없는 회원 지정은 거부합니다.
BR-2.26단체전 팀의 로스터가 확정된 이후클럽 운영자를 포함해 사용자는 로스터 · 대표자 · 팀 이름을 직접 수정할 수 없으며, 변경은 관리자를 통해서만 가능합니다.
BR-2.27단체전 대회 접수로스터가 확정된 팀만, 그 팀의 대표자 계정만 접수할 수 있습니다.
BR-2.28한 회원이 같은 대회의 다른 팀 로스터에 이미 포함된 상태에서 신규 팀 접수 시도중복 참가로 판단해 접수를 거부합니다.
BR-2.29여러 조(회차)로 편성된 단체전 대회의 팀 접수대표자가 접수 시 선택한 조 안에서만 정원 · 대기 · 추첨 · 승계를 산정하며, 다른 조 현황과는 서로 영향을 주지 않습니다.
BR-2.30추첨 방식 단체전 대회의 접수 마감조별로 무작위 추첨을 진행해 정원만큼 확정하고, 정해진 인원만큼 다음 순번을 보결(대기)로 전환하며, 나머지는 미확정으로 처리합니다.
BR-2.31확정된 단체전 팀의 접수 취소같은 조의 대기 1순위 팀을 자동으로 승격시키고, 승격된 팀의 대표자에게 알림을 발송합니다.
BR-2.32단체전 팀의 참가비 결제 금액대회가 정한 참가비 그대로 팀당 1건으로 결제하며, 팀원 수에 비례해 곱해지지 않습니다.
BR-2.33무료로 진행되는 단체전 대회의 팀 접수 · 확정별도 결제 절차 없이 결제 완료 상태로 자동 처리합니다.
BR-2.34확정된 단체전 팀이 결제 기한 내 참가비를 완납하지 않음해당 팀을 자동으로 취소 처리하고, 같은 조의 대기 팀을 결제 기한을 부여해 승격시킵니다. 승격된 팀도 기한 내 미납이면 동일하게 다시 취소 · 재승격됩니다.
BR-2.35관리자가 단체전 조별 레인 구성과 게임 간 순환 여부를 설정첫 게임 레인은 시스템이 그 조의 확정 팀을 대상으로 자동(무작위) 배정합니다.
BR-2.36게임 간 레인 순환이 켜진 단체전 조정해진 순환 방식(교차 · 이동)에 따라 매 게임 레인을 자동으로 전환하며, 순환이 꺼진 조는 전 게임 동일 레인을 유지합니다.
BR-2.37관리자가 단체전 특정 팀 · 특정 게임의 레인을 수동 조정지정한 레인으로 변경하되, 같은 조 안에서 다른 팀과 레인이 겹치면 변경을 거부합니다.
BR-2.38단체전 팀원의 게임 성적 입력관리자가 직접 입력하며, 리그 · BMT처럼 참가자 본인이 제출하는 절차는 없습니다.
BR-2.39단체전 팀의 성적을 확정로스터 전원이 대회의 모든 게임에서 성적 또는 결장(불참) 처리를 보유하고 있어야 하며, 하나라도 비어 있으면 확정을 거부합니다. 결장 처리된 게임은 핸디캡을 반영하지 않아 임의로 0점을 입력해 우회하는 것과 구분합니다.
BR-2.40이미 확정된 단체전 팀의 성적을 이후 수정확정 상태를 자동으로 해제해 재확정을 요구하며, 결과가 이미 공개된 상태였다면 공개도 함께 해제합니다.
BR-2.41단체전 팀 순위 산정확정된 팀만을 대상으로 자동 집계하며, 동점일 경우 핸디캡 총점 → 최고 게임 기록 → 평균 → 스크래치 총점 순으로 우선순위를 적용하고 전부 동일하면 공동순위로 표시합니다. 관리자가 결과 공개를 켜기 전까지 팀 순위와 대회 전체 개인 순위는 비공개 상태입니다.
BR-2.42단체전 결과가 공개됨순위 1위 팀(공동 우승 포함) 로스터 전원을 명예의 전당에 자동 등재하며, 이후 공개 후 우승 팀이 바뀌거나 공개가 취소되면 자동 등재 기록도 그에 맞춰 자동으로 갱신 · 정리합니다(관리자가 직접 등록한 기록은 영향받지 않습니다).
06

클럽 · 리그 운영 요구사항

기능 요구사항
ID기능설명
FR-3.1클럽 운영회원 관리, 정기 모임, 클럽 간 리그 참여
FR-3.2클럽 공개 페이지 · 기록 · 리더보드비회원 공개(리더보드), 회원 전용(기록 탭)
FR-3.3정기 모임 반복 일정매주 · 격주 · 매월 등 반복 규칙으로 등록
FR-3.4개인 종합전 리그 접수참가자가 팀 없이 개인 단위로 리그에 접수(선착순 · 추첨), 정원 초과 시 대기 등록 · 승계. 설계 검토 중
FR-3.5개인 종합전 회차별 점수 입력 · 확정참가자가 회차(매치데이)마다 본인 게임 점수를 입력 · 제출하면 관리자가 확정 · 정정 · 반려. 설계 검토 중
FR-3.6개인 종합전 순위 · 시즌 종료확정된 점수만 누적해 순위를 산정(핸디캡 설정 시 반영)하고, 시즌 종료 시 최종 순위를 스냅샷으로 저장. 설계 검토 중
설계 검토 중 FR-3.4~3.6(개인 종합전 리그, PERSONAL_AGGREGATE)은 CTO 검토를 기다리는 설계안이며, 아직 서버에 구현 · 배포되지 않았습니다. 대진(1:1 대결) 없이 참가자 각자의 누적 점수만으로 순위를 매기는 방식이며, 기존 클럽(팀) 리그의 데이터 · 로직은 변경 없이 그대로 유지됩니다. 아래 업무 규칙(서버 강제) 8건에는 포함되지 않은 별도 설계 규칙안입니다.
개인 종합전 리그 — 설계 규칙안(구현 전)

아래는 설계 문서에 명시된 예정 규칙으로, 검토 · 확정 전까지는 서버가 강제하지 않습니다.

  • 경기 방식 — 참가자끼리 승부를 겨루지 않고, 회차마다 각자 자기 게임만 치른 점수를 누적해 순위를 매김(대진 생성 없음)
  • 핸디캡 스냅샷 — 점수 확정 시점의 핸디캡을 그대로 고정 저장해, 참가자의 핸디가 나중에 바뀌어도 과거 회차 순위는 흔들리지 않음
  • 정원 · 대기 — 팀 수가 아니라 참가자 수를 기준으로 정원 · 대기(승계)를 판정, 동일 인물의 중복 접수는 차단
  • 미입력자(no-show) 처리 — 기본은 순위 누적 0점 처리, 관리자가 사후 보정 가능
  • 동점자 처리 — 핸디 적용 총핀 → 원점수 총핀 순으로 우선순위를 적용, 그래도 같으면 공동순위
  • 시즌 종료 — 관리자 수동 종료 + 확정 점수 스냅샷 기준으로 최종 순위를 저장(종료 후 값 변동 없음)
클럽 회원 상태 (상태 전이)
상태진입 조건다음 가능 상태
가입 신청(대기)승인제 클럽에 신청활성(관리자 승인) 또는 신청 취소(본인)
활성 회원가입 승인 완료차단(강퇴) 또는 탈퇴
차단운영자가 강퇴차단 해제 시 재가입 신청 가능 상태로 복귀
금지 전이 차단 상태에서 곧바로 활성 회원으로 전환되지 않습니다 — 반드시 차단 해제 후 재가입 신청 절차를 거쳐야 합니다.
리그 시즌 상태 (상태 전이)
전이전환 트리거
모집 예정 → 모집 중접수 시작 시각 도래(자동)
모집 중 → 모집 마감접수 마감 시각 도래(자동)
모집 마감 → 확정관리자 수동 전환
확정 → 진행 중시즌 시작 시각 도래(자동)
진행 중 → 완료마지막 회차 종료 시각 도래(자동)
공통 예외 위 어느 단계에서든 관리자의 취소 처리는 언제든 가능합니다.
업무 규칙 (서버 강제) — 8건
규칙조건서버 강제 동작
BR-3.1클럽장을 제외한 다른 활성 회원이 클럽에 남아있음클럽 해산 요청을 거부합니다(사전에 해산 버튼을 비활성화하고 다음 행동을 안내).
BR-3.2회원이 강퇴(차단)된 상태해당 클럽으로의 재가입 신청 자체를 차단하며, 운영자가 차단을 해제해야 다시 신청할 수 있습니다.
BR-3.3가입 승인이 필요한 클럽에 신청 후 승인 대기 중인 회원클럽 활동(리그 접수 등) 권한을 부여하지 않으며, 본인은 승인 전까지 신청을 직접 취소할 수 있습니다.
BR-3.4클럽이 클럽 대항 리그에 접수해당 클럽의 참가 팀을 자동으로 생성해 운영자의 팀 관리 화면에 즉시 반영합니다.
BR-3.5이미 참가 팀이 등록된 클럽이 같은 리그에 재접수 시도중복 접수를 차단합니다.
BR-3.6반복 중인 정기 모임 하나의 일시를 변경변경된 시간만큼 이후 예정된 모임 전체를 동일하게 자동 이동합니다.
BR-3.7공식 인증 클럽의 정기 모임 일정이 대회 · 시설 예약 일정과 겹침관리자 작업 목록에 조정이 필요한 항목을 자동으로 등록하고, 관리자가 해당 회차를 조정하면 자동으로 목록에서 제거합니다.
BR-3.8비로그인 사용자가 클럽 리더보드에 접근열람을 허용합니다(공개). 단 클럽 "기록" 탭은 회원에게만 공개합니다.
07

레인 · 락커 예약 요구사항

기능 요구사항
ID기능설명
FR-4.1레인 예약 · 예약 현황 캘린더시간대별 조회 · 예약, 관리자 월간 캘린더
FR-4.2락커 임대 · 연장 · 단기 상품앱 내 결제로 신청 확정, 단기(예: 3개월) 상품 지원
락커 신청 상태 (상태 전이)
상태전환 트리거
신청(결제 대기)신규 · 연장 신청 접수
결제 완료결제 확인, 관리자 배정 대기 목록에 노출
배정 완료관리자가 락커 번호 수동 배정
업무 규칙 (서버 강제) — 4건
규칙조건서버 강제 동작
BR-4.1특정 시간대에 대회로 인한 레인 전체 대관이 설정됨해당 시간대의 개별 레인 예약을 자동으로 차단합니다.
BR-4.2대회 등록 · 수정 시 설정한 참가 정원이 배정 레인의 실제 수용 인원을 초과저장 자체를 거부합니다.
BR-4.3락커 신규 · 연장 신청의 결제가 완료되지 않거나 취소됨해당 신청 기록 자체가 서버에 남지 않습니다.
BR-4.4단기 락커 신청이 확정됨신청일 기준으로 정해진 계약 기간 이후 만료일을 자동 계산하며, 별도 갱신 절차는 제공하지 않습니다.
08

볼(사용구) 등록 · 공인구 확인 요구사항 — 진승 연동점

기능 요구사항
ID기능설명
FR-5.1사전 신고 · 공인구 확인5개 필수 항목 신고, 진승 원장과 실시간 대조
FR-5.2관리자 사용구 관리대리 등록 · 수정 · 삭제, 등록 현황 파일 내려받기
사전 신고 필수 항목
항목필수 여부제약
브랜드필수
모델필수
무게필수11~16파운드 중 선택만 허용
시리얼필수공인구 확인 대조 대상
비고필수
업무 규칙 (서버 강제) — 8건
규칙조건서버 강제 동작
BR-5.1참가비 결제가 완료되지 않은 참가자사용구 등록 화면 진입 및 등록 자체를 차단합니다.
BR-5.2사용구 등록 마감 시각을 지남(참가자 기준)조회만 허용하고 신규 등록 · 수정 · 삭제는 차단합니다.
BR-5.3관리자가 대리로 사용구를 등록 · 수정 · 삭제마감 시각과 개수 상한 규칙이 적용되지 않습니다.
BR-5.4참가자의 등록된 사용구 개수가 대회별로 설정된 상한에 도달추가 등록 요청을 거부합니다.
BR-5.5등록하려는 볼의 무게 값이 정해진 범위(11~16파운드) 밖등록 요청을 거부합니다.
BR-5.6브랜드 · 모델 · 무게 · 시리얼 · 비고 다섯 항목 중 하나라도 비어 있음등록 요청을 거부합니다.
BR-5.7진승 공인구 확인 연동이 응답하지 않거나 오류등록 자체는 정상 접수하고 확인 여부만 "미확인"으로 저장하여 이후 자동 보정합니다.
BR-5.8시스템이 특정 시리얼을 "확인됨"으로 표시이는 참고 정보일 뿐이며, 규정 위반 여부의 최종 판정 권한은 항상 관리자의 현장 검수에 있습니다.
09

성적 · 등급 · 통계 요구사항

기능 요구사항
ID기능설명
FR-6.1성적 일괄 반영 · 명예의 전당CSV 업로드로 일괄 반영, 최고 기록 자동 등재
참고 단체전(CLUB · 프로암) 팀 우승 팀의 명예의 전당 자동 등재는 §05 대회 · 이벤트 접수(BR-2.42)에서 다룹니다.
업무 규칙 (서버 강제) — 3건

등급 자동 하향 금지(STORM 보호) 규칙은 §04 BR-1.5에서 다룹니다. 아래는 성적 · 통계 도메인 고유 규칙입니다.

규칙조건서버 강제 동작
BR-6.1대회 성적 파일이 업로드됨영향받는 회원의 등급 · 통계를 자동으로 재계산합니다.
BR-6.2등급 산정 기준일 기록실제 경기 데이터의 날짜를 기준으로 정확히 기록합니다(업로드가 지연되어도 실제 달성일 기준 유지).
BR-6.3회원이 퍼펙트 게임 등 최고 기록을 달성관리자 조작 없이 명예의 전당에 자동 등재합니다.
10

게시판 · 알림 · 소셜 요구사항

기능 요구사항
ID기능설명
FR-7.1게시판 · 알림 · 소셜공지 · FAQ · 문의 게시판, 알림 분류 · 수신 설정, 친구 · 성적 공유
참고 실시간 푸시 발송 기능은 순차적으로 도입 중이며, 현재는 앱 내 알림 화면을 기준으로 제공됩니다(§13 확정 대기 참조).
업무 규칙 (서버 강제) — 3건
규칙조건서버 강제 동작
BR-7.1회원이 알림 화면에서 특정 카테고리(이벤트 · 결제 · 시스템 등) 탭을 선택해당 카테고리에 속하는 알림만 필터링되어 표시됩니다.
BR-7.2매장 내 대기 순번 호출과 같이 놓치면 안 되는 알림항상 수신 상태로 고정되며 회원이 직접 끌 수 없습니다.
BR-7.3이벤트 · 클럽 · 공지 등 일반 알림회원이 종류별로 수신 여부를 개별적으로 켜고 끌 수 있습니다.
11

결제 요구사항

기능 요구사항
ID기능설명
FR-8.1결제 연동 · 관리자 결제 내역 조회토스페이먼츠(TossPayments) 연동, 통합 조회 · 정산 요약
업무 규칙 (서버 강제) — 3건
규칙조건서버 강제 동작
BR-8.1락커 · 사용구 등록 등 결제가 필요한 신청의 결제가 완료되지 않음해당 신청은 확정되지 않으며 서버에 남지 않습니다(전 영역 공통 원칙).
BR-8.2관리자가 기간별 정산 요약을 조회결제완료 · 환불완료 · 부분환불 상태의 거래만 집계에 포함하고, 대기 · 취소 · 실패 건은 제외합니다.
BR-8.3결제가 취소되거나 실패함관련 신청 · 등록 기록이 남지 않도록 처리합니다.
12

업무 규칙 총람

서버가 강제하는 업무 규칙은 총 81건입니다. 상세 규칙 전문은 각 도메인 섹션(§04~§11)의 표를 참조하며, 이 총람은 실제 서비스를 규칙 원문과 대조 검증할 때 어느 섹션을 봐야 할지 안내하는 색인입니다. §06에 반영된 개인 종합전 리그(PERSONAL_AGGREGATE) 설계 규칙안은 CTO 검토 대기 상태로 아직 서버가 강제하지 않아 이 총람 · 81건 집계에는 포함하지 않았습니다.

회원 · 인증 10건 대회 · 이벤트 접수 42건 클럽 · 리그 8건 레인 · 락커 4건 볼 등록 8건 성적 · 통계 3건 게시판 · 알림 3건 결제 3건
도메인규칙 수대표 규칙상세
회원 · 인증10건STORM 등급은 관리자 수동 조정으로만 하향(BR-1.5)§04
대회 · 이벤트 접수42건성적은 관리자 확정 전까지 순위 미반영(BR-2.8, 리그·BMT); 단체전 팀 확정 게이트(BR-2.39)§05
클럽 · 리그8건활성 회원이 남아있으면 클럽 해산 불가(BR-3.1)§06
레인 · 락커4건정원이 레인 수용 인원 초과 시 저장 차단(BR-4.2)§07
볼 등록 · 공인구8건"확인됨"의 최종 판정 권한은 관리자에게 있음(BR-5.8)§08
성적 · 통계3건성적 반영 후 등급 · 통계 자동 재계산(BR-6.1)§09
게시판 · 알림3건대기 호출 알림은 항상 수신 고정(BR-7.2)§10
결제3건결제 미완료 신청은 서버에 남지 않음(BR-8.1)§11
13

확정 대기 항목

아래 항목은 현시점에서 확정되지 않았으며, 후속 검토를 통해 확정합니다. 본 문서는 임의의 값을 확정하지 않습니다.

서비스 수준(SLA) · 일정
가동률 · 응답시간 등 서비스 수준 목표와 각 요구사항의 세부 구축 일정은 본 문서에서 다루지 않으며, 별도 협의를 통해 확정합니다.
실시간 푸시 알림 도입 일정
알림 종류별 실시간 푸시 발송은 순차 도입 중이며(일부 항목은 준비 중), 전체 도입 일정은 별도 협의로 확정합니다.
단체전 팀 로스터 중도 교체 전용 절차
현재는 로스터 인원 교체 시 신규 등록으로 최소 대응(핸디캡 재산정, 기존 기록 보존)하고 있으며, 전용 교체 관리 화면 · 절차는 후속 검토를 통해 확정합니다.
개인 종합전 리그(PERSONAL_AGGREGATE) 설계 확정
§06에 반영한 개인 종합전 리그 설계안은 CTO 검토 대기 상태이며, 검토 · 확정 후 개발 · 배포됩니다. 참가자끼리 1:1로 승부를 겨루는 "개인 대결전(PERSONAL_HEAD_TO_HEAD)"은 이번 설계 범위(개인 종합전)에 포함되지 않는 후속 단계이며, 아직 별도 설계 문서가 없어 확정 대기 상태입니다.
본 문서는 초안(v0.6)이며 검수 대기 상태입니다. 내용에 대한 확인 · 수정 요청은 상단의 수정 요청을, 검수 완료 시 검수 승인을 이용해 주세요.