Compare commits

...

13 Commits

17 changed files with 739 additions and 2 deletions

30
models/base_call.go Normal file
View File

@@ -0,0 +1,30 @@
package models
/*
import (
"time"
)
type BaseCall struct {
ClientConversationId string `gorm:"primaryKey;index"`
CallType string `gorm:"index"`
GenderPreference string
ClientId int `gorm:"index"`
LanguageId int
CustomerDnis string
CustomerAni string
SearchStartTime *time.Time
P1ConnectTime time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"`
P3ConnectTime *time.Time
P3DisconnectTime *time.Time
BookingRequestNumber *int `gorm:"index"`
IvrData *int
UtsEntries int
InterpreterCount int
}
func (BaseCall) TableName() string {
return "gc_base_calls"
}
*/

28
models/booking.go Normal file
View File

@@ -0,0 +1,28 @@
package models
import "time"
type Booking struct {
BookingReference int `gorm:"primaryKey;index"`
BookingTime *time.Time `gorm:"index"`
Timezone *string
Language *string
CustomData *string
Method *string `gorm:"index"`
Duration *int
BookedDuration *int
ConversationId *string `gorm:"index"`
CancellationTime *time.Time
InterpreterId *int `gorm:"index"`
ClientId *int `gorm:"index"`
AgentName *string
AgentEmail *string
AgentPhone *string
Comments *string
BillingCode *string
TicketId string
}
func (Booking) TableName() string {
return "gc_bookings"
}

29
models/call_stat.go Normal file
View File

@@ -0,0 +1,29 @@
package models
/*
import (
"time"
)
type CallStat struct {
ClientConversationId string `gorm:"primaryKey;index"`
CallType string `gorm:"index"`
ClientId int `gorm:"index"`
CustomerDnis string
CustomerAni string
P1ConnectTime time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"`
BookingRequestNumber *int `gorm:"index"`
UtsQueue bool
InterpreterCount int
InterpreterConnected bool
ClientDisconnected bool
UtsDuration int
UtsEntries int
Status string
}
func (CallStat) TableName() string {
return "gc_call_stats"
}
*/

47
models/crm_client.go Normal file
View File

@@ -0,0 +1,47 @@
package models
import (
"time"
)
type CrmClient struct {
ID int `gorm:"primaryKey;column:id" json:"id"`
BillingGroupNumber *int `gorm:"column:billing_group_number" json:"billing_group_number"`
DrawdownCurrentBalance *float64 `gorm:"column:drawdown_current_balance" json:"drawdown_current_balance"`
DrawdownInitialBalance *float64 `gorm:"column:drawdown_initial_balance" json:"drawdown_initial_balance"`
ContractExpiry *time.Time `gorm:"column:contract_expiry;type:date" json:"contract_expiry"`
CreatedDate *time.Time `gorm:"column:created_date;type:date" json:"created_date"`
MBIE *bool `gorm:"column:mbie" json:"mbie"`
FundingAvailable *bool `gorm:"column:funding_available" json:"funding_available"`
DrawdownClient *bool `gorm:"column:drawdown_client" json:"drawdown_client"`
CostCentreRequired *bool `gorm:"column:cost_centre_required" json:"cost_centre_required"`
CallsRecordings *bool `gorm:"column:calls_recordings" json:"calls_recordings"`
ABNNZBMNumber *string `gorm:"column:abn_nzbm_number" json:"abn_nzbm_number"`
AccountsPayableEmail *string `gorm:"column:accounts_payable_email" json:"accounts_payable_email"`
BillingGroup *string `gorm:"column:billing_group" json:"billing_group"`
BusinessAddress *string `gorm:"column:business_address" json:"business_address"`
Name *string `gorm:"column:name" json:"name"`
Notes *string `gorm:"column:notes" json:"notes"`
Owner *string `gorm:"column:owner" json:"owner"`
PhoneNumber *string `gorm:"column:phone_number" json:"phone_number"`
ServicePhone *string `gorm:"column:service_phone" json:"service_phone"`
Status *string `gorm:"column:status" json:"status"`
ContactName *string `gorm:"column:contact_name" json:"contact_name"`
ContractSigned *string `gorm:"column:contract_signed" json:"contract_signed"`
CreatedBy *string `gorm:"column:created_by" json:"created_by"`
DrawdownPONumber *string `gorm:"column:drawdown_po_number" json:"drawdown_po_number"`
GenderPreference *string `gorm:"column:gender_preference" json:"gender_preference"`
GSTNumber *string `gorm:"column:gst_number" json:"gst_number"`
InvoiceConfig *string `gorm:"column:invoice_config" json:"invoice_config"`
CustomerReference *string `gorm:"column:customer_reference" json:"customer_reference"`
PartnerName *string `gorm:"column:partner_name" json:"partner_name"`
POReference *string `gorm:"column:po_reference" json:"po_reference"`
PostalAddress *string `gorm:"column:postal_address" json:"postal_address"`
SearchPattern *string `gorm:"column:search_pattern" json:"search_pattern"`
State *string `gorm:"column:state" json:"state"`
ReportEmails *string `gorm:"column:report_emails" json:"report_emails"`
}
func (CrmClient) TableName() string {
return "live_clients"
}

66
models/crm_interpreter.go Normal file
View File

@@ -0,0 +1,66 @@
package models
import (
"time"
)
type CrmInterpreter struct {
ID int `gorm:"primaryKey;column:id" json:"id"`
ABN *string `gorm:"column:abn" json:"abn"`
AccountNumber *string `gorm:"column:account_number" json:"account_number"`
AccountStatus *string `gorm:"column:account_status" json:"account_status"`
Address *string `gorm:"column:address" json:"address"`
BankName *string `gorm:"column:bank_name" json:"bank_name"`
BSB *string `gorm:"column:bsb" json:"bsb"`
ContractStatus *string `gorm:"column:contract_status" json:"contract_status"`
BirthCountry *string `gorm:"column:birth_country" json:"birth_country"`
CreatedBy *string `gorm:"column:created_by" json:"created_by"`
CurrentPhone *string `gorm:"column:current_phone" json:"current_phone"`
DateOfBirth *string `gorm:"column:date_of_birth" json:"date_of_birth"`
Email *string `gorm:"column:email" json:"email"`
EmployedBy *string `gorm:"column:employed_by" json:"employed_by"`
EnrolmentDate *string `gorm:"column:enrolment_date" json:"enrolment_date"`
FinanceTasksCompleted *bool `gorm:"column:finance_tasks_completed" json:"finance_tasks_completed"`
GST *bool `gorm:"column:gst" json:"gst"`
NZGovApproved *bool `gorm:"column:nz_gov_approved" json:"nz_gov_approved"`
NaatiListed *bool `gorm:"column:naati_listed" json:"naati_listed"`
PersonalCV *bool `gorm:"column:personal_cv" json:"personal_cv"`
PinViaSMS *bool `gorm:"column:pin_via_sms" json:"pin_via_sms"`
VaxFluCheck *bool `gorm:"column:vax_flu_check" json:"vax_flu_check"`
WorkingWithChildren *bool `gorm:"column:working_with_children" json:"working_with_children"`
LastContactAttempt *time.Time `gorm:"column:last_contact_attempt" json:"last_contact_attempt"`
MigrationYear *time.Time `gorm:"column:migration_year" json:"migration_year"`
FirstName *string `gorm:"column:first_name" json:"first_name"`
Gender *string `gorm:"column:gender" json:"gender"`
FullName *string `gorm:"column:full_name" json:"full_name"`
Owner *string `gorm:"column:owner" json:"owner"`
TranslationType *string `gorm:"column:translation_type" json:"translation_type"`
Status *string `gorm:"column:status" json:"status"`
GSTNumber *string `gorm:"column:gst_number" json:"gst_number"`
LastName *string `gorm:"column:last_name" json:"last_name"`
Layout *string `gorm:"column:layout" json:"layout"`
ModifiedBy *string `gorm:"column:modified_by" json:"modified_by"`
NaatiCertification *string `gorm:"column:naati_certification" json:"naati_certification"`
NaatiCertificationID *string `gorm:"column:naati_certification_id" json:"naati_certification_id"`
Notes *string `gorm:"column:notes" json:"notes"`
NZBN *string `gorm:"column:nzbn" json:"nzbn"`
Password *string `gorm:"column:password" json:"password"`
PaymentState *string `gorm:"column:payment_state" json:"payment_state"`
PhotoID *string `gorm:"column:photo_id" json:"photo_id"`
PhotoIDExpiry *string `gorm:"column:photo_id_expiry" json:"photo_id_expiry"`
Pin *string `gorm:"column:pin" json:"pin"`
PoliceCheck *string `gorm:"column:police_check" json:"police_check"`
PoliceCheckExpiry *string `gorm:"column:police_check_expiry" json:"police_check_expiry"`
Postcode *string `gorm:"column:postcode" json:"postcode"`
Priority *string `gorm:"column:priority" json:"priority"`
State *string `gorm:"column:state" json:"state"`
Status2 *string `gorm:"column:status_2" json:"status_2"`
Suburb *string `gorm:"column:suburb" json:"suburb"`
Tag *string `gorm:"column:tag" json:"tag"`
VaxCovidCheck *string `gorm:"column:vax_covid_check" json:"vax_covid_check"`
CRMID *string `gorm:"column:crm_id" json:"crm_id"`
}
func (CrmInterpreter) TableName() string {
return "live_interpreters"
}

View File

@@ -0,0 +1,34 @@
package models
import ()
type CrmInvoiceConfig struct {
ID string `gorm:"primaryKey;column:id" json:"id"`
Name string `gorm:"column:name;not null" json:"name"`
BHEndHour *int `gorm:"column:bh_end_hour" json:"bh_end_hour"`
BHEndMinute *int `gorm:"column:bh_end_minute" json:"bh_end_minute"`
BHStartHour *int `gorm:"column:bh_start_hour" json:"bh_start_hour"`
BHStartMinute *int `gorm:"column:bh_start_minute" json:"bh_start_minute"`
MaximumDuration *int `gorm:"column:maximum_duration" json:"maximum_duration"`
MinimumDuration *int `gorm:"column:minimum_duration" json:"minimum_duration"`
OnDemandAH *string `gorm:"column:on_demand_ah" json:"on_demand_ah"`
OnDemandBH *string `gorm:"column:on_demand_bh" json:"on_demand_bh"`
AudioBookingAH *string `gorm:"column:audio_booking_ah" json:"audio_booking_ah"`
AudioBookingBH *string `gorm:"column:audio_booking_bh" json:"audio_booking_bh"`
VideoBookingAH *string `gorm:"column:video_booking_ah" json:"video_booking_ah"`
VideoBookingBH *string `gorm:"column:video_booking_bh" json:"video_booking_bh"`
PartnerOnDemandAH *string `gorm:"column:partner_on_demand_ah" json:"partner_on_demand_ah"`
PartnerOnDemandBH *string `gorm:"column:partner_on_demand_bh" json:"partner_on_demand_bh"`
PartnerAudioBookingAH *string `gorm:"column:partner_audio_booking_ah" json:"partner_audio_booking_ah"`
PartnerAudioBookingBH *string `gorm:"column:partner_audio_booking_bh" json:"partner_audio_booking_bh"`
PartnerVideoBookingAH *string `gorm:"column:partner_video_booking_ah" json:"partner_video_booking_ah"`
PartnerVideoBookingBH *string `gorm:"column:partner_video_booking_bh" json:"partner_video_booking_bh"`
RoundBookings *bool `gorm:"column:round_bookings" json:"round_bookings"`
RoundingFunction *bool `gorm:"column:rounding_function" json:"rounding_function"`
SplitBookings *bool `gorm:"column:split_bookings" json:"split_bookings"`
SplitOnDemand *bool `gorm:"column:split_on_demand" json:"split_on_demand"`
}
func (CrmInvoiceConfig) TableName() string {
return "live_invoice_configs"
}

12
models/crm_language.go Normal file
View File

@@ -0,0 +1,12 @@
package models
type CrmLanguage struct {
ID int `gorm:"primaryKey;column:id" json:"id"`
Name *string `gorm:"column:name" json:"name"`
Active *bool `gorm:"column:active" json:"active"`
CRMID *string `gorm:"column:crm_id" json:"crm_id"`
}
func (CrmLanguage) TableName() string {
return "live_languages"
}

View File

@@ -0,0 +1,22 @@
package models
import "time"
type CrmLanguageLookup struct {
ID string `gorm:"primaryKey;column:id" json:"id"`
Language *string `gorm:"column:language" json:"language"`
CustomRateFunction *string `gorm:"column:custom_rate_function" json:"custom_rate_function"`
Interpreter *string `gorm:"column:interpreter" json:"interpreter"`
NaatiDescription *string `gorm:"column:naati_description" json:"naati_description"`
NaatiNumber *string `gorm:"column:naati_number" json:"naati_number"`
NaatiExpiry *time.Time `gorm:"column:naati_expiry;type:date" json:"naati_expiry"`
NaatiLevel *int `gorm:"column:naati_level" json:"naati_level"`
Priority *int `gorm:"column:priority" json:"priority"`
Searchable *bool `gorm:"column:searchable" json:"searchable"`
WorkingTowardsNaati *bool `gorm:"column:working_towards_naati" json:"working_towards_naati"`
PaymentConfiguration *string `gorm:"column:payment_configuration" json:"payment_configuration"`
}
func (CrmLanguageLookup) TableName() string {
return "live_language_lookups"
}

View File

@@ -0,0 +1,18 @@
package models
type CrmPaymentConfig struct {
ID string `gorm:"primaryKey;column:id" json:"id"`
Name string `gorm:"column:name;not null" json:"name"`
BHEndHour *int `gorm:"column:bh_end_hour" json:"bh_end_hour"`
BHEndMinute *int `gorm:"column:bh_end_minute" json:"bh_end_minute"`
BHStartHour *int `gorm:"column:bh_start_hour" json:"bh_start_hour"`
BHStartMinute *int `gorm:"column:bh_start_minute" json:"bh_start_minute"`
OnDemand *string `gorm:"column:on_demand" json:"on_demand"`
AudioBooking *string `gorm:"column:audio_booking" json:"audio_booking"`
VideoBooking *string `gorm:"column:video_booking" json:"video_booking"`
TimeZone *string `gorm:"column:time_zone" json:"time_zone"`
}
func (CrmPaymentConfig) TableName() string {
return "live_payment_configs"
}

83
models/formatter.go Normal file
View File

@@ -0,0 +1,83 @@
package models
import "time"
type BaseCall struct {
ClientConversationId string `gorm:"primaryKey;index"`
CallType string `gorm:"index"`
GenderPreference string
ClientId int `gorm:"index"`
LanguageId int
CustomerDnis string
CustomerAni string
SearchStartTime *time.Time
P1ConnectTime time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"`
P3ConnectTime *time.Time
P3DisconnectTime *time.Time
BookingRequestNumber *int `gorm:"index"`
IvrData *int
UtsEntries int
InterpreterCount int
}
func (BaseCall) TableName() string {
return "gc_base_calls"
}
type InterpreterAttempt struct {
InterpreterConversationId string `gorm:"primaryKey;index"`
InterpreterResponseTime time.Time
InterpreterAccepted bool
InterpreterId int `gorm:"index"`
CallType string
CallConnected string
ClientConversationId string `gorm:"index"`
LanguageId int
InterpreterPhone string
ConversationStart time.Time
ConversationEnd time.Time
}
func (InterpreterAttempt) TableName() string {
return "gc_interpreter_attempts"
}
type InterpreterConnection struct {
InterpreterConversationId string `gorm:"primaryKey;index"`
InterpreterAccepted bool
InterpreterId int `gorm:"index"`
CallType string
CallConnected string
ClientConversationId string `gorm:"index"`
LanguageId int
InterpreterPhone string
ConferenceStart time.Time
ConferenceEnd time.Time
}
func (InterpreterConnection) TableName() string {
return "gc_interpreter_connections"
}
type CallStat struct {
ClientConversationId string `gorm:"primaryKey;index"`
CallType string `gorm:"index"`
ClientId int `gorm:"index"`
CustomerDnis string
CustomerAni string
P1ConnectTime time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"`
BookingRequestNumber *int `gorm:"index"`
UtsQueue bool
InterpreterCount int
InterpreterConnected bool
ClientDisconnected bool
UtsDuration int
UtsEntries int
Status string
}
func (CallStat) TableName() string {
return "gc_call_stats"
}

View File

@@ -16,7 +16,7 @@ type AnalyticsConversationWithAttributes struct {
OriginatingDirection string `json:"originatingDirection"`
Participants []struct {
ExternalContactId string `json:"externalContactId"`
ParticipantId string `json:"participantId"`
ParticipantId string `json:"id"`
ParticipantName string `json:"participantName"`
Purpose string `json:"purpose"`
Sessions []struct {

View File

@@ -0,0 +1,25 @@
package models
/*
import (
"time"
)
type InterpreterAttempt struct {
InterpreterConversationId string `gorm:"primaryKey;index"`
InterpreterResponseTime time.Time
InterpreterAccepted bool
InterpreterId int `gorm:"index"`
CallType string
CallConnected string
ClientConversationId string `gorm:"index"`
LanguageId int
InterpreterPhone string
ConversationStart time.Time
ConversationEnd time.Time
}
func (InterpreterAttempt) TableName() string {
return "gc_interpreter_attempts"
}
*/

View File

@@ -0,0 +1,24 @@
package models
/*
import (
"time"
)
type InterpreterConnection struct {
InterpreterConversationId string `gorm:"primaryKey;index"`
InterpreterAccepted bool
InterpreterId int `gorm:"index"`
CallType string
CallConnected string
ClientConversationId string `gorm:"index"`
LanguageId int
InterpreterPhone string
ConferenceStart time.Time
ConferenceEnd time.Time
}
func (InterpreterConnection) TableName() string {
return "gc_interpreter_connections"
}
*/

184
models/processed.go Normal file
View File

@@ -0,0 +1,184 @@
package models
import (
"time"
)
type DBClientProcessed struct {
// CALL DETAILS
// ---
ClientConversationId string `gorm:"primaryKey"`
CallType string
GenderPreference string
BookingReference *int
IvrData *int
BillableClient bool
CallOutcome string
// FLAGS / METADATA:
// ---
BuggedCall bool
Amended bool
CreatedAt time.Time
ModifiedAt time.Time
CustomData *string `gorm:"type:json"`
InternalUse *string `gorm:"type:json"`
// LANGUAGE DETAILS:
// ---
LanguageId int
LanguageCrmId string
LanguageName string
// CLIENT DETAILS:
// ---
ClientId int
CustomerDnis string
CustomerAni string
ClientName string
ClientState string
ClientFunding bool
ClientGroupId int
ClientGroupName string
ClientPoReference string
InvoiceConfigCrmId string
InvoiceConfigName string
InvoiceConfigUsed string
ClientCallDuration int
ClientTimeOfDay string
ClientBill float64
ClientRate float64
ClientTaxStatus string
// PARTNER DETAILS:
// ---
PartnerBill float64
ParnterRate float64
// TIMESTAMP DETAILS:
// ---
P1SearchStartTime *time.Time
P1ConnectTime time.Time
P1DisconnectTime time.Time
P3ConnectTime *time.Time
P3DisconnectTime *time.Time
}
func (DBClientProcessed) TableName() string {
return "gc_client_processed"
}
type DBInterpreterProcessed struct {
// CALL DETAILS
// ---
ClientConversationId string
InterpreterConversationId string `gorm:"primaryKey"`
CallType string
GenderPreference string
BookingReference *int
BillableInterpreter bool
BillableTpa bool
// FLAGS / METADATA:
// ---
BuggedCall bool
Amended bool
CreatedAt time.Time
ModifiedAt time.Time
CustomData *string `gorm:"type:json"`
InternalUse *string `gorm:"type:json"`
// LANGUAGE DETAILS:
// ---
LanguageId int
LanguageCrmId string
LanguageName string
// CLIENT DETAILS:
// ---
ClientId int
ClientName string
ClientState string
// INTERPRETER DETAILS:
// ---
InterpreterId int
InterpreterCrmId string
InterpreterName string
InterpreterPhone string
InterpreterGst bool
InterpreterNaatiId string
InterpreterGender string
InterpreterState string
InterpreterPaymentState string
InterpreterEmployer string
InterpreterLanguagePriority int
InterpreterLanguageNaatiLevel int
InterpreterLanguageNaatiDescription string
InterpreterLanguageWtn bool
InterpreterCallDuration int
InterpreterTimeOfDay string
InterpreterPayment float64
InterpreterRate float64
PaymentConfigCrmId string
PaymentConfigName string
PaymentConfigUsed string
// TIMESTAMP DETAILS:
// ---
P1SearchStartTime *time.Time
P1ConnectTime time.Time
P1DisconnectTime time.Time
P2SearchStartTime *time.Time
P2AcceptanceTime time.Time
P2ConferenceTime time.Time
P2DisconnectTime time.Time
}
func (DBInterpreterProcessed) TableName() string {
return "gc_interpreter_processed"
}
/*
type Processed struct {
ClientConversationId string `gorm:"index"`
InterpreterConversationId string `gorm:"primaryKey;index"`
CallType string `gorm:"index"`
GenderPreference string
LanguageId int
ClientId int `gorm:"index"`
CustomerDnis string
CustomerAni string
InterpreterId int
SearchStartTime time.Time `gorm:"index"`
ClientIndex int
NesIndex int
P2ConnectTimeUtc time.Time `gorm:"index"`
P2DisconnectTimeUtc time.Time `gorm:"index"`
P1ConnectTimeUtc time.Time `gorm:"index"`
P1DisconnectTimeUtc time.Time `gorm:"index"`
P3ConnectTimeUtc *time.Time
P3DisconnectTimeUtc *time.Time
BookingRequestNumber *int `gorm:"index"`
IvrData *int
UtsEntries int
InterpreterCount int
Flags *string `gorm:"type:json"`
Metadata *string `gorm:"type:json"`
// Client data
ClientCrmData string `gorm:"type:json"`
InvoiceConfigCrmData string `gorm:"type:json"`
LanguageCrmData string `gorm:"type:json"`
InterpreterCrmData string `gorm:"type:json"`
LanguageLookupCrmData string `gorm:"type:json"`
VicTimezoneData string `gorm:"type:json"`
NzTimezoneData string `gorm:"type:json"`
LocalTimezoneData string `gorm:"type:json"`
}
func (Processed) TableName() string {
return "gc_processed"
}
*/

View File

@@ -8,6 +8,7 @@ type DBQueueLog struct {
Start time.Time `gorm:"index"`
End time.Time `gorm:"index"`
Duration float64
NextQueue string
Result string `gorm:"type:json"`
}

View File

@@ -12,7 +12,7 @@ type DBSegment struct {
SegmentEnd time.Time `gorm:"index"`
SegmentStart time.Time `gorm:"index"`
SegmentType string `gorm:"index"`
SessionId string `gorm:"foreignKey"`
SessionId string `gorm:"index;foreignKey"`
WrapUpCode string
}

134
models/ticket.go Normal file
View File

@@ -0,0 +1,134 @@
package models
import "time"
type DBTicket struct {
AccountId int
ApprovalCount int
Assignee string `gorm:"type:json"`
AssigneeId int
AttachmentCount int
Category string
CF string `gorm:"type:json"`
Channel string
ChannelCode string
ChannelRelatedInfo string
Classification string
ClosedTime *time.Time
CommentCount int
Contact string `gorm:"type:json"`
ContactId int
CreatedBy int
CreatedTime time.Time
CustomerResponseTime time.Time
DepartmentId int
DescAttachments string `gorm:"type:json"`
Description string
DueDate *time.Time
Email string
EntitySkills string `gorm:"type:json"`
FirstThread string `gorm:"type:json"`
FollowerCount int
Id string `gorm:"primaryKey"`
IsArchived bool
IsDeleted bool
IsEscalated bool
IsOverdue bool
IsResponseOverdue bool
IsSpam bool
IsTrashed bool
Language string
LayoutDetails string `gorm:"type:json"`
LayoutId int
ModifiedBy int
ModifiedTime time.Time
OnHoldTime *time.Time
Phone string
Priority string
ProductId string
Resolution string
ResponseDueDate *time.Time
SecondaryContacts string `gorm:"type:json"`
Sentiment string
SharedDepartments string `gorm:"type:json"`
Source string `gorm:"type:json"`
Status string
StatusType string
SubCategory string
Subject string
TagCount int
TaskCount int
TeamId int
ThreadCount int
TicketNumber int
TimeEntryCount int
WebUrl string
}
func (DBTicket) TableName() string {
return "zoho_live_tickets"
}
type Ticket struct {
TicketID string `gorm:"primaryKey;column:ticket_id" json:"ticket_id"`
TicketReferenceID *string `gorm:"column:ticket_reference_id" json:"ticket_reference_id"`
DepartmentID *string `gorm:"column:department_id" json:"department_id"`
AccountID *string `gorm:"column:account_id" json:"account_id"`
ContactID *string `gorm:"column:contact_id" json:"contact_id"`
Email *string `gorm:"column:email" json:"email"`
Phone *string `gorm:"column:phone" json:"phone"`
Subject *string `gorm:"column:subject" json:"subject"`
Description *string `gorm:"column:description" json:"description"`
Status *string `gorm:"column:status" json:"status"`
ProductID *string `gorm:"column:product_id" json:"product_id"`
TicketOwnerID *string `gorm:"column:ticket_owner_id" json:"ticket_owner_id"`
CreatedBy *string `gorm:"column:created_by" json:"created_by"`
ModifiedBy *string `gorm:"column:modified_by" json:"modified_by"`
CreatedTime *time.Time `gorm:"column:created_time" json:"created_time"`
OnHoldTime *time.Time `gorm:"column:on_hold_time" json:"on_hold_time"`
ClosedTime *time.Time `gorm:"column:closed_time" json:"closed_time"`
ModifiedTime *time.Time `gorm:"column:modified_time" json:"modified_time"`
TeamID *string `gorm:"column:team_id" json:"team_id"`
DueDate *time.Time `gorm:"column:due_date" json:"due_date"`
Tags *string `gorm:"column:tags" json:"tags"`
Priority *string `gorm:"column:priority" json:"priority"`
IsOverdue *bool `gorm:"column:is_overdue" json:"is_overdue"`
IsEscalated *bool `gorm:"column:is_escalated" json:"is_escalated"`
Classification *string `gorm:"column:classification" json:"classification"`
Resolution *string `gorm:"column:resolution" json:"resolution"`
TimeToRespond *int `gorm:"column:time_to_respond" json:"time_to_respond"`
Category *string `gorm:"column:category" json:"category"`
Subcategory *string `gorm:"column:subcategory" json:"subcategory"`
Subclassification *string `gorm:"column:subclassification" json:"subclassification"`
BookingNumber *int `gorm:"column:booking_number" json:"booking_number"`
CostCode *string `gorm:"column:cost_code" json:"cost_code"`
LanguageRequired *string `gorm:"column:language_required" json:"language_required"`
TimeZone *string `gorm:"column:time_zone" json:"time_zone"`
DeliveryMethod *string `gorm:"column:delivery_method" json:"delivery_method"`
DurationInMinutes *int `gorm:"column:duration_in_minutes" json:"duration_in_minutes"`
InterpreterID *int `gorm:"column:interpreter_id" json:"interpreter_id"`
InterpreterEmail *string `gorm:"column:interpreter_email" json:"interpreter_email"`
InterpreterName *string `gorm:"column:interpreter_name" json:"interpreter_name"`
ClientID *int `gorm:"column:client_id" json:"client_id"`
ClientName *string `gorm:"column:client_name" json:"client_name"`
InterpreterNaati *int `gorm:"column:interpreter_naati" json:"interpreter_naati"`
SecondaryInterpreterID *int `gorm:"column:secondary_interpreter_id" json:"secondary_interpreter_id"`
PayCycle *int `gorm:"column:pay_cycle" json:"pay_cycle"`
BookingTime *time.Time `gorm:"column:booking_time" json:"booking_time"`
BillingGroup *string `gorm:"column:billing_group" json:"billing_group"`
VideoLink *string `gorm:"column:video_link" json:"video_link"`
ConversationID *string `gorm:"column:conversation_id" json:"conversation_id"`
DNIS *string `gorm:"column:dnis" json:"dnis"`
ClientAgentName *string `gorm:"column:client_agent_name" json:"client_agent_name"`
ClientAgentPhone *string `gorm:"column:client_agent_phone" json:"client_agent_phone"`
ClientAgentEmail *string `gorm:"column:client_agent_email" json:"client_agent_email"`
BillingCode *string `gorm:"column:billing_code" json:"billing_code"`
MBIEFeedback *string `gorm:"column:mbie_feedback" json:"mbie_feedback"`
BookingComments *string `gorm:"column:booking_comments" json:"booking_comments"`
AdditionalPrebookingInformation *string `gorm:"column:additional_prebooking_information" json:"additional_prebooking_information"`
ForceUpdate *bool `gorm:"column:force_update" json:"force_update"`
}
func (Ticket) TableName() string {
return "live_tickets"
}