All systems / SYS-033
FranchiseHub
ระบบแฟรนไชส์
system.yml
176 lines# Skeleton created by `sysforge import-excel` (SPEC §13) for SYS-033.
# Core modules: • โมดูลคลังสินค้า/สต็อก • โมดูลลูกค้าสัมพันธ์ (CRM) • โมดูลจัดการเอกสาร/เนื้อหา • โมดูลวิเคราะห์ข้อมูล/Dashboard
# 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-033
name: FranchiseHub
title: { th: "ระบบแฟรนไชส์", en: "Franchise hub" }
description: { th: "ระบบแฟรนไชส์" }
domain: Enterprise & Business
package: com.sysforge.franchisehub
version: 1.0.0
locale: { default: th }
timezone: Asia/Bangkok
database:
targets: [sqlserver, oracle, mysql, postgresql]
default: postgresql
tablePrefix: fr_
theme: {}
roles:
- code: ADMIN
title: { th: ผู้ดูแลระบบ, en: Administrator }
permissions: ["*"]
- code: STAFF
title: { th: เจ้าหน้าที่, en: Staff }
permissions:
- "Item:create"
- "Item:read"
- "Item:update"
- "Item:export"
- "Warehouse:create"
- "Warehouse:read"
- "Warehouse:update"
- "Warehouse:export"
- "StockTxn:create"
- "StockTxn:read"
- "StockTxn:update"
- "StockTxn:export"
- "Lot:create"
- "Lot:read"
- "Lot:update"
- "Lot:export"
- "StockBalance:create"
- "StockBalance:read"
- "StockBalance:update"
- "StockBalance:export"
- "Customer:create"
- "Customer:read"
- "Customer:update"
- "Customer:export"
- "Contact:create"
- "Contact:read"
- "Contact:update"
- "Contact:export"
- "Interaction:create"
- "Interaction:read"
- "Interaction:update"
- "Interaction:export"
- "Opportunity:create"
- "Opportunity:read"
- "Opportunity:update"
- "Opportunity:export"
- "Campaign:create"
- "Campaign:read"
- "Campaign:update"
- "Campaign:export"
entities:
- name: Item
title: { th: "Item", en: "Item" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น IT-0001", en: "e.g. IT-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Item", en: "e.g. Item 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 เฉพาะของ Item
- name: Warehouse
title: { th: "Warehouse", en: "Warehouse" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น WA-0001", en: "e.g. WA-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Warehouse", en: "e.g. Warehouse 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 เฉพาะของ Warehouse
- name: StockTxn
title: { th: "Stock txn", en: "Stock txn" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น ST-0001", en: "e.g. ST-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น StockTxn", en: "e.g. Stock txn 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 เฉพาะของ StockTxn
- name: Lot
title: { th: "Lot", en: "Lot" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น LO-0001", en: "e.g. LO-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Lot", en: "e.g. Lot 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 เฉพาะของ Lot
- name: StockBalance
title: { th: "Stock balance", en: "Stock balance" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น SB-0001", en: "e.g. SB-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น StockBalance", en: "e.g. Stock balance 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 เฉพาะของ StockBalance
- name: Customer
title: { th: "Customer", en: "Customer" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น CU-0001", en: "e.g. CU-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Customer", en: "e.g. Customer 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 เฉพาะของ Customer
- name: Contact
title: { th: "Contact", en: "Contact" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น CO-0001", en: "e.g. CO-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Contact", en: "e.g. Contact 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 เฉพาะของ Contact
- name: Interaction
title: { th: "Interaction", en: "Interaction" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น IN-0001", en: "e.g. IN-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Interaction", en: "e.g. Interaction 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 เฉพาะของ Interaction
- name: Opportunity
title: { th: "Opportunity", en: "Opportunity" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น OP-0001", en: "e.g. OP-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Opportunity", en: "e.g. Opportunity 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 เฉพาะของ Opportunity
- name: Campaign
title: { th: "Campaign", en: "Campaign" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น CA-0001", en: "e.g. CA-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Campaign", en: "e.g. Campaign 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 เฉพาะของ Campaign
screens:
- { id: home, type: kpi-dashboard, title: { th: ภาพรวม, en: Overview } }
- { id: items, type: crud, entity: Item, title: { th: "Item", en: "Item" }, defaultSort: { field: code, dir: asc } }
- { id: warehouses, type: crud, entity: Warehouse, title: { th: "Warehouse", en: "Warehouse" }, defaultSort: { field: code, dir: asc } }
- { id: stock-txns, type: crud, entity: StockTxn, title: { th: "Stock txn", en: "Stock txn" }, defaultSort: { field: code, dir: asc } }
- { id: lots, type: crud, entity: Lot, title: { th: "Lot", en: "Lot" }, defaultSort: { field: code, dir: asc } }
- { id: stock-balances, type: crud, entity: StockBalance, title: { th: "Stock balance", en: "Stock balance" }, defaultSort: { field: code, dir: asc } }
- { id: customers, type: crud, entity: Customer, title: { th: "Customer", en: "Customer" }, defaultSort: { field: code, dir: asc } }
- { id: contacts, type: crud, entity: Contact, title: { th: "Contact", en: "Contact" }, defaultSort: { field: code, dir: asc } }
- { id: interactions, type: crud, entity: Interaction, title: { th: "Interaction", en: "Interaction" }, defaultSort: { field: code, dir: asc } }
- { id: opportunities, type: crud, entity: Opportunity, title: { th: "Opportunity", en: "Opportunity" }, defaultSort: { field: code, dir: asc } }
- { id: campaigns, type: crud, entity: Campaign, title: { th: "Campaign", en: "Campaign" }, defaultSort: { field: code, dir: asc } }
Details
- Code
- SYS-033
- Domain
- Enterprise & Business
- Entities
- 10
- 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.