| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/19.0/sale_loyalty |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Sales/Sales |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | Odoo S.A. |
| MAINTAINERS | |
| MAINTAINERS | Odoo S.A. |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Thibault Delavallée, Laurent Smet, Julien Castiaux, Victor Feyens, Andrea Grazioso (agr-odoo), Tiffany Chang (tic), Gorash, William Braeckman, Demesmaeker, Valentin Chevalier, alsh-odoo, Pedram (PEBR), Mylyna Hy, Victor Piryns (pivi), Levi Siuzdak (sile), Antoine Boonen, Dylan Kiss (dyki), Sarah Bellefroid, Arnaud Sibille, Louis (loti), kcv-odoo, dere-odoo, Ryan Cen, sabr, Antoine Dupuis, Smit Patel, David Van Droogenbroeck (DROD), Pierre Lamotte (pila), jeep-odoo, Shrey Mehta, Krzysztof Magusiak (krma), Mahdi Alijani (malj), nipl-odoo, krip-odoo, shka-odoo, Nisarg (nipl), Lionel Piraux (lipi), Merlin Guillaume, jand-odoo, enricodg, nutav |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:51:46 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - http_routing - auth_signup - digest - resource - payment - utm - loyalty |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Integrate discount and loyalty programs mechanisms in sales orders. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
loyalty_card_view_form_inherit_sale_loyalty |
loyalty.card.view.form.inherit.sale.loyalty | loyalty.card | field | Inherits loyalty.loyalty_card_view_form |
loyalty_program_view_form_inherit_sale_loyalty |
loyalty.program.view.form.inherit.sale.loyalty | loyalty.program | xpath | Inherits loyalty.loyalty_program_view_form |
res_partner_form |
res.partner.view.buttons | res.partner | button | Inherits loyalty.res_partner_form |
sale_loyalty_coupon_wizard_view_form |
sale.loyalty.coupon.wizard.view.form | sale.loyalty.coupon.wizard | form | New |
sale_loyalty_reward_wizard_view_form |
sale.loyalty.reward.wizard.view.form | sale.loyalty.reward.wizard | form | New |
sale_order_portal_content_inherit |
Gift Card Products Portal | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_order_portal_loyalty_content |
sale_order_portal_loyalty_content | ir.ui.view | qweb | New |
sale_order_view_form_inherit_sale_loyalty |
sale.order.view.form.inherit.sale.loyalty | sale.order | div | Inherits sale.view_order_form |
sale_purchased_gift_card |
sale_purchased_gift_card | ir.ui.view | qweb | New |
used_gift_card |
used_gift_card | ir.ui.view | qweb | New |
No new fields.
Public methods (0)No public methods.
order_id
Many2one → sale.order
comodel_name='sale.order'
help='The sales order from which coupon is generated'
readonly=True
string='Order Reference'
order_id_partner_id
Many2one → res.partner
comodel_name='res.partner'
related='order_id.partner_id'
string='Sale Order Customer'
action_archive(self)
No new fields.
Public methods (0)No public methods.
order_count
Integer
compute='_compute_order_count'
sale_ok
Boolean
default=True
string='Sales'
No public methods.
No new fields.
Public methods (1)unlink(self)
coupon_code
Char
required=True
order_id
Many2one → sale.order
default=<expr>
required=True
args: 'sale.order'
action_apply(self)
multi_product_reward
Boolean
related='selected_reward_id.multi_product'
order_id
Many2one → sale.order
default=<expr>
required=True
args: 'sale.order'
reward_ids
Many2many → loyalty.reward
compute='_compute_claimable_reward_ids'
args: 'loyalty.reward'
reward_product_ids
Many2many
related='selected_reward_id.reward_product_ids'
selected_product_id
Many2one → product.product
compute='_compute_selected_product_id'
domain="[('id', 'in', reward_product_ids)]"
readonly=False
store=True
args: 'product.product'
selected_reward_id
Many2one → loyalty.reward
domain="[('id', 'in', reward_ids)]"
args: 'loyalty.reward'
action_apply(self)
action_cancel(self)
applied_coupon_ids
Many2many → loyalty.card
comodel_name='loyalty.card'
copy=False
string='Manually Applied Coupons'
code_enabled_rule_ids
Many2many → loyalty.rule
comodel_name='loyalty.rule'
copy=False
string='Manually Triggered Rules'
coupon_point_ids
One2many → sale.order.coupon.points
comodel_name='sale.order.coupon.points'
copy=False
inverse_name='order_id'
gift_card_count
Integer
compute='_compute_gift_card_count'
loyalty_data
Json
compute='_compute_loyalty_data'
reward_amount
Float
compute='_compute_reward_total'
action_confirm(self)
action_open_reward_wizard(self)
action_view_gift_cards(self)
copy(self, default=None)
coupon_id
Many2one → loyalty.card
comodel_name='loyalty.card'
ondelete='cascade'
required=True
order_id
Many2one → sale.order
comodel_name='sale.order'
index=True
ondelete='cascade'
required=True
points
Float
required=True
No public methods.
coupon_id
Many2one → loyalty.card
comodel_name='loyalty.card'
ondelete='restrict'
readonly=True
is_reward_line
Boolean
compute='_compute_is_reward_line'
string='Is a program reward line'
points_cost
Float
help='How much point this reward costs on the loyalty card.'
reward_id
Many2one → loyalty.reward
comodel_name='loyalty.reward'
ondelete='restrict'
readonly=True
reward_identifier_code
Char
help='Technical field used to link multiple reward lines from the same reward together.'
create(self, vals_list)
unlink(self)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/18.0/sale_loyalty |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Sales/Sales |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Yannick Tivisse, Odoo Online, Laurent Smet, Victor Feyens, Andrea Grazioso (agr-odoo), Anh Thao Pham (pta), Tiffany Chang (tic), Gorash, William Braeckman, hungbui, Ruben Gomes, Demesmaeker, Valentin Chevalier, Vincent Larcin, alsh-odoo, Mylyna Hy, Pieter Claeys (clpi), Levi Siuzdak (sile), Antoine Boonen, Dylan Kiss (dyki), Anita (anko), Xavier Bol (xbo), Sarah Bellefroid, Mahdi Cheikh Rouhou (macr), Andrzej(pian), Youssef Bashandy, Ethan Vincent, Louis (loti), vava-odoo, kcv-odoo, mega, dere-odoo, Lina (liew), Louis (wil), Ryan Cen, sabr, Manushi Shah, Antoine Dupuis, Juan Carlos B, David Van Droogenbroeck (DROD), Pierre Lamotte (pila), jeep-odoo, Shrey Mehta, Mahdi Alijani (malj), nipl-odoo, krip-odoo, Laurent Smet (LAS), shka-odoo, Merlin Guillaume, jand-odoo, enricodg |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:25:59 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - loyalty |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Integrate discount and loyalty programs mechanisms in sales orders. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
loyalty_card_view_form_inherit_sale_loyalty |
loyalty.card.view.form.inherit.sale.loyalty | loyalty.card | field | Inherits loyalty.loyalty_card_view_form |
loyalty_program_view_form_inherit_sale_loyalty |
loyalty.program.view.form.inherit.sale.loyalty | loyalty.program | xpath | Inherits loyalty.loyalty_program_view_form |
res_partner_form |
res.partner.view.buttons | res.partner | button | Inherits loyalty.res_partner_form |
sale_loyalty_coupon_wizard_view_form |
sale.loyalty.coupon.wizard.view.form | sale.loyalty.coupon.wizard | form | New |
sale_loyalty_reward_wizard_view_form |
sale.loyalty.reward.wizard.view.form | sale.loyalty.reward.wizard | form | New |
sale_order_portal_content_inherit |
Gift Card Products Portal | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_order_portal_loyalty_content |
sale_order_portal_loyalty_content | ir.ui.view | qweb | New |
sale_order_view_form_inherit_sale_loyalty |
sale.order.view.form.inherit.sale.loyalty | sale.order | button | Inherits sale.view_order_form |
sale_purchased_gift_card |
sale_purchased_gift_card | ir.ui.view | qweb | New |
used_gift_card |
used_gift_card | ir.ui.view | qweb | New |
No new fields.
Public methods (0)No public methods.
order_id
Many2one → sale.order
comodel_name='sale.order'
help='The sales order from which coupon is generated'
readonly=True
string='Order Reference'
action_archive(self)
No new fields.
Public methods (0)No public methods.
order_count
Integer
compute='_compute_order_count'
sale_ok
Boolean
default=True
string='Sales'
No public methods.
No new fields.
Public methods (1)unlink(self)
coupon_code
Char
required=True
order_id
Many2one → sale.order
default=<expr>
required=True
args: 'sale.order'
action_apply(self)
multi_product_reward
Boolean
related='selected_reward_id.multi_product'
order_id
Many2one → sale.order
default=<expr>
required=True
args: 'sale.order'
reward_ids
Many2many → loyalty.reward
compute='_compute_claimable_reward_ids'
args: 'loyalty.reward'
reward_product_ids
Many2many
related='selected_reward_id.reward_product_ids'
selected_product_id
Many2one → product.product
compute='_compute_selected_product_id'
domain="[('id', 'in', reward_product_ids)]"
readonly=False
store=True
args: 'product.product'
selected_reward_id
Many2one → loyalty.reward
domain="[('id', 'in', reward_ids)]"
args: 'loyalty.reward'
action_apply(self)
action_cancel(self)
applied_coupon_ids
Many2many → loyalty.card
comodel_name='loyalty.card'
copy=False
string='Manually Applied Coupons'
code_enabled_rule_ids
Many2many → loyalty.rule
comodel_name='loyalty.rule'
copy=False
string='Manually Triggered Rules'
coupon_point_ids
One2many → sale.order.coupon.points
comodel_name='sale.order.coupon.points'
copy=False
inverse_name='order_id'
loyalty_data
Json
compute='_compute_loyalty_data'
reward_amount
Float
compute='_compute_reward_total'
action_confirm(self)
action_open_reward_wizard(self)
copy(self, default=None)
coupon_id
Many2one → loyalty.card
comodel_name='loyalty.card'
ondelete='cascade'
required=True
order_id
Many2one → sale.order
comodel_name='sale.order'
ondelete='cascade'
required=True
points
Float
required=True
No public methods.
coupon_id
Many2one → loyalty.card
comodel_name='loyalty.card'
ondelete='restrict'
readonly=True
is_reward_line
Boolean
compute='_compute_is_reward_line'
string='Is a program reward line'
points_cost
Float
help='How much point this reward costs on the loyalty card.'
reward_id
Many2one → loyalty.reward
comodel_name='loyalty.reward'
ondelete='restrict'
readonly=True
reward_identifier_code
Char
help='Technical field used to link multiple reward lines from the same reward together.'
create(self, vals_list)
unlink(self)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/17.0/sale_loyalty |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Sales/Sales |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Alexandre Fayolle, Yannick Tivisse, Odoo Online, Victor Feyens, Andrea Grazioso (agr-odoo), Joseph Caburnay, Anh Thao Pham (pta), Nasreddin Boulif (bon), Tiffany Chang (tic), Rémy Voet (ryv), Gorash, Pierre Paridans, William Braeckman, hungbui, Walid HANNICHE (waha), Demesmaeker, niyasraphy, David Monnom (moda), Thomas Lefebvre (thle), alsh-odoo, Merel Geens (mege), Mylyna Hy, Levi Siuzdak (sile), Antoine Boonen, Dylan Kiss (dyki), Valeriya(vchu), Anita (anko), Xavier Bol (xbo), Sarah Bellefroid, Mahdi Cheikh Rouhou (macr), Andrzej(pian), Youssef Bashandy, Ethan Vincent, Louis (loti), vava-odoo, Julien Carion (juca), kcv-odoo, mega, dere-odoo, Louis (wil), Ryan Cen, sabr, Juan Carlos B, David Van Droogenbroeck (DROD), Pierre Lamotte (pila), Mahdi Alijani (malj), nipl-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:02:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - account_payment - account - onboarding - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - loyalty |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Integrate discount and loyalty programs mechanisms in sales orders. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
loyalty_card_view_form_inherit_sale_loyalty |
loyalty.card.view.form.inherit.sale.loyalty | loyalty.card | field | Inherits loyalty.loyalty_card_view_form |
loyalty_program_view_form_inherit_sale_loyalty |
loyalty.program.view.form.inherit.sale.loyalty | loyalty.program | xpath | Inherits loyalty.loyalty_program_view_form |
res_partner_form |
res.partner.view.buttons | res.partner | button | Inherits loyalty.res_partner_form |
sale_loyalty_coupon_wizard_view_form |
sale.loyalty.coupon.wizard.view.form | sale.loyalty.coupon.wizard | form | New |
sale_loyalty_reward_wizard_view_form |
sale.loyalty.reward.wizard.view.form | sale.loyalty.reward.wizard | form | New |
sale_order_portal_content_inherit |
Gift Card Products Portal | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_order_view_form_inherit_sale_loyalty |
sale.order.view.form.inherit.sale.loyalty | sale.order | button | Inherits sale.view_order_form |
sale_purchased_gift_card |
sale_purchased_gift_card | ir.ui.view | qweb | New |
used_gift_card |
used_gift_card | ir.ui.view | qweb | New |
order_id
Many2one → sale.order
comodel_name='sale.order'
help='The sales order from which coupon is generated'
readonly=True
string='Order Reference'
No public methods.
order_count
Integer
compute='_compute_order_count'
sale_ok
Boolean
default=True
string='Sales'
No public methods.
No new fields.
Public methods (1)unlink(self)
coupon_code
Char
required=True
order_id
Many2one → sale.order
default=<expr>
required=True
args: 'sale.order'
action_apply(self)
multi_product_reward
Boolean
related='selected_reward_id.multi_product'
order_id
Many2one → sale.order
default=<expr>
required=True
args: 'sale.order'
reward_ids
Many2many → loyalty.reward
compute='_compute_claimable_reward_ids'
args: 'loyalty.reward'
reward_product_ids
Many2many
related='selected_reward_id.reward_product_ids'
selected_product_id
Many2one → product.product
compute='_compute_selected_product_id'
domain="[('id', 'in', reward_product_ids)]"
readonly=False
store=True
args: 'product.product'
selected_reward_id
Many2one → loyalty.reward
domain="[('id', 'in', reward_ids)]"
args: 'loyalty.reward'
action_apply(self)
applied_coupon_ids
Many2many → loyalty.card
comodel_name='loyalty.card'
copy=False
string='Manually Applied Coupons'
code_enabled_rule_ids
Many2many → loyalty.rule
comodel_name='loyalty.rule'
copy=False
string='Manually Triggered Rules'
coupon_point_ids
One2many → sale.order.coupon.points
comodel_name='sale.order.coupon.points'
copy=False
inverse_name='order_id'
reward_amount
Float
compute='_compute_reward_total'
action_confirm(self)
action_open_reward_wizard(self)
copy(self, default=None)
coupon_id
Many2one → loyalty.card
comodel_name='loyalty.card'
ondelete='cascade'
required=True
order_id
Many2one → sale.order
comodel_name='sale.order'
ondelete='cascade'
required=True
points
Float
required=True
No public methods.
coupon_id
Many2one → loyalty.card
comodel_name='loyalty.card'
ondelete='restrict'
readonly=True
is_reward_line
Boolean
compute='_compute_is_reward_line'
string='Is a program reward line'
points_cost
Float
help='How much point this reward costs on the loyalty card.'
reward_id
Many2one → loyalty.reward
comodel_name='loyalty.reward'
ondelete='restrict'
readonly=True
reward_identifier_code
Char
help='Technical field used to link multiple reward lines from the same reward together.'
create(self, vals_list)
unlink(self)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/sale_loyalty |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Sales/Sales |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Alexis de Lattre, Alexandre Fayolle, Barad Mahendra, Yannick Tivisse, Pierre Masereel, Romeo Fragomeli, Victor Feyens, Andrea Grazioso (agr-odoo), Joseph Caburnay, Nasreddin Boulif (bon), William Braeckman, hungbui, Walid HANNICHE (waha), Demesmaeker, niyasraphy, David Monnom (moda), Thomas Lefebvre (thle), Merel Geens (mege), Mylyna Hy, Levi Siuzdak (sile), Antoine Boonen, Anita (anko), Xavier Bol (xbo), Sarah Bellefroid, “moda”, Mahdi Cheikh Rouhou (macr), Andrzej(pian), Youssef Bashandy, Ethan Vincent, Louis (loti), vava-odoo, kcv-odoo, mega, dere-odoo, William Braeckman (wbr), Juan Carlos B, Pierre Lamotte (pila) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:54 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - account_payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - loyalty |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Integrate discount and loyalty programs mechanisms in sales orders. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
loyalty_card_view_form_inherit_sale_loyalty |
loyalty.card.view.form.inherit.sale.loyalty | loyalty.card | xpath | Inherits loyalty.loyalty_card_view_form |
loyalty_program_view_form_inherit_sale_loyalty |
loyalty.program.view.form.inherit.sale.loyalty | loyalty.program | xpath | Inherits loyalty.loyalty_program_view_form |
sale_loyalty.used_gift_card |
sale_loyalty.used_gift_card | ir.ui.view | qweb | New |
sale_loyalty_coupon_wizard_view_form |
sale.loyalty.coupon.wizard.view.form | sale.loyalty.coupon.wizard | form | New |
sale_loyalty_reward_wizard_view_form |
sale.loyalty.reward.wizard.view.form | sale.loyalty.reward.wizard | form | New |
sale_order_portal_content_inherit |
Gift Card Products Portal | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_order_view_form_inherit_sale_loyalty |
sale.order.view.form.inherit.sale.loyalty | sale.order | xpath | Inherits sale.view_order_form |
sale_purchased_gift_card |
sale_purchased_gift_card | ir.ui.view | qweb | New |
order_id
Many2one → sale.order
help='The sales order from which coupon is generated'
readonly=True
args: 'sale.order', 'Order Reference'
No public methods.
order_count
Integer
compute='_compute_order_count'
sale_ok
Boolean
default=True
args: 'Sales'
No public methods.
No new fields.
Public methods (1)unlink(self)
coupon_code
Char
required=True
order_id
Many2one → sale.order
default=<expr>
required=True
args: 'sale.order'
action_apply(self)
multi_product_reward
Boolean
related='selected_reward_id.multi_product'
order_id
Many2one → sale.order
default=<expr>
required=True
args: 'sale.order'
reward_ids
Many2many → loyalty.reward
compute='_compute_claimable_reward_ids'
args: 'loyalty.reward'
reward_product_ids
Many2many
related='selected_reward_id.reward_product_ids'
selected_product_id
Many2one → product.product
compute='_compute_selected_product_id'
domain="[('id', 'in', reward_product_ids)]"
readonly=False
store=True
args: 'product.product'
selected_reward_id
Many2one → loyalty.reward
domain="[('id', 'in', reward_ids)]"
args: 'loyalty.reward'
action_apply(self)
applied_coupon_ids
Many2many → loyalty.card
copy=False
string='Manually Applied Coupons'
args: 'loyalty.card'
code_enabled_rule_ids
Many2many → loyalty.rule
copy=False
string='Manually Triggered Rules'
args: 'loyalty.rule'
coupon_point_ids
One2many → sale.order.coupon.points
copy=False
args: 'sale.order.coupon.points', 'order_id'
reward_amount
Float
compute='_compute_reward_total'
action_confirm(self)
action_open_reward_wizard(self)
copy(self, default=None)
coupon_id
Many2one → loyalty.card
ondelete='cascade'
required=True
args: 'loyalty.card'
order_id
Many2one → sale.order
ondelete='cascade'
required=True
args: 'sale.order'
points
Float
required=True
No public methods.
coupon_id
Many2one → loyalty.card
ondelete='restrict'
readonly=True
args: 'loyalty.card'
is_reward_line
Boolean
compute='_compute_is_reward_line'
args: 'Is a program reward line'
points_cost
Float
help='How much point this reward cost on the loyalty card.'
reward_id
Many2one → loyalty.reward
ondelete='restrict'
readonly=True
args: 'loyalty.reward'
reward_identifier_code
Char
help='\n Technical field used to link multiple reward lines from the same reward together.\n '
create(self, vals_list)
unlink(self)
write(self, vals)