Extensible framework that provides complete infrastructure for building kitchen management solutions in Odoo POS. This technical module centralizes all shared models, logic, and utilities needed for kitchen systems.
This is a technical/infrastructure module. It provides no user interface or functionality on its own - it's a foundation for building kitchen management solutions.
Installation:
- Automatically: Installed as dependency when you install any kitchen management module that requires it
- Manually: Can be installed directly if you're developing a custom kitchen module
- Standalone: Provides the foundation - other modules add the functionality
Data Models
Complete kitchen order lifecycle management:
- pos.kitchen.display - Kitchen display configuration
- pos.kitchen.order - Kitchen order tracking
- pos.kitchen.line - Order line items with attributes
- pos.kitchen.state - Preparation states and workflow
- pos.kitchen.stage - Customizable workflow stages
- pos.category - Extended with kitchen routing
- pos.config - POS configuration extensions
- pos.printer - Printer configuration
JavaScript Models
Frontend data structures for real-time kitchen management:
- Category - Category model with kitchen routing
- PosKitchenState - Real-time state updates
- PosKitchenStage - Workflow stage management
- PosPreset - Time preset patches
- DataServiceOptions - Data loading configuration
Shared Fields
Centralized field definitions:
- auto_dispatch_to_kitchen - Category-based routing control
- skip_kitchen_printing - Manual print control
- Kitchen-specific order attributes
- Preparation time tracking
Custom Development
For Developers: Build your own kitchen management modules on top of this foundation:
- Kitchen display systems
- Printer routing solutions
- Kitchen analytics dashboards
- Custom workflow engines
- Integration with third-party kitchen systems
- Specialized display layouts
- Advanced reporting tools
- Mobile kitchen apps
- Voice-controlled kitchen systems
Extending Models
Add this module to your dependencies in __manifest__.py:
{
'name': 'My Custom Kitchen Module',
'depends': ['pos_kitchen_base'],
# ...
}
Inherit from base models in your Python code:
from odoo import models, fields
class MyKitchenExtension(models.Model):
_inherit = 'pos.kitchen.display'
my_custom_field = fields.Char("Custom Field")
def my_custom_method(self):
# Your custom logic here
pass
Using JavaScript Models
Import and use base JavaScript models:
import { Category } from "@pos_kitchen_base/app/models/category";
import { patch } from "@web/core/utils/patch";
patch(Category.prototype, {
get myCustomProperty() {
return this.name.toUpperCase();
}
});
- No Code Duplication: All shared logic in one place. Changes benefit all dependent modules automatically.
- Consistent Data Model: All kitchen modules work with the same data structures, ensuring compatibility.
- Extensible: Add new fields, methods, or models without modifying the base - just inherit and extend.
- Maintainable: Update core functionality once, and all dependent modules get the improvements.
- Scalable: Build an ecosystem of kitchen management solutions on a solid foundation.
Support & Documentation
For technical documentation, examples, and support:
Contact Developer
Please log in to comment on this module