Coder Social home page Coder Social logo

hootel's Introduction

HOOTEL PROJECT MODULES Build Status codecov Unstable

IMPORTANT:

  • Set time zone of users that use the calendar

MODULES:

  • hotel: Base module (Manage Rooms, Reservations, Services, Customers, Mailing, Invoicing, ...)
  • hotel_calendar: Adds calendar for manage hotel reservations and rooms configuration
  • hotel_calendar_channel_connector: Unify 'hotel_channel_connector' and 'hotel_calendar' modules
  • hotel_channel_connector: Base Channel Connector (Using Odoo Connector)
  • hotel_channel_connector_wubook: Wubook API Implementation
  • hotel_node_helper: Configure a node as a helper to serve and get information from a master one
  • hotel_node_master: Configure a node as a master

HOW WORKS?

  • The idea is... the hotel sell 'rooms types' and the customer is assigned to one 'real room'.
  • The folio have all reservation lines, used services, etc..

hootel's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hootel's Issues

Odoo v11 - Error after installing hotel_channel_connector_wubook

If I install hotel and hotel_calendar - everything works fine, but after installing hotel_channel_connector_wubook - the following error appears.
Can you please help to identify what am I missing?

2019-01-22 16:08:38,363 24725 ERROR odoo_ent_mpms odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
  File "/Users/bezl/Documents/htdocs/odoo/odoo/modules/registry.py", line 59, in __new__
    return cls.registries[db_name]
  File "/Users/bezl/Documents/htdocs/odoo/odoo/tools/func.py", line 68, in wrapper
    return func(self, *args, **kwargs)
  File "/Users/bezl/Documents/htdocs/odoo/odoo/tools/lru.py", line 44, in __getitem__
    a = self.d[obj].me
KeyError: 'odoo_ent_mpms'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/odoo/Documents/htdocs/odoo/odoo/modules/registry.py", line 85, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/modules/loading.py", line 478, in load_modules
    model._register_hook()
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/queue/queue_job/models/base.py", line 28, in _register_hook
    self.env['queue.job.function']._register_job(self, job_method)
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/queue/queue_job/models/queue_job.py", line 413, in _register_job
    channel = self._find_or_create_channel(job_method.default_channel)
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/queue/queue_job/models/queue_job.py", line 405, in _find_or_create_channel
    'parent_id': parent_channel.id,
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/connector/component_event/models/base.py", line 97, in create
    self._event('on_record_create').notify(record, fields=fields)
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/connector/component_event/models/base.py", line 91, in _event
    return collecter.collect_events(name)
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/connector/component_event/components/event.py", line 263, in collect_events
    events = self._init_collected_events(self._collect_events(name))
  File "/usr/local/lib/python3.7/site-packages/cachetools/__init__.py", line 82, in wrapper
    k = key(*args, **kwargs)
TypeError: <lambda>() missing 1 required positional argument: 'name'
2019-01-22 16:08:38,365 24725 INFO odoo_ent_mpms werkzeug: 127.0.0.1 - - [22/Jan/2019 16:08:38] "POST /web/webclient/version_info HTTP/1.1" 500 -
2019-01-22 16:08:38,369 24725 ERROR odoo_ent_mpms werkzeug: Error on request:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 205, in run_wsgi
    execute(self.server.app)
  File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 193, in execute
    application_iter = app(environ, start_response)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/service/server.py", line 260, in app
    return self.app(e, s)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/service/wsgi_server.py", line 166, in application
    return application_unproxied(environ, start_response)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/service/wsgi_server.py", line 154, in application_unproxied
    result = handler(environ, start_response)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 1319, in __call__
    return self.dispatch(environ, start_response)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 1293, in __call__
    return self.app(environ, start_wrapped)
  File "/usr/local/lib/python3.7/site-packages/werkzeug/wsgi.py", line 599, in __call__
    return self.app(environ, start_response)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 1474, in dispatch
    odoo.registry(db).check_signaling()
  File "/Users/odoo/Documents/htdocs/odoo/odoo/__init__.py", line 76, in registry
    return modules.registry.Registry(database_name)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/modules/registry.py", line 61, in __new__
    return cls.new(db_name)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/modules/registry.py", line 85, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/modules/loading.py", line 478, in load_modules
    model._register_hook()
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/queue/queue_job/models/base.py", line 28, in _register_hook
    self.env['queue.job.function']._register_job(self, job_method)
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/queue/queue_job/models/queue_job.py", line 413, in _register_job
    channel = self._find_or_create_channel(job_method.default_channel)
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/queue/queue_job/models/queue_job.py", line 405, in _find_or_create_channel
    'parent_id': parent_channel.id,
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/connector/component_event/models/base.py", line 97, in create
    self._event('on_record_create').notify(record, fields=fields)
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/connector/component_event/models/base.py", line 91, in _event
    return collecter.collect_events(name)
  File "/Users/odoo/Documents/htdocs/odoo/addons-custom/connector/component_event/components/event.py", line 263, in collect_events
    events = self._init_collected_events(self._collect_events(name))
  File "/usr/local/lib/python3.7/site-packages/cachetools/__init__.py", line 82, in wrapper
    k = key(*args, **kwargs)
TypeError: <lambda>() missing 1 required positional argument: 'name'

Shared Rooms

ADD function to manage shared room reservations

Revenue booked for each night

In hotels there are always checkedin guests. Let's say the guest checks in Dezember 15th and checks out January 1st next year.
I had a quick look at the code but it seems you create a complete invoice when the guest checks out:
Which results in the revenue booked in the new year for the whole stay. But the revenue should be booked for each night.

Did you come across this or did I miss some part of the code?

Move modules to 11.0

Update modules to run the 11.0

  • Move python code from 2 to 3
  • Remove deprecated code in Odoo 11.0
  • Fix errors in views

This task should be divided by tasks

  • Hotel Management | hotel
  • Hotel Calendar | hotel_calendar
  • Hotel Calendar WuBook | hotel_calendar_wubook
  • Hotel MyDataBI Exporter | hotel_data_bi
  • Hotel l10n_es | hotel_l10n_es
  • Hotel Revenue Exporter | hotel_revenue
  • Hotel WuBook | hotel_wubook
  • Hotel WuBook Prototype | hotel_wubook_proto

Use tags in Reservation level

To improve the segmentation of customers and sales you have to save the labels at the reservation level, and compile them to the client at the time of checkin.

Segmentation problem

If you add a checkin to a file after having checked a person, that person does not have the new segmentation attached if you access their client file. However, if you check it again on the same tab, it shows you the complete segmentation of the file.

Example:

  1. Checkin 'Pepito Perez' with segmentation Leisure / Travel Solo.
  2. The Card is segmented as Leisure / Travel Solo.
  3. Edit the Card and in the room add another segmentation, for example, Leisure / Student.
    4.- Access to the client file.- You only have Leisure / Travel Solo, despite having a checkin in a file in which we have added / updated the segmentation.

Odoo 12.0

Hi everyone,

Do you have plans to migrate to v12.0? How much time would it require on your opinion?

I've tried to launch it on Odoo 12 - after some issues with installation (mostly res.config.settings) - JS console shows error:
View type 'pms' is not present in the view registry.

and Odoo shows error:
Error:
Uncaught TypeError: Cannot read property 'type' of undefined

http://localhost:8069/web/static/src/js/chrome/action_manager_act_window.js:334
Traceback:
TypeError: Cannot read property 'type' of undefined
at Array. (http://localhost:8069/web/static/src/js/chrome/action_manager_act_window.js:334:72)
at Array. (http://localhost:8069/web/static/lib/jquery/jquery.js:3276:89)
at fire (http://localhost:8069/web/static/lib/jquery/jquery.js:3119:58)
at Object.add [as done] (http://localhost:8069/web/static/lib/jquery/jquery.js:3165:49)
at Array. (http://localhost:8069/web/static/lib/jquery/jquery.js:3275:77)
at Function.each (http://localhost:8069/web/static/lib/jquery/jquery.js:383:58)
at Object. (http://localhost:8069/web/static/lib/jquery/jquery.js:3272:56)
at Function.Deferred (http://localhost:8069/web/static/lib/jquery/jquery.js:3332:30)
at Object.then (http://localhost:8069/web/static/lib/jquery/jquery.js:3271:55)
at Object. (http://localhost:8069/web/static/src/js/chrome/action_manager_act_window.js:332:32)

Hotel Services line, by day and by person

  • In 'per day' products, the quantity in service is read_only and calculate from service_line_ids. And the service_line_ids are calculate from checkin/out (but editable with priority manual changes)

'Folio' operations works slow

When operations are performed such as checkin in "folios" with many reserves... the process take too time to complete.

The main problem are write calls... these calls launch longpolling connections and this take too time to complete.

Folio Pay Rectification

Allow Payment rectifications from the Folio, when not exist a related Invoice.
When you add a pay from folio (customer payment), the payment remains in validated state, and dont allow change the related journal items.

Improve Management Calendar Usability

  • New action confirm in Massive Changes Wizard

  • New Buttons Change and Change&Close in Massive Change Wizard

  • User Field to set the default days longs charged in the management calendar (default = 1 month)

  • Restricctions with value <> 0 -> background color yellow

  • Availability = 0 -> background color, afable red

  • 1 arrow -> 1 week move, Doble arrow -> 2 weeks move

  • Shade Friday and Saturday (instead of Sunday)

Management of overbookings

Add new option to calendar for manage overbookings.

When import bookings from wubook don't ignore overbookings (new state 'overbooking').
Calendar need show these "special" reserves in new room lines for drag&drop operations.

module install

You try to install module 'hotel' that depends on module 'account_cancel'.
But the latter module is not available in your system.

how to install that module?

Improve checkin usability at create / modify clients

By doing a checkin is quite easy create a new customer by accident just modifying the name or last name in the checkin wizard. Improve the usability: modify the current client by default and use a 'button' for indicating a new one.

Use a search box for searching the existing users but do not allow create them. The user must use the button to clearly indicate that a new client is comming.

Odoo v11 - Error saving pricing changes in hotel management calendar after installation of hotel_channel_connector module

Hi, this one is probably in hotel_channel_connector module.
If I install only "hotel" and "hotel_calendar" - pricing updates are saved without errors.
Then if I install hotel_channel_connector - the same pricing updates shows error:

Error:

Odoo Server Error

Traceback (most recent call last):
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 651, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/Users/odoo/Documents/htdocs/odoo/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 693, in dispatch
    result = self._call_function(**self.params)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 342, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/service/model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 335, in checked_call
    result = self.endpoint(*a, **kw)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 937, in __call__
    return self.method(*args, **kw)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "/Users/odoo/Documents/htdocs/odoo/addons/web/controllers/main.py", line 934, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/Users/odoo/Documents/htdocs/odoo/addons/web/controllers/main.py", line 926, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/api.py", line 689, in call_kw
    return call_kw_multi(method, model, args, kwargs)
  File "/Users/odoo/Documents/htdocs/odoo/odoo/api.py", line 680, in call_kw_multi
    result = method(recs, *args, **kwargs)
TypeError: save_changes() missing 1 required positional argument: 'availability'

Filter the reservations only to pending checkins

As cardex_count is a computed field, it can't not be used in a domain filer in order to filter the reservations with pending cardexes.

The problem is that Non-stored field hotel.reservation.cardex_count cannot be searched

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.