> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.ruoomsoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 아키텍처

> 예약 플러그인의 아키텍처 개요

## 예약 플러그인 아키텍처 개요

<img src="https://mintcdn.com/ruoom/S58yk56t2CMCWBwZ/images/booking_plugin_architecture.svg?fit=max&auto=format&n=S58yk56t2CMCWBwZ&q=85&s=3b703d1d8e496b09ec7973ca73cde632" alt="예약 플러그인 아키텍처 다이어그램" data-path="images/booking_plugin_architecture.svg" />

이 다이어그램은 예약 플러그인의 아키텍처를 보여주며, ServiceType, Service, 및 CustomerCheckin 모델 간의 상호작용을 강조합니다.

## 예약 플러그인 URL

* **서비스**: `/services/` - 일정 페이지에서 서비스를 관리하기 위한 엔드포인트.
* **캘린더**: `/calendar/` - 고객용 예약 캘린더를 보여줍니다.
* **예약 관리**: `/ajax/manage_booking/` - 예약 관리를 위한 AJAX 엔드포인트.
* **클래스 일정**: `/classes-schedule/` - 각 고객의 서비스 일정을 표시합니다.
* **히스토리**: `/history/` - 각 고객의 예약 기록을 보여줍니다.
* **클래스 컨텍스트 가져오기**: `/ajax/get_class_context/` - 클래스 컨텍스트를 가져오기 위한 AJAX 엔드포인트.
* **클래스 정보 가져오기**: `/ajax/get_class_info/` - 클래스 정보를 가져오기 위한 AJAX 엔드포인트.
* **레이아웃 확인**: `/ajax/check_layout/` - 주어진 서비스에 대한 레이아웃을 확인하기 위한 AJAX 엔드포인트.
* **예약 카트 추가**: `/ajax/add_booking_cart/` - 예약 카트에 추가하기 위한 AJAX 엔드포인트.

## 예약 플러그인 데이터베이스 모델

* **ServiceType**: 서비스의 기본이 되는 이름, 가격 및 설명 필드를 가진 서비스 유형을 정의합니다.
* **Service**: 가상 옵션 및 참가자 관리 방법을 포함한 서비스를 나타냅니다.
* **CustomerCheckin**: 서비스에 대한 고객 등록 시 생성되며, 등록 및 체크인을 관리하는 데 도움이 됩니다.
