[FIX] pms-api-rest: update folio @ folio service to add reservations

This commit is contained in:
miguelpadin
2022-11-23 16:40:02 +01:00
committed by Darío Lodeiros
parent 77b8772d71
commit 236a25e603

View File

@@ -53,6 +53,14 @@ class PmsFolioService(Component):
if folio.internal_comment
else None,
invoiceStatus=folio.invoice_status,
pricelistId=folio.pricelist_id if folio.pricelist_id else None,
saleChannelId=folio.sale_channel_origin_id
if folio.sale_channel_origin_id
else None,
agencyId=folio.agency_id if folio.agency_id else None,
externalReference=folio.external_reference
if folio.external_reference
else None,
)
else:
raise MissingError(_("Folio not found"))
@@ -508,6 +516,43 @@ class PmsFolioService(Component):
reservation.confirm()
if pms_folio_info.internalComment is not None:
folio_vals["internal_comment"]: pms_folio_info.internalComment
for reservation in pms_folio_info.reservations:
vals = {
"folio_id": folio.id,
"room_type_id": reservation.roomTypeId,
"checkin": reservation.checkin,
"checkout": reservation.checkout,
"pms_property_id": pms_folio_info.pmsPropertyId,
"pricelist_id": pms_folio_info.pricelistId,
"external_reference": pms_folio_info.externalReference,
"board_service_room_id": reservation.boardServiceId,
"preferred_room_id": reservation.preferredRoomId,
"adults": reservation.adults,
"reservation_type": pms_folio_info.reservationType,
"children": reservation.children,
}
reservation_record = self.env["pms.reservation"].create(vals)
if reservation.services:
for service in reservation.services:
vals = {
"product_id": service.productId,
"reservation_id": reservation_record.id,
"is_board_service": False,
"service_line_ids": [
(
0,
False,
{
"date": line.date,
"price_unit": line.priceUnit,
"discount": line.discount or 0,
"day_qty": line.quantity,
},
)
for line in service.serviceLines
],
}
self.env["pms.service"].create(vals)
if folio_vals:
folio.write(folio_vals)