// Code generated by jtd-codegen for Go v0.2.1. DO NOT EDIT.

package typedef

import "time"

type Senzingsdk = interface{}

type AdditionalScores struct {
	FullScore int32 `json:"FULL_SCORE"`

	GenerationMatch int32 `json:"GENERATION_MATCH"`

	GnrFn int32 `json:"GNR_FN"`

	GnrGn int32 `json:"GNR_GN"`

	GnrOn int32 `json:"GNR_ON"`

	GnrSn int32 `json:"GNR_SN"`
}

type AffectedEntity struct {
	// The ENTITY_ID is the Senzing-generated identifier for the discovered entity.
	// It may change when new information is added.
	EntityID int64 `json:"ENTITY_ID"`
}

type CfgAttr struct {
	AttrClass string `json:"ATTR_CLASS"`

	AttrCode string `json:"ATTR_CODE"`

	AttrID int64 `json:"ATTR_ID"`

	DefaultValue string `json:"DEFAULT_VALUE"`

	FelemCode string `json:"FELEM_CODE"`

	FelemReq string `json:"FELEM_REQ"`

	FtypeCode string `json:"FTYPE_CODE"`

	Internal string `json:"INTERNAL"`

	XxxAdvanced string `json:"XXX_ADVANCED"`
}

type CfgCfbom struct {
	CfcallID int64 `json:"CFCALL_ID"`

	ExecOrder int64 `json:"EXEC_ORDER"`

	FelemID int64 `json:"FELEM_ID"`

	FtypeID int64 `json:"FTYPE_ID"`
}

type CfgCfcall struct {
	CfcallID int64 `json:"CFCALL_ID"`

	CfuncID int64 `json:"CFUNC_ID"`

	FtypeID int64 `json:"FTYPE_ID"`

	XxxExecOrder int64 `json:"XXX_EXEC_ORDER"`
}

type CfgCfrtn struct {
	CfrtnID int64 `json:"CFRTN_ID"`

	CfuncID int64 `json:"CFUNC_ID"`

	CfuncRtnval string `json:"CFUNC_RTNVAL"`

	CloseScore int64 `json:"CLOSE_SCORE"`

	ExecOrder int64 `json:"EXEC_ORDER"`

	FtypeID int64 `json:"FTYPE_ID"`

	LikelyScore int64 `json:"LIKELY_SCORE"`

	PlausibleScore int64 `json:"PLAUSIBLE_SCORE"`

	SameScore int64 `json:"SAME_SCORE"`

	UnLikelyScore int64 `json:"UN_LIKELY_SCORE"`
}

type CfgCfunc struct {
	AnonSupport string `json:"ANON_SUPPORT"`

	CfuncCode string `json:"CFUNC_CODE"`

	CfuncDesc string `json:"CFUNC_DESC"`

	CfuncID int64 `json:"CFUNC_ID"`

	ConnectStr string `json:"CONNECT_STR"`

	XxxFuncLib string `json:"XXX_FUNC_LIB"`

	XxxFuncVer string `json:"XXX_FUNC_VER"`

	XxxJavaClassName string `json:"XXX_JAVA_CLASS_NAME"`

	XxxLanguage string `json:"XXX_LANGUAGE"`
}

type CfgDfbom struct {
	DfcallID int64 `json:"DFCALL_ID"`

	ExecOrder int64 `json:"EXEC_ORDER"`

	FelemID int64 `json:"FELEM_ID"`

	FtypeID int64 `json:"FTYPE_ID"`
}

type CfgDfcall struct {
	DfcallID int64 `json:"DFCALL_ID"`

	DfuncID int64 `json:"DFUNC_ID"`

	FtypeID int64 `json:"FTYPE_ID"`

	XxxExecOrder int64 `json:"XXX_EXEC_ORDER"`
}

type CfgDfunc struct {
	AnonSupport string `json:"ANON_SUPPORT"`

	ConnectStr string `json:"CONNECT_STR"`

	DfuncCode string `json:"DFUNC_CODE"`

	DfuncDesc string `json:"DFUNC_DESC"`

	DfuncID int64 `json:"DFUNC_ID"`

	XxxFuncLib string `json:"XXX_FUNC_LIB"`

	XxxFuncVer string `json:"XXX_FUNC_VER"`

	XxxJavaClassName string `json:"XXX_JAVA_CLASS_NAME"`

	XxxLanguage string `json:"XXX_LANGUAGE"`
}

type CfgDsrc struct {
	DsrcCode string `json:"DSRC_CODE"`

	DsrcDesc string `json:"DSRC_DESC"`

	DsrcID int64 `json:"DSRC_ID"`

	RetentionLevel string `json:"RETENTION_LEVEL"`

	XxxConversational string `json:"XXX_CONVERSATIONAL"`

	XxxDsrcRely int64 `json:"XXX_DSRC_RELY"`
}

type CfgDsrcInterest struct {
	XxxDsrcID int64 `json:"XXX_DSRC_ID"`

	XxxInterestFlag string `json:"XXX_INTEREST_FLAG"`

	XxxMaxDegree int64 `json:"XXX_MAX_DEGREE"`
}

type CfgEbom struct {
	XxxEtypeID int64 `json:"XXX_ETYPE_ID"`

	XxxExecOrder int64 `json:"XXX_EXEC_ORDER"`

	XxxFtypeID int64 `json:"XXX_FTYPE_ID"`

	XxxUtypeCode string `json:"XXX_UTYPE_CODE"`
}

type CfgEclass struct {
	XxxEclassCode string `json:"XXX_ECLASS_CODE"`

	XxxEclassDesc string `json:"XXX_ECLASS_DESC"`

	XxxEclassID int64 `json:"XXX_ECLASS_ID"`

	XxxResolve string `json:"XXX_RESOLVE"`
}

type CfgEfbom struct {
	EfcallID int64 `json:"EFCALL_ID"`

	ExecOrder int64 `json:"EXEC_ORDER"`

	FelemID int64 `json:"FELEM_ID"`

	FelemReq string `json:"FELEM_REQ"`

	FtypeID int64 `json:"FTYPE_ID"`
}

type CfgEfcall struct {
	EfcallID int64 `json:"EFCALL_ID"`

	EfeatFtypeID int64 `json:"EFEAT_FTYPE_ID"`

	EfuncID int64 `json:"EFUNC_ID"`

	ExecOrder int64 `json:"EXEC_ORDER"`

	FelemID int64 `json:"FELEM_ID"`

	FtypeID int64 `json:"FTYPE_ID"`

	IsVirtual string `json:"IS_VIRTUAL"`
}

type CfgEfunc struct {
	ConnectStr string `json:"CONNECT_STR"`

	EfuncCode string `json:"EFUNC_CODE"`

	EfuncDesc string `json:"EFUNC_DESC"`

	EfuncID int64 `json:"EFUNC_ID"`

	XxxFuncLib string `json:"XXX_FUNC_LIB"`

	XxxFuncVer string `json:"XXX_FUNC_VER"`

	XxxJavaClassName string `json:"XXX_JAVA_CLASS_NAME"`

	XxxLanguage string `json:"XXX_LANGUAGE"`
}

type CfgErfrag struct {
	ErfragCode string `json:"ERFRAG_CODE"`

	ErfragDepends string `json:"ERFRAG_DEPENDS"`

	ErfragDesc string `json:"ERFRAG_DESC"`

	ErfragID int64 `json:"ERFRAG_ID"`

	ErfragSource string `json:"ERFRAG_SOURCE"`
}

type CfgErrule struct {
	DisqErfragCode string `json:"DISQ_ERFRAG_CODE"`

	// Identifier of the entity resolution rule that was triggered.
	ErruleCode string `json:"ERRULE_CODE"`

	ErruleID int64 `json:"ERRULE_ID"`

	ErruleTier int64 `json:"ERRULE_TIER"`

	QualErfragCode string `json:"QUAL_ERFRAG_CODE"`

	Relate string `json:"RELATE"`

	Resolve string `json:"RESOLVE"`

	RtypeID int64 `json:"RTYPE_ID"`

	XxxErruleDesc string `json:"XXX_ERRULE_DESC"`

	XxxRefScore int64 `json:"XXX_REF_SCORE"`
}

type CfgEtype struct {
	XxxEclassID int64 `json:"XXX_ECLASS_ID"`

	XxxEtypeCode string `json:"XXX_ETYPE_CODE"`

	XxxEtypeDesc string `json:"XXX_ETYPE_DESC"`

	XxxEtypeID int64 `json:"XXX_ETYPE_ID"`
}

type CfgFbom struct {
	Derived string `json:"DERIVED"`

	DisplayLevel int64 `json:"DISPLAY_LEVEL"`

	ExecOrder int64 `json:"EXEC_ORDER"`

	FelemID int64 `json:"FELEM_ID"`

	FtypeID int64 `json:"FTYPE_ID"`

	XxxDisplayDelim string `json:"XXX_DISPLAY_DELIM"`
}

type CfgFbovr struct {
	FtypeExcl string `json:"FTYPE_EXCL"`

	FtypeFreq string `json:"FTYPE_FREQ"`

	FtypeID int64 `json:"FTYPE_ID"`

	FtypeStab string `json:"FTYPE_STAB"`

	UtypeCode string `json:"UTYPE_CODE"`

	XxxEclassID int64 `json:"XXX_ECLASS_ID"`
}

type CfgFclass struct {
	FclassCode string `json:"FCLASS_CODE"`

	FclassDesc string `json:"FCLASS_DESC"`

	FclassID int64 `json:"FCLASS_ID"`
}

type CfgFelem struct {
	DataType string `json:"DATA_TYPE"`

	FelemCode string `json:"FELEM_CODE"`

	FelemDesc string `json:"FELEM_DESC"`

	FelemID int64 `json:"FELEM_ID"`

	XxxTokenize string `json:"XXX_TOKENIZE"`
}

type CfgFtype struct {
	Anonymize string `json:"ANONYMIZE"`

	Derived string `json:"DERIVED"`

	FclassID int64 `json:"FCLASS_ID"`

	FtypeCode string `json:"FTYPE_CODE"`

	FtypeDesc string `json:"FTYPE_DESC"`

	FtypeExcl string `json:"FTYPE_EXCL"`

	FtypeFreq string `json:"FTYPE_FREQ"`

	FtypeID int64 `json:"FTYPE_ID"`

	FtypeStab string `json:"FTYPE_STAB"`

	PersistHistory string `json:"PERSIST_HISTORY"`

	RtypeID int64 `json:"RTYPE_ID"`

	ShowInMatchKey string `json:"SHOW_IN_MATCH_KEY"`

	UsedForCand string `json:"USED_FOR_CAND"`

	Version int64 `json:"VERSION"`

	XxxDerivation string `json:"XXX_DERIVATION"`
}

type CfgGenericThreshold struct {
	Behavior string `json:"BEHAVIOR"`

	CandidateCap int64 `json:"CANDIDATE_CAP"`

	FtypeID int64 `json:"FTYPE_ID"`

	GplanID int64 `json:"GPLAN_ID"`

	ScoringCap int64 `json:"SCORING_CAP"`

	SendToRedo string `json:"SEND_TO_REDO"`
}

type CfgGplan struct {
	GplanCode string `json:"GPLAN_CODE"`

	GplanDesc string `json:"GPLAN_DESC"`

	GplanID int64 `json:"GPLAN_ID"`
}

type CfgLens struct {
	XxxLensCode string `json:"XXX_LENS_CODE"`

	XxxLensDesc string `json:"XXX_LENS_DESC"`

	XxxLensID int64 `json:"XXX_LENS_ID"`
}

type CfgLensrl = []Fixme

type CfgRclass struct {
	// Indicates if this is a disclosed relationship.
	IsDisclosed string `json:"IS_DISCLOSED"`

	RclassCode string `json:"RCLASS_CODE"`

	RclassDesc string `json:"RCLASS_DESC"`

	RclassID int64 `json:"RCLASS_ID"`
}

type CfgRtype struct {
	BreakRes string `json:"BREAK_RES"`

	RclassID int64 `json:"RCLASS_ID"`

	RtypeCode string `json:"RTYPE_CODE"`

	RtypeDesc string `json:"RTYPE_DESC"`

	RtypeID int64 `json:"RTYPE_ID"`

	XxxRelStrength int64 `json:"XXX_REL_STRENGTH"`
}

type CfgSfcall struct {
	ExecOrder int64 `json:"EXEC_ORDER"`

	FelemID int64 `json:"FELEM_ID"`

	FtypeID int64 `json:"FTYPE_ID"`

	SfcallID int64 `json:"SFCALL_ID"`

	SfuncID int64 `json:"SFUNC_ID"`
}

type CfgSfunc struct {
	ConnectStr string `json:"CONNECT_STR"`

	SfuncCode string `json:"SFUNC_CODE"`

	SfuncDesc string `json:"SFUNC_DESC"`

	SfuncID int64 `json:"SFUNC_ID"`

	XxxFuncLib string `json:"XXX_FUNC_LIB"`

	XxxFuncVer string `json:"XXX_FUNC_VER"`

	XxxJavaClassName string `json:"XXX_JAVA_CLASS_NAME"`

	XxxLanguage string `json:"XXX_LANGUAGE"`
}

type ConfigBaseVersion struct {
	BuildDate string `json:"BUILD_DATE"`

	BuildNumber string `json:"BUILD_NUMBER"`

	BuildVersion string `json:"BUILD_VERSION"`

	CompatibilityVersion CompatibilityVersion `json:"COMPATIBILITY_VERSION"`

	Version string `json:"VERSION"`

	XxxProductName string `json:"XXX_PRODUCT_NAME"`
}

type CandidateKeysForMatchInfo = map[string][]MatchInfoForAttribute

type CandidateKeysForSearchStatistic struct {
	FeatureTypes []FeatureType `json:"FEATURE_TYPES"`

	Summary CandidateKeysSummary `json:"SUMMARY"`
}

type CandidateKeysSummary struct {
	Found int64 `json:"FOUND"`

	Generic int64 `json:"GENERIC"`

	NotFound int64 `json:"NOT_FOUND"`
}

type CompatibilityVersion struct {
	ConfigVersion string `json:"CONFIG_VERSION"`
}

type Config struct {
	// A user-provided description of the configuration.
	ConfigComments string `json:"CONFIG_COMMENTS"`

	// An internally-generated unique identifier of the configuration.
	ConfigID int64 `json:"CONFIG_ID"`

	// The timestamp of the original registration of the configuration.
	SysCreateDt string `json:"SYS_CREATE_DT"`
}

type Confirmation struct {
	AdditionalScores AdditionalScores `json:"ADDITIONAL_SCORES"`

	CandidateFeatDesc string `json:"CANDIDATE_FEAT_DESC"`

	CandidateFeatID int64 `json:"CANDIDATE_FEAT_ID"`

	CandidateFeatUsageType string `json:"CANDIDATE_FEAT_USAGE_TYPE"`

	// Internal use.
	FtypeCode string `json:"FTYPE_CODE"`

	InboundFeatDesc string `json:"INBOUND_FEAT_DESC"`

	InboundFeatID int64 `json:"INBOUND_FEAT_ID"`

	InboundFeatUsageType string `json:"INBOUND_FEAT_USAGE_TYPE"`

	Score int64 `json:"SCORE"`

	ScoreBehavior string `json:"SCORE_BEHAVIOR"`

	ScoreBucket string `json:"SCORE_BUCKET"`

	Source string `json:"SOURCE"`

	Token string `json:"TOKEN"`
}

type DataSource struct {
	// The unique text identifier of the datasource. It should be UPPER_CASE ASCII
	// without spaces. It will be used as a JSON key.
	DsrcCode string `json:"DSRC_CODE"`

	// The unique internal integer identifier of the datasource.
	DsrcID int64 `json:"DSRC_ID"`
}

type DisclosedRelationsForMatchInfo struct {
	Domain string `json:"DOMAIN"`

	EntityRoles []EntityRoles `json:"ENTITY_ROLES"`

	RelatedRoles []RelatedRoles `json:"RELATED_ROLES"`

	RelLink []RelLink `json:"REL_LINK"`

	XxxRelAnchor []RelAnchor `json:"XXX_REL_ANCHOR"`

	XxxRelPointer []RelPointer `json:"XXX_REL_POINTER"`
}

type DisclosedRelationsForMatchInfoForWhy struct {
	Domain string `json:"DOMAIN"`

	FeatID int64 `json:"FEAT_ID"`

	FeatUsageType string `json:"FEAT_USAGE_TYPE"`

	LinkedFeatID int64 `json:"LINKED_FEAT_ID"`

	LinkedFeatType string `json:"LINKED_FEAT_TYPE"`

	RelAnchor []RelAnchor `json:"REL_ANCHOR"`

	RelLink []RelLink `json:"REL_LINK"`

	RelPointer []RelPointer `json:"REL_POINTER"`

	// Describes the attributes that make up the feature.
	XxxFeatDesc string `json:"XXX_FEAT_DESC"`

	XxxLinkedFeatDesc string `json:"XXX_LINKED_FEAT_DESC"`
}

type DisclosedRelationsForWhyKeyDetails struct {
	Domain string `json:"DOMAIN"`

	EntityRoles []EntityRoles `json:"ENTITY_ROLES"`

	RelatedRoles []RelatedRoles `json:"RELATED_ROLES"`
}

type Entity struct {
	RelatedEntities []RelatedEntity `json:"RELATED_ENTITIES"`

	ResolvedEntity ResolvedEntity `json:"RESOLVED_ENTITY"`
}

type EntityForResolvedEntity struct {
	RelatedEntities []RelatedEntity `json:"RELATED_ENTITIES"`

	ResolvedEntity ResolvedEntity `json:"RESOLVED_ENTITY"`
}

type EntityForWhySearch struct {
	RelatedEntities []RelatedEntity `json:"RELATED_ENTITIES"`

	ResolvedEntity ResolvedEntity `json:"RESOLVED_ENTITY"`
}

type EntityNetworkLink struct {
	// Identifier of the entity resolution rule that was triggered.
	ErruleCode string `json:"ERRULE_CODE"`

	// Indicates if this is an ambiguous relationship.
	IsAmbiguous int64 `json:"IS_AMBIGUOUS"`

	// Indicates if this is a disclosed relationship.
	IsDisclosed int64 `json:"IS_DISCLOSED"`

	// Representation of matched source record features.
	MatchKey string `json:"MATCH_KEY"`

	MatchKeyDetails MatchKeyDetails `json:"MATCH_KEY_DETAILS"`

	// The type of match that occurred for the record.
	MatchLevelCode string `json:"MATCH_LEVEL_CODE"`

	MaxEntityID int64 `json:"MAX_ENTITY_ID"`

	MinEntityID int64 `json:"MIN_ENTITY_ID"`
}

type EntityPath struct {
	EndEntityID int64 `json:"END_ENTITY_ID"`

	Entities []int64 `json:"ENTITIES"`

	StartEntityID int64 `json:"START_ENTITY_ID"`
}

type EntityPathLink struct {
	// Identifier of the entity resolution rule that was triggered.
	ErruleCode string `json:"ERRULE_CODE"`

	// Indicates if this is an ambiguous relationship.
	IsAmbiguous int64 `json:"IS_AMBIGUOUS"`

	// Indicates if this is a disclosed relationship.
	IsDisclosed int64 `json:"IS_DISCLOSED"`

	// Representation of matched source record features.
	MatchKey string `json:"MATCH_KEY"`

	MatchKeyDetails MatchKeyDetails `json:"MATCH_KEY_DETAILS"`

	// The type of match that occurred for the record.
	MatchLevelCode string `json:"MATCH_LEVEL_CODE"`

	MaxEntityID int64 `json:"MAX_ENTITY_ID"`

	MinEntityID int64 `json:"MIN_ENTITY_ID"`
}

type EntityRoles struct {
	FeatDesc string `json:"FEAT_DESC"`

	Role string `json:"ROLE"`
}

type Feature struct {
	// Internal use.
	FelemCode string `json:"FELEM_CODE"`

	// Internal use.
	FelemValue string `json:"FELEM_VALUE"`
}

type FeatureDescriptionValue struct {
	Attributes map[string]string `json:"ATTRIBUTES"`

	CandidateCapReached string `json:"CANDIDATE_CAP_REACHED"`

	EntityCount int64 `json:"ENTITY_COUNT"`

	// Describes the attributes that make up the feature.
	FeatDesc string `json:"FEAT_DESC"`

	FeatDescValues []FeatureDescriptionValueDetails `json:"FEAT_DESC_VALUES"`

	// Internal use.
	LibFeatID int64 `json:"LIB_FEAT_ID"`

	ScoringCapReached string `json:"SCORING_CAP_REACHED"`

	Suppressed string `json:"SUPPRESSED"`

	UsedForCand string `json:"USED_FOR_CAND"`

	UsedForScoring string `json:"USED_FOR_SCORING"`
}

type FeatureDescriptionValueDetails struct {
	CandidateCapReached string `json:"CANDIDATE_CAP_REACHED"`

	EntityCount int32 `json:"ENTITY_COUNT"`

	// Describes the attributes that make up the feature.
	FeatDesc string `json:"FEAT_DESC"`

	LibFeatID int64 `json:"LIB_FEAT_ID"`

	ScoringCapReached string `json:"SCORING_CAP_REACHED"`

	Suppressed string `json:"SUPPRESSED"`

	UsedForCand string `json:"USED_FOR_CAND"`

	UsedForScoring string `json:"USED_FOR_SCORING"`
}

type FeatureForAttributes struct {
	Attributes SenzingEntitySpecification `json:"ATTRIBUTES"`

	CandidateCapReached string `json:"CANDIDATE_CAP_REACHED"`

	EntityCount int32 `json:"ENTITY_COUNT"`

	// Describes the attributes that make up the feature.
	FeatDesc string `json:"FEAT_DESC"`

	// Describes the attributes that make up the feature.
	FeatDescValues []FeatureDescriptionValue `json:"FEAT_DESC_VALUES"`

	LibFeatID int64 `json:"LIB_FEAT_ID"`

	ScoringCapReached string `json:"SCORING_CAP_REACHED"`

	// Label to identify how some features are being used (can also change some
	// features behavior).
	UsageType string `json:"USAGE_TYPE"`

	UsedForCand string `json:"USED_FOR_CAND"`

	UsedForScoring string `json:"USED_FOR_SCORING"`
}

type FeatureForGetEntity struct {
	// Describes the attributes that make up the feature.
	FeatDesc string `json:"FEAT_DESC"`

	// Describes the attributes that make up the feature.
	FeatDescValues []FeatureDescriptionValue `json:"FEAT_DESC_VALUES"`

	LibFeatID int64 `json:"LIB_FEAT_ID"`

	// Label to identify how some features are being used (can also change some
	// features behavior).
	UsageType string `json:"USAGE_TYPE"`

	XxxAttributes []SenzingEntitySpecification `json:"XXX_ATTRIBUTES"`
}

type FeatureID struct {
	LibFeatID int64 `json:"LIB_FEAT_ID"`

	// Label to identify how some features are being used (can also change some
	// features behavior).
	UsageType string `json:"USAGE_TYPE"`
}

type FeatureScoreForAttribute struct {
	AdditionalScores AdditionalScores `json:"ADDITIONAL_SCORES"`

	CandidateFeatDesc string `json:"CANDIDATE_FEAT_DESC"`

	CandidateFeatID int64 `json:"CANDIDATE_FEAT_ID"`

	CandidateFeatUsageType string `json:"CANDIDATE_FEAT_USAGE_TYPE"`

	InboundFeatDesc string `json:"INBOUND_FEAT_DESC"`

	InboundFeatID int64 `json:"INBOUND_FEAT_ID"`

	InboundFeatUsageType string `json:"INBOUND_FEAT_USAGE_TYPE"`

	Score int64 `json:"SCORE"`

	ScoreBehavior string `json:"SCORE_BEHAVIOR"`

	ScoreBucket string `json:"SCORE_BUCKET"`
}

type FeatureScores = map[string][]FeatureScoreForAttribute

type FeatureType struct {
	Found int64 `json:"FOUND"`

	FtypeCode string `json:"FTYPE_CODE"`

	Generic int64 `json:"GENERIC"`

	NotFound int64 `json:"NOT_FOUND"`
}

type FinalState struct {
	NeedReevaluation int64 `json:"NEED_REEVALUATION"`

	VirtualEntities []VirtualEntitySynopsis `json:"VIRTUAL_ENTITIES"`
}

type Fixme struct {
	FixmeKey any `json:"FIXME_KEY"`
}

type FocusRecord struct {
	// A label identifying the provenance of the record. FIXME: An example of
	// differences.
	DataSource string `json:"DATA_SOURCE"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`
}

type G2configSettings struct {
	MetaphoneVersion int32 `json:"METAPHONE_VERSION"`
}

type G2config struct {
	CfgAttr []CfgAttr `json:"CFG_ATTR"`

	CfgCfbom []CfgCfbom `json:"CFG_CFBOM"`

	CfgCfcall []CfgCfcall `json:"CFG_CFCALL"`

	CfgCfrtn []CfgCfrtn `json:"CFG_CFRTN"`

	CfgCfunc []CfgCfunc `json:"CFG_CFUNC"`

	CfgDfbom []CfgDfbom `json:"CFG_DFBOM"`

	CfgDfcall []CfgDfcall `json:"CFG_DFCALL"`

	CfgDfunc []CfgDfunc `json:"CFG_DFUNC"`

	CfgDsrc []CfgDsrc `json:"CFG_DSRC"`

	CfgDsrcInterest []CfgDsrcInterest `json:"CFG_DSRC_INTEREST"`

	CfgEbom []CfgEbom `json:"CFG_EBOM"`

	CfgEfbom []CfgEfbom `json:"CFG_EFBOM"`

	CfgEfcall []CfgEfcall `json:"CFG_EFCALL"`

	CfgEfunc []CfgEfunc `json:"CFG_EFUNC"`

	CfgErfrag []CfgErfrag `json:"CFG_ERFRAG"`

	CfgErrule []CfgErrule `json:"CFG_ERRULE"`

	CfgFbom []CfgFbom `json:"CFG_FBOM"`

	CfgFbovr []CfgFbovr `json:"CFG_FBOVR"`

	CfgFclass []CfgFclass `json:"CFG_FCLASS"`

	CfgFelem []CfgFelem `json:"CFG_FELEM"`

	CfgFtype []CfgFtype `json:"CFG_FTYPE"`

	CfgGenericThreshold []CfgGenericThreshold `json:"CFG_GENERIC_THRESHOLD"`

	CfgGplan []CfgGplan `json:"CFG_GPLAN"`

	CfgRclass []CfgRclass `json:"CFG_RCLASS"`

	CfgRtype []CfgRtype `json:"CFG_RTYPE"`

	CfgSfcall []CfgSfcall `json:"CFG_SFCALL"`

	CfgSfunc []CfgSfunc `json:"CFG_SFUNC"`

	ConfigBaseVersion ConfigBaseVersion `json:"CONFIG_BASE_VERSION"`

	Settings G2configSettings `json:"SETTINGS"`

	SysOom []SysOom `json:"SYS_OOM"`

	XxxCfgEclass []CfgEclass `json:"XXX_CFG_ECLASS"`

	XxxCfgEtype []CfgEtype `json:"XXX_CFG_ETYPE"`

	XxxCfgLens []CfgLens `json:"XXX_CFG_LENS"`

	XxxCfgLensrl []CfgLensrl `json:"XXX_CFG_LENSRL"`
}

type HowResults struct {
	FinalState FinalState `json:"FINAL_STATE"`

	ResolutionSteps []ResolutionStep `json:"RESOLUTION_STEPS"`
}

type InterestingEntities struct {
	Entities []InterestingEntity `json:"ENTITIES"`

	Notices []Notice `json:"NOTICES"`
}

type InterestingEntity struct {
	Degrees int64 `json:"DEGREES"`

	// The ENTITY_ID is the Senzing-generated identifier for the discovered entity.
	// It may change when new information is added.
	EntityID int64 `json:"ENTITY_ID"`

	Flags []string `json:"FLAGS"`

	SampleRecords []SampleRecord `json:"SAMPLE_RECORDS"`
}

type MatchInfo struct {
	CandidateKeys CandidateKeysForMatchInfo `json:"CANDIDATE_KEYS"`

	// Identifier of the entity resolution rule that was triggered.
	ErruleCode string `json:"ERRULE_CODE"`

	FeatureScores FeatureScores `json:"FEATURE_SCORES"`

	// Representation of matched source record features.
	MatchKey string `json:"MATCH_KEY"`

	MatchKeyDetails MatchKeyDetails `json:"MATCH_KEY_DETAILS"`

	// The type of match that occurred for the record.
	MatchLevelCode string `json:"MATCH_LEVEL_CODE"`

	XxxDisclosedRelations DisclosedRelationsForMatchInfo `json:"XXX_DISCLOSED_RELATIONS"`

	XxxMatchLevel int64 `json:"XXX_MATCH_LEVEL"`

	XxxWhyErruleCode string `json:"XXX_WHY_ERRULE_CODE"`

	XxxWhyKey string `json:"XXX_WHY_KEY"`
}

type MatchInfoForAttribute struct {
	// Describes the attributes that make up the feature.
	FeatDesc string `json:"FEAT_DESC"`

	FeatID int64 `json:"FEAT_ID"`
}

type MatchInfoForWhy struct {
	CandidateKeys map[string][]MatchInfoForAttribute `json:"CANDIDATE_KEYS"`

	DisclosedRelations DisclosedRelationsForMatchInfoForWhy `json:"DISCLOSED_RELATIONS"`

	FeatureScores FeatureScores `json:"FEATURE_SCORES"`

	// The type of match that occurred for the record.
	MatchLevelCode string `json:"MATCH_LEVEL_CODE"`

	WhyErruleCode string `json:"WHY_ERRULE_CODE"`

	WhyKey string `json:"WHY_KEY"`

	WhyKeyDetails WhyKeyDetails `json:"WHY_KEY_DETAILS"`
}

type MatchKeyDetails struct {
	Confirmations []Confirmation `json:"CONFIRMATIONS"`

	Denials []Confirmation `json:"DENIALS"`

	DisclosedRelations []DisclosedRelationsForMatchInfo `json:"DISCLOSED_RELATIONS"`

	RelLinks []RelLink `json:"REL_LINKS"`

	// Identifier of the entity resolution rule that was triggered.
	XxxErruleCode string `json:"XXX_ERRULE_CODE"`
}

type MemberRecord struct {
	// Internal identifier for the record.
	InternalID int64 `json:"INTERNAL_ID"`

	Records []Record `json:"RECORDS"`
}

type Notice struct {
	Code string `json:"CODE"`

	Description string `json:"DESCRIPTION"`
}

type Object = any

type Record struct {
	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	// Identifier of the entity resolution rule that was triggered.
	ErruleCode string `json:"ERRULE_CODE"`

	Features map[string][]FeatureForAttributes `json:"FEATURES"`

	FeatureIds []FeatureID `json:"FEATURE_IDS"`

	FirstSeenDt time.Time `json:"FIRST_SEEN_DT"`

	// Internal identifier for the record.
	InternalID int64 `json:"INTERNAL_ID"`

	JSONData map[string]Object `json:"JSON_DATA"`

	LastSeenDt time.Time `json:"LAST_SEEN_DT"`

	// Representation of matched source record features.
	MatchKey string `json:"MATCH_KEY"`

	// The type of match that occurred for the record.
	MatchLevelCode string `json:"MATCH_LEVEL_CODE"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`

	UnmappedData map[string]Object `json:"UNMAPPED_DATA"`

	XxxAddressData []string `json:"XXX_ADDRESS_DATA"`

	XxxAttributeData []string `json:"XXX_ATTRIBUTE_DATA"`

	XxxEntityData []string `json:"XXX_ENTITY_DATA"`

	XxxEntityDesc string `json:"XXX_ENTITY_DESC"`

	XxxEntityKey string `json:"XXX_ENTITY_KEY"`

	XxxEntityType string `json:"XXX_ENTITY_TYPE"`

	XxxIdentifierData []string `json:"XXX_IDENTIFIER_DATA"`

	XxxMatchLevel int64 `json:"XXX_MATCH_LEVEL"`

	XxxNameData []string `json:"XXX_NAME_DATA"`

	XxxOtherData []string `json:"XXX_OTHER_DATA"`

	XxxPhoneData []string `json:"XXX_PHONE_DATA"`

	XxxRelationshipData []string `json:"XXX_RELATIONSHIP_DATA"`
}

type RecordForGetEntity struct {
	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	// Identifier of the entity resolution rule that was triggered.
	ErruleCode string `json:"ERRULE_CODE"`

	Features map[string][]FeatureForAttributes `json:"FEATURES"`

	FeatureIds []FeatureID `json:"FEATURE_IDS"`

	FirstSeenDt time.Time `json:"FIRST_SEEN_DT"`

	// Internal identifier for the record.
	InternalID int64 `json:"INTERNAL_ID"`

	JSONData map[string]Object `json:"JSON_DATA"`

	LastSeenDt time.Time `json:"LAST_SEEN_DT"`

	// Representation of matched source record features.
	MatchKey string `json:"MATCH_KEY"`

	// The type of match that occurred for the record.
	MatchLevelCode string `json:"MATCH_LEVEL_CODE"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`

	UnmappedData map[string]Object `json:"UNMAPPED_DATA"`

	XxxAddressData []string `json:"XXX_ADDRESS_DATA"`

	XxxAttributeData []string `json:"XXX_ATTRIBUTE_DATA"`

	XxxEntityData []string `json:"XXX_ENTITY_DATA"`

	XxxEntityDesc string `json:"XXX_ENTITY_DESC"`

	XxxEntityKey string `json:"XXX_ENTITY_KEY"`

	XxxEntityType string `json:"XXX_ENTITY_TYPE"`

	XxxIdentifierData []string `json:"XXX_IDENTIFIER_DATA"`

	XxxMatchLevel int64 `json:"XXX_MATCH_LEVEL"`

	XxxNameData []string `json:"XXX_NAME_DATA"`

	XxxOtherData []string `json:"XXX_OTHER_DATA"`

	XxxPhoneData []string `json:"XXX_PHONE_DATA"`

	XxxRelationshipData []string `json:"XXX_RELATIONSHIP_DATA"`
}

type RecordKey struct {
	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`
}

type RecordKeys struct {
	// A list of (data source code, record id) pairs.
	Records []RecordKey `json:"RECORDS"`
}

type RecordSummary struct {
	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	// The number of records for the entity with the same data source code.
	RecordCount int64 `json:"RECORD_COUNT"`

	XxxFirstSeenDt time.Time `json:"XXX_FIRST_SEEN_DT"`

	XxxLastSeenDt time.Time `json:"XXX_LAST_SEEN_DT"`
}

type RelAnchor struct {
	Domain string `json:"DOMAIN"`

	// Describes the attributes that make up the feature.
	FeatDesc string `json:"FEAT_DESC"`

	FeatID int64 `json:"FEAT_ID"`

	LinkedFeatDesc string `json:"LINKED_FEAT_DESC"`

	LinkedFeatID int64 `json:"LINKED_FEAT_ID"`

	LinkedFeatType string `json:"LINKED_FEAT_TYPE"`

	LinkedFeatUsageType string `json:"LINKED_FEAT_USAGE_TYPE"`

	XxxRelPointer []RelPointer `json:"XXX_REL_POINTER"`
}

type RelLink struct {
	Domain string `json:"DOMAIN"`

	// Describes the attributes that make up the feature.
	FeatDesc string `json:"FEAT_DESC"`

	FeatID int64 `json:"FEAT_ID"`

	FeatUsageType string `json:"FEAT_USAGE_TYPE"`

	FtypeCode string `json:"FTYPE_CODE"`

	LinkedFeatDesc string `json:"LINKED_FEAT_DESC"`

	LinkedFeatID int64 `json:"LINKED_FEAT_ID"`

	LinkedFeatType string `json:"LINKED_FEAT_TYPE"`

	LinkedFeatUsageType string `json:"LINKED_FEAT_USAGE_TYPE"`

	RelType string `json:"REL_TYPE"`
}

type RelPointer struct {
	Domain string `json:"DOMAIN"`

	// Describes the attributes that make up the feature.
	FeatDesc string `json:"FEAT_DESC"`

	FeatID int64 `json:"FEAT_ID"`

	FeatUsageType string `json:"FEAT_USAGE_TYPE"`

	LinkedFeatDesc string `json:"LINKED_FEAT_DESC"`

	LinkedFeatID int64 `json:"LINKED_FEAT_ID"`

	LinkedFeatType string `json:"LINKED_FEAT_TYPE"`
}

type RelatedEntity struct {
	// The ENTITY_ID is the Senzing-generated identifier for the discovered entity.
	// It may change when new information is added.
	EntityID int64 `json:"ENTITY_ID"`

	// A name this entity goes by. An entity could have multiple names.
	EntityName string `json:"ENTITY_NAME"`

	// Identifier of the entity resolution rule that was triggered.
	ErruleCode string `json:"ERRULE_CODE"`

	// Indicates if this is an ambiguous relationship.
	IsAmbiguous int64 `json:"IS_AMBIGUOUS"`

	// Indicates if this is a disclosed relationship.
	IsDisclosed int64 `json:"IS_DISCLOSED"`

	// Representation of matched source record features.
	MatchKey string `json:"MATCH_KEY"`

	MatchKeyDetails MatchKeyDetails `json:"MATCH_KEY_DETAILS"`

	MatchLevel int64 `json:"MATCH_LEVEL"`

	// The type of match that occurred for the record.
	MatchLevelCode string `json:"MATCH_LEVEL_CODE"`

	Records []Record `json:"RECORDS"`

	// Overview of the source systems the records came from comprising this related
	// entity.
	RecordSummary []RecordSummary `json:"RECORD_SUMMARY"`

	RecordTypes []string `json:"RECORD_TYPES"`

	XxxLastSeenDt time.Time `json:"XXX_LAST_SEEN_DT"`
}

type RelatedRoles struct {
	FeatDesc string `json:"FEAT_DESC"`

	Role string `json:"ROLE"`
}

type Repository struct {
	// Label for database repository.
	ID string `json:"id"`

	// Database connection information.
	Location string `json:"location"`

	// Type of database.
	Type string `json:"type"`
}

type ResolutionStep struct {
	InboundVirtualEntityID string `json:"INBOUND_VIRTUAL_ENTITY_ID"`

	MatchInfo MatchInfo `json:"MATCH_INFO"`

	ResultVirtualEntityID string `json:"RESULT_VIRTUAL_ENTITY_ID"`

	Step int64 `json:"STEP"`

	VirtualEntity VirtualEntitySynopsis `json:"VIRTUAL_ENTITY_1"`

	VirtualEntity0 VirtualEntitySynopsis `json:"VIRTUAL_ENTITY_2"`
}

type ResolvedEntity struct {
	// The ENTITY_ID is the Senzing-generated identifier for the discovered entity.
	// It may change when new information is added.
	EntityID int64 `json:"ENTITY_ID"`

	// A name this entity goes by. An entity could have multiple names.
	EntityName string `json:"ENTITY_NAME"`

	Features map[string][]FeatureForAttributes `json:"FEATURES"`

	Records []Record `json:"RECORDS"`

	// Overview of the source systems the records came from comprising this related
	// entity.
	RecordSummary []RecordSummary `json:"RECORD_SUMMARY"`

	RecordTypes []string `json:"RECORD_TYPES"`

	// Identifier of the entity resolution rule that was triggered.
	XxxErruleCode string `json:"XXX_ERRULE_CODE"`

	XxxFeatureIds []FeatureID `json:"XXX_FEATURE_IDS"`

	// Indicates if this is an ambiguous relationship.
	XxxIsAmbiguous int64 `json:"XXX_IS_AMBIGUOUS"`

	// Indicates if this is a disclosed relationship.
	XxxIsDisclosed int64 `json:"XXX_IS_DISCLOSED"`

	XxxLastSeenDt time.Time `json:"XXX_LAST_SEEN_DT"`

	// Representation of matched source record features.
	XxxMatchKey string `json:"XXX_MATCH_KEY"`

	XxxMatchLevel int64 `json:"XXX_MATCH_LEVEL"`

	// The type of match that occurred for the record.
	XxxMatchLevelCode string `json:"XXX_MATCH_LEVEL_CODE"`
}

type ResolvedEntityAndMatchInfo struct {
	Entity EntityForResolvedEntity `json:"ENTITY"`

	FeaturesMjd EntityForResolvedEntity `json:"FEATURES_MJD"`

	MatchInfo MatchInfo `json:"MATCH_INFO"`
}

type ResolvedEntityForGetEntity struct {
	// The ENTITY_ID is the Senzing-generated identifier for the discovered entity.
	// It may change when new information is added.
	EntityID int64 `json:"ENTITY_ID"`

	// A name this entity goes by. An entity could have multiple names.
	EntityName string `json:"ENTITY_NAME"`

	Features map[string][]FeatureForGetEntity `json:"FEATURES"`

	Records []RecordForGetEntity `json:"RECORDS"`

	// Overview of the source systems the records came from comprising this related
	// entity.
	RecordSummary []RecordSummary `json:"RECORD_SUMMARY"`

	RecordTypes []string `json:"RECORD_TYPES"`

	// Identifier of the entity resolution rule that was triggered.
	XxxErruleCode string `json:"XXX_ERRULE_CODE"`

	XxxFeatureIds []FeatureID `json:"XXX_FEATURE_IDS"`

	// Indicates if this is an ambiguous relationship.
	XxxIsAmbiguous int64 `json:"XXX_IS_AMBIGUOUS"`

	// Indicates if this is a disclosed relationship.
	XxxIsDisclosed int64 `json:"XXX_IS_DISCLOSED"`

	XxxLastSeenDt time.Time `json:"XXX_LAST_SEEN_DT"`

	// Representation of matched source record features.
	XxxMatchKey string `json:"XXX_MATCH_KEY"`

	XxxMatchLevel int64 `json:"XXX_MATCH_LEVEL"`

	// The type of match that occurred for the record.
	XxxMatchLevelCode string `json:"XXX_MATCH_LEVEL_CODE"`
}

type SysOom struct {
	FtypeID int64 `json:"FTYPE_ID"`

	NextThresh int64 `json:"NEXT_THRESH"`

	OomLevel string `json:"OOM_LEVEL"`

	OomType string `json:"OOM_TYPE"`

	Thresh1Cnt int64 `json:"THRESH1_CNT"`

	Thresh1Oom int64 `json:"THRESH1_OOM"`

	XxxFelemID int64 `json:"XXX_FELEM_ID"`

	XxxLensID int64 `json:"XXX_LENS_ID"`

	XxxLibFeatID int64 `json:"XXX_LIB_FEAT_ID"`

	XxxLibFelemID int64 `json:"XXX_LIB_FELEM_ID"`
}

type SampleRecord struct {
	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	Flags []string `json:"FLAGS"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`
}

type SchemaVersion struct {
	EngineSchemaVersion string `json:"ENGINE_SCHEMA_VERSION"`

	MaximumRequiredSchemaVersion string `json:"MAXIMUM_REQUIRED_SCHEMA_VERSION"`

	MinimumRequiredSchemaVersion string `json:"MINIMUM_REQUIRED_SCHEMA_VERSION"`
}

type SearchEntity struct {
	Features map[string][]FeatureDescriptionValue `json:"FEATURES"`

	Summary SearchEntitySummary `json:"SUMMARY"`
}

type SearchEntitySummary struct {
	FeaturesAdded int32 `json:"FEATURES_ADDED"`

	FeaturesIgnored int32 `json:"FEATURES_IGNORED"`

	FeaturesSearched int32 `json:"FEATURES_SEARCHED"`

	FeaturesSubmitted int32 `json:"FEATURES_SUBMITTED"`
}

type SearchRequest struct {
	Features map[string][]FeatureDescriptionValue `json:"FEATURES"`

	JSONData string `json:"JSON_DATA"`

	SearchProfile string `json:"SEARCH_PROFILE"`
}

type SearchStatistic struct {
	CandidateKeys CandidateKeysForSearchStatistic `json:"CANDIDATE_KEYS"`
}

type SenzingEntitySpecification struct {
	// Domain/system for the account number. An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AccountDomain string `json:"ACCOUNT_DOMAIN"`

	// Account number (e.g., bank, card). An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AccountNumber string `json:"ACCOUNT_NUMBER"`

	// City/locality. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	AddrCity string `json:"ADDR_CITY"`

	// Country code. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	AddrCountry string `json:"ADDR_COUNTRY"`

	// Single-field address when parsed components are unavailable.
	// An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	AddrFull string `json:"ADDR_FULL"`

	// First address line (street, number). An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AddrLine1 string `json:"ADDR_LINE1"`

	// Second address line (apt/suite). An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AddrLine2 string `json:"ADDR_LINE2"`

	// Third address line (optional). An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AddrLine3 string `json:"ADDR_LINE3"`

	// Fourth address line (optional). An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AddrLine4 string `json:"ADDR_LINE4"`

	// Fifth address line (optional). An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AddrLine5 string `json:"ADDR_LINE5"`

	// Sixth address line (optional). An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AddrLine6 string `json:"ADDR_LINE6"`

	// Postal/ZIP code. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	AddrPostalCode string `json:"ADDR_POSTAL_CODE"`

	// State/province/region code. An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AddrState string `json:"ADDR_STATE"`

	// Optional; include when provided by the source. Common values: HOME, MAILING
	// (persons); BUSINESS (organizations). An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	AddrType string `json:"ADDR_TYPE"`

	// Country of citizenship (code or label) as provided by the
	// source. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	Citizenship string `json:"CITIZENSHIP"`

	// An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	DateOfBirth string `json:"DATE_OF_BIRTH"`

	// An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	DateOfDeath string `json:"DATE_OF_DEATH"`

	// Driver's license number. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	DriversLicenseNumber string `json:"DRIVERS_LICENSE_NUMBER"`

	// Issuing state/province/country. An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	DriversLicenseState string `json:"DRIVERS_LICENSE_STATE"`

	// Dun and Bradstreet company identifier. An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	DunsNumber string `json:"DUNS_NUMBER"`

	// Email address. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	EmailAddress string `json:"EMAIL_ADDRESS"`

	// This is the name of the organization the person is employed
	// by. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	Employer string `json:"EMPLOYER"`

	EmployerName string `json:"EMPLOYER_NAME"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Facebook string `json:"FACEBOOK"`

	// An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	Gender string `json:"GENDER"`

	// The identifier the entity is associated with. An attribute in the Senzing
	// Entity Specification. See https://www.senzing.com/docs/entity_specification
	GroupAssnIDNumber string `json:"GROUP_ASSN_ID_NUMBER"`

	// The type of group identifier an entity is associated with.
	// An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	GroupAssnIDType string `json:"GROUP_ASSN_ID_TYPE"`

	// Name of the associated organization; use the official or standardized
	// name. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	GroupAssociationOrgName string `json:"GROUP_ASSOCIATION_ORG_NAME"`

	// Specific group/role within the organization; use precise categories (e.g.,
	// OWNER_EXEC, BOARD_MEMBER) to improve resolution. An attribute in the Senzing
	// Entity Specification. See https://www.senzing.com/docs/entity_specification
	GroupAssociationType string `json:"GROUP_ASSOCIATION_TYPE"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Instagram string `json:"INSTAGRAM"`

	// Legal Entity Identifier. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	LeiNumber string `json:"LEI_NUMBER"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Linkedin string `json:"LINKEDIN"`

	// Person given name. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	NameFirst string `json:"NAME_FIRST"`

	// Single-field name when type (person vs org) is unknown or only a full
	// name is provided. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	NameFull string `json:"NAME_FULL"`

	// Person surname. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	NameLast string `json:"NAME_LAST"`

	// Person middle name/initial. An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	NameMiddle string `json:"NAME_MIDDLE"`

	// Organization name. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	NameOrg string `json:"NAME_ORG"`

	// Person title. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	NamePrefix string `json:"NAME_PREFIX"`

	// Person suffix. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	NameSuffix string `json:"NAME_SUFFIX"`

	// Optional include when the source provides it. Common values: PRIMARY,
	// AKA (persons), DBA (organizations). An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	NameType string `json:"NAME_TYPE"`

	// Country of nationality (code or label) as provided by the
	// source. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	Nationality string `json:"NATIONALITY"`

	// Issuing country. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	NationalIDCountry string `json:"NATIONAL_ID_COUNTRY"`

	// National identifier value. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	NationalIDNumber string `json:"NATIONAL_ID_NUMBER"`

	// Use the type label from the source; standardize across
	// sources. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	NationalIDType string `json:"NATIONAL_ID_TYPE"`

	NativeNameFull string `json:"NATIVE_NAME_FULL"`

	// US healthcare provider identifier. An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	NpiNumber string `json:"NPI_NUMBER"`

	// Optional as country often not known or issued by an organization.
	// An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	OtherIDCountry string `json:"OTHER_ID_COUNTRY"`

	// Identification number. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	OtherIDNumber string `json:"OTHER_ID_NUMBER"`

	// Standardized source type. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	OtherIDType string `json:"OTHER_ID_TYPE"`

	// Issuing country. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	PassportCountry string `json:"PASSPORT_COUNTRY"`

	// Passport number. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	PassportNumber string `json:"PASSPORT_NUMBER"`

	// Telephone number. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	PhoneNumber string `json:"PHONE_NUMBER"`

	// Optional; include when provided by the source. Common values: MOBILE, HOME,
	// WORK, FAX. MOBILE carries extra weight. An attribute in the Senzing Entity
	// Specification. See https://www.senzing.com/docs/entity_specification
	PhoneType string `json:"PHONE_TYPE"`

	// Place of birth; may be a city/region or a country code/label as provided
	// by the source. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	PlaceOfBirth string `json:"PLACE_OF_BIRTH"`

	PrimaryNameFirst string `json:"PRIMARY_NAME_FIRST"`

	PrimaryNameFull string `json:"PRIMARY_NAME_FULL"`

	PrimaryNameLast string `json:"PRIMARY_NAME_LAST"`

	PrimaryNameMiddle string `json:"PRIMARY_NAME_MIDDLE"`

	PrimaryNameOrg string `json:"PRIMARY_NAME_ORG"`

	// Include when known to prevent cross-type resolution; omit if unknown.
	// Use standardized kinds (PERSON, ORGANIZATION). Often used to determine
	// icon/shape in graphs. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	RecordType string `json:"RECORD_TYPE"`

	// Country of registration (code or label) as provided by the
	// source. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	RegistrationCountry string `json:"REGISTRATION_COUNTRY"`

	// Organization registration/incorporation date. An attribute in the Senzing
	// Entity Specification. See https://www.senzing.com/docs/entity_specification
	RegistrationDate string `json:"REGISTRATION_DATE"`

	RelationshipKey string `json:"RELATIONSHIP_KEY"`

	RelationshipType string `json:"RELATIONSHIP_TYPE"`

	// This code helps keep the REL_ANCHOR_KEY unique. This is a code (without
	// dashes) for the data source or source field that is contributing the
	// relationship. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	RelAnchorDomain string `json:"REL_ANCHOR_DOMAIN"`

	// This key should be a unique value for the record within the
	// REL_ANCHOR_DOMAIN. You can just use the current record's RECORD_ID
	// here. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	RelAnchorKey string `json:"REL_ANCHOR_KEY"`

	// An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	RelPointerDomain string `json:"REL_POINTER_DOMAIN"`

	// An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	RelPointerKey string `json:"REL_POINTER_KEY"`

	// This is the role the pointer record has to the anchor record. Such
	// as SPOUSE_OF, SON_OF, FATHER_OF, EMPLOYED_BY, PRINCIPAL_OF, OWNER_OF,
	// BRANCH_OF, DIRECT_PARENT, ULTIMATE_PARENT. Standardize these role codes for
	// display and filtering. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	RelPointerRole string `json:"REL_POINTER_ROLE"`

	SecondaryNameOrg string `json:"SECONDARY_NAME_ORG"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Signal string `json:"SIGNAL"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Skype string `json:"SKYPE"`

	// US Social Security Number; partial accepted. An attribute in the Senzing
	// Entity Specification. See https://www.senzing.com/docs/entity_specification
	SsnNumber string `json:"SSN_NUMBER"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Tango string `json:"TANGO"`

	// Issuing country. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	TaxIDCountry string `json:"TAX_ID_COUNTRY"`

	// Tax identification number. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	TaxIDNumber string `json:"TAX_ID_NUMBER"`

	// Use the type label from the source; standardize across
	// sources. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	TaxIDType string `json:"TAX_ID_TYPE"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Telegram string `json:"TELEGRAM"`

	// The identifier value shared by records that must resolve
	// together. An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	TrustedIDNumber string `json:"TRUSTED_ID_NUMBER"`

	// Short code for the identifier domain/system (e.g., STEWARD,
	// MASTER_ID). An attribute in the Senzing Entity Specification. See
	// https://www.senzing.com/docs/entity_specification
	TrustedIDType string `json:"TRUSTED_ID_TYPE"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Twitter string `json:"TWITTER"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Viber string `json:"VIBER"`

	// Website or domain; typically for organizations. An attribute in the Senzing
	// Entity Specification. See https://www.senzing.com/docs/entity_specification
	WebsiteAddress string `json:"WEBSITE_ADDRESS"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Wechat string `json:"WECHAT"`

	// Social medial user name. An attribute in the Senzing Entity Specification.
	// See https://www.senzing.com/docs/entity_specification
	Whatsapp string `json:"WHATSAPP"`

	XxxAddrFromDate string `json:"XXX_ADDR_FROM_DATE"`

	XxxAddrThruDate string `json:"XXX_ADDR_THRU_DATE"`

	XxxPhoneFromDate string `json:"XXX_PHONE_FROM_DATE"`

	XxxPhoneThruDate string `json:"XXX_PHONE_THRU_DATE"`

	Zoomroom string `json:"ZOOMROOM"`
}

type SzConfigExportResponse struct {
	G2Config G2config `json:"G2_CONFIG"`
}

type SzConfigGetDataSourceRegistryResponse struct {
	// The list of registered data sources.
	DataSources []DataSource `json:"DATA_SOURCES"`
}

type SzConfigManagerGetConfigRegistryResponse struct {
	// The list of registered configurations.
	Configs []Config `json:"CONFIGS"`
}

type SzConfigRegisterDataSourceResponse struct {
	// The unique internal integer identifier of the datasource.
	DsrcID int64 `json:"DSRC_ID"`
}

type SzDiagnosticCheckRepositoryPerformanceResponse struct {
	// The duration of the test in milliseconds.
	InsertTime int64 `json:"insertTime"`

	// The total number of records inserted within the insertTime.
	NumRecordsInserted int64 `json:"numRecordsInserted"`
}

type SzDiagnosticGetFeatureResponse struct {
	// Internal use.
	Elements []Feature `json:"ELEMENTS"`

	// Internal use.
	FtypeCode string `json:"FTYPE_CODE"`

	// Internal use.
	LibFeatID int64 `json:"LIB_FEAT_ID"`
}

type SzDiagnosticGetRepositoryInfoResponse struct {
	// A list of database node connection metadata.
	DataStores []Repository `json:"dataStores"`
}

type SzEngineAddRecordResponse struct {
	AffectedEntities []AffectedEntity `json:"AFFECTED_ENTITIES"`

	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	InterestingEntities InterestingEntities `json:"INTERESTING_ENTITIES"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`
}

type SzEngineDeleteRecordResponse struct {
	AffectedEntities []AffectedEntity `json:"AFFECTED_ENTITIES"`

	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`

	XxxInterestingEntities InterestingEntities `json:"XXX_INTERESTING_ENTITIES"`
}

type SzEngineExportCsvEntityReportCsvColumnList struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineFetchNextResponse struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineFindInterestingEntitiesByEntityIDResponse struct {
	InterestingEntities InterestingEntities `json:"INTERESTING_ENTITIES"`
}

type SzEngineFindInterestingEntitiesByRecordIDResponse struct {
	InterestingEntities InterestingEntities `json:"INTERESTING_ENTITIES"`
}

type SzEngineFindNetworkByEntityIDEntityIds struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineFindNetworkByEntityIDResponse struct {
	Entities []Entity `json:"ENTITIES"`

	EntityNetworkLinks []EntityNetworkLink `json:"ENTITY_NETWORK_LINKS"`

	EntityPaths []EntityPath `json:"ENTITY_PATHS"`

	EntityPathLinks []EntityPathLink `json:"ENTITY_PATH_LINKS"`

	MaxEntityLimitReached string `json:"MAX_ENTITY_LIMIT_REACHED"`

	WhyResults []WhyResult `json:"WHY_RESULTS"`
}

type SzEngineFindNetworkByRecordIDRecordKeys struct {
	// A list of (data source code, record id) pairs.
	Records []RecordKey `json:"RECORDS"`
}

type SzEngineFindNetworkByRecordIDResponse struct {
	Entities []Entity `json:"ENTITIES"`

	EntityNetworkLinks []EntityNetworkLink `json:"ENTITY_NETWORK_LINKS"`

	EntityPaths []EntityPath `json:"ENTITY_PATHS"`

	EntityPathLinks []EntityPathLink `json:"ENTITY_PATH_LINKS"`

	MaxEntityLimitReached string `json:"MAX_ENTITY_LIMIT_REACHED"`

	WhyResults []WhyResult `json:"WHY_RESULTS"`
}

type SzEngineFindPathByEntityIDAvoidEntityIds struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineFindPathByEntityIDRequiredDataSources struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineFindPathByEntityIDResponse struct {
	Entities []Entity `json:"ENTITIES"`

	EntityPaths []EntityPath `json:"ENTITY_PATHS"`

	EntityPathLinks []EntityPathLink `json:"ENTITY_PATH_LINKS"`
}

type SzEngineFindPathByRecordIDAvoidRecordKeys struct {
	// A list of (data source code, record id) pairs.
	Records []RecordKey `json:"RECORDS"`
}

type SzEngineFindPathByRecordIDRequiredDataSources struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineFindPathByRecordIDResponse struct {
	Entities []Entity `json:"ENTITIES"`

	EntityPaths []EntityPath `json:"ENTITY_PATHS"`

	EntityPathLinks []EntityPathLink `json:"ENTITY_PATH_LINKS"`
}

type SzEngineGetEntityByEntityIDResponse struct {
	RelatedEntities []RelatedEntity `json:"RELATED_ENTITIES"`

	ResolvedEntity ResolvedEntityForGetEntity `json:"RESOLVED_ENTITY"`
}

type SzEngineGetEntityByRecordIDResponse struct {
	RelatedEntities []RelatedEntity `json:"RELATED_ENTITIES"`

	ResolvedEntity ResolvedEntityForGetEntity `json:"RESOLVED_ENTITY"`
}

type SzEngineGetRecordPreviewResponse struct {
	Features map[string][]FeatureForAttributes `json:"FEATURES"`

	FeatureIds []FeatureID `json:"FEATURE_IDS"`

	JSONData map[string]Object `json:"JSON_DATA"`

	UnmappedData map[string]Object `json:"UNMAPPED_DATA"`
}

type SzEngineGetRecordResponse struct {
	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	Features map[string][]FeatureForAttributes `json:"FEATURES"`

	FeatureIds []FeatureID `json:"FEATURE_IDS"`

	FirstSeenDt time.Time `json:"FIRST_SEEN_DT"`

	JSONData map[string]Object `json:"JSON_DATA"`

	LastSeenDt time.Time `json:"LAST_SEEN_DT"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`

	UnmappedData map[string]Object `json:"UNMAPPED_DATA"`

	XxxAddressData []string `json:"XXX_ADDRESS_DATA"`

	XxxAttributeData []string `json:"XXX_ATTRIBUTE_DATA"`

	XxxEntityData []string `json:"XXX_ENTITY_DATA"`

	XxxEntityDesc string `json:"XXX_ENTITY_DESC"`

	XxxEntityKey string `json:"XXX_ENTITY_KEY"`

	XxxEntityType string `json:"XXX_ENTITY_TYPE"`

	// Identifier of the entity resolution rule that was triggered.
	XxxErruleCode string `json:"XXX_ERRULE_CODE"`

	XxxIdentifierData []string `json:"XXX_IDENTIFIER_DATA"`

	// Internal identifier for the record.
	XxxInternalID int64 `json:"XXX_INTERNAL_ID"`

	// Representation of matched source record features.
	XxxMatchKey string `json:"XXX_MATCH_KEY"`

	XxxMatchLevel int64 `json:"XXX_MATCH_LEVEL"`

	// The type of match that occurred for the record.
	XxxMatchLevelCode string `json:"XXX_MATCH_LEVEL_CODE"`

	XxxNameData []string `json:"XXX_NAME_DATA"`

	XxxOtherData []string `json:"XXX_OTHER_DATA"`

	XxxPhoneData []string `json:"XXX_PHONE_DATA"`

	XxxRelationshipData []string `json:"XXX_RELATIONSHIP_DATA"`
}

type SzEngineGetRedoRecordResponse struct {
	UmfProc UmfProc `json:"UMF_PROC"`
}

type SzEngineGetStatsResponse struct {
	Workload Workload `json:"workload"`
}

type SzEngineGetVirtualEntityByRecordIDRecordKeys struct {
	// A list of (data source code, record id) pairs.
	Records []RecordKey `json:"RECORDS"`
}

type SzEngineGetVirtualEntityByRecordIDResponse struct {
	ResolvedEntity ResolvedEntity `json:"RESOLVED_ENTITY"`
}

type SzEngineHowEntityByEntityIDResponse struct {
	HowResults HowResults `json:"HOW_RESULTS"`
}

type SzEngineProcessRedoRecordResponse struct {
	AffectedEntities []AffectedEntity `json:"AFFECTED_ENTITIES"`

	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`

	UmfProc UmfProc `json:"UMF_PROC"`

	XxxInterestingEntities InterestingEntities `json:"XXX_INTERESTING_ENTITIES"`
}

type SzEngineReevaluateEntityResponse struct {
	AffectedEntities []AffectedEntity `json:"AFFECTED_ENTITIES"`

	InterestingEntities InterestingEntities `json:"INTERESTING_ENTITIES"`

	// A label identifying the provenance of the record.
	XxxDataSource string `json:"XXX_DATA_SOURCE"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	XxxRecordID string `json:"XXX_RECORD_ID"`
}

type SzEngineReevaluateRecordResponse struct {
	AffectedEntities []AffectedEntity `json:"AFFECTED_ENTITIES"`

	// A label identifying the provenance of the record.
	DataSource string `json:"DATA_SOURCE"`

	// The unique identifier within the set of records in the DATA_SOURCE.
	RecordID string `json:"RECORD_ID"`

	XxxInterestingEntities InterestingEntities `json:"XXX_INTERESTING_ENTITIES"`
}

type SzEngineSearchByAttributesAttributes struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineSearchByAttributesResponse struct {
	RelatedEntitiesMjd []RelatedEntity `json:"RELATED_ENTITIES_MJD"`

	ResolvedEntities []ResolvedEntityAndMatchInfo `json:"RESOLVED_ENTITIES"`

	SearchEntity SearchEntity `json:"SEARCH_ENTITY"`

	SearchRequest SearchRequest `json:"SEARCH_REQUEST"`

	SearchStatistics []SearchStatistic `json:"SEARCH_STATISTICS"`
}

type SzEngineSearchByAttributesSearchProfile struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineStreamExportJSONEntityReportResponse struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineWhyEntitiesResponse struct {
	Entities []Entity `json:"ENTITIES"`

	WhyResults []WhyResult `json:"WHY_RESULTS"`
}

type SzEngineWhyRecordInEntityResponse struct {
	Entities []Entity `json:"ENTITIES"`

	WhyResults []WhyResult `json:"WHY_RESULTS"`
}

type SzEngineWhyRecordsResponse struct {
	Entities []Entity `json:"ENTITIES"`

	WhyResults []WhyResult `json:"WHY_RESULTS"`
}

type SzEngineWhySearchAttributes struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzEngineWhySearchResponse struct {
	Entities []EntityForWhySearch `json:"ENTITIES"`

	SearchEntity SearchEntity `json:"SEARCH_ENTITY"`

	SearchRequest SearchRequest `json:"SEARCH_REQUEST"`

	SearchStatistics []SearchStatistic `json:"SEARCH_STATISTICS"`

	WhyResults []WhyResult `json:"WHY_RESULTS"`
}

type SzEngineWhySearchSearchProfile struct {
	XxxFixme Fixme `json:"XXX_FIXME"`
}

type SzProductGetLicenseResponse struct {
	AdvSearch int32 `json:"advSearch"`

	Billing string `json:"billing"`

	Contract string `json:"contract"`

	Customer string `json:"customer"`

	ExpireDate string `json:"expireDate"`

	IssueDate string `json:"issueDate"`

	LicenseLevel string `json:"licenseLevel"`

	LicenseType string `json:"licenseType"`

	RecordLimit int64 `json:"recordLimit"`
}

type SzProductGetVersionResponse struct {
	BuildDate string `json:"BUILD_DATE"`

	BuildNumber string `json:"BUILD_NUMBER"`

	BuildVersion string `json:"BUILD_VERSION"`

	CompatibilityVersion CompatibilityVersion `json:"COMPATIBILITY_VERSION"`

	ProductName string `json:"PRODUCT_NAME"`

	SchemaVersion SchemaVersion `json:"SCHEMA_VERSION"`

	Version string `json:"VERSION"`
}

type UmfProc struct {
	Name string `json:"NAME"`

	Params []UmfProcParams `json:"PARAMS"`
}

type UmfProcParamDetails struct {
	Name string `json:"NAME"`

	Value Object `json:"VALUE"`
}

type UmfProcParams struct {
	Param UmfProcParamDetails `json:"PARAM"`
}

type VirtualEntitySynopsis struct {
	MemberRecords []MemberRecord `json:"MEMBER_RECORDS"`

	VirtualEntityID string `json:"VIRTUAL_ENTITY_ID"`
}

type WhyKeyDetails struct {
	Confirmations []Confirmation `json:"CONFIRMATIONS"`

	Denials []Confirmation `json:"DENIALS"`

	DisclosedRelations []DisclosedRelationsForWhyKeyDetails `json:"DISCLOSED_RELATIONS"`
}

type WhyResult struct {
	// The ENTITY_ID is the Senzing-generated identifier for the discovered entity.
	// It may change when new information is added.
	EntityID int64 `json:"ENTITY_ID"`

	EntityID0 int64 `json:"ENTITY_ID_2"`

	FocusRecords []FocusRecord `json:"FOCUS_RECORDS"`

	FocusRecords0 []FocusRecord `json:"FOCUS_RECORDS_2"`

	// Internal identifier for the record.
	InternalID int64 `json:"INTERNAL_ID"`

	// Internal identifier for the record.
	InternalID0 int64 `json:"INTERNAL_ID_2"`

	MatchInfo MatchInfoForWhy `json:"MATCH_INFO"`
}

type Workload struct {
	APIVersion string `json:"apiVersion"`

	Caches WorkloadCaches `json:"caches"`

	Candidates WorkloadCandidates `json:"candidates"`

	Contention WorkloadContention `json:"contention"`

	Datetimestamp string `json:"datetimestamp"`

	ExpressedFeatures WorkloadExpressedFeatures `json:"expressedFeatures"`

	GenericDetect Fixme `json:"genericDetect"`

	License WorkloadLicense `json:"license"`

	LoadedRecords int32 `json:"loadedRecords"`

	LockWaits WorkloadLockWaits `json:"lockWaits"`

	Processing WorkloadProcessing `json:"processing"`

	RedoTriggers map[string]int64 `json:"redoTriggers"`

	RepairDiagnosis WorkloadRepairDiagnosis `json:"repairDiagnosis"`

	Reresolve WorkloadReresolve `json:"reresolve"`

	Scoring WorkloadScoring `json:"scoring"`

	SystemResources WorkloadSystemResources `json:"systemResources"`

	ThreadState WorkloadThreadState `json:"threadState"`

	Unresolve WorkloadUnresolve `json:"unresolve"`
}

type WorkloadCaches struct {
	LibFeatCacheHit int32 `json:"libFeatCacheHit"`

	LibFeatCacheMiss int32 `json:"libFeatCacheMiss"`

	LibFeatInsert int32 `json:"libFeatInsert"`

	ResFeatStatCacheHit int32 `json:"resFeatStatCacheHit"`

	ResFeatStatCacheMiss int32 `json:"resFeatStatCacheMiss"`

	ResFeatStatInsert int32 `json:"resFeatStatInsert"`

	ResFeatStatUpdateAttempt int32 `json:"resFeatStatUpdateAttempt"`

	ResFeatStatUpdateFail int32 `json:"resFeatStatUpdateFail"`
}

type WorkloadCandidates struct {
	CandidateBuilders map[string]int64 `json:"candidateBuilders"`

	SuppressedCandidateBuilders map[string]int64 `json:"suppressedCandidateBuilders"`
}

type WorkloadContention struct {
	Feature Fixme `json:"feature"`

	ResEnt Fixme `json:"resEnt"`

	Valuelatch Fixme `json:"valuelatch"`
}

type WorkloadCurrResources struct {
	ActiveThreads int32 `json:"activeThreads"`

	AvailableMemory string `json:"availableMemory"`

	ProcessMemory string `json:"processMemory"`

	WorkerThreads int32 `json:"workerThreads"`
}

type WorkloadExpressedFeatures struct {
	Calls []WorkloadExpressedFeaturesCall `json:"calls"`

	Created map[string]int64 `json:"created"`
}

type WorkloadExpressedFeaturesCall struct {
	EfcallID int32 `json:"EFCALL_ID"`

	EfuncCode string `json:"EFUNC_CODE"`

	NumCalls int32 `json:"numCalls"`
}

type WorkloadInitResources struct {
	XxxPhysicalCores int32 `json:"XXX_physicalCores"`

	AvailableMemory string `json:"availableMemory"`

	LogicalCores int32 `json:"logicalCores"`

	TotalMemory string `json:"totalMemory"`
}

type WorkloadLicense struct {
	DsrLimit string `json:"dsrLimit"`

	Status string `json:"status"`

	Type string `json:"type"`
}

type WorkloadLockWaits struct {
	RefreshLocks WorkloadRefreshLocks `json:"refreshLocks"`
}

type WorkloadProcessing struct {
	AddedRecords int32 `json:"addedRecords"`

	Ambiguous WorkloadProcessingAmbiguous `json:"ambiguous"`

	BatchAddedRecords int32 `json:"batchAddedRecords"`

	DeletedRecords int32 `json:"deletedRecords"`

	Details WorkloadProcessingDetails `json:"details"`

	Reevaluations int32 `json:"reevaluations"`

	RepairedEntities int32 `json:"repairedEntities"`
}

type WorkloadProcessingAmbiguous struct {
	ActualTest int32 `json:"actualTest"`

	CachedTest int32 `json:"cachedTest"`
}

type WorkloadProcessingDetails struct {
	AddedRecords int32 `json:"addedRecords"`

	Candidates int32 `json:"candidates"`

	ChangeDeletes int32 `json:"changeDeletes"`

	Duration int32 `json:"duration"`

	FilteredObsFeat int32 `json:"filteredObsFeat"`

	NewObsEnt int32 `json:"newObsEnt"`

	ObsEntHashDiff int32 `json:"obsEntHashDiff"`

	ObsEntHashSame int32 `json:"obsEntHashSame"`

	OptimizedOut int32 `json:"optimizedOut"`

	OptimizedOutSkipped int32 `json:"optimizedOutSkipped"`

	PartiallyResolved int32 `json:"partiallyResolved"`

	Retries int32 `json:"retries"`
}

type WorkloadRefreshLocks struct {
	Count int32 `json:"count"`

	MaxMs int32 `json:"maxMS"`

	TotalMs int32 `json:"totalMS"`
}

type WorkloadRepairDiagnosis struct {
	Types int32 `json:"types"`
}

type WorkloadReresolve struct {
	NewFeatureFtypes map[string]int64 `json:"newFeatureFTypes"`

	SuppressedCandidateBuildersForReresolve Fixme `json:"suppressedCandidateBuildersForReresolve"`

	SuppressedScoredFeatureTypeForReresolve Fixme `json:"suppressedScoredFeatureTypeForReresolve"`

	Triggers WorkloadReresolveTriggers `json:"triggers"`
}

type WorkloadReresolveTriggers struct {
	AbortRetry int32 `json:"abortRetry"`

	MultipleResolvableCandidates int32 `json:"multipleResolvableCandidates"`

	ResolveNewFeatures int32 `json:"resolveNewFeatures"`

	Skipped int32 `json:"skipped"`

	UnresolveMovement int32 `json:"unresolveMovement"`
}

type WorkloadScoring struct {
	CacheHit map[string]int64 `json:"cacheHit"`

	CacheMiss map[string]int64 `json:"cacheMiss"`

	ScoredPairs map[string]int64 `json:"scoredPairs"`

	SuppressedDisclosedRelationshipDomainCount int32 `json:"suppressedDisclosedRelationshipDomainCount"`

	SuppressedScoredFeatureType Fixme `json:"suppressedScoredFeatureType"`
}

type WorkloadSystemLoad struct {
	CPUIdle string `json:"cpuIdle"`

	CPUSystem string `json:"cpuSystem"`

	CPUUser string `json:"cpuUser"`

	CPUWait string `json:"cpuWait"`
}

type WorkloadSystemResources struct {
	CurrResources WorkloadCurrResources `json:"currResources"`

	InitResources WorkloadInitResources `json:"initResources"`

	SystemLoad WorkloadSystemLoad `json:"systemLoad"`
}

type WorkloadThreadState struct {
	Active int32 `json:"active"`

	DataLatchContention int32 `json:"dataLatchContention"`

	GovernorContention int32 `json:"governorContention"`

	Idle int32 `json:"idle"`

	Loader int32 `json:"loader"`

	ObsEntContention int32 `json:"obsEntContention"`

	ResEntContention int32 `json:"resEntContention"`

	Resolver int32 `json:"resolver"`

	Scoring int32 `json:"scoring"`

	SQLExecuting int32 `json:"sqlExecuting"`
}

type WorkloadUnresolve struct {
	AbortedUnresolve int32 `json:"abortedUnresolve"`

	Triggers WorkloadUnresolveTriggers `json:"triggers"`

	UnresolveTest int32 `json:"unresolveTest"`
}

type WorkloadUnresolveTriggers struct {
	AmbiguousMultiResolve int32 `json:"ambiguousMultiResolve"`

	AmbiguousNoResolve int32 `json:"ambiguousNoResolve"`

	ExtensiveResolve int32 `json:"extensiveResolve"`

	NormalResolve int32 `json:"normalResolve"`

	RelLink int32 `json:"relLink"`

	Update int32 `json:"update"`
}
