| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/pms |
| GIT | |
| GIT | https://github.com/OCA/pms.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/pms/tree/19.0/pms_sale |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Property Management System |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Gray Matter Logic |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Gray Matter Logic |
| COMMITTERS | |
| COMMITTERS | Maxime Chambreuil, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/pms |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 09:18:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/pms: - pms_account - pms_base OCA/web: - web_timeline odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - http_routing - auth_signup - digest - resource - base_geolocalize - sale - sales_team - account_payment - payment - utm - calendar |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
pms_configurator_view_form |
pms.configurator.view.form | pms.configurator | form | New |
pms_mail_view_search |
pms.mail.search | pms.mail | search | New |
pms_property_reservation_view_form |
pms.property.reservation.view.from | pms.property.reservation | form | New |
pms_property_reservation_view_tree |
pms.property.reservation.view.tree | pms.property.reservation | list | New |
pms_reservation_guest_view_form |
pms.reservation.guest.view.form | pms.reservation.guest | form | New |
pms_reservation_guest_view_tree |
pms.reservation.guest.view.tree | pms.reservation.guest | list | New |
product_template_form_view_inherit_pms_sale |
product.template.event.form.inherit.pms.sale | product.template | group | Inherits product.product_template_form_view |
product_template_search_view_inherit_pms_sale |
product.template.search | product.template | field | Inherits product.product_template_search_view |
sale_order_view_form_inherit_pms_sale |
sale.order.form.inherit.pms.sale | sale.order | xpath | Inherits sale.view_order_form |
view_move_form_inherit_pms_sale |
pms.property.invoice.form.pms | account.move | div | Inherits account.view_move_form |
view_pms_mail_form |
pms.mail.form | pms.mail | form | New |
view_pms_mail_tree |
pms.mail.tree | pms.mail | list | New |
view_pms_property_form_inherit_pms_sale |
pms.property.form.inherit.pms.sale | pms.property | xpath | Inherits pms_base.view_pms_property_form |
view_pms_team_kanban_inherit_pms_sale |
pms.team.kanban | pms.team | field | Inherits pms_base.view_pms_team_kanban |
view_reservation_calendar |
pms.reservation.calendar | pms.reservation | calendar | New |
view_reservation_form |
pms.reservation.form | pms.reservation | form | New |
view_reservation_graph |
pms.reservation.graph | pms.reservation | graph | New |
view_reservation_kanban |
pms.reservation.kanban | pms.reservation | kanban | New |
view_reservation_pivot |
pms.reservation.pivot | pms.reservation | pivot | New |
view_reservation_search |
pms.reservation.search | pms.reservation | search | New |
view_reservation_timeline |
pms.reservation.timeline | pms.reservation | timeline | New |
view_reservation_tree |
pms.reservation.tree | pms.reservation | list | New |
reservation_count
Integer
compute='_compute_reservation_count'
args: 'Reservations Count'
action_view_reservation_list(self)
pms_reservation_id
Many2one → pms.reservation
copy=False
readonly=True
string='Reservation'
args: 'pms.reservation'
No public methods.
No new fields.
Public methods (0)No public methods.
currency_id
Many2one → res.currency
string='Currency'
args: 'res.currency'
duration
Integer
compute='_compute_duration'
readonly=False
store=True
args: 'Nights'
existing_reservation_id
Integer
guest_ids
One2many → pms.reservation.guest.wizard
string='Guests'
args: 'pms.reservation.guest.wizard', 'configurator_id'
no_of_guests
Integer
compute='_compute_no_of_guests'
store=True
args: 'Number of Guests'
price
Float
readonly=True
related='reservation_id.price'
product_id
Many2one → product.product
readonly=True
string='Product'
args: 'product.product'
property_id
Many2one → pms.property
string='Property'
args: 'pms.property'
reservation_id
Many2one → pms.property.reservation
string='Reservation Type'
args: 'pms.property.reservation'
reservation_ids
Many2many → pms.reservation
start
Datetime
help='Start date of the reservation'
required=True
args: 'From'
stop
Datetime
compute='_compute_stop'
help='Stop date of the reservation'
readonly=False
required=True
store=True
args: 'To'
timeline_html
Html
readonly=True
args: 'Timeline HTML'
default_get(self, fields_vals)
onchange_dates(self)
onchange_property_id(self)
interval
Integer
default=1
interval_trigger
Selection
string='Trigger'
args: [('after_resev', 'After the reservation'), ('before_checkin', 'Before Checkin'), ('after_checkin', 'After Checkin'), ('before_checkout', 'Before Checkout'), ('after_checkout', 'After Checkout')]
interval_unit
Many2one → uom.uom
domain=<expr>
string='Unit'
args: 'uom.uom'
name
Char
required=True
notification_type
Selection
default='Email'
string='Send'
args: [('email', 'Email')]
property_id
Many2one → pms.property
string='Property'
args: 'pms.property'
template_id
Many2one → mail.template
string='Email Template'
args: 'mail.template'
No public methods.
checkin
Float
checkout
Float
listing_type
Selection
selection=[('private_room', 'Private Room'), ('entire_home', 'Entire Home'), ('shared_room', 'Shared Room')]
max_nights
Integer
min_nights
Integer
no_of_guests
Integer
pms_mail_ids
One2many → pms.mail
string='Communication'
args: 'pms.mail', 'property_id'
reservation_ids
One2many → pms.property.reservation
string='Reservation Types'
args: 'pms.property.reservation', 'property_id'
get_property_information(self, vals, domain=False)
currency_id
Many2one → res.currency
default=<expr>
string='Currency'
args: 'res.currency'
name
Char
required=True
price
Float
compute='_compute_price'
digits='Product Price'
readonly=False
store=True
product_id
Many2one → product.product
default=<expr>
domain=[('reservation_ok', '=', True)]
required=True
string='Product'
args: 'product.product'
property_id
Many2one → pms.property
string='Property'
args: 'pms.property'
No public methods.
adults
Integer
children
Integer
color
Integer
default=0
args: 'Color Index'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
date
Datetime
default=<expr>
duration
Integer
compute='_compute_duration'
readonly=False
store=True
args: 'Nights'
guest_ids
One2many → pms.reservation.guest
string='Guests'
args: 'pms.reservation.guest', 'reservation_id'
invoice_count
Integer
compute='_compute_invoice_count'
copy=False
readonly=True
invoice_status
Selection
index=True
related='sale_order_id.invoice_status'
store=True
name
Char
copy=False
default=<expr>
help='Reservation Number'
index=True
readonly=True
required=True
string='Reservation #'
no_of_guests
Integer
compute='_compute_no_of_guests'
store=True
args: 'Number of Guests'
partner_id
Many2one → res.partner
string='Booked by'
args: 'res.partner'
priority
Selection
default=<expr>
index=True
args: AVAILABLE_PRIORITIES
property_id
Many2one → pms.property
string='Property'
args: 'pms.property'
reservation_type_id
Many2one → pms.property.reservation
string='Reservation Type'
args: 'pms.property.reservation'
sale_order_id
Many2one → sale.order
string='Sales Order'
args: 'sale.order'
sale_order_line_id
Many2one → sale.order.line
string='Sales Order Line'
args: 'sale.order.line'
stage_id
Many2one → pms.stage
default=<expr>
group_expand='_read_group_stage_ids'
index=True
store=True
string='Stage'
tracking=True
args: 'pms.stage'
start
Datetime
default=fields.Date.today
help='Start date of the reservation'
required=True
tracking=True
args: 'Checkin'
stop
Datetime
compute='_compute_stop'
default=fields.Date.today
help='Stop date of the reservation'
readonly=False
required=True
store=True
tracking=True
args: 'Checkout'
tag_ids
Many2many → pms.tag
string='Tags'
args: 'pms.tag'
team_id
Many2one → pms.team
related='property_id.team_id'
store=True
string='Team'
args: 'pms.team'
user_id
Many2one → res.users
default=<expr>
string='Responsible'
args: 'res.users'
action_book(self)
action_cancel(self)
action_check_in(self)
action_check_out(self)
action_confirm(self)
action_view_invoices(self)
create(self, vals_list)
get_selections(self)
onchange_property_id(self)
email
Char
name
Char
required=True
order_line_id
Many2one → sale.order.line
string='Sale Order'
args: 'sale.order.line'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
phone
Char
reservation_id
Many2one → pms.reservation
string='Reservation'
args: 'pms.reservation'
No public methods.
configurator_id
Many2one → pms.configurator
string='Configurator'
args: 'pms.configurator'
email
Char
name
Char
required=True
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
phone
Char
No public methods.
stage_type
Selection
ondelete={'reservation': 'cascade'}
selection_add=[('reservation', 'Reservation')]
get_color_information(self)
no_today_reservation
Integer
compute='_compute_no_reservations'
string='Today Reservations'
no_tomorrow_reservation
Integer
compute='_compute_no_reservations'
string='Tomorrow Reservations'
no_week_reservation
Integer
compute='_compute_no_reservations'
string='This Week Reservations'
total_reservation
Integer
compute='_compute_no_reservations'
string='Total Reservations'
No public methods.
No new fields.
Public methods (0)No public methods.
reservation_ok
Boolean
string='Reservation'
No public methods.
reservation_count
Integer
compute='_compute_reservation_count'
args: 'Reservations Count'
action_confirm(self)
action_view_reservation_list(self)
pms_reservation_id
Many2one → pms.reservation
string='Reservation'
args: 'pms.reservation'
reservation_ok
Boolean
readonly=True
related='product_id.reservation_ok'
string='Is Reservation?'
create(self, vals_list)
unlink(self)
write(self, values)