| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
loyalty_card_view_form_inherit_pos_loyalty |
loyalty.card.view.form.inherit.pos.loyalty | loyalty.card | xpath | Inherits loyalty.loyalty_card_view_form |
loyalty_mail_view_tree_inherit_pos_loyalty |
loyalty.mail.view.list.inherit.pos.loyalty | loyalty.mail | field | Inherits loyalty.loyalty_mail_view_tree |
loyalty_program_view_form_inherit_pos_loyalty |
loyalty.program.view.form.inherit.pos.loyalty | loyalty.program | field | Inherits loyalty.loyalty_program_view_form |
loyalty_program_view_tree_inherit_pos_loyalty |
loyalty.program.view.list.inherit.pos.loyalty | loyalty.program | field | Inherits loyalty.loyalty_program_view_tree |
res_config_view_form_inherit_pos_loyalty |
res.config.settings.view.form.inherit.pos_loyalty | res.config.settings | xpath | Inherits point_of_sale.res_config_settings_view_form |
res_partner_form |
res.partner.view.buttons | res.partner | button | Inherits loyalty.res_partner_form |
No new fields.
Public methods (0)No public methods.
type
Selection
ondelete={'coupon': 'set default'}
selection_add=[('coupon', 'Coupon')]
No public methods.
source_pos_order_id
Many2one → pos.order
help='PoS order where this coupon was generated.'
args: 'pos.order', 'PoS Order Reference'
source_pos_order_partner_id
Many2one → res.partner
related='source_pos_order_id.partner_id'
args: 'res.partner', 'PoS Order Customer'
get_gift_card_status(self, gift_code, config_id)
get_loyalty_card_partner_by_code(self, code)
pos_report_print_id
Many2one → ir.actions.report
domain=[('model', '=', 'loyalty.card')]
help='The report action to be executed when creating a coupon/gift card/loyalty card in the PoS.'
string='Print Report'
args: 'ir.actions.report'
No public methods.
pos_config_ids
Many2many → pos.config
compute='_compute_pos_config_ids'
help='Restrict publishing to those shops. Note: A program will only be used in the shops using the same currency as the program.'
readonly=False
store=True
string='Point of Sales'
args: 'pos.config'
pos_ok
Boolean
default=True
args: 'Point of Sale'
pos_order_count
Integer
compute='_compute_pos_order_count'
args: 'PoS Order Count'
pos_report_print_id
Many2one → ir.actions.report
compute='_compute_pos_report_print_id'
domain=[('model', '=', 'loyalty.card')]
help='This is used to print the generated gift cards from PoS.'
inverse='_inverse_pos_report_print_id'
readonly=False
string='Print Report'
args: 'ir.actions.report'
No public methods.
No new fields.
Public methods (1)unlink(self)
any_product
Boolean
compute='_compute_valid_product_ids'
help='Technical field, whether all product match'
promo_barcode
Char
compute='_compute_promo_barcode'
help='A technical field used as an alternative to the promo code. This is automatically generated when the promo code is changed.'
readonly=False
store=True
args: 'Barcode'
valid_product_ids
Many2many → product.product
compute='_compute_valid_product_ids'
help='These are the products that are valid for this rule.'
args: 'product.product', 'Valid Products'
No public methods.
No new fields.
Public methods (1)use_coupon_code(self, code, creation_date, partner_id, pricelist_id)
No new fields.
Public methods (3)add_loyalty_history_lines(self, coupon_data, coupon_updates)
confirm_coupon_programs(self, coupon_data)
validate_coupon_programs(self, point_changes, new_codes)
coupon_id
Many2one → loyalty.card
help='The coupon used to claim that reward.'
ondelete='restrict'
args: 'loyalty.card', 'Coupon'
is_reward_line
Boolean
help='Whether this line is part of a reward or not.'
points_cost
Float
help='How many point this reward cost on the coupon.'
reward_id
Many2one → loyalty.reward
help='The reward associated with this line.'
index='btree_not_null'
ondelete='restrict'
args: 'loyalty.reward', 'Reward'
reward_identifier_code
Char
help='\n Technical field used to link multiple reward lines from the same reward together.\n '
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
loyalty_card_count
Integer
groups='base.group_user,point_of_sale.group_pos_user'
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
loyalty_card_view_form_inherit_pos_loyalty |
loyalty.card.view.form.inherit.pos.loyalty | loyalty.card | xpath | Inherits loyalty.loyalty_card_view_form |
loyalty_mail_view_tree_inherit_pos_loyalty |
loyalty.mail.view.list.inherit.pos.loyalty | loyalty.mail | field | Inherits loyalty.loyalty_mail_view_tree |
loyalty_program_view_form_inherit_pos_loyalty |
loyalty.program.view.form.inherit.pos.loyalty | loyalty.program | field | Inherits loyalty.loyalty_program_view_form |
loyalty_program_view_tree_inherit_pos_loyalty |
loyalty.program.view.list.inherit.pos.loyalty | loyalty.program | field | Inherits loyalty.loyalty_program_view_tree |
res_config_view_form_inherit_pos_loyalty |
res.config.settings.view.form.inherit.pos_loyalty | res.config.settings | xpath | Inherits point_of_sale.res_config_settings_view_form |
res_partner_form |
res.partner.view.buttons | res.partner | button | Inherits loyalty.res_partner_form |
No new fields.
Public methods (0)No public methods.
type
Selection
ondelete={'coupon': 'set default'}
selection_add=[('coupon', 'Coupon')]
No public methods.
source_pos_order_id
Many2one → pos.order
help='PoS order where this coupon was generated.'
args: 'pos.order', 'PoS Order Reference'
No public methods.
pos_report_print_id
Many2one → ir.actions.report
domain=[('model', '=', 'loyalty.card')]
help='The report action to be executed when creating a coupon/gift card/loyalty card in the PoS.'
string='Print Report'
args: 'ir.actions.report'
No public methods.
pos_config_ids
Many2many → pos.config
compute='_compute_pos_config_ids'
help='Restrict publishing to those shops.'
readonly=False
store=True
string='Point of Sales'
args: 'pos.config'
pos_ok
Boolean
default=True
args: 'Point of Sale'
pos_order_count
Integer
compute='_compute_pos_order_count'
args: 'PoS Order Count'
pos_report_print_id
Many2one → ir.actions.report
compute='_compute_pos_report_print_id'
domain=[('model', '=', 'loyalty.card')]
help='This is used to print the generated gift cards from PoS.'
inverse='_inverse_pos_report_print_id'
readonly=False
string='Print Report'
args: 'ir.actions.report'
No public methods.
No new fields.
Public methods (1)unlink(self)
any_product
Boolean
compute='_compute_valid_product_ids'
help='Technical field, whether all product match'
promo_barcode
Char
compute='_compute_promo_barcode'
help='A technical field used as an alternative to the promo code. This is automatically generated when the promo code is changed.'
readonly=False
store=True
args: 'Barcode'
valid_product_ids
Many2many → product.product
compute='_compute_valid_product_ids'
help='These are the products that are valid for this rule.'
args: 'product.product', 'Valid Products'
No public methods.
No new fields.
Public methods (1)use_coupon_code(self, code, creation_date, partner_id, pricelist_id)
No new fields.
Public methods (3)add_loyalty_history_lines(self, coupon_data, coupon_updates)
confirm_coupon_programs(self, coupon_data)
validate_coupon_programs(self, point_changes, new_codes)
coupon_id
Many2one → loyalty.card
help='The coupon used to claim that reward.'
ondelete='restrict'
args: 'loyalty.card', 'Coupon'
is_reward_line
Boolean
help='Whether this line is part of a reward or not.'
points_cost
Float
help='How many point this reward cost on the coupon.'
reward_id
Many2one → loyalty.reward
help='The reward associated with this line.'
index='btree_not_null'
ondelete='restrict'
args: 'loyalty.reward', 'Reward'
reward_identifier_code
Char
help='\n Technical field used to link multiple reward lines from the same reward together.\n '
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
loyalty_card_count
Integer
groups='base.group_user,point_of_sale.group_pos_user'
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
loyalty_card_view_form_inherit_pos_loyalty |
loyalty.card.view.form.inherit.pos.loyalty | loyalty.card | xpath | Inherits loyalty.loyalty_card_view_form |
loyalty_mail_view_tree_inherit_pos_loyalty |
loyalty.mail.view.tree.inherit.pos.loyalty | loyalty.mail | field | Inherits loyalty.loyalty_mail_view_tree |
loyalty_program_view_form_inherit_pos_loyalty |
loyalty.program.view.form.inherit.pos.loyalty | loyalty.program | field | Inherits loyalty.loyalty_program_view_form |
loyalty_program_view_tree_inherit_pos_loyalty |
loyalty.program.view.tree.inherit.pos.loyalty | loyalty.program | field | Inherits loyalty.loyalty_program_view_tree |
res_config_view_form_inherit_pos_loyalty |
res.config.settings.view.form.inherit.pos_loyalty | res.config.settings | xpath | Inherits point_of_sale.res_config_settings_view_form |
res_partner_form |
res.partner.view.buttons | res.partner | button | Inherits loyalty.res_partner_form |
type
Selection
ondelete={'coupon': 'set default'}
selection_add=[('coupon', 'Coupon')]
No public methods.
source_pos_order_id
Many2one → pos.order
help='PoS order where this coupon was generated.'
args: 'pos.order', 'PoS Order Reference'
No public methods.
pos_report_print_id
Many2one → ir.actions.report
domain=[('model', '=', 'loyalty.card')]
help='The report action to be executed when creating a coupon/gift card/loyalty card in the PoS.'
string='Print Report'
args: 'ir.actions.report'
No public methods.
pos_config_ids
Many2many → pos.config
compute='_compute_pos_config_ids'
help='Restrict publishing to those shops.'
readonly=False
store=True
string='Point of Sales'
args: 'pos.config'
pos_ok
Boolean
default=True
args: 'Point of Sale'
pos_order_count
Integer
compute='_compute_pos_order_count'
args: 'PoS Order Count'
pos_report_print_id
Many2one → ir.actions.report
compute='_compute_pos_report_print_id'
domain=[('model', '=', 'loyalty.card')]
help='This is used to print the generated gift cards from PoS.'
inverse='_inverse_pos_report_print_id'
readonly=False
string='Print Report'
args: 'ir.actions.report'
No public methods.
No new fields.
Public methods (1)unlink(self)
any_product
Boolean
compute='_compute_valid_product_ids'
help='Technical field, whether all product match'
promo_barcode
Char
compute='_compute_promo_barcode'
help='A technical field used as an alternative to the promo code. This is automatically generated when the promo code is changed.'
readonly=False
store=True
args: 'Barcode'
valid_product_ids
Many2many → product.product
compute='_compute_valid_product_ids'
help='These are the products that are valid for this rule.'
args: 'product.product', 'Valid Products'
No public methods.
gift_card_settings
Selection
default='create_set'
help='Defines the way you want to set your gift cards.'
string='Gift Cards settings'
args: [('create_set', 'Generate PDF cards'), ('scan_use', 'Scan existing cards')]
use_coupon_code(self, code, creation_date, partner_id, pricelist_id)
No new fields.
Public methods (2)confirm_coupon_programs(self, coupon_data)
validate_coupon_programs(self, point_changes, new_codes)
coupon_id
Many2one → loyalty.card
help='The coupon used to claim that reward.'
ondelete='restrict'
args: 'loyalty.card', 'Coupon'
is_reward_line
Boolean
help='Whether this line is part of a reward or not.'
points_cost
Float
help='How many point this reward cost on the coupon.'
reward_id
Many2one → loyalty.reward
help='The reward associated with this line.'
ondelete='restrict'
args: 'loyalty.reward', 'Reward'
reward_identifier_code
Char
help='\n Technical field used to link multiple reward lines from the same reward together.\n '
No public methods.
No new fields.
Public methods (1)get_pos_ui_res_partner_by_params(self, custom_search_params)
pos_gift_card_settings
Selection
readonly=False
related='pos_config_id.gift_card_settings'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/pos_loyalty |
| VERSION | |
| VERSION | 2.0 |
| CATEGORY | |
| CATEGORY | Sales/Point Of Sale |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Pierre Masereel, Xavier-Do, Victor Feyens, Akim Juillerat, Joseph Caburnay, Ivan Yelizariev, Gorash, William Braeckman, roen-odoo, pedrambiria, Jacky (trj), MerlinGuillaume, hungbui, Yolann Sabaux, Vishnu Vanneri, Aurelien van Delft (avd), rhe-odoo, niyasraphy, Moises Lopez - https://www.vauxoo.com/, David Monnom (moda), Pedram (PEBR), Maruan Aguerdouh (magm), AH-Yussef, Sarah Bellefroid, Pedram (pebr), adda-odoo, Adrien Guilliams (adgu), Zachary Hanham, Paul Stroobant, Louis (loti), axtr, kcv-odoo, dere-odoo, Martin Trigaux (mat), Abdessamad Zouiten (abzo), tau, Juan Carlos B, Jitendra Prajapat, paan-odoo, David Monnom |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - loyalty - product - base - base_setup - web - bus - web_tour - uom - point_of_sale - stock_account - stock - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - account - analytic |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
loyalty_card_view_form_inherit_pos_loyalty |
loyalty.card.view.form.inherit.pos.loyalty | loyalty.card | xpath | Inherits loyalty.loyalty_card_view_form |
loyalty_mail_view_tree_inherit_pos_loyalty |
loyalty.mail.view.tree.inherit.pos.loyalty | loyalty.mail | field | Inherits loyalty.loyalty_mail_view_tree |
loyalty_program_view_form_inherit_pos_loyalty |
loyalty.program.view.form.inherit.pos.loyalty | loyalty.program | field | Inherits loyalty.loyalty_program_view_form |
loyalty_program_view_tree_inherit_pos_loyalty |
loyalty.program.view.tree.inherit.pos.loyalty | loyalty.program | field | Inherits loyalty.loyalty_program_view_tree |
res_config_view_form_inherit_pos_loyalty |
res.config.settings.view.form.inherit.pos_loyalty | res.config.settings | xpath | Inherits point_of_sale.res_config_settings_view_form |
type
Selection
ondelete={'coupon': 'set default'}
selection_add=[('coupon', 'Coupon')]
No public methods.
source_pos_order_id
Many2one → pos.order
help='PoS order where this coupon was generated.'
args: 'pos.order', 'PoS Order Reference'
No public methods.
pos_report_print_id
Many2one → ir.actions.report
domain=[('model', '=', 'loyalty.card')]
help='The report action to be executed when creating a coupon/gift card/loyalty card in the PoS.'
string='Print Report'
args: 'ir.actions.report'
No public methods.
pos_config_ids
Many2many → pos.config
compute='_compute_pos_config_ids'
help='Restrict publishing to those shops.'
readonly=False
store=True
string='Point of Sales'
args: 'pos.config'
pos_ok
Boolean
default=True
args: 'Point of Sale'
pos_order_count
Integer
compute='_compute_pos_order_count'
args: 'PoS Order Count'
pos_report_print_id
Many2one → ir.actions.report
compute='_compute_pos_report_print_id'
domain=[('model', '=', 'loyalty.card')]
help='This is used to print the generated gift cards from PoS.'
inverse='_inverse_pos_report_print_id'
readonly=False
string='Print Report'
args: 'ir.actions.report'
action_view_pos_orders(self)
No new fields.
Public methods (1)unlink(self)
any_product
Boolean
compute='_compute_valid_product_ids'
help='Technical field, whether all product match'
promo_barcode
Char
compute='_compute_promo_barcode'
help='A technical field used as an alternative to the promo code. This is automatically generated when the promo code is changed.'
readonly=False
store=True
args: 'Barcode'
valid_product_ids
Many2many → product.product
compute='_compute_valid_product_ids'
help='These are the products that are valid for this rule.'
args: 'product.product', 'Valid Products'
No public methods.
gift_card_settings
Selection
default='create_set'
help='Defines the way you want to set your gift cards.'
string='Gift Cards settings'
args: [('create_set', 'Generate PDF cards'), ('scan_use', 'Scan existing cards')]
use_coupon_code(self, code, creation_date, partner_id)
No new fields.
Public methods (2)confirm_coupon_programs(self, coupon_data)
validate_coupon_programs(self, point_changes, new_codes)
coupon_id
Many2one → loyalty.card
help='The coupon used to claim that reward.'
ondelete='restrict'
args: 'loyalty.card', 'Coupon'
is_reward_line
Boolean
help='Whether this line is part of a reward or not.'
points_cost
Float
help='How many point this reward cost on the coupon.'
reward_id
Many2one → loyalty.reward
help='The reward associated with this line.'
ondelete='restrict'
args: 'loyalty.reward', 'Reward'
reward_identifier_code
Char
help='\n Technical field used to link multiple reward lines from the same reward together.\n '
No public methods.
No new fields.
Public methods (1)get_pos_ui_res_partner_by_params(self, custom_search_params)
pos_gift_card_settings
Selection
readonly=False
related='pos_config_id.gift_card_settings'
No public methods.