Files
pms/hotel_channel_connector/components/backend_adapter.py
QS5ELkMu 9c76c0e932 Finalize Calendar & Connector integration (#69)
* [WIP] Refactor calendar_channel_connector

* [FIX] Hotel Calendar + Hotel Connector

* [ADD] Push URLs

* [IMP] Connector

* [IMP] Notifications

* [ADD] hotel_channel_connector_wubook

* [FIX] missing imports

* [IMP] Clean code
2018-11-25 17:38:24 +01:00

118 lines
3.7 KiB
Python

# Copyright 2018 Alexandre Díaz <dev@redneboa.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.addons.component.core import AbstractComponent
class HotelChannelInterfaceAdapter(AbstractComponent):
_name = 'hotel.channel.adapter'
_inherit = ['base.backend.adapter', 'base.hotel.channel.connector']
_usage = 'backend.adapter'
def push_activation(self, base_url, security_token):
raise NotImplementedError
def create_room(self, shortcode, name, capacity, price, availability):
raise NotImplementedError
def modify_room(self, channel_room_id, name, capacity, price, availability, scode):
raise NotImplementedError
def delete_room(self, channel_room_id):
raise NotImplementedError
def fetch_rooms(self, channel_room_id=0):
raise NotImplementedError
def fetch_rooms_values(self, date_from, date_to, rooms=False):
raise NotImplementedError
def update_availability(self, rooms_avail):
raise NotImplementedError
def corporate_fetch(self):
raise NotImplementedError
def create_reservation(self, channel_room_id, customer_name, email, city,
phone, address, country_code, checkin, checkout,
adults, children, notes=''):
raise NotImplementedError
def cancel_reservation(self, channel_reservation_id, reason=""):
raise NotImplementedError
def fetch_new_bookings(self):
raise NotImplementedError
def fetch_booking(self, channel_reservation_id):
raise NotImplementedError
def mark_bookings(self, channel_reservation_ids):
raise NotImplementedError
def create_plan(self, name, daily=1):
raise NotImplementedError
def delete_plan(self, channel_plan_id):
raise NotImplementedError
def update_plan_name(self, channel_plan_id, new_name):
raise NotImplementedError
def update_plan_prices(self, channel_plan_id, date_from, prices):
raise NotImplementedError
def update_plan_periods(self, channel_plan_id, periods):
raise NotImplementedError
def get_pricing_plans(self):
raise NotImplementedError
def fetch_plan_prices(self, channel_plan_id, date_from, date_to, rooms):
raise NotImplementedError
def rplan_rplans(self):
raise NotImplementedError
def wired_rplan_get_rplan_values(self, date_from, date_to, channel_restriction_plan_id):
raise NotImplementedError
def update_rplan_values(self, channel_restriction_plan_id, date_from, values):
raise NotImplementedError
def create_rplan(self, name, compact=False):
raise NotImplementedError
def rename_rplan(self, channel_restriction_plan_id, new_name):
raise NotImplementedError
def delete_rplan(self, channel_restriction_plan_id):
raise NotImplementedError
def get_channels_info(self):
raise NotImplementedError
@property
def _server(self):
try:
channel_server = getattr(self.work, 'channel_api')
except AttributeError:
raise AttributeError(
'You must provide a channel_api attribute with a '
'ChannelServer instance to be able to use the '
'Backend Adapter.'
)
return channel_server.server
@property
def _session_info(self):
try:
channel_server = getattr(self.work, 'channel_api')
except AttributeError:
raise AttributeError(
'You must provide a channel_api attribute with a '
'ChannelServer instance to be able to use the '
'Backend Adapter.'
)
return (channel_server.session_token, channel_server._login_data.lcode)