public void Write(TProtocol oprot)
        {
            TStruct struc = new TStruct("PooledBooking");

            oprot.WriteStructBegin(struc);
            TField field = new TField();

            if (__isset.numPax)
            {
                field.Name = "numPax";
                field.Type = TType.I32;
                field.ID   = 1;
                oprot.WriteFieldBegin(field);
                oprot.WriteI32(NumPax);
                oprot.WriteFieldEnd();
            }
            if (__isset.startTime)
            {
                field.Name = "startTime";
                field.Type = TType.I64;
                field.ID   = 2;
                oprot.WriteFieldBegin(field);
                oprot.WriteI64(StartTime);
                oprot.WriteFieldEnd();
            }
            if (Src != null && __isset.src)
            {
                field.Name = "src";
                field.Type = TType.Struct;
                field.ID   = 3;
                oprot.WriteFieldBegin(field);
                Src.Write(oprot);
                oprot.WriteFieldEnd();
            }
            if (Dst != null && __isset.dst)
            {
                field.Name = "dst";
                field.Type = TType.Struct;
                field.ID   = 4;
                oprot.WriteFieldBegin(field);
                Dst.Write(oprot);
                oprot.WriteFieldEnd();
            }
            oprot.WriteFieldStop();
            oprot.WriteStructEnd();
        }