TIP: You can type at any time to perform a new search.
POS Self Order
pos_self_order · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 1.0
- Category
- Sales/Point Of Sale
- Folder size
- 4.45 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- None
- Last tracking update
- 2026-08-21 16:14:25
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier ALT, Raphael Collet, Odoo Translation Bot, David Monjoie, Aaron Bohy, qsm-odoo, Pierre Masereel, Laurent Smet, Alexandre Kühn, Julien Castiaux, Andrea Grazioso (agr-odoo), Sébastien Theys, Julien Mougenot, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, William Braeckman, Romain Estievenart, Arnaud Baes, roen-odoo, Mathieu Walravens, rhe-odoo, Habib (ayh), Loan (LSE), David Monnom (moda), tsm-odoo, alsh-odoo, Pedram (PEBR), Adrien Widart (awt), Dylan Kiss (dyki), Sarah Bellefroid, Pedram (pebr), Louis Travaux, Adrien Guilliams (adgu), shag-odoo, sesn-odoo, Walid (wasa), Maryam Kia, Junqi Wu, Parth Solanki[PASO], manv-afk, Max Whale, Joseph (jcb), parp-odoo, Loukas Wets (lowe), yaso, Xavier Luyckx (xlu), gteboul, Pierre Pulinckx (PIPU), paan-odoo, Jitendra Prajapat, David Monnom, Nesma Harraz, Arthur Nanson, Pierre Pulinckx, Anton Romanova (roan), Bastien PIERRE, Corentin Heinix (cohe), lse-odoo, Krzysztof Magusiak (krma), Omar (OSAH), Ajit Singh, Shubham Agarwal [SHAG], vpan-odoo, dhruv, vlst-odoo, Radu Macocian (admac), Guillaume V, Meet Jivani [MEJI], Hadi El Yakhni, bhra-odoo, sjai-odoo, Ali Hassan (alhy), Traina Ludo, rpka-odoo, Stephane Vanmeerhaeghe (stva), Youssef (yoma), Léopold Cantraine, Eve Lin (evlin), abhk-odoo, Nikita Desai, mson-odoo, ELCO, adgu-odoo, jipr-odoo, Abhishek Khant
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- pos_online_payment_self_order, pos_self_order_adyen, pos_self_order_pine_labs, pos_self_order_qfpay, pos_self_order_razorpay, pos_self_order_sale, pos_self_order_stripe, pos_self_order_viva_com
- Description
Code Analysis ⓘ
Views touched (14)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
custom_link_tree |
custom.link.list | pos_self_order.custom_link | list | New |
pos_self_order.index |
POS Self Order | ir.ui.view | qweb | New |
pos_self_order_menu_item |
pos.config.kanban.view.inherit.self_order | pos.config | kanban | Inherits point_of_sale.view_pos_config_kanban |
pos_self_order_product_pos_category_form_view |
pos.self.pos.category.form.view | pos.category | form | Inherits point_of_sale.product_pos_category_form_view |
pos_self_order_search_view |
pos.self.order.search.view | pos.config | search | Inherits point_of_sale.view_pos_config_search |
pos_self_order_table_form_view |
Restaurant Table | restaurant.table | form | Inherits pos_restaurant.view_restaurant_table_form |
pos_self_view_pos_config_tree |
pos.self.pos.config.list.view | pos.config | list | Inherits point_of_sale.view_pos_config_tree |
pos_self_view_pos_session_form |
pos.self.session.form.view | pos.session | form | Inherits point_of_sale.view_pos_session_form |
product_template_form_view |
product.template.form.inherit | product.template | form | Inherits product.product_template_form_view |
product_template_search_view_pos |
product.template.search.pos.form | product.template | form | Inherits point_of_sale.product_template_search_view_pos |
product_template_tree_view |
product.template.product.list.inherit | product.template | list | Inherits point_of_sale.product_template_tree_view |
qr_codes_page |
qr_codes_page | ir.ui.view | qweb | New |
res_config_settings_view_form_menu |
res.config.settings.view.form.inherit.pos_self_order.view | res.config.settings | form | Inherits point_of_sale.res_config_settings_view_form |
view_pos_preset_form |
pos.preset.form | pos.preset | form | Inherits point_of_sale.view_pos_preset_form |
HTTP endpoints (14)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/pos-self/data/<config_id> |
PosSelfKiosk.get_self_ordering_data |
public | jsonrpc | ALL | website |
/pos-self/relations/<config_id> |
PosSelfKiosk.get_self_ordering_relations |
public | jsonrpc | ALL | |
/pos-self/<config_id>, /pos-self/<config_id>/<path:subpath> |
PosSelfKiosk.start_self_ordering |
public | http | ALL | sudo website |
/pos-self-order/change-printer-status |
PosSelfOrderController.change_printer_status |
public | jsonrpc | ALL | website |
/pos-self-order/get-user-data |
PosSelfOrderController.get_orders_by_access_token |
public | jsonrpc | ALL | website |
/pos-self-order/get-slots |
PosSelfOrderController.get_slots |
public | jsonrpc | ALL | website |
/pos_self_order/kiosk/increment_nb_print/ |
PosSelfOrderController.pos_kiosk_increment_nb_print |
public | jsonrpc | ALL | website |
/pos-self/ping |
PosSelfOrderController.pos_ping |
public | jsonrpc | ALL | |
/kiosk/payment/<int:pos_config_id>/<device_type> |
PosSelfOrderController.pos_self_order_kiosk_payment |
public | jsonrpc | ALL | website |
/pos-self-order/process-order/<device_type>/ |
PosSelfOrderController.process_order |
public | jsonrpc | ALL | sudo website |
/pos-self-order/remove-order |
PosSelfOrderController.remove_order |
public | jsonrpc | ALL | website |
/pos-self-order/send_self_order_receipt |
PosSelfOrderController.send_self_order_receipt |
public | jsonrpc | ALL | website |
/pos-self-order/validate-partner |
PosSelfOrderController.validate_partner |
public | jsonrpc | ALL | sudo website |
| (inherited route override) | WebManifest.scoped_app_icon_png |
inherited | http | ALL |
Models touched (19)
New fields (0)
No new fields.
Public methods (1)-
get_nearest_lang(self, lang_code: str) -> str@api.model
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
pos_config_idsMany2many → pos.configstring='Linked PoS Configurations' args: 'pos.config'
No public methods.
New fields (13)
-
has_paperBooleandefault=True args: 'Has paper' -
self_ordering_available_language_idsMany2many → res.langdefault=_self_order_kiosk_default_languageshelp='Languages available for the kiosk mode'string='Available Languages' args: 'res.lang' -
self_ordering_default_language_idMany2one → res.langdefault=<expr>help='Default language for the kiosk mode'string='Default Language' args: 'res.lang' -
self_ordering_default_user_idMany2one → res.usersdefault=_self_order_default_userhelp='Access rights of this user will be used when visiting self order website when no session is open.'string='Default User' args: 'res.users' -
self_ordering_image_background_idsMany2many → ir.attachmentbypass_search_access=Truehelp='Image to be displayed in the background'relation='pos_self_order_background_rels'string='Set background image' args: 'ir.attachment' -
self_ordering_image_brandImagehelp='Image to display on the self order screen'max_height=250max_width=1200string='Self Order Kiosk Image Brand' -
self_ordering_image_brand_nameCharhelp='Name of the image to display on the self order screen'string='Self Order Kiosk Image Brand Name' -
self_ordering_image_home_idsMany2many → ir.attachmentbypass_search_access=Truehelp='Image to display on the self order screen'string='Add images' args: 'ir.attachment' -
self_ordering_modeSelectiondefault='nothing'help='Choose the self ordering mode'required=Truestring='Self Ordering Mode' args: [('nothing', 'Disable'), ('consultation', 'QR menu'), ('mobile', 'QR menu + Ordering'), ('kiosk', 'Kiosk')] -
self_ordering_pay_afterSelectiondefault='meal'help='Choose when the customer will pay'required=Trueselection=<expr>string='Pay After:' -
self_ordering_service_modeSelectiondefault='counter'help='Choose the kiosk mode'required=Truestring='Self Ordering Service Mode' args: [('counter', 'Pickup zone'), ('table', 'Table')] -
self_ordering_urlCharcompute='_compute_self_ordering_url' -
statusSelectioncompute='_compute_status'store=Falsestring='Status' args: [('inactive', 'Inactive'), ('active', 'Active')]
-
action_close_kiosk_session(self) -
action_open_wizard(self) -
close_ui(self) -
create(self, vals_list)@api.model_create_multi -
get_kiosk_url(self) -
get_pos_qr_order_data(self) -
has_valid_self_payment_method(self)Checks if the POS config has a valid payment method (terminal or online). -
load_data_params(self) -
load_onboarding_kiosk_scenario(self)@api.model -
load_self_data(self) -
preview_self_order_app(self) -
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (3)
-
self_ordering_table_idMany2one → restaurant.tablereadonly=Truestring='Table reference' args: 'restaurant.table' -
sourceSelectionselection_add=[('mobile', 'Self-Order Mobile'), ('kiosk', 'Self-Order Kiosk')] -
table_stand_numberCharstring='Table Stand Number'
-
action_pos_order_cancel(self) -
action_send_self_order_receipt(self, email, mail_template_id, ticket_image, basic_image) -
recompute_prices(self) -
remove_from_ui(self, server_ids)@api.model -
sync_from_ui(self, orders)@api.model -
write(self, vals)
New fields (1)
-
combo_idMany2one → product.combostring='Combo reference' args: 'product.combo'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (3)
-
available_in_selfBooleandefault=Falsestring='Available in self' -
mail_template_idMany2one → mail.templatecomodel_name='mail.template'domain="[('model', '=', 'pos.order')]"string='Email Confirmation' -
service_atSelectiondefault='counter'required=Truestring='Service at' args: [('counter', 'Pickup zone'), ('table', 'Table'), ('delivery', 'Delivery')]
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (6)
-
link_htmlHtmlcompute='_compute_link_html'readonly=Truestore=True args: 'Preview' -
nameCharrequired=Truestring='Label'translate=True -
pos_config_idsMany2many → pos.configdomain="[('self_ordering_mode', '!=', 'nothing')]"help="Select for which points of sale you want to display this link. Leave empty to display it for all points of sale. You have to select among the points of sale that have the 'QR Code Menu' feature enabled."string='Points of Sale' args: 'pos.config' -
sequenceIntegerdefault=1 args: 'Sequence' -
styleSelectiondefault='primary'required=Truestring='Style' args: [('primary', 'Primary'), ('secondary', 'Secondary'), ('success', 'Success'), ('warning', 'Warning'), ('danger', 'Danger'), ('info', 'Info'), ('light', 'Light'), ('dark', 'Dark')] -
urlCharrequired=Truestring='URL'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
self_order_availableBooleandefault=Truehelp='If this product is available in the Self Order screens'string='Available in Self Order' -
self_order_visibleBooleancompute='_compute_self_order_visible'
-
write(self, vals)
New fields (10)
-
pos_self_ordering_available_language_idsMany2manyreadonly=Falserelated='pos_config_id.self_ordering_available_language_ids' -
pos_self_ordering_default_language_idMany2onereadonly=Falserelated='pos_config_id.self_ordering_default_language_id' -
pos_self_ordering_default_user_idMany2onereadonly=Falserelated='pos_config_id.self_ordering_default_user_id' -
pos_self_ordering_image_background_idsMany2manyreadonly=Falserelated='pos_config_id.self_ordering_image_background_ids' -
pos_self_ordering_image_brandImagereadonly=Falserelated='pos_config_id.self_ordering_image_brand' -
pos_self_ordering_image_brand_nameCharreadonly=Falserelated='pos_config_id.self_ordering_image_brand_name' -
pos_self_ordering_image_home_idsMany2manyreadonly=Falserelated='pos_config_id.self_ordering_image_home_ids' -
pos_self_ordering_modeSelectionreadonly=Falserelated='pos_config_id.self_ordering_mode'required=True -
pos_self_ordering_pay_afterSelectionreadonly=Falserelated='pos_config_id.self_ordering_pay_after'required=True -
pos_self_ordering_service_modeSelectionreadonly=Falserelated='pos_config_id.self_ordering_service_mode'required=True
-
custom_link_action(self) -
generate_qr_codes_page(self)Generate the data needed to print the QR codes page -
generate_qr_codes_zip(self) -
get_pos_qr_stands(self)Redirect to the get the free stands with the data of QR codes for the current POS config -
pos_close_ui(self) -
preview_self_order_app(self) -
update_access_tokens(self)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
identifierCharcopy=Falsedefault=<expr>required=True args: 'Security Token'
No public methods.
Loading…
Loading…