All systems / SYS-018
BookingPro
ระบบจองคิว
system.yml
137 lines# Skeleton created by `sysforge import-excel` (SPEC §13) for SYS-018.
# Core modules: • โมดูลการจอง/นัดหมาย • โมดูลจัดการคิว • โมดูลข้อมูลหลัก (Master Data)
# TODO(sysforge): replace the default fields below with the real fields of each entity.
# Every field shown in a form needs a default or a placeholder (R-UI-1). Then run: sysforge validate
system:
code: SYS-018
name: BookingPro
title: { th: "ระบบจองคิว", en: "Booking pro" }
description: { th: "ระบบจองคิว" }
domain: Enterprise & Business
package: com.sysforge.bookingpro
version: 1.0.0
locale: { default: th }
timezone: Asia/Bangkok
database:
targets: [sqlserver, oracle, mysql, postgresql]
default: postgresql
tablePrefix: bo_
theme: {}
roles:
- code: ADMIN
title: { th: ผู้ดูแลระบบ, en: Administrator }
permissions: ["*"]
- code: STAFF
title: { th: เจ้าหน้าที่, en: Staff }
permissions:
- "Resource:create"
- "Resource:read"
- "Resource:update"
- "Resource:export"
- "TimeSlot:create"
- "TimeSlot:read"
- "TimeSlot:update"
- "TimeSlot:export"
- "Booking:create"
- "Booking:read"
- "Booking:update"
- "Booking:export"
- "BookingStatus:create"
- "BookingStatus:read"
- "BookingStatus:update"
- "BookingStatus:export"
- "QueueTicket:create"
- "QueueTicket:read"
- "QueueTicket:update"
- "QueueTicket:export"
- "ServicePoint:create"
- "ServicePoint:read"
- "ServicePoint:update"
- "ServicePoint:export"
- "QueueLog:create"
- "QueueLog:read"
- "QueueLog:update"
- "QueueLog:export"
entities:
- name: Resource
title: { th: "Resource", en: "Resource" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น RE-0001", en: "e.g. RE-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Resource", en: "e.g. Resource name" } }
- { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
- { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
- { name: startDate, type: date, required: true, default: "@today", searchable: true, label: { th: วันที่เริ่ม, en: Start date } }
- { name: endDate, type: date, default: "@today", label: { th: วันที่สิ้นสุด, en: End date } }
# TODO(sysforge): ระบุ field เฉพาะของ Resource
- name: TimeSlot
title: { th: "Time slot", en: "Time slot" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น TS-0001", en: "e.g. TS-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น TimeSlot", en: "e.g. Time slot name" } }
- { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
- { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
# TODO(sysforge): ระบุ field เฉพาะของ TimeSlot
- name: Booking
title: { th: "Booking", en: "Booking" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น BO-0001", en: "e.g. BO-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Booking", en: "e.g. Booking name" } }
- { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
- { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
# TODO(sysforge): ระบุ field เฉพาะของ Booking
- name: BookingStatus
title: { th: "Booking status", en: "Booking status" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น BS-0001", en: "e.g. BS-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น BookingStatus", en: "e.g. Booking status name" } }
- { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
- { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
# TODO(sysforge): ระบุ field เฉพาะของ BookingStatus
- name: QueueTicket
title: { th: "Queue ticket", en: "Queue ticket" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น QT-0001", en: "e.g. QT-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น QueueTicket", en: "e.g. Queue ticket name" } }
- { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
- { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
# TODO(sysforge): ระบุ field เฉพาะของ QueueTicket
- name: ServicePoint
title: { th: "Service point", en: "Service point" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น SP-0001", en: "e.g. SP-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น ServicePoint", en: "e.g. Service point name" } }
- { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
- { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
# TODO(sysforge): ระบุ field เฉพาะของ ServicePoint
- name: QueueLog
title: { th: "Queue log", en: "Queue log" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น QL-0001", en: "e.g. QL-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น QueueLog", en: "e.g. Queue log name" } }
- { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
- { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
# TODO(sysforge): ระบุ field เฉพาะของ QueueLog
screens:
- { id: home, type: kpi-dashboard, title: { th: ภาพรวม, en: Overview } }
- { id: resources, type: crud, entity: Resource, title: { th: "Resource", en: "Resource" }, defaultSort: { field: code, dir: asc } }
- { id: time-slots, type: crud, entity: TimeSlot, title: { th: "Time slot", en: "Time slot" }, defaultSort: { field: code, dir: asc } }
- { id: bookings, type: crud, entity: Booking, title: { th: "Booking", en: "Booking" }, defaultSort: { field: code, dir: asc } }
- { id: booking-statuses, type: crud, entity: BookingStatus, title: { th: "Booking status", en: "Booking status" }, defaultSort: { field: code, dir: asc } }
- { id: queue-tickets, type: crud, entity: QueueTicket, title: { th: "Queue ticket", en: "Queue ticket" }, defaultSort: { field: code, dir: asc } }
- { id: service-points, type: crud, entity: ServicePoint, title: { th: "Service point", en: "Service point" }, defaultSort: { field: code, dir: asc } }
- { id: queue-logs, type: crud, entity: QueueLog, title: { th: "Queue log", en: "Queue log" }, defaultSort: { field: code, dir: asc } }
- { id: resources-calendar, type: calendar, entity: Resource, title: { th: "ปฏิทินResource", en: "Resource calendar" }, options: { start: startDate, end: endDate, title: name } }
Details
- Code
- SYS-018
- Domain
- Enterprise & Business
- Entities
- 7
- Source
- Excel import
- Status
- Has TODO — generates fine, replace the default fields before real use
- Description
- ระบบจองคิว
Theme
Registered in salt "sysforge-v1": regenerating keeps this look.