V_QUERY_REGISTRANT

This provides the ability to query for event registrants.

Fields

Field Field Type Null Description
ID uniqueidentifier System record ID
EVENTID uniqueidentifier Event system ID
CONSTITUENTID uniqueidentifier yes Constituent system ID
REGISTRANTNAME nvarchar(700) yes Name
GUESTOFREGISTRANTID uniqueidentifier yes Guest of registrant system ID
ATTENDED bit Attended
WILLNOTATTEND bit Will not attend
EVENTSEATINGNOTE nvarchar(250) Seating note
HOSTNAME nvarchar(700) yes Host name
NOOFGUESTS int yes Number of guests
ONLINEREGISTRANT bit Online registrant
ISGUEST int Is guest
BALANCE money yes Balance
DATEADDED datetime Date added
DATECHANGED datetime Date changed
TSLONG bigint yes Timestamp value
ADDEDBY_APPLICATION nvarchar(200) yes Added by application
ADDEDBY_USERNAME nvarchar(128) yes Added by user name
CHANGEDBY_APPLICATION nvarchar(200) yes Changed by application
CHANGEDBY_USERNAME nvarchar(128) yes Changed by user name
SECTIONNAME nvarchar(100) yes Section name
SECTIONNUMBER int yes Section number
SUBSECTIONNAME nvarchar(100) yes Table/row name
SUBSECTIONNUMBER int yes Table/row number
SEATNAME nvarchar(100) yes Seat name
SEATNUMBER int yes Seat number
REGISTRANTLOOKUPID nvarchar(100) yes Registrant ID
NOTES nvarchar(255) Notes
ISCANCELLED bit Is canceled
BASECURRENCYID uniqueidentifier yes Base currency ID
GROUPID uniqueidentifier yes Group ID
PARTICIPANTPAGEFRIENDLYURL nvarchar(100) yes Participant page friendly URL
TEAMFRIENDLYURL nvarchar(100) yes Team page friendly URL
COMPANYFRIENDLYURL nvarchar(100) yes Company page friendly URL
HOUSEHOLDFRIENDLYURL nvarchar(100) yes Household page friendly URL
REGISTRATIONROLES varchar(17) yes Registration roles
WAIVERACCEPTED bit yes Waiver
IsStoryPersonalized int Story personalized
IsVideoPersonalized int Image or video personalized
NumberReturningParticipant int yes Returning participant
IsNextYearRegistrant int Is next year's registrant
ORGANIZATIONBALANCE money yes Balance (organization currency)
REGISTRANTTRAVELID uniqueidentifier yes Registrant travel ID
TYPE varchar(15) Type
STATUS varchar(15) Status
ATTENDED2 varchar(7) yes Attended/No Show
REGISTRANTLODGINGID uniqueidentifier yes Registrant lodging ID
EVENTGROUPNAME nvarchar(100) yes

Definition

Copy
/*
Generated by Blackbaud AppFx Platform
Date:  2/9/2018 5:32:52 PM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=4.0.174.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE VIEW dbo.V_QUERY_REGISTRANT AS



                select
                    REGISTRANT.ID,
                    REGISTRANT.EVENTID,
                    REGISTRANT.CONSTITUENTID,
                    dbo.UFN_REGISTRANT_GETNAME(REGISTRANT.ID) as [REGISTRANTNAME],
                    REGISTRANT.GUESTOFREGISTRANTID,
                    REGISTRANT.ATTENDED,
                    REGISTRANT.WILLNOTATTEND,
                    REGISTRANT.EVENTSEATINGNOTE,
                    dbo.UFN_REGISTRANT_GETHOSTNAME(REGISTRANT.ID, REGISTRANT.GUESTOFREGISTRANTID) as [HOSTNAME],
                    coalesce((select count(GUESTS.ID) from dbo.REGISTRANT as GUESTS where GUESTS.GUESTOFREGISTRANTID = REGISTRANT.ID), 0) as NOOFGUESTS,
                    REGISTRANT.ONLINEREGISTRANT,
                    case when REGISTRANT.GUESTOFREGISTRANTID is not null then 1 else 0 end as [ISGUEST],
                    REGISTRANTBALANCE.BALANCE,
                    REGISTRANT.DATEADDED,
                    REGISTRANT.DATECHANGED,
                    REGISTRANT.TSLONG,
                    ADDEDBY.APPLICATIONNAME as ADDEDBY_APPLICATION,
                    ADDEDBY.USERNAME as ADDEDBY_USERNAME,
                    CHANGEDBY.APPLICATIONNAME as CHANGEDBY_APPLICATION,
                    CHANGEDBY.USERNAME as CHANGEDBY_USERNAME,
                    case SEATING.SUBSECTIONTYPECODE when 2 then
                        SUBSECTION.NAME
                    else
                        SECTION.NAME 
                    end as [SECTIONNAME],
                    SECTION.SEQUENCE [SECTIONNUMBER],
                    case when SEATING.SUBSECTIONTYPECODE = 2 then null else SUBSECTION.NAME end as [SUBSECTIONNAME],
                    case when SEATING.SUBSECTIONTYPECODE = 2 then null else SUBSECTION.SEQUENCE end as [SUBSECTIONNUMBER],
                    SEAT.NAME [SEATNAME],
                    SEAT.SEQUENCE [SEATNUMBER],
                    REGISTRANT.LOOKUPID [REGISTRANTLOOKUPID],
                    REGISTRANT.NOTES,
                    REGISTRANT.ISCANCELLED,
                    EVENT.BASECURRENCYID as [BASECURRENCYID]

                    ,TFT.ID as GROUPID
                    --Friendly Url

                    ,dbo.UFN_FAF_FRIENDLYURLS(C.ID,0) PARTICIPANTPAGEFRIENDLYURL
                    ,case when TE.TYPECODE=1 then dbo.UFN_FAF_FRIENDLYURLS(C.ID,1) ELSE NULL END AS  TEAMFRIENDLYURL
                    ,case when TE.TYPECODE=2 then dbo.UFN_FAF_FRIENDLYURLS(C.ID,2) ELSE NULL END AS  COMPANYFRIENDLYURL
                    ,case when TE.TYPECODE=3 then dbo.UFN_FAF_FRIENDLYURLS(C.ID,3) ELSE NULL END AS  HOUSEHOLDFRIENDLYURL

                    --Registration

                    --,(select Role   

                    --from dbo.UFN_REGISTRANT_GETFAFROLE(REGISTRANT.EVENTID,TFT.ID)  

                    --where REGISTRANTID=REGISTRANT.ID) as REGISTRATIONROLES  

                    ,case when TE.ID is not null and TFTC.ID is not null and TE.TYPECODE = 3 then 'Head of household'  
                     when TE.ID is not null and TFTC.ID is null and TE.TYPECODE = 3 then 'Household member'  
                     when TE.ID is not null and TFTC.ID is not null and TE.TYPECODE = 1 then 'Team leader'  
                     when TE.ID is not null and TFTC.ID is null and (TE.TYPECODE = 1) then 'Team member'  
                     when TE.ID is not null and TFTC.ID is not null and TE.TYPECODE = 2 then 'Company leader'  
                     when TE.ID is not null and TFTC.ID is null and (TE.TYPECODE = 2) then 'Individual'  
                     when TE.ID is null then 'Individual' end as [REGISTRATIONROLES]   
                    ,RW.ISCURRENT AS WAIVERACCEPTED

                    , case when story.ID IS NULL THEN 0 ELSE 1 END as IsStoryPersonalized
                    , case when VIDEO.ID IS NULL THEN 0 ELSE 1 END as IsVideoPersonalized
                    , (select COUNT(*) from FAFCOMMUNICATIONSLOG  F
                        inner join REGISTRANT R ON R.ID=REGISTRANT.ID AND dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(R.ConstituentID)=F.CLIENTUSERSID
                        inner join FAFEVENTCOMMUNICATIONCHANNEL fc on f.EMAILJOBID = fc.EMAILJOBID                    
                       ) as NumberReturningParticipant 

                    , case when NextReg.ID is null then 0 else 1 end as IsNextYearRegistrant
                    , REGISTRANTBALANCE.[BALANCEINCURRENCY] as [ORGANIZATIONBALANCE],
                    REGISTRANTTRAVEL.ID [REGISTRANTTRAVELID],
                    case
                        when REGISTRANT.ISWALKIN = 1 then 'Walk-in'
                        when INVITEE.ID is not null then 'Invitation'
                        else 'Preregistration'
                    end[TYPE],
                    case 
                        when INVITEE.DECLINED = 1 AND REGISTRANT.ID is null then 'Declined'
                        when REGISTRANT.ISCANCELLED = 1 then 'Canceled'
                        when REGISTRANT.WILLNOTATTEND = 1 then 'Will not attend'
                        else 'Registered'
                    end as [STATUS],
                    case
                        when REGISTRANT.ATTENDED = 1 then 'Yes'
                        when REGISTRANT.ISCANCELLED = 1 or REGISTRANT.WILLNOTATTEND = 1 then 'No'
                        when EVENT.ISPROCESSED = 1 or REGISTRANT.USERMARKEDATTENDANCE = 1 and REGISTRANT.ATTENDED = 0 then 'No-show'
                    end [ATTENDED2],
                    REGISTRANTLODGING.ID REGISTRANTLODGINGID,
                    EVENTGROUP.NAME EVENTGROUPNAME

                    /*#EXTENSION*/ 

                from
                    dbo.REGISTRANT
                    left join dbo.UFN_EVENTREGISTRANT_GETBALANCEINCURRENCY_BULK(null) as REGISTRANTBALANCE on REGISTRANT.ID = REGISTRANTBALANCE.ID -- null indicates ORGANIZATIONCURRENCY

                    left join dbo.REGISTRANT GUESTOF on GUESTOF.ID = REGISTRANT.GUESTOFREGISTRANTID

                    -- Bug 263947

                    outer apply (
                        select top 1 *
                        from dbo.INVITEE
                        where INVITEE.EVENTID = REGISTRANT.EVENTID 
                            and coalesce(GUESTOF.CONSTITUENTID,REGISTRANT.CONSTITUENTID) = INVITEE.CONSTITUENTID 
                            and INVITEE.INVITATIONSENTON is not null
                        order by INVITEE.INVITATIONSENTON desc
                    ) as INVITEE
                    --left join dbo.INVITEE INVITEE on INVITEE.EVENTID = REGISTRANT.EVENTID and coalesce(GUESTOF.CONSTITUENTID,REGISTRANT.CONSTITUENTID) = INVITEE.CONSTITUENTID and INVITEE.INVITATIONSENTON is not null


                    inner join dbo.EVENT as EVENT on EVENT.ID = REGISTRANT.EVENTID                    
                    left join dbo.EVENTSEATINGSEAT as SEAT on REGISTRANT.ID = SEAT.REGISTRANTID
                    left join dbo.EVENTSEATINGSUBSECTION as SUBSECTION on SUBSECTION.ID = SEAT.EVENTSEATINGSUBSECTIONID
                    left join dbo.EVENTSEATINGSECTION as SECTION on SECTION.ID = SUBSECTION.EVENTSEATINGSECTIONID
                    left join dbo.EVENTSEATING as SEATING on SEATING.ID = SECTION.EVENTSEATINGID
                    --Friendly URL

                    left join dbo.CONSTITUENT C ON C.ID=REGISTRANT.CONSTITUENTID 
                    left outer join dbo.TEAMFUNDRAISER TF on TF.CONSTITUENTID=C.ID AND TF.APPEALID=EVENT.APPEALID 
                    left outer join dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM ON TFTM.TEAMFUNDRAISERID =TF.ID 
                    left outer join dbo.TEAMFUNDRAISINGTEAM TFT ON TFT.ID=TFTM.TEAMFUNDRAISINGTEAMID 
                    left outer join dbo.TEAMEXTENSION TE ON TE.TEAMFUNDRAISINGTEAMID=TFT.ID
                    --Registration

                    left join dbo.REGISTRATIONWAIVER as RW ON RW.EVENTID=REGISTRANT.EVENTID

                    left join dbo.CHANGEAGENT as ADDEDBY on ADDEDBY.ID = REGISTRANT.ADDEDBYID
                    left join dbo.CHANGEAGENT as CHANGEDBY on CHANGEDBY.ID = REGISTRANT.CHANGEDBYID

                    left join dbo.STORY on STORY.REGISTRANTID=registrant.ID 
                    left join dbo.VIDEO on VIDEO.CONSTITUENTID=REGISTRANT.CONSTITUENTID 

                    --next year's registrant

                    left join dbo.EVENTEXTENSION NextET on  NextET.PRIORYEAREVENTID = REGISTRANT.EVENTID 
                    left join dbo.REGISTRANT NextReg on NextReg.EVENTID = NextET.EVENTID and NextReg.CONSTITUENTID = REGISTRANT.CONSTITUENTID
                    left join dbo.REGISTRANTTRAVEL on REGISTRANTTRAVEL.MAINEVENTID = coalesce(EVENT.MAINEVENTID, EVENT.ID) and REGISTRANTTRAVEL.REGISTRANTCONSTITUENTID = REGISTRANT.CONSTITUENTID

                    left join dbo.REGISTRANTLODGING on REGISTRANTLODGING.REGISTRANTCONSTITUENTID = REGISTRANT.CONSTITUENTID and REGISTRANTLODGING.EVENTID = REGISTRANT.EVENTID

                    --role 

                    left outer join dbo.TEAMFUNDRAISINGTEAMCAPTAIN TFTC on TF.CONSTITUENTID = TFTC.CONSTITUENTID and TE.TEAMFUNDRAISINGTEAMID = TFTC.TEAMFUNDRAISINGTEAMID     
                    left join dbo.EVENTGROUPMEMBER on EVENTGROUPMEMBER.REGISTRANTID = REGISTRANT.ID
                    left join dbo.EVENTGROUP on EVENTGROUP.ID = EVENTGROUPMEMBER.EVENTGROUPID