RMS Specs
Contents
- 1 RMS - Restaurant Management System
- 2 Future Plans
- 3 Technologies Used
- 4 Release Notes
- 5 Module Structure
RMS - Restaurant Management System
Definition
RMS is an online integrated application for specifically Restaurant / takeaway needs. it's resizeable and modular. Can be hired or purchased and host locally. All modules are accessible through API's
Modules
Base Module
Base module is N-Tier application with code-first approach.
This module contains
Licence
Licence is a two way encrypted information that tells us
- Who is the user
- When is the expiration of licence
- How many restaurants covered
- How many users covered
- Which modules covered
in Licence database we keep these information
- Contact details
- Restaurant count purchased
- Start Date
- End Date
- Payment Details
- Sales information
- Modules collection
- Price
- Who sold it
- Commission amount
- Commission payment details
Individual Purchase Licence
When this software is purchased customer should have an individual purchase licence. Licence should contain all licence data above.
It must also contain hosting information / IP address and it should specify this software is purchased.
Rental Licence
If users rent our hosted software Rental licence will be in placed. This one way encrypted licence number could be a QR code so that users can associate their apps with this licence easily.
Demo Licence
Same as above but
- end date is shorter
- only 1 restaurant allowed
- Price is 0
- No commissions allowed
Users & Rights
In RMS, there are different types and different levels of users
System Owners
Only few people can be in this type. System Owners has full access to every parts of application
System Admins
Like system owners but accessing money related screens are restricted.
Sales Reps
Can only access to sales, sales history, own customers and commissions screens
Account Owners
- Can access only their own account and restaurants bound to that account.
- Can manage everything underneath.
Restaurant Managers
Can access only the restaurant(s) assigned to them. Cannot manage other restaurants under same account unless they have access rights
Staff
Can access simple jobs under restaurants which assigned to them
Messaging
Internal Messaging System
System generated messages and follow ups goes here
Emails
All emails going out of the system will be managed by this module.
Booking Management
Settings
- ban conditions
Tables
- Capacity
- Table Number
- Shape
- Can Merge
Times
- Opening Times
- Booking periods
- Gap between periods
- Related to Nr of Person (2 person = 1,5 hour, 4 person = 2 hours, 10 person 3 hours)
- Last Booking Time
Booking
- Max number of person to book automatically
- Max number of bookings for each period
Restaurant Layout
Table layout of the restaurant must be set before it starts using it. A geometrical drawing and table numbers must be in place.
Attach / Detach tables
Get Booking
- Bookings can be made by phone or by internet
- Obey rules but if access rights are good enough rules can be overwritten
Booking Data
- Date
- Time
- Name
- Phone
- Nr of Person
- Notes (From Customer)
- Remarks (From Restaurant)
- Booking Status (booked/ confirmed / cancelled / no show / seated / close to end of time / bill requested /paid / completed)
- Table Nr (can be manual or automatic)
- Origin of booking
- Booking taken by
- Transactions (updates / deletes etc)
Customer Profile
- Contact Information
- Booking history
- Ban reason
- No Show history
Table Management
- Live table changes can be made during service times by drag drop
- warnings during drag drop
- When tables are relocated bookings should be moved with them
Reports
- List bookings group by time periods
| 17.00 | 17:15 | 17:30 |
|---|---|---|
| 2 | 3 | 2 |
| 4 | 1 | 3 |
| 1 | 2 | |
| 2 | 4 | |
| 9 | 4 | 11 |
- between 2 dates
- Total bookings
- Cancellations
- No Shows
- Group bookings by person count
Staff Management
Staff Definitions
- Personal details
- Contact information of staff will be entered.
- Photo can be attached
- Remarks / Working habits
Shifts
- Weekly / Daily shift planning
- Implementation
- Holiday
- Sickness
- Timesheets
- Payroll
Invoice Management
Invoice Entry
- Company Details
- Payment Type
- Date
- Amount
- VAT
- Image
- Payment Information (Paid, Not Paid)
VAT Report
By date / Payment Type / Company / Amount / VAT /
Income Entry
- Daily breakdown of income
- Profit Loss report
Cash Flow
- Upcoming payments
- Long term cash planning
Purchase Assistant
- Critical stock levels
- Automated purchases
- Purchase history
- Recall a historical purchase, change and re-order
Accounting Assistant
- Organize VAT sheets
- Periodic profit loss
- Expense entry - (Apart from Invoices)
- Periodic expenses
- Profit projections
Menu Assistant
- Menu preparation
- API
- Export to pdf
- Export CSV
- Valid dates
- Promotion and offers
- Party Menus
- Recipes
- Wine Lists
Future Plans
Supplier API
- Connect to suppliers and place orders within the system.
- Invoice - Payments
Till Integration
- Statistics
- Recipe - Foods sold comparison
- Drinks stock - sold comparison
- Import income breakdown
Bank Integration
Accountant Integration
Mobile apps
Covering most of the subjects above by communicating with server through API
Technologies Used
| Source Control | Bitbucket |
|---|---|
| Error Handling | ? |
| UpTime Monitor | ? |
| Development Board | Trello |
| Codes | C#, MVC 5, EF 6, Angular 2, HTML5, CSS3 |
| Database | MS SQL -> it can be MySql or something else in future |
| CI / CD | OnCheckIn |
| Documents | Wiki : S3k.me/wiki |
| API Doc | swagger |
Release Notes
| Version # | Date | Released By | Remarks |
|---|---|---|---|
| 1.0.0.0 | Not Yet | Ali Iybar | First Release |
Module Structure
Module Definition Data
- Name
- Short Name
- Key
- Rights
- Default Rights for Groups
How it works
it should work on all base moduels natively. But if there is a relation with other modules it should override them or extend them when necessary.
All modules (apart from base module) should work together with others and should work alone with the same efficiency.