public void MergeFrom(CompleteOpenReservation other)
 {
     if (other == null)
     {
         return;
     }
     if (other.entityId_ != null)
     {
         if (entityId_ == null)
         {
             entityId_ = new global::HOLMS.Types.Booking.Indicators.ReservationIndicator();
         }
         EntityId.MergeFrom(other.EntityId);
     }
     if (other.BookingId.Length != 0)
     {
         BookingId = other.BookingId;
     }
     if (other.State != 0)
     {
         State = other.State;
     }
     if (other.guest_ != null)
     {
         if (guest_ == null)
         {
             guest_ = new global::HOLMS.Types.CRM.Guests.Guest();
         }
         Guest.MergeFrom(other.Guest);
     }
     if (other.dateRange_ != null)
     {
         if (dateRange_ == null)
         {
             dateRange_ = new global::HOLMS.Types.Primitive.PbInclusiveOpsdateRange();
         }
         DateRange.MergeFrom(other.DateRange);
     }
     if (other.NumberAdults != 0)
     {
         NumberAdults = other.NumberAdults;
     }
     if (other.NumberChildren != 0)
     {
         NumberChildren = other.NumberChildren;
     }
     if (other.roomType_ != null)
     {
         if (roomType_ == null)
         {
             roomType_ = new global::HOLMS.Types.Supply.RoomTypes.RoomType();
         }
         RoomType.MergeFrom(other.RoomType);
     }
     additionalGuests_.Add(other.additionalGuests_);
     if (other.TaxExempt != false)
     {
         TaxExempt = other.TaxExempt;
     }
     if (other.GuaranteeStatus != 0)
     {
         GuaranteeStatus = other.GuaranteeStatus;
     }
     if (other.unpaidGuaranteeBalance_ != null)
     {
         if (unpaidGuaranteeBalance_ == null)
         {
             unpaidGuaranteeBalance_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         UnpaidGuaranteeBalance.MergeFrom(other.UnpaidGuaranteeBalance);
     }
     if (other.hkTimePreference_ != null)
     {
         if (hkTimePreference_ == null)
         {
             hkTimePreference_ = new global::HOLMS.Types.Operations.Housekeeping.HousekeepingTime();
         }
         HkTimePreference.MergeFrom(other.HkTimePreference);
     }
     if (other.VehiclePlateInformation.Length != 0)
     {
         VehiclePlateInformation = other.VehiclePlateInformation;
     }
     if (other.CurrentOccupiedRoomNumber.Length != 0)
     {
         CurrentOccupiedRoomNumber = other.CurrentOccupiedRoomNumber;
     }
     if (other.currentOccupiedRoom_ != null)
     {
         if (currentOccupiedRoom_ == null)
         {
             currentOccupiedRoom_ = new global::HOLMS.Types.Operations.Rooms.RoomIndicator();
         }
         CurrentOccupiedRoom.MergeFrom(other.CurrentOccupiedRoom);
     }
     if (other.TerminalOccupiedRoomNumber.Length != 0)
     {
         TerminalOccupiedRoomNumber = other.TerminalOccupiedRoomNumber;
     }
     if (other.terminalOccupiedRoom_ != null)
     {
         if (terminalOccupiedRoom_ == null)
         {
             terminalOccupiedRoom_ = new global::HOLMS.Types.Operations.Rooms.RoomIndicator();
         }
         TerminalOccupiedRoom.MergeFrom(other.TerminalOccupiedRoom);
     }
     activeTags_.Add(other.activeTags_);
     if (other.ChannelManagerId.Length != 0)
     {
         ChannelManagerId = other.ChannelManagerId;
     }
     if (other.SourceChannelId.Length != 0)
     {
         SourceChannelId = other.SourceChannelId;
     }
     if (other.cancellationPolicy_ != null)
     {
         if (cancellationPolicy_ == null)
         {
             cancellationPolicy_ = new global::HOLMS.Types.Booking.Indicators.CancellationPolicyIndicator();
         }
         CancellationPolicy.MergeFrom(other.CancellationPolicy);
     }
 }
 public void MergeFrom(ReservationSummary other)
 {
     if (other == null)
     {
         return;
     }
     if (other.entityId_ != null)
     {
         if (entityId_ == null)
         {
             entityId_ = new global::HOLMS.Types.Booking.Indicators.ReservationIndicator();
         }
         EntityId.MergeFrom(other.EntityId);
     }
     if (other.BookingId.Length != 0)
     {
         BookingId = other.BookingId;
     }
     if (other.State != 0)
     {
         State = other.State;
     }
     if (other.guest_ != null)
     {
         if (guest_ == null)
         {
             guest_ = new global::HOLMS.Types.CRM.Guests.Guest();
         }
         Guest.MergeFrom(other.Guest);
     }
     if (other.dateRange_ != null)
     {
         if (dateRange_ == null)
         {
             dateRange_ = new global::HOLMS.Types.Primitive.PbInclusiveOpsdateRange();
         }
         DateRange.MergeFrom(other.DateRange);
     }
     if (other.roomType_ != null)
     {
         if (roomType_ == null)
         {
             roomType_ = new global::HOLMS.Types.Supply.RoomTypes.RoomType();
         }
         RoomType.MergeFrom(other.RoomType);
     }
     if (other.GuaranteeStatus != 0)
     {
         GuaranteeStatus = other.GuaranteeStatus;
     }
     if (other.tenancy_ != null)
     {
         if (tenancy_ == null)
         {
             tenancy_ = new global::HOLMS.Types.IAM.TenancyIndicator();
         }
         Tenancy.MergeFrom(other.Tenancy);
     }
     if (other.property_ != null)
     {
         if (property_ == null)
         {
             property_ = new global::HOLMS.Types.TenancyConfig.Indicators.PropertyIndicator();
         }
         Property.MergeFrom(other.Property);
     }
     if (other.Channel != 0)
     {
         Channel = other.Channel;
     }
     if (other.VehiclePlateInformation.Length != 0)
     {
         VehiclePlateInformation = other.VehiclePlateInformation;
     }
     if (other.CurrentOccupiedRoomNumber.Length != 0)
     {
         CurrentOccupiedRoomNumber = other.CurrentOccupiedRoomNumber;
     }
     if (other.currentOccupiedRoom_ != null)
     {
         if (currentOccupiedRoom_ == null)
         {
             currentOccupiedRoom_ = new global::HOLMS.Types.Operations.Rooms.RoomIndicator();
         }
         CurrentOccupiedRoom.MergeFrom(other.CurrentOccupiedRoom);
     }
     if (other.TerminalOccupiedRoomNumber.Length != 0)
     {
         TerminalOccupiedRoomNumber = other.TerminalOccupiedRoomNumber;
     }
     if (other.terminalOccupiedRoom_ != null)
     {
         if (terminalOccupiedRoom_ == null)
         {
             terminalOccupiedRoom_ = new global::HOLMS.Types.Operations.Rooms.RoomIndicator();
         }
         TerminalOccupiedRoom.MergeFrom(other.TerminalOccupiedRoom);
     }
     if (other.NumberAdults != 0)
     {
         NumberAdults = other.NumberAdults;
     }
     if (other.NumberChildren != 0)
     {
         NumberChildren = other.NumberChildren;
     }
     activeTags_.Add(other.activeTags_);
     if (other.cancellationPolicy_ != null)
     {
         if (cancellationPolicy_ == null)
         {
             cancellationPolicy_ = new global::HOLMS.Types.Booking.Indicators.CancellationPolicyIndicator();
         }
         CancellationPolicy.MergeFrom(other.CancellationPolicy);
     }
     if (other.hkTimePreference_ != null)
     {
         if (hkTimePreference_ == null)
         {
             hkTimePreference_ = new global::HOLMS.Types.Operations.Housekeeping.HousekeepingTime();
         }
         HkTimePreference.MergeFrom(other.HkTimePreference);
     }
     if (other.createdAt_ != null)
     {
         if (createdAt_ == null)
         {
             createdAt_ = new global::Google.Protobuf.WellKnownTypes.Timestamp();
         }
         CreatedAt.MergeFrom(other.CreatedAt);
     }
     if (other.OutstandingIssuedRoomKeys != 0)
     {
         OutstandingIssuedRoomKeys = other.OutstandingIssuedRoomKeys;
     }
     if (other.OptaRoomStayIndex != 0)
     {
         OptaRoomStayIndex = other.OptaRoomStayIndex;
     }
     if (other.ReservationIdFromChannel.Length != 0)
     {
         ReservationIdFromChannel = other.ReservationIdFromChannel;
     }
 }