public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    input.SkipLastField();
                    break;

                case 10: {
                    if (entityId_ == null)
                    {
                        entityId_ = new global::HOLMS.Types.Booking.Indicators.ReservationIndicator();
                    }
                    input.ReadMessage(entityId_);
                    break;
                }

                case 18: {
                    BookingId = input.ReadString();
                    break;
                }

                case 24: {
                    state_ = (global::HOLMS.Types.Booking.Reservations.ReservationState)input.ReadEnum();
                    break;
                }

                case 34: {
                    if (guest_ == null)
                    {
                        guest_ = new global::HOLMS.Types.CRM.Guests.Guest();
                    }
                    input.ReadMessage(guest_);
                    break;
                }

                case 42: {
                    if (dateRange_ == null)
                    {
                        dateRange_ = new global::HOLMS.Types.Primitive.PbInclusiveOpsdateRange();
                    }
                    input.ReadMessage(dateRange_);
                    break;
                }

                case 48: {
                    NumberAdults = input.ReadInt32();
                    break;
                }

                case 56: {
                    NumberChildren = input.ReadInt32();
                    break;
                }

                case 66: {
                    if (roomType_ == null)
                    {
                        roomType_ = new global::HOLMS.Types.Supply.RoomTypes.RoomType();
                    }
                    input.ReadMessage(roomType_);
                    break;
                }

                case 74: {
                    additionalGuests_.AddEntriesFrom(input, _repeated_additionalGuests_codec);
                    break;
                }

                case 88: {
                    TaxExempt = input.ReadBool();
                    break;
                }

                case 96: {
                    guaranteeStatus_ = (global::HOLMS.Types.Booking.Reservations.ReservationGuaranteeStatus)input.ReadEnum();
                    break;
                }

                case 106: {
                    if (unpaidGuaranteeBalance_ == null)
                    {
                        unpaidGuaranteeBalance_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
                    }
                    input.ReadMessage(unpaidGuaranteeBalance_);
                    break;
                }

                case 122: {
                    if (hkTimePreference_ == null)
                    {
                        hkTimePreference_ = new global::HOLMS.Types.Operations.Housekeeping.HousekeepingTime();
                    }
                    input.ReadMessage(hkTimePreference_);
                    break;
                }

                case 130: {
                    VehiclePlateInformation = input.ReadString();
                    break;
                }

                case 138: {
                    CurrentOccupiedRoomNumber = input.ReadString();
                    break;
                }

                case 146: {
                    if (currentOccupiedRoom_ == null)
                    {
                        currentOccupiedRoom_ = new global::HOLMS.Types.Operations.Rooms.RoomIndicator();
                    }
                    input.ReadMessage(currentOccupiedRoom_);
                    break;
                }

                case 154: {
                    TerminalOccupiedRoomNumber = input.ReadString();
                    break;
                }

                case 162: {
                    if (terminalOccupiedRoom_ == null)
                    {
                        terminalOccupiedRoom_ = new global::HOLMS.Types.Operations.Rooms.RoomIndicator();
                    }
                    input.ReadMessage(terminalOccupiedRoom_);
                    break;
                }

                case 170: {
                    activeTags_.AddEntriesFrom(input, _repeated_activeTags_codec);
                    break;
                }

                case 178: {
                    ChannelManagerId = input.ReadString();
                    break;
                }

                case 186: {
                    SourceChannelId = input.ReadString();
                    break;
                }

                case 194: {
                    if (cancellationPolicy_ == null)
                    {
                        cancellationPolicy_ = new global::HOLMS.Types.Booking.Indicators.CancellationPolicyIndicator();
                    }
                    input.ReadMessage(cancellationPolicy_);
                    break;
                }
                }
            }
        }
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    input.SkipLastField();
                    break;

                case 10: {
                    if (entityId_ == null)
                    {
                        entityId_ = new global::HOLMS.Types.Booking.Indicators.ReservationIndicator();
                    }
                    input.ReadMessage(entityId_);
                    break;
                }

                case 18: {
                    BookingId = input.ReadString();
                    break;
                }

                case 24: {
                    state_ = (global::HOLMS.Types.Booking.Reservations.ReservationState)input.ReadEnum();
                    break;
                }

                case 34: {
                    if (guest_ == null)
                    {
                        guest_ = new global::HOLMS.Types.CRM.Guests.Guest();
                    }
                    input.ReadMessage(guest_);
                    break;
                }

                case 42: {
                    if (dateRange_ == null)
                    {
                        dateRange_ = new global::HOLMS.Types.Primitive.PbInclusiveOpsdateRange();
                    }
                    input.ReadMessage(dateRange_);
                    break;
                }

                case 50: {
                    if (roomType_ == null)
                    {
                        roomType_ = new global::HOLMS.Types.Supply.RoomTypes.RoomType();
                    }
                    input.ReadMessage(roomType_);
                    break;
                }

                case 56: {
                    guaranteeStatus_ = (global::HOLMS.Types.Booking.Reservations.ReservationGuaranteeStatus)input.ReadEnum();
                    break;
                }

                case 66: {
                    if (tenancy_ == null)
                    {
                        tenancy_ = new global::HOLMS.Types.IAM.TenancyIndicator();
                    }
                    input.ReadMessage(tenancy_);
                    break;
                }

                case 74: {
                    if (property_ == null)
                    {
                        property_ = new global::HOLMS.Types.TenancyConfig.Indicators.PropertyIndicator();
                    }
                    input.ReadMessage(property_);
                    break;
                }

                case 80: {
                    channel_ = (global::HOLMS.Types.Booking.Channels.Channel)input.ReadEnum();
                    break;
                }

                case 90: {
                    VehiclePlateInformation = input.ReadString();
                    break;
                }

                case 98: {
                    CurrentOccupiedRoomNumber = input.ReadString();
                    break;
                }

                case 106: {
                    if (currentOccupiedRoom_ == null)
                    {
                        currentOccupiedRoom_ = new global::HOLMS.Types.Operations.Rooms.RoomIndicator();
                    }
                    input.ReadMessage(currentOccupiedRoom_);
                    break;
                }

                case 114: {
                    TerminalOccupiedRoomNumber = input.ReadString();
                    break;
                }

                case 122: {
                    if (terminalOccupiedRoom_ == null)
                    {
                        terminalOccupiedRoom_ = new global::HOLMS.Types.Operations.Rooms.RoomIndicator();
                    }
                    input.ReadMessage(terminalOccupiedRoom_);
                    break;
                }

                case 128: {
                    NumberAdults = input.ReadInt32();
                    break;
                }

                case 136: {
                    NumberChildren = input.ReadInt32();
                    break;
                }

                case 146: {
                    activeTags_.AddEntriesFrom(input, _repeated_activeTags_codec);
                    break;
                }

                case 170: {
                    if (cancellationPolicy_ == null)
                    {
                        cancellationPolicy_ = new global::HOLMS.Types.Booking.Indicators.CancellationPolicyIndicator();
                    }
                    input.ReadMessage(cancellationPolicy_);
                    break;
                }

                case 178: {
                    if (hkTimePreference_ == null)
                    {
                        hkTimePreference_ = new global::HOLMS.Types.Operations.Housekeeping.HousekeepingTime();
                    }
                    input.ReadMessage(hkTimePreference_);
                    break;
                }

                case 186: {
                    if (createdAt_ == null)
                    {
                        createdAt_ = new global::Google.Protobuf.WellKnownTypes.Timestamp();
                    }
                    input.ReadMessage(createdAt_);
                    break;
                }

                case 192: {
                    OutstandingIssuedRoomKeys = input.ReadInt32();
                    break;
                }

                case 200: {
                    OptaRoomStayIndex = input.ReadInt32();
                    break;
                }

                case 210: {
                    ReservationIdFromChannel = input.ReadString();
                    break;
                }
                }
            }
        }