idos

package
v0.0.0-...-6d8a328 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2022 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FinancialUpdateRequestUnmarshal

func FinancialUpdateRequestUnmarshal(ctx context.Context, r *http.Request) (*models.WorkOrder, error, int)

func NewLiteTenantFilter

func NewLiteTenantFilter(ido *LiteTenantFilterIDO) *models.LiteTenantFilter

DEPRECATED

func NewModelFromAssociateCreateRequestIDO

func NewModelFromAssociateCreateRequestIDO(ctx context.Context, ido *AssociateCreateRequestIDO) (*models.Associate, error)

func NewModelFromCustomerCreateRequestIDO

func NewModelFromCustomerCreateRequestIDO(ctx context.Context, ido *CustomerCreateRequestIDO) (*models.Customer, error)

func NewModelFromPartnerCreateRequestIDO

func NewModelFromPartnerCreateRequestIDO(ctx context.Context, ido *PartnerCreateRequestIDO) (*models.Partner, error)

func NewModelFromStaffCreateRequestIDO

func NewModelFromStaffCreateRequestIDO(ctx context.Context, ido *StaffCreateRequestIDO) (*models.Staff, error)

func NewModelFromWorkOrderCreateRequestIDO

func NewModelFromWorkOrderCreateRequestIDO(ctx context.Context, ido *WorkOrderCreateRequestIDO) (*models.WorkOrder, error)

func NewModelFromWorkOrderLiteUpdateRequestIDO

func NewModelFromWorkOrderLiteUpdateRequestIDO(ctx context.Context, ido *WorkOrderLiteUpdateRequestIDO) (*models.WorkOrder, error)

func ValidateFinancialUpdateFromRequest

func ValidateFinancialUpdateFromRequest(dirtyData *FinancialUpdateRequestIDO) (bool, string)

func ValidateWorkOrderInvoiceCreateRequest

func ValidateWorkOrderInvoiceCreateRequest(dirtyData *WorkOrderInvoiceCreateRequestIDO) (bool, string)

Types

type ActivitySheetItemIDO

type ActivitySheetItemIDO struct {
	Id                   uint64    `json:"id"`
	TenantID             uint64    `json:"tenant_id"`
	AssociateId          uint64    `json:"associate_id"`
	AssociateName        string    `json:"associate_name"`
	AssociateLexicalName string    `json:"associate_lexical_name"`
	OrderId              null.Int  `json:"order_id"`
	OngoingOrderId       null.Int  `json:"ongoing_order_id"`
	State                int8      `json:"state"`
	CreatedTime          time.Time `json:"created_time"`
	Comment              string    `json:"comment"`
}

type AssociateAccountUpdateRequestIDO

type AssociateAccountUpdateRequestIDO struct {
	SkillSetPKs                          []uint64    `json:"skill_sets"`
	InsuranceRequirementPKs              []uint64    `json:"insurance_requirements"`
	VehicleTypesPKs                      []uint64    `json:"vehicle_types"`
	HourlySalaryDesired                  null.Int    `json:"hourly_salary_desired"`
	LimitSpecial                         null.String `json:"limit_special"`
	DuesDate                             null.String `json:"dues_date"`
	CommercialInsuranceExpiryDate        string      `json:"commercial_insurance_expiry_date"`
	AutoInsuranceExpiryDate              null.String `json:"auto_insurance_expiry_date"`
	WsibNumber                           null.String `json:"wsib_number"`
	WsibInsuranceDate                    null.String `json:"wsib_insurance_date"`
	PoliceCheck                          string      `json:"police_check"`
	TaxId                                null.String `json:"tax_id"`
	DriversLicenseClass                  null.String `json:"drivers_license_class"`
	ServiceFeeId                         uint64      `json:"service_fee_id"`
	EmergencyContactName                 null.String `json:"emergency_contact_name"`
	EmergencyContactRelationship         null.String `json:"emergency_contact_relationship"`
	EmergencyContactTelephone            null.String `json:"emergency_contact_telephone"`
	EmergencyContactAlternativeTelephone null.String `json:"emergency_contact_alternative_telephone"`
}

type AssociateAddressUpdateRequestIDO

type AssociateAddressUpdateRequestIDO struct {
	AddressCountry      string `json:"address_country"`
	AddressRegion       string `json:"address_region"`
	AddressLocality     string `json:"address_locality"`
	PostOfficeBoxNumber string `json:"post_office_box_number"`
	PostalCode          string `json:"postal_code"`
	StreetAddress       string `json:"street_address"`
	StreetAddressExtra  string `json:"street_address_extra"`
}

type AssociateAwayLogCreateRequestIDO

type AssociateAwayLogCreateRequestIDO struct {
	AssociateId        uint64      `json:"associate_id"`
	StartDate          null.String `json:"start_date"`
	Reason             int8        `json:"reason"`
	ReasonOther        null.String `json:"reason_other"`
	UntilFurtherNotice bool        `json:"until_further_notice"`
	UntilDate          null.String `json:"until_date"`
}

type AssociateAwayLogIDO

type AssociateAwayLogIDO struct {
	Id                   uint64      `json:"id"`
	Uuid                 string      `json:"uuid"`
	TenantID             uint64      `json:"tenant_id"`
	AssociateId          uint64      `json:"associate_id"`
	AssociateName        string      `json:"associate_name,omitempty"`
	AssociateLexicalName string      `json:"associate_lexical_name,omitempty"`
	Reason               int8        `json:"reason"`
	ReasonOther          null.String `json:"reason_other"`
	UntilFurtherNotice   bool        `json:"until_further_notice"`
	UntilDate            null.Time   `json:"until_date"`
	StartDate            null.Time   `json:"start_date"`
	State                int8        `json:"state"`
	CreatedTime          time.Time   `json:"created_time"`
	CreatedById          null.Int    `json:"created_by_id"`
	CreatedByName        null.String `json:"created_by_name"`
	CreatedFromIP        string      `json:"created_from_ip"`
	LastModifiedTime     time.Time   `json:"last_modified_time"`
	LastModifiedById     null.Int    `json:"last_modified_by_id"`
	LastModifiedByName   null.String `json:"last_modified_by_name"`
	LastModifiedFromIP   string      `json:"last_modified_from_ip"`
}

func NewAssociateAwayLogIDO

func NewAssociateAwayLogIDO(m *models.AssociateAwayLog) *AssociateAwayLogIDO

type AssociateAwayLogUpdateRequestIDO

type AssociateAwayLogUpdateRequestIDO struct {
	AssociateId        uint64      `json:"associate_id"`
	StartDate          null.String `json:"start_date"`
	Reason             int8        `json:"reason"`
	ReasonOther        null.String `json:"reason_other"`
	UntilFurtherNotice bool        `json:"until_further_notice"`
	UntilDate          null.String `json:"until_date"`
}

type AssociateCommentCreateRequestIDO

type AssociateCommentCreateRequestIDO struct {
	AssociateId uint64 `json:"associate_id"`
	Text        string `json:"text"`
}

type AssociateCommentCreateResponseIDO

type AssociateCommentCreateResponseIDO struct {
	Id          uint64 `json:"id"`
	AssociateId uint64 `json:"associate_id"`
	Text        string `json:"text"`
}

type AssociateCommentListResponseIDO

type AssociateCommentListResponseIDO struct {
	NextId  uint64                     `json:"next_id,omitempty"`
	Count   uint64                     `json:"count"`
	Results []*models.AssociateComment `json:"results"`
}

func NewAssociateCommentListResponseIDO

func NewAssociateCommentListResponseIDO(arr []*models.AssociateComment, count uint64) *AssociateCommentListResponseIDO

type AssociateContactUpdateRequestIDO

type AssociateContactUpdateRequestIDO struct {
	OrganizationName        string `json:"organization_name"`
	OrganizationTypeOf      int8   `json:"organization_type_of"`
	GivenName               string `json:"given_name"`
	MiddleName              string `json:"middle_name"`
	LastName                string `json:"last_name"`
	Email                   string `json:"email"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`
	IsOkToEmail             bool   `json:"is_ok_to_email"`
	IsOkToText              bool   `json:"is_ok_to_text"`
}

type AssociateCreateRequestIDO

type AssociateCreateRequestIDO struct {
	// Step 3 - Type
	TypeOf int8 `json:"type_of"`

	// Step 4 - Contact
	OrganizationName        string `json:"organization_name"`
	OrganizationTypeOf      int8   `json:"organization_type_of"`
	GivenName               string `json:"given_name"`
	MiddleName              string `json:"middle_name"`
	LastName                string `json:"last_name"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`
	Email                   string `json:"email"`
	IsOkToEmail             bool   `json:"is_ok_to_email"`
	IsOkToText              bool   `json:"is_ok_to_text"`

	// Step 5 - Address
	AddressCountry               string `json:"address_country"`
	AddressRegion                string `json:"address_region"`
	AddressLocality              string `json:"address_locality"`
	PostOfficeBoxNumber          string `json:"post_office_box_number"`
	PostalCode                   string `json:"postal_code"`
	StreetAddress                string `json:"street_address"`
	StreetAddressExtra           string `json:"street_address_extra"`
	FullAddressWithoutPostalCode string `json:"full_address_without_postal_code,omitempty"` // Compiled value
	FullAddressWithPostalCode    string `json:"full_address_with_postal_code,omitempty"`    // Compiled value
	FullAddressUrl               string `json:"full_address_url,omitempty"`                 // Compiled value

	// Step 6 - Account
	SkillSetPKs                          []uint64    `json:"skill_sets"`
	InsuranceRequirementPKs              []uint64    `json:"insurance_requirements"`
	HourlySalaryDesired                  null.Int    `json:"hourly_salary_desired"`
	LimitSpecial                         null.String `json:"limit_special"`
	DuesDate                             null.String `json:"dues_date"`
	CommercialInsuranceExpiryDate        string      `json:"commercial_insurance_expiry_date"`
	AutoInsuranceExpiryDate              null.String `json:"auto_insurance_expiry_date"`
	WsibNumber                           null.String `json:"wsib_number"`
	WsibInsuranceDate                    null.String `json:"wsib_insurance_date"`
	PoliceCheck                          null.String `json:"police_check"`
	TaxId                                null.String `json:"tax_id"`
	DriversLicenseClass                  null.String `json:"drivers_license_class"`
	VehicleTypesPKs                      []uint64    `json:"vehicle_types"`
	ServiceFeeId                         uint64      `json:"service_fee_id"`
	EmergencyContactName                 null.String `json:"emergency_contact_name"`
	EmergencyContactRelationship         null.String `json:"emergency_contact_relationship"`
	EmergencyContactTelephone            null.String `json:"emergency_contact_telephone"`
	EmergencyContactAlternativeTelephone null.String `json:"emergency_contact_alternative_telephone"`

	// Step 7 - Metrics
	Description  null.String `json:"description"`
	Birthdate    null.String `json:"birthdate"`
	JoinDate     null.String `json:"join_date"`
	Gender       string      `json:"gender"`
	HowHearId    uint64      `json:"how_hear_id"`
	HowHearOther string      `json:"how_hear_other"`
	TagPKs       []uint64    `json:"tags,omitempty"`
}

type AssociateIDO

type AssociateIDO struct {
	// -- associate.py
	Id                                   uint64      `json:"id"`
	Uuid                                 string      `json:"uuid"`
	TenantID                             uint64      `json:"tenant_id"`
	UserId                               uint64      `json:"user_id"`
	TypeOf                               int8        `json:"type_of"`
	OrganizationName                     string      `json:"organization_name"`
	OrganizationTypeOf                   int8        `json:"organization_type_of"`
	Business                             string      `json:"business"`
	IndexedText                          string      `json:"indexed_text"`
	IsOkToEmail                          bool        `json:"is_ok_to_email"`
	IsOkToText                           bool        `json:"is_ok_to_text"`
	HourlySalaryDesired                  null.Int    `json:"hourly_salary_desired"`
	LimitSpecial                         null.String `json:"limit_special"`
	DuesDate                             null.Time   `json:"dues_date"`
	CommercialInsuranceExpiryDate        null.Time   `json:"commercial_insurance_expiry_date"`
	AutoInsuranceExpiryDate              null.Time   `json:"auto_insurance_expiry_date"`
	WsibNumber                           null.String `json:"wsib_number"`
	WsibInsuranceDate                    null.Time   `json:"wsib_insurance_date"`
	PoliceCheck                          null.Time   `json:"police_check"`
	DriversLicenseClass                  null.String `json:"drivers_license_class"`
	HowHearOld                           int8        `json:"how_hear_old"`
	HowHearId                            uint64      `json:"how_hear_id"`
	HowHearOther                         string      `json:"how_hear_other"`
	HowHearText                          string      `json:"how_hear_text"` // Referenced value from `HowHearAboutUsItem`.
	State                                int8        `json:"state"`
	DeactivationReason                   int8        `json:"deactivation_reason"`
	DeactivationReasonOther              string      `json:"deactivation_reason_other"`
	CreatedTime                          time.Time   `json:"created_time"`
	CreatedById                          null.Int    `json:"created_by_id"`
	CreatedByName                        null.String `json:"created_by_name,omitempty"` // Referenced value from `Users`.
	CreatedFromIP                        string      `json:"created_from_ip"`
	LastModifiedTime                     time.Time   `json:"last_modified_time"`
	LastModifiedById                     null.Int    `json:"last_modified_by_id"`
	LastModifiedByName                   null.String `json:"last_modified_by_name"` // Referenced value from `Users`.
	LastModifiedFromIP                   string      `json:"last_modified_from_ip"`
	Score                                float64     `json:"score"`
	OldId                                uint64      `json:"old_id"`
	ServiceFeeId                         uint64      `json:"service_fee_id"`
	Description                          null.String `json:"description"`
	AvatarS3Key                          null.String `json:"avatar_s3_key"`
	AvatarTitle                          null.String `json:"avatar_title"`
	AvatarFileUrl                        null.String `json:"avatar_file_url,omitempty"` // (Optional, added by endpoint)
	BalanceOwingAmount                   float64     `json:"balance_owing_amount"`
	EmergencyContactName                 null.String `json:"emergency_contact_name"`
	EmergencyContactRelationship         null.String `json:"emergency_contact_relationship"`
	EmergencyContactTelephone            null.String `json:"emergency_contact_telephone"`
	EmergencyContactAlternativeTelephone null.String `json:"emergency_contact_alternative_telephone"`

	// -- abstract_postal_address.py
	AddressCountry               string `json:"address_country"`
	AddressRegion                string `json:"address_region"`
	AddressLocality              string `json:"address_locality"`
	PostOfficeBoxNumber          string `json:"post_office_box_number"`
	PostalCode                   string `json:"postal_code"`
	StreetAddress                string `json:"street_address"`
	StreetAddressExtra           string `json:"street_address_extra"`
	FullAddressWithoutPostalCode string `json:"full_address_without_postal_code,omitempty"` // Compiled value
	FullAddressWithPostalCode    string `json:"full_address_with_postal_code,omitempty"`    // Compiled value
	FullAddressUrl               string `json:"full_address_url,omitempty"`                 // Compiled value

	// -- abstract_person.py
	GivenName   string    `json:"given_name"`
	MiddleName  string    `json:"middle_name"`
	LastName    string    `json:"last_name"`
	Name        string    `json:"name,omitempty"`
	LexicalName string    `json:"lexical_name,omitempty"`
	Birthdate   null.Time `json:"birthdate"`
	JoinDate    null.Time `json:"join_date"`
	Nationality string    `json:"nationality"`
	Gender      string    `json:"gender"`
	TaxId       string    `json:"tax_id"`

	// -- abstract_geo_coorindate.py
	Elevation float64 `json:"elevation"`
	Latitude  float64 `json:"latitude"`
	Longitude float64 `json:"longitude"`

	// -- abstract_contact_point.py
	AreaServed              string `json:"area_served"`
	AvailableLanguage       string `json:"available_language"`
	ContactType             string `json:"contact_type"`
	Email                   string `json:"email"`
	FaxNumber               string `json:"fax_number"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`

	// -- Reference --
	Tags                  []*models.AssociateTag                  `json:"tags"`
	SkillSets             []*models.AssociateSkillSet             `json:"skill_sets"`
	InsuranceRequirements []*models.AssociateInsuranceRequirement `json:"insurance_requirements"`
	VehicleTypes          []*models.AssociateVehicleType          `json:"vehicle_types"`
	ServiceFee            *models.WorkOrderServiceFee             `json:"invoice_service_fee"` // Referenced value from 'work_order_service_fee'.
}

func NewAssociateIDO

func NewAssociateIDO(m *models.Associate) *AssociateIDO

type AssociateMetricsUpdateRequestIDO

type AssociateMetricsUpdateRequestIDO struct {
	Description  null.String `json:"description"`
	Birthdate    null.String `json:"birthdate"`
	JoinDate     null.String `json:"join_date"`
	Gender       string      `json:"gender"`
	HowHearId    uint64      `json:"how_hear_id"`
	HowHearOther string      `json:"how_hear_other"`
	TagPKs       []uint64    `json:"tags,omitempty"`
}

type AssociateOperationArchiveRequestIDO

type AssociateOperationArchiveRequestIDO struct {
	AssociateId             uint64 `json:"associate_id"`
	DeactivationReason      int8   `json:"deactivation_reason"`
	DeactivationReasonOther string `json:"deactivation_reason_other"`
	Comment                 string `json:"comment"`
}

type AssociateOperationChangePasswordRequestIDO

type AssociateOperationChangePasswordRequestIDO struct {
	AssociateId    uint64 `json:"associate_id"`
	Password       string `json:"password"`
	RepeatPassword string `json:"repeat_password"`
}

type AssociateOperationDowngradeCommercialRequestIDO

type AssociateOperationDowngradeCommercialRequestIDO struct {
	AssociateId uint64 `json:"associate_id"`
}

type AssociateOperationPermanentlyDeleteRequestIDO

type AssociateOperationPermanentlyDeleteRequestIDO struct {
	AssociateId uint64 `json:"associate_id"`
}

type AssociateOperationUpgradeResidentialRequestIDO

type AssociateOperationUpgradeResidentialRequestIDO struct {
	AssociateId                     uint64 `json:"associate_id"`
	OrganizationName                string `json:"organization_name"`
	OrganizationTypeOf              int8   `json:"organization_type_of"`
	OrganizationAddressCountry      string `json:"organization_address_country"`
	OrganizationAddressRegion       string `json:"organization_address_region"`
	OrganizationAddressLocality     string `json:"organization_address_locality"`
	OrganizationStreetAddress       string `json:"organization_street_address"`
	OrganizationStreetAddressExtra  string `json:"organization_street_address_extra"`
	OrganizationPostalCode          string `json:"organization_postal_code"`
	OrganizationPostOfficeBoxNumber string `json:"organization_post_office_box_number"`
}

type AssociateOperationUploadAvatarRequestIDO

type AssociateOperationUploadAvatarRequestIDO struct {
	TenantID       uint64 `json:"tenant_id,omitempty"`
	Title          string `json:"title"`
	Description    string `json:"description"`
	UploadContent  string `json:"upload_content"`
	UploadFilename string `json:"upload_filename"`
	AssociateId    uint64 `json:"associate_id"`
}

type BulletinBoardItemCreateRequestIDO

type BulletinBoardItemCreateRequestIDO struct {
	Text string `json:"text"`
}

type BulletinBoardItemIDO

type BulletinBoardItemIDO struct {
	Id                 uint64    `json:"id"`
	Uuid               string    `json:"uuid"`
	TenantID           uint64    `json:"tenant_id"`
	Text               string    `json:"text"`
	CreatedTime        time.Time `json:"created_time"`
	CreatedById        uint64    `json:"created_by_id,omitempty"`
	CreatedByName      string    `json:"created_by_name,omitempty"`
	CreatedFromIP      string    `json:"created_from_ip"`
	LastModifiedTime   time.Time `json:"last_modified_time"`
	LastModifiedById   uint64    `json:"last_modified_by_id,omitempty"`
	LastModifiedByName string    `json:"last_modified_by_name,omitempty"`
	LastModifiedFromIP string    `json:"last_modified_from_ip"`
	State              int8      `json:"state"`
	OldId              uint64    `json:"old_id"`
}

type BulletinBoardItemUpdateRequestIDO

type BulletinBoardItemUpdateRequestIDO struct {
	Text string `json:"text"`
}

type CustomerAddressUpdateRequestIDO

type CustomerAddressUpdateRequestIDO struct {
	AddressCountry      string `json:"address_country"`
	AddressRegion       string `json:"address_region"`
	AddressLocality     string `json:"address_locality"`
	PostOfficeBoxNumber string `json:"post_office_box_number"`
	PostalCode          string `json:"postal_code"`
	StreetAddress       string `json:"street_address"`
	StreetAddressExtra  string `json:"street_address_extra"`
}

type CustomerCommentCreateRequestIDO

type CustomerCommentCreateRequestIDO struct {
	CustomerId uint64 `json:"customer_id"`
	Text       string `json:"text"`
}

type CustomerCommentCreateResponseIDO

type CustomerCommentCreateResponseIDO struct {
	Id         uint64 `json:"id"`
	CustomerId uint64 `json:"customer_id"`
	Text       string `json:"text"`
}

type CustomerCommentListResponseIDO

type CustomerCommentListResponseIDO struct {
	NextId  uint64                    `json:"next_id,omitempty"`
	Count   uint64                    `json:"count"`
	Results []*models.CustomerComment `json:"results"`
}

func NewCustomerCommentListResponseIDO

func NewCustomerCommentListResponseIDO(arr []*models.CustomerComment, count uint64) *CustomerCommentListResponseIDO

type CustomerContactUpdateRequestIDO

type CustomerContactUpdateRequestIDO struct {
	OrganizationName        string `json:"organization_name"`
	OrganizationTypeOf      int8   `json:"organization_type_of"`
	GivenName               string `json:"given_name"`
	MiddleName              string `json:"middle_name"`
	LastName                string `json:"last_name"`
	Email                   string `json:"email"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`
	IsOkToEmail             bool   `json:"is_ok_to_email"`
	IsOkToText              bool   `json:"is_ok_to_text"`
}

type CustomerCreateRequestIDO

type CustomerCreateRequestIDO struct {
	// Step 3 - Type
	TypeOf int8 `json:"type_of"`

	// Step 4 - Contact
	OrganizationName        string `json:"organization_name"`
	OrganizationTypeOf      int8   `json:"organization_type_of"`
	GivenName               string `json:"given_name"`
	MiddleName              string `json:"middle_name"`
	LastName                string `json:"last_name"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`
	Email                   string `json:"email"`
	IsOkToEmail             bool   `json:"is_ok_to_email"`
	IsOkToText              bool   `json:"is_ok_to_text"`

	// Step 5 - Address
	AddressCountry               string `json:"address_country"`
	AddressRegion                string `json:"address_region"`
	AddressLocality              string `json:"address_locality"`
	PostOfficeBoxNumber          string `json:"post_office_box_number"`
	PostalCode                   string `json:"postal_code"`
	StreetAddress                string `json:"street_address"`
	StreetAddressExtra           string `json:"street_address_extra"`
	FullAddressWithoutPostalCode string `json:"full_address_without_postal_code,omitempty"` // Compiled value
	FullAddressWithPostalCode    string `json:"full_address_with_postal_code,omitempty"`    // Compiled value
	FullAddressUrl               string `json:"full_address_url,omitempty"`                 // Compiled value

	// Step 6 - Metrics
	Description  null.String `json:"description"`
	Birthdate    null.String `json:"birthdate"`
	JoinDate     null.String `json:"join_date"`
	Gender       string      `json:"gender"`
	HowHearId    uint64      `json:"how_hear_id"`
	HowHearOther string      `json:"how_hear_other"`
	TagPKs       []uint64    `json:"tags,omitempty"`
}

type CustomerIDO

type CustomerIDO struct {
	// -- customer.py
	Id                      uint64      `json:"id"`
	Uuid                    string      `json:"uuid"`
	TenantID                uint64      `json:"tenant_id"`
	UserId                  uint64      `json:"user_id"`
	TypeOf                  int8        `json:"type_of"`
	IndexedText             string      `json:"indexed_text"`
	IsOkToEmail             bool        `json:"is_ok_to_email"`
	IsOkToText              bool        `json:"is_ok_to_text"`
	IsBusiness              bool        `json:"is_business"`
	IsSenior                bool        `json:"is_senior"`
	IsSupport               bool        `json:"is_support"`
	JobInfoRead             string      `json:"job_info_read"`
	HowHearId               uint64      `json:"how_hear_id"`
	HowHearOld              int8        `json:"how_hear_old"`
	HowHearOther            string      `json:"how_hear_other"`
	HowHearText             string      `json:"how_hear_text"`
	State                   int8        `json:"state"`
	DeactivationReason      int8        `json:"deactivation_reason"`
	DeactivationReasonOther string      `json:"deactivation_reason_other"`
	CreatedTime             time.Time   `json:"created_time"`
	CreatedById             null.Int    `json:"created_by_id"`
	CreatedByName           null.String `json:"created_by_name"` // Compiled value
	CreatedFromIP           string      `json:"created_from_ip"`
	LastModifiedTime        time.Time   `json:"last_modified_time"`
	LastModifiedById        null.Int    `json:"last_modified_by_id"`
	LastModifiedByName      null.String `json:"last_modified_by_name"` // Compiled value.
	LastModifiedFromIP      string      `json:"last_modified_from_ip"`
	OrganizationName        string      `json:"organization_name"`
	OrganizationTypeOf      int8        `json:"organization_type_of"`
	OldId                   uint64      `json:"old_id"`
	AvatarFileUrl           null.String `json:"avatar_file_url,omitempty"` // (Optional, added by endpoint)
	Description             null.String `json:"description"`

	// -- abstract_postal_address.py
	AddressCountry               string `json:"address_country"`
	AddressRegion                string `json:"address_region"`
	AddressLocality              string `json:"address_locality"`
	PostOfficeBoxNumber          string `json:"post_office_box_number"`
	PostalCode                   string `json:"postal_code"`
	StreetAddress                string `json:"street_address"`
	StreetAddressExtra           string `json:"street_address_extra"`
	FullAddressWithoutPostalCode string `json:"full_address_without_postal_code,omitempty"` // Compiled value
	FullAddressWithPostalCode    string `json:"full_address_with_postal_code,omitempty"`    // Compiled value
	FullAddressUrl               string `json:"full_address_url,omitempty"`                 // Compiled value

	// -- abstract_person.py
	GivenName   string    `json:"given_name"`
	MiddleName  string    `json:"middle_name"`
	LastName    string    `json:"last_name"`
	Name        string    `json:"name,omitempty"`
	LexicalName string    `json:"lexical_name,omitempty"`
	Birthdate   null.Time `json:"birthdate"`
	JoinDate    null.Time `json:"join_date"`
	Nationality string    `json:"nationality"`
	Gender      string    `json:"gender"`
	TaxId       string    `json:"tax_id"`

	// -- abstract_geo_coorindate.py
	Elevation float64 `json:"elevation"`
	Latitude  float64 `json:"latitude"`
	Longitude float64 `json:"longitude"`

	// -- abstract_contact_point.py
	AreaServed              string `json:"area_served"`
	AvailableLanguage       string `json:"available_language"`
	ContactType             string `json:"contact_type"`
	Email                   string `json:"email"`
	FaxNumber               string `json:"fax_number"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`

	// -- Reference --
	Tags []*models.CustomerTag `json:"tags,omitempty"`
}

func NewCustomerIDO

func NewCustomerIDO(m *models.Customer) *CustomerIDO

type CustomerMetricsUpdateRequestIDO

type CustomerMetricsUpdateRequestIDO struct {
	Description  null.String `json:"description"`
	Birthdate    null.String `json:"birthdate"`
	JoinDate     null.String `json:"join_date"`
	Gender       string      `json:"gender"`
	HowHearId    uint64      `json:"how_hear_id"`
	HowHearOther string      `json:"how_hear_other"`
	TagPKs       []uint64    `json:"tags,omitempty"`
}

type CustomerOperationArchiveRequestIDO

type CustomerOperationArchiveRequestIDO struct {
	CustomerId              uint64 `json:"customer_id"`
	DeactivationReason      int8   `json:"deactivation_reason"`
	DeactivationReasonOther string `json:"deactivation_reason_other"`
	Comment                 string `json:"comment"`
}

type CustomerOperationPermanentlyDeleteRequestIDO

type CustomerOperationPermanentlyDeleteRequestIDO struct {
	CustomerId uint64 `json:"customer_id"`
}

type CustomerOperationUpgradeResidentialRequestIDO

type CustomerOperationUpgradeResidentialRequestIDO struct {
	CustomerId                      uint64 `json:"customer_id"`
	OrganizationName                string `json:"organization_name"`
	OrganizationTypeOf              int8   `json:"organization_type_of"`
	OrganizationAddressCountry      string `json:"organization_address_country"`
	OrganizationAddressRegion       string `json:"organization_address_region"`
	OrganizationAddressLocality     string `json:"organization_address_locality"`
	OrganizationStreetAddress       string `json:"organization_street_address"`
	OrganizationStreetAddressExtra  string `json:"organization_street_address_extra"`
	OrganizationPostalCode          string `json:"organization_postal_code"`
	OrganizationPostOfficeBoxNumber string `json:"organization_post_office_box_number"`
}

type CustomerOperationUploadAvatarRequestIDO

type CustomerOperationUploadAvatarRequestIDO struct {
	TenantID       uint64 `json:"tenant_id,omitempty"`
	Title          string `json:"title"`
	Description    string `json:"description"`
	UploadContent  string `json:"upload_content"`
	UploadFilename string `json:"upload_filename"`
	CustomerId     uint64 `json:"customer_id"`
}

type DashboardIDO

type DashboardIDO struct {
	CustomerCount          uint64                      `json:"customer_count"`
	JobCount               uint64                      `json:"job_count"`
	MemberCount            uint64                      `json:"member_count"`
	TasksCount             uint64                      `json:"tasks_count"`
	BulletinBoardItems     []*models.BulletinBoardItem `json:"bulletin_board_items"`
	LastModifiedJobsByUser []*models.LiteWorkOrder     `json:"last_modified_jobs_by_user"`
	AwayLog                []*models.AssociateAwayLog  `json:"away_log"`
	LastModifiedJobsByTeam []*models.LiteWorkOrder     `json:"last_modified_jobs_by_team"`
	PastFewDayComments     []*models.WorkOrderComment  `json:"past_few_day_comments"`
}

type FinancialUpdateRequestIDO

type FinancialUpdateRequestIDO struct {
	InvoicePaidTo                     null.Int    `json:"invoice_paid_to"`
	PaymentStatus                     null.Int    `json:"payment_status"`
	InvoiceDate                       null.String `json:"invoice_date"`
	CompletionDate                    null.String `json:"completion_date"`
	InvoiceIds                        null.String `json:"invoice_ids"`
	Visits                            uint64      `json:"visits"`
	InvoiceQuotedLabourAmount         float64     `json:"invoice_quoted_labour_amount"`
	InvoiceQuotedMaterialAmount       float64     `json:"invoice_quoted_material_amount"`
	InvoiceQuotedOtherCostsAmount     float64     `json:"invoice_quoted_other_costs_amount"`
	InvoiceTotalQuoteAmount           float64     `json:"invoice_total_quote_amount"`
	InvoiceLabourAmount               float64     `json:"invoice_labour_amount"`
	InvoiceMaterialAmount             float64     `json:"invoice_material_amount"`
	InvoiceOtherCostsAmount           float64     `json:"invoice_other_costs_amount"`
	InvoiceTaxAmount                  float64     `json:"invoice_tax_amount"`
	InvoiceTotalAmount                float64     `json:"invoice_total_amount"`
	InvoiceDepositAmount              float64     `json:"invoice_deposit_amount"`
	InvoiceAmountDue                  float64     `json:"invoice_amount_due"`
	InvoiceServiceFeeId               null.Int    `json:"invoice_service_fee_id"`
	InvoiceServiceFeeAmount           float64     `json:"invoice_service_fee_amount"`
	InvoiceActualServiceFeeAmountPaid float64     `json:"invoice_actual_service_fee_amount_paid"`
	InvoiceBalanceOwingAmount         float64     `json:"invoice_balance_owing_amount"`
}

type HowHearAboutUsItemCreateRequestIDO

type HowHearAboutUsItemCreateRequestIDO struct {
	Text           string `json:"text"`
	SortNumber     int8   `json:"sort_number"`
	IsForAssociate bool   `json:"is_for_associate"`
	IsForCustomer  bool   `json:"is_for_customer"`
	IsForStaff     bool   `json:"is_for_staff"`
	IsForPartner   bool   `json:"is_for_partner"`
	State          int8   `json:"state"`
}

type HowHearAboutUsItemIDO

type HowHearAboutUsItemIDO struct {
	Id             uint64 `json:"id"`
	Uuid           string `json:"uuid"`
	TenantID       uint64 `json:"tenant_id"`
	Text           string `json:"text"`
	SortNumber     int8   `json:"sort_number"`
	IsForAssociate bool   `json:"is_for_associate"`
	IsForCustomer  bool   `json:"is_for_customer"`
	IsForStaff     bool   `json:"is_for_staff"`
	IsForPartner   bool   `json:"is_for_partner"`
	State          int8   `json:"state"`
}

type HowHearAboutUsItemUpdateRequestIDO

type HowHearAboutUsItemUpdateRequestIDO struct {
	Text           string `json:"text"`
	SortNumber     int8   `json:"sort_number"`
	IsForAssociate bool   `json:"is_for_associate"`
	IsForCustomer  bool   `json:"is_for_customer"`
	IsForStaff     bool   `json:"is_for_staff"`
	IsForPartner   bool   `json:"is_for_partner"`
}

type InsuranceRequirementCreateRequestIDO

type InsuranceRequirementCreateRequestIDO struct {
	Text        string `json:"text"`
	Description string `json:"description"`
}

type InsuranceRequirementIDO

type InsuranceRequirementIDO struct {
	Id          uint64 `json:"id"`
	Uuid        string `json:"uuid"`
	TenantID    uint64 `json:"tenant_id"`
	Text        string `json:"text"`
	Description string `json:"description"`
	State       int8   `json:"state"`
}

type InsuranceRequirementUpdateRequestIDO

type InsuranceRequirementUpdateRequestIDO struct {
	Text        string `json:"text"`
	Description string `json:"description"`
}

type LiteActivitySheetItemFilterIDO

type LiteActivitySheetItemFilterIDO struct {
	TenantID    uint64      `json:"tenant_id"`
	States      []int8      `json:"states"`
	SortOrder   null.String `json:"sort_order"`
	SortField   null.String `json:"sort_field"`
	AssociateId null.Int    `json:"associate_id"`
	OrderId     null.Int    `json:"order_id"`
	OngoingId   null.Int    `json:"ongoing_id"`
	Search      null.String `json:"search"`
	Offset      uint64      `json:"last_seen_id"`
	Limit       uint64      `json:"limit"`
}

type LiteActivitySheetItemListResponseIDO

type LiteActivitySheetItemListResponseIDO struct {
	NextId  uint64                          `json:"next_id,omitempty"`
	Count   uint64                          `json:"count"`
	Results []*models.LiteActivitySheetItem `json:"results"`
}

type LiteAssociateAwayLogFilterIDO

type LiteAssociateAwayLogFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteAssociateAwayLogListResponseIDO

type LiteAssociateAwayLogListResponseIDO struct {
	NextId  uint64                         `json:"next_id,omitempty"`
	Count   uint64                         `json:"count"`
	Results []*models.LiteAssociateAwayLog `json:"results"`
}

func NewLiteAssociateAwayLogListResponseIDO

func NewLiteAssociateAwayLogListResponseIDO(arr []*models.LiteAssociateAwayLog, count uint64) *LiteAssociateAwayLogListResponseIDO

type LiteAssociateFilterIDO

type LiteAssociateFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteAssociateListResponseIDO

type LiteAssociateListResponseIDO struct {
	NextId  uint64                  `json:"next_id,omitempty"`
	Count   uint64                  `json:"count"`
	Results []*models.LiteAssociate `json:"results"`
}

func NewLiteAssociateListResponseIDO

func NewLiteAssociateListResponseIDO(arr []*models.LiteAssociate, count uint64) *LiteAssociateListResponseIDO

type LiteBulletinBoardItemFilterIDO

type LiteBulletinBoardItemFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteBulletinBoardItemListResponseIDO

type LiteBulletinBoardItemListResponseIDO struct {
	NextId  uint64                          `json:"next_id,omitempty"`
	Count   uint64                          `json:"count"`
	Results []*models.LiteBulletinBoardItem `json:"results"`
}

type LiteCustomerFilterIDO

type LiteCustomerFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteCustomerListResponseIDO

type LiteCustomerListResponseIDO struct {
	NextId  uint64                 `json:"next_id,omitempty"`
	Count   uint64                 `json:"count"`
	Results []*models.LiteCustomer `json:"results"`
}

func NewLiteCustomerListResponseIDO

func NewLiteCustomerListResponseIDO(arr []*models.LiteCustomer, count uint64) *LiteCustomerListResponseIDO

type LiteDeactivatedCustomerFilterIDO

type LiteDeactivatedCustomerFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteDeactivatedCustomerListResponseIDO

type LiteDeactivatedCustomerListResponseIDO struct {
	NextId  uint64                            `json:"next_id,omitempty"`
	Count   uint64                            `json:"count"`
	Results []*models.LiteDeactivatedCustomer `json:"results"`
}

type LiteFinancialFilterIDO

type LiteFinancialFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteFinancialListResponseIDO

type LiteFinancialListResponseIDO struct {
	NextId  uint64                  `json:"next_id,omitempty"`
	Count   uint64                  `json:"count"`
	Results []*models.LiteFinancial `json:"results"`
}

func NewLiteFinancialListResponseIDO

func NewLiteFinancialListResponseIDO(arr []*models.LiteFinancial, count uint64) *LiteFinancialListResponseIDO

type LiteHowHearAboutUsItemFilterIDO

type LiteHowHearAboutUsItemFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteHowHearAboutUsItemListResponseIDO

type LiteHowHearAboutUsItemListResponseIDO struct {
	NextId  uint64                           `json:"next_id,omitempty"`
	Count   uint64                           `json:"count"`
	Results []*models.LiteHowHearAboutUsItem `json:"results"`
}

type LiteInsuranceRequirementFilterIDO

type LiteInsuranceRequirementFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteInsuranceRequirementListResponseIDO

type LiteInsuranceRequirementListResponseIDO struct {
	NextId  uint64                             `json:"next_id,omitempty"`
	Count   uint64                             `json:"count"`
	Results []*models.LiteInsuranceRequirement `json:"results"`
}

type LiteOngoingWorkOrderFilterIDO

type LiteOngoingWorkOrderFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteOngoingWorkOrderListResponseIDO

type LiteOngoingWorkOrderListResponseIDO struct {
	NextId  uint64                         `json:"next_id,omitempty"`
	Count   uint64                         `json:"count"`
	Results []*models.LiteOngoingWorkOrder `json:"results"`
}

func NewLiteOngoingWorkOrderListResponseIDO

func NewLiteOngoingWorkOrderListResponseIDO(arr []*models.LiteOngoingWorkOrder, count uint64) *LiteOngoingWorkOrderListResponseIDO

type LitePartnerFilterIDO

type LitePartnerFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LitePartnerListResponseIDO

type LitePartnerListResponseIDO struct {
	NextId  uint64                `json:"next_id,omitempty"`
	Count   uint64                `json:"count"`
	Results []*models.LitePartner `json:"results"`
}

func NewLitePartnerListResponseIDO

func NewLitePartnerListResponseIDO(arr []*models.LitePartner, count uint64) *LitePartnerListResponseIDO

type LitePrivateFileFilterIDO

type LitePrivateFileFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LitePrivateFileListResponseIDO

type LitePrivateFileListResponseIDO struct {
	NextId  uint64                    `json:"next_id,omitempty"`
	Count   uint64                    `json:"count"`
	Results []*models.LitePrivateFile `json:"results"`
}

func NewLitePrivateFileListResponseIDO

func NewLitePrivateFileListResponseIDO(arr []*models.LitePrivateFile, count uint64) *LitePrivateFileListResponseIDO

type LiteSkillSetFilterIDO

type LiteSkillSetFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteSkillSetListResponseIDO

type LiteSkillSetListResponseIDO struct {
	NextId  uint64                 `json:"next_id,omitempty"`
	Count   uint64                 `json:"count"`
	Results []*models.LiteSkillSet `json:"results"`
}

func NewLiteSkillSetListResponseIDO

func NewLiteSkillSetListResponseIDO(arr []*models.LiteSkillSet, count uint64) *LiteSkillSetListResponseIDO

type LiteStaffFilterIDO

type LiteStaffFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteStaffListResponseIDO

type LiteStaffListResponseIDO struct {
	NextId  uint64              `json:"next_id,omitempty"`
	Count   uint64              `json:"count"`
	Results []*models.LiteStaff `json:"results"`
}

func NewLiteStaffListResponseIDO

func NewLiteStaffListResponseIDO(arr []*models.LiteStaff, count uint64) *LiteStaffListResponseIDO

type LiteTagFilterIDO

type LiteTagFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteTagListResponseIDO

type LiteTagListResponseIDO struct {
	NextId  uint64            `json:"next_id,omitempty"`
	Count   uint64            `json:"count"`
	Results []*models.LiteTag `json:"results"`
}

func NewLiteTagListResponseIDO

func NewLiteTagListResponseIDO(arr []*models.LiteTag, count uint64) *LiteTagListResponseIDO

type LiteTaskItemFilterIDO

type LiteTaskItemFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteTaskItemListResponseIDO

type LiteTaskItemListResponseIDO struct {
	NextId  uint64                 `json:"next_id,omitempty"`
	Count   uint64                 `json:"count"`
	Results []*models.LiteTaskItem `json:"results"`
}

func NewLiteTaskItemListResponseIDO

func NewLiteTaskItemListResponseIDO(arr []*models.LiteTaskItem, count uint64) *LiteTaskItemListResponseIDO

type LiteTenantFilterIDO

type LiteTenantFilterIDO struct {
	State      null.Int `json:"state"`
	LastSeenId uint64   `json:"last_seen_id"`
	Limit      uint64   `json:"limit"`
}

type LiteTenantIDO

type LiteTenantIDO struct {
	Id         uint64 `db:"id"`
	SchemaName string `db:"schema_name"`
	Name       string `db:"name"`
	State      int8   `db:"state" json:"state"`
}

type LiteTenantListResponseIDO

type LiteTenantListResponseIDO struct {
	NextPageToken uint64           `json:"next_page_token,omitempty"`
	TotalSize     uint64           `json:"total_size"`
	Results       []*LiteTenantIDO `json:"results"`
}

func NewLiteTenantListResponseIDO

func NewLiteTenantListResponseIDO(arr []*models.LiteTenant, count uint64) *LiteTenantListResponseIDO

type LiteVehicleTypeFilterIDO

type LiteVehicleTypeFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteVehicleTypeListResponseIDO

type LiteVehicleTypeListResponseIDO struct {
	NextId  uint64                    `json:"next_id,omitempty"`
	Count   uint64                    `json:"count"`
	Results []*models.LiteVehicleType `json:"results"`
}

func NewLiteVehicleTypeListResponseIDO

func NewLiteVehicleTypeListResponseIDO(arr []*models.LiteVehicleType, count uint64) *LiteVehicleTypeListResponseIDO

type LiteWorkOrderDepositFilterIDO

type LiteWorkOrderDepositFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteWorkOrderDepositListResponseIDO

type LiteWorkOrderDepositListResponseIDO struct {
	NextId  uint64                         `json:"next_id,omitempty"`
	Count   uint64                         `json:"count"`
	Results []*models.LiteWorkOrderDeposit `json:"results"`
}

func NewLiteWorkOrderDepositListResponseIDO

func NewLiteWorkOrderDepositListResponseIDO(arr []*models.LiteWorkOrderDeposit, count uint64) *LiteWorkOrderDepositListResponseIDO

type LiteWorkOrderFilterIDO

type LiteWorkOrderFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteWorkOrderListResponseIDO

type LiteWorkOrderListResponseIDO struct {
	NextId  uint64                  `json:"next_id,omitempty"`
	Count   uint64                  `json:"count"`
	Results []*models.LiteWorkOrder `json:"results"`
}

func NewLiteWorkOrderListResponseIDO

func NewLiteWorkOrderListResponseIDO(arr []*models.LiteWorkOrder, count uint64) *LiteWorkOrderListResponseIDO

type LiteWorkOrderServiceFeeFilterIDO

type LiteWorkOrderServiceFeeFilterIDO struct {
	TenantID  uint64      `json:"tenant_id"`
	States    []int8      `json:"states"`
	SortOrder null.String `json:"sort_order"`
	SortField null.String `json:"sort_field"`
	Search    null.String `json:"search"`
	Offset    uint64      `json:"last_seen_id"`
	Limit     uint64      `json:"limit"`
}

type LiteWorkOrderServiceFeeListResponseIDO

type LiteWorkOrderServiceFeeListResponseIDO struct {
	NextId  uint64                            `json:"next_id,omitempty"`
	Count   uint64                            `json:"count"`
	Results []*models.LiteWorkOrderServiceFee `json:"results"`
}
type NavigationIDO struct {
	TasksCount uint64 `json:"tasks_count"`
}

type OngoingWorkOrderCommentCreateRequestIDO

type OngoingWorkOrderCommentCreateRequestIDO struct {
	OngoingWorkOrderId uint64 `json:"partner_id"`
	Text               string `json:"text"`
}

type OngoingWorkOrderCommentCreateResponseIDO

type OngoingWorkOrderCommentCreateResponseIDO struct {
	Id                 uint64 `json:"id"`
	OngoingWorkOrderId uint64 `json:"partner_id"`
	Text               string `json:"text"`
}

type OngoingWorkOrderCommentListResponseIDO

type OngoingWorkOrderCommentListResponseIDO struct {
	NextId  uint64                            `json:"next_id,omitempty"`
	Count   uint64                            `json:"count"`
	Results []*models.OngoingWorkOrderComment `json:"results"`
}

type OngoingWorkOrderIDO

type OngoingWorkOrderIDO struct {
	Id                   uint64      `json:"id"`
	Uuid                 string      `json:"uuid"`
	TenantID             uint64      `json:"tenant_id"`
	CustomerId           uint64      `json:"customer_id"`
	CustomerName         null.String `json:"customer_name"`
	CustomerLexicalName  null.String `json:"customer_lexical_name"`
	AssociateId          null.Int    `json:"associate_id"`
	AssociateName        null.String `json:"associate_name"`
	AssociateLexicalName null.String `json:"associate_lexical_name"`
	State                int8        `json:"state"`
	Status               string      `json:"status"`
	CreatedTime          time.Time   `json:"created_time"`
	CreatedById          null.Int    `json:"created_by_id"`
	CreatedByName        null.String `json:"created_by_name"`
	CreatedFromIP        null.String `json:"created_from_ip"`
	LastModifiedTime     time.Time   `json:"last_modified_time"`
	LastModifiedById     null.Int    `json:"last_modified_by_id"`
	LastModifiedByName   null.String `json:"last_modified_by_name"`
	LastModifiedFromIP   null.String `json:"last_modified_from_ip"`
	TypeOf               string      `json:"type_of"`
	WorkOrderId          null.Int    `json:"work_order_id"`
}

func NewOngoingWorkOrderIDO

func NewOngoingWorkOrderIDO(m *models.OngoingWorkOrder) *OngoingWorkOrderIDO

type PartnerAddressUpdateRequestIDO

type PartnerAddressUpdateRequestIDO struct {
	AddressCountry      string `json:"address_country"`
	AddressRegion       string `json:"address_region"`
	AddressLocality     string `json:"address_locality"`
	PostOfficeBoxNumber string `json:"post_office_box_number"`
	PostalCode          string `json:"postal_code"`
	StreetAddress       string `json:"street_address"`
	StreetAddressExtra  string `json:"street_address_extra"`
}

type PartnerCommentCreateRequestIDO

type PartnerCommentCreateRequestIDO struct {
	PartnerId uint64 `json:"partner_id"`
	Text      string `json:"text"`
}

type PartnerCommentCreateResponseIDO

type PartnerCommentCreateResponseIDO struct {
	Id        uint64 `json:"id"`
	PartnerId uint64 `json:"partner_id"`
	Text      string `json:"text"`
}

type PartnerCommentListResponseIDO

type PartnerCommentListResponseIDO struct {
	NextId  uint64                   `json:"next_id,omitempty"`
	Count   uint64                   `json:"count"`
	Results []*models.PartnerComment `json:"results"`
}

func NewPartnerCommentListResponseIDO

func NewPartnerCommentListResponseIDO(arr []*models.PartnerComment, count uint64) *PartnerCommentListResponseIDO

type PartnerContactUpdateRequestIDO

type PartnerContactUpdateRequestIDO struct {
	OrganizationName        string `json:"organization_name"`
	OrganizationTypeOf      int8   `json:"organization_type_of"`
	GivenName               string `json:"given_name"`
	MiddleName              string `json:"middle_name"`
	LastName                string `json:"last_name"`
	Email                   string `json:"email"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`
	IsOkToEmail             bool   `json:"is_ok_to_email"`
	IsOkToText              bool   `json:"is_ok_to_text"`
}

type PartnerCreateRequestIDO

type PartnerCreateRequestIDO struct {
	// Step 3 - Type
	TypeOf int8 `json:"type_of"`

	// Step 4 - Contact
	OrganizationName        string `json:"organization_name"`
	OrganizationTypeOf      int8   `json:"organization_type_of"`
	GivenName               string `json:"given_name"`
	MiddleName              string `json:"middle_name"`
	LastName                string `json:"last_name"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`
	Email                   string `json:"email"`
	IsOkToEmail             bool   `json:"is_ok_to_email"`
	IsOkToText              bool   `json:"is_ok_to_text"`

	// Step 5 - Address
	AddressCountry               string `json:"address_country"`
	AddressRegion                string `json:"address_region"`
	AddressLocality              string `json:"address_locality"`
	PostOfficeBoxNumber          string `json:"post_office_box_number"`
	PostalCode                   string `json:"postal_code"`
	StreetAddress                string `json:"street_address"`
	StreetAddressExtra           string `json:"street_address_extra"`
	FullAddressWithoutPostalCode string `json:"full_address_without_postal_code,omitempty"` // Compiled value
	FullAddressWithPostalCode    string `json:"full_address_with_postal_code,omitempty"`    // Compiled value
	FullAddressUrl               string `json:"full_address_url,omitempty"`                 // Compiled value

	// Step 6 - Metrics
	Description  null.String `json:"description"`
	Birthdate    null.String `json:"birthdate"`
	JoinDate     null.String `json:"join_date"`
	Gender       string      `json:"gender"`
	HowHearId    uint64      `json:"how_hear_id"`
	HowHearOther string      `json:"how_hear_other"`
	TagPKs       []uint64    `json:"tags,omitempty"`
}

type PartnerIDO

type PartnerIDO struct {
	// -- associate.py
	Id                                   uint64      `json:"id"`
	Uuid                                 string      `json:"uuid"`
	TenantID                             uint64      `json:"tenant_id"`
	UserId                               uint64      `json:"user_id"`
	TypeOf                               int8        `json:"type_of"`
	OrganizationName                     string      `json:"organization_name"`
	OrganizationTypeOf                   int8        `json:"organization_type_of"`
	Business                             string      `json:"business"`
	IndexedText                          string      `json:"indexed_text"`
	IsOkToEmail                          bool        `json:"is_ok_to_email"`
	IsOkToText                           bool        `json:"is_ok_to_text"`
	HowHearOld                           int8        `json:"how_hear_old"`
	HowHearId                            uint64      `json:"how_hear_id"`
	HowHearOther                         string      `json:"how_hear_other"`
	HowHearText                          string      `json:"how_hear_text"` // Referenced value from `HowHearAboutUsItem`.
	State                                int8        `json:"state"`
	DeactivationReason                   int8        `json:"deactivation_reason"`
	DeactivationReasonOther              string      `json:"deactivation_reason_other"`
	CreatedTime                          time.Time   `json:"created_time"`
	CreatedById                          null.Int    `json:"created_by_id"`
	CreatedByName                        null.String `json:"created_by_name,omitempty"` // Referenced value from `Users`.
	CreatedFromIP                        string      `json:"created_from_ip"`
	LastModifiedTime                     time.Time   `json:"last_modified_time"`
	LastModifiedById                     null.Int    `json:"last_modified_by_id"`
	LastModifiedByName                   null.String `json:"last_modified_by_name"` // Referenced value from `Users`.
	LastModifiedFromIP                   string      `json:"last_modified_from_ip"`
	Score                                float64     `json:"score"`
	OldId                                uint64      `json:"old_id"`
	ServiceFeeId                         uint64      `json:"service_fee_id"`
	Description                          null.String `json:"description"`
	AvatarS3Key                          null.String `json:"avatar_s3_key"`
	AvatarTitle                          null.String `json:"avatar_title"`
	AvatarFileUrl                        null.String `json:"avatar_file_url,omitempty"` // (Optional, added by endpoint)
	BalanceOwingAmount                   float64     `json:"balance_owing_amount"`
	EmergencyContactName                 null.String `json:"emergency_contact_name"`
	EmergencyContactRelationship         null.String `json:"emergency_contact_relationship"`
	EmergencyContactTelephone            null.String `json:"emergency_contact_telephone"`
	EmergencyContactAlternativeTelephone null.String `json:"emergency_contact_alternative_telephone"`

	// -- abstract_postal_address.py
	AddressCountry               string `json:"address_country"`
	AddressRegion                string `json:"address_region"`
	AddressLocality              string `json:"address_locality"`
	PostOfficeBoxNumber          string `json:"post_office_box_number"`
	PostalCode                   string `json:"postal_code"`
	StreetAddress                string `json:"street_address"`
	StreetAddressExtra           string `json:"street_address_extra"`
	FullAddressWithoutPostalCode string `json:"full_address_without_postal_code,omitempty"` // Compiled value
	FullAddressWithPostalCode    string `json:"full_address_with_postal_code,omitempty"`    // Compiled value
	FullAddressUrl               string `json:"full_address_url,omitempty"`                 // Compiled value

	// -- abstract_person.py
	GivenName   string    `json:"given_name"`
	MiddleName  string    `json:"middle_name"`
	LastName    string    `json:"last_name"`
	Name        string    `json:"name,omitempty"`
	LexicalName string    `json:"lexical_name,omitempty"`
	Birthdate   null.Time `json:"birthdate"`
	JoinDate    null.Time `json:"join_date"`
	Nationality string    `json:"nationality"`
	Gender      string    `json:"gender"`
	TaxId       string    `json:"tax_id"`

	// -- abstract_geo_coorindate.py
	Elevation float64 `json:"elevation"`
	Latitude  float64 `json:"latitude"`
	Longitude float64 `json:"longitude"`

	// -- abstract_contact_point.py
	AreaServed              string `json:"area_served"`
	AvailableLanguage       string `json:"available_language"`
	ContactType             string `json:"contact_type"`
	Email                   string `json:"email"`
	FaxNumber               string `json:"fax_number"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`

	// -- Reference --
	Tags []*models.PartnerTag `json:"tags,omitempty"`
}

func NewPartnerIDO

func NewPartnerIDO(m *models.Partner) *PartnerIDO

type PartnerMetricsUpdateRequestIDO

type PartnerMetricsUpdateRequestIDO struct {
	Description  null.String `json:"description"`
	Birthdate    null.String `json:"birthdate"`
	JoinDate     null.String `json:"join_date"`
	Gender       string      `json:"gender"`
	HowHearId    uint64      `json:"how_hear_id"`
	HowHearOther string      `json:"how_hear_other"`
	TagPKs       []uint64    `json:"tags,omitempty"`
}

type PartnerOperationArchiveRequestIDO

type PartnerOperationArchiveRequestIDO struct {
	PartnerId               uint64 `json:"partner_id"`
	DeactivationReason      int8   `json:"deactivation_reason"`
	DeactivationReasonOther string `json:"deactivation_reason_other"`
	Comment                 string `json:"comment"`
}

type PartnerOperationPermanentlyDeleteRequestIDO

type PartnerOperationPermanentlyDeleteRequestIDO struct {
	PartnerId uint64 `json:"partner_id"`
}

type PartnerOperationUploadAvatarRequestIDO

type PartnerOperationUploadAvatarRequestIDO struct {
	TenantID       uint64 `json:"tenant_id,omitempty"`
	Title          string `json:"title"`
	Description    string `json:"description"`
	UploadContent  string `json:"upload_content"`
	UploadFilename string `json:"upload_filename"`
	PartnerId      uint64 `json:"partner_id"`
}

type PrivateFileSaveRequestIDO

type PrivateFileSaveRequestIDO struct {
	TenantID       uint64   `json:"tenant_id,omitempty"`
	Title          string   `json:"title"`
	Description    string   `json:"description"`
	UploadContent  string   `json:"upload_content"`
	UploadFilename string   `json:"upload_filename"`
	AssociateId    null.Int `json:"associate_id"`
	CustomerId     null.Int `json:"customer_id"`
	PartnerId      null.Int `json:"partner_id"`
	StaffId        null.Int `json:"staff_id"`
	WorkOrderId    null.Int `json:"work_order_id"`
}

type SkillSetCreateRequestIDO

type SkillSetCreateRequestIDO struct {
	Category                string   `json:"category"`
	SubCategory             string   `json:"sub_category"`
	Description             string   `json:"description"`
	InsuranceRequirementPKs []uint64 `json:"insurance_requirements,omitempty"`
}

type SkillSetIDO

type SkillSetIDO struct {
	Id                    uint64                                 `json:"id"`
	Uuid                  string                                 `json:"uuid"`
	TenantID              uint64                                 `json:"tenant_id"`
	Category              string                                 `json:"category"`
	SubCategory           string                                 `json:"sub_category"`
	Description           string                                 `json:"description"`
	State                 int8                                   `json:"state"`
	InsuranceRequirements []*models.SkillSetInsuranceRequirement `json:"insurance_requirements,omitempty"`
}

func NewSkillSetIDO

func NewSkillSetIDO(m *models.SkillSet) *SkillSetIDO

type SkillSetUpdateRequestIDO

type SkillSetUpdateRequestIDO struct {
	Category                string   `json:"category"`
	SubCategory             string   `json:"sub_category"`
	Description             string   `json:"description"`
	InsuranceRequirementPKs []uint64 `json:"insurance_requirements,omitempty"`
}

type StaffAccountUpdateRequestIDO

type StaffAccountUpdateRequestIDO struct {
	EmergencyContactName                 null.String `json:"emergency_contact_name"`
	EmergencyContactRelationship         null.String `json:"emergency_contact_relationship"`
	EmergencyContactTelephone            null.String `json:"emergency_contact_telephone"`
	EmergencyContactAlternativeTelephone null.String `json:"emergency_contact_alternative_telephone"`
	PoliceCheck                          string      `json:"police_check"`
	Description                          null.String `json:"description"`
	IsActive                             bool        `json:"is_active"`
}

type StaffAddressUpdateRequestIDO

type StaffAddressUpdateRequestIDO struct {
	AddressCountry      string `json:"address_country"`
	AddressRegion       string `json:"address_region"`
	AddressLocality     string `json:"address_locality"`
	PostOfficeBoxNumber string `json:"post_office_box_number"`
	PostalCode          string `json:"postal_code"`
	StreetAddress       string `json:"street_address"`
	StreetAddressExtra  string `json:"street_address_extra"`
}

type StaffCommentCreateRequestIDO

type StaffCommentCreateRequestIDO struct {
	StaffId uint64 `json:"staff_id"`
	Text    string `json:"text"`
}

type StaffCommentCreateResponseIDO

type StaffCommentCreateResponseIDO struct {
	Id      uint64 `json:"id"`
	StaffId uint64 `json:"staff_id"`
	Text    string `json:"text"`
}

type StaffCommentListResponseIDO

type StaffCommentListResponseIDO struct {
	NextId  uint64                 `json:"next_id,omitempty"`
	Count   uint64                 `json:"count"`
	Results []*models.StaffComment `json:"results"`
}

func NewStaffCommentListResponseIDO

func NewStaffCommentListResponseIDO(arr []*models.StaffComment, count uint64) *StaffCommentListResponseIDO

type StaffContactUpdateRequestIDO

type StaffContactUpdateRequestIDO struct {
	OrganizationName        string `json:"organization_name"`
	OrganizationTypeOf      int8   `json:"organization_type_of"`
	GivenName               string `json:"given_name"`
	MiddleName              string `json:"middle_name"`
	LastName                string `json:"last_name"`
	Email                   string `json:"email"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`
	IsOkToEmail             bool   `json:"is_ok_to_email"`
	IsOkToText              bool   `json:"is_ok_to_text"`
}

type StaffCreateRequestIDO

type StaffCreateRequestIDO struct {
	// Step 3 - Type
	TypeOf int8 `json:"type_of"`

	// Step 4 - Contact
	OrganizationName        string `json:"organization_name"`
	OrganizationTypeOf      int8   `json:"organization_type_of"`
	GivenName               string `json:"given_name"`
	MiddleName              string `json:"middle_name"`
	LastName                string `json:"last_name"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`
	Email                   string `json:"email"`
	PersonalEmail           string `json:"personal_email"`
	IsOkToEmail             bool   `json:"is_ok_to_email"`
	IsOkToText              bool   `json:"is_ok_to_text"`

	// Step 5 - Address
	AddressCountry               string `json:"address_country"`
	AddressRegion                string `json:"address_region"`
	AddressLocality              string `json:"address_locality"`
	PostOfficeBoxNumber          string `json:"post_office_box_number"`
	PostalCode                   string `json:"postal_code"`
	StreetAddress                string `json:"street_address"`
	StreetAddressExtra           string `json:"street_address_extra"`
	FullAddressWithoutPostalCode string `json:"full_address_without_postal_code,omitempty"` // Compiled value
	FullAddressWithPostalCode    string `json:"full_address_with_postal_code,omitempty"`    // Compiled value
	FullAddressUrl               string `json:"full_address_url,omitempty"`                 // Compiled value

	// Step 6 - Account
	PoliceCheck                          null.String `json:"police_check"`
	EmergencyContactAlternativeTelephone null.String `json:"emergency_contact_alternative_telephone"`
	EmergencyContactName                 null.String `json:"emergency_contact_name"`
	EmergencyContactRelationship         null.String `json:"emergency_contact_relationship"`
	EmergencyContactTelephone            null.String `json:"emergency_contact_telephone"`
	Description                          null.String `json:"description"`
	IsActive                             bool        `json:"is_active"`
	Password                             string      `json:"password"`
	PasswordRepeat                       string      `json:"password_repeat"`

	// Step 7 - Metrics
	// Description  null.String `json:"description"`
	Birthdate    null.String `json:"birthdate"`
	JoinDate     null.String `json:"join_date"`
	Gender       string      `json:"gender"`
	HowHearId    null.Int    `json:"how_hear_id"`
	HowHearOther null.String `json:"how_hear_other"`
	TagPKs       []uint64    `json:"tags,omitempty"`
}

type StaffIDO

type StaffIDO struct {
	// -- staff.py
	Id                                   uint64      `json:"id"`
	Uuid                                 string      `json:"uuid"`
	TenantID                             uint64      `json:"tenant_id"`
	UserId                               uint64      `json:"user_id"`
	TypeOf                               int8        `json:"type_of"`
	IndexedText                          string      `json:"indexed_text"`
	IsOkToEmail                          bool        `json:"is_ok_to_email"`
	IsOkToText                           bool        `json:"is_ok_to_text"`
	IsBusiness                           bool        `json:"is_business"`
	IsSenior                             bool        `json:"is_senior"`
	IsSupport                            bool        `json:"is_support"`
	JobInfoRead                          string      `json:"job_info_read"`
	HowHearId                            null.Int    `json:"how_hear_id"`
	HowHearOld                           null.Int    `json:"how_hear_old"`
	HowHearOther                         null.String `json:"how_hear_other"`
	HowHearText                          null.String `json:"how_hear_text"`
	State                                int8        `json:"state"`
	DeactivationReason                   int8        `json:"deactivation_reason"`
	DeactivationReasonOther              string      `json:"deactivation_reason_other"`
	CreatedTime                          time.Time   `json:"created_time"`
	CreatedById                          null.Int    `json:"created_by_id"`
	CreatedByName                        null.String `json:"created_by_name"` // Compiled value
	CreatedFromIP                        string      `json:"created_from_ip"`
	LastModifiedTime                     time.Time   `json:"last_modified_time"`
	LastModifiedById                     null.Int    `json:"last_modified_by_id"`
	LastModifiedByName                   null.String `json:"last_modified_by_name"` // Compiled value.
	LastModifiedFromIP                   string      `json:"last_modified_from_ip"`
	OrganizationName                     string      `json:"organization_name"`
	OrganizationTypeOf                   int8        `json:"organization_type_of"`
	OldId                                uint64      `json:"old_id"`
	AvatarFileUrl                        null.String `json:"avatar_file_url,omitempty"` // (Optional, added by endpoint)
	PersonalEmail                        null.String `json:"personal_email"`
	EmergencyContactAlternativeTelephone null.String `json:"emergency_contact_alternative_telephone"`
	EmergencyContactName                 null.String `json:"emergency_contact_name"`
	EmergencyContactRelationship         null.String `json:"emergency_contact_relationship"`
	EmergencyContactTelephone            null.String `json:"emergency_contact_telephone"`
	Description                          null.String `json:"description"`
	PoliceCheck                          null.Time   `json:"police_check"`

	// -- abstract_postal_address.py
	AddressCountry               string `json:"address_country"`
	AddressRegion                string `json:"address_region"`
	AddressLocality              string `json:"address_locality"`
	PostOfficeBoxNumber          string `json:"post_office_box_number"`
	PostalCode                   string `json:"postal_code"`
	StreetAddress                string `json:"street_address"`
	StreetAddressExtra           string `json:"street_address_extra"`
	FullAddressWithoutPostalCode string `json:"full_address_without_postal_code,omitempty"` // Compiled value
	FullAddressWithPostalCode    string `json:"full_address_with_postal_code,omitempty"`    // Compiled value
	FullAddressUrl               string `json:"full_address_url,omitempty"`                 // Compiled value

	// -- abstract_person.py
	GivenName   string    `json:"given_name"`
	MiddleName  string    `json:"middle_name"`
	LastName    string    `json:"last_name"`
	Name        string    `json:"name,omitempty"`
	LexicalName string    `json:"lexical_name,omitempty"`
	Birthdate   null.Time `json:"birthdate"`
	JoinDate    null.Time `json:"join_date"`
	Nationality string    `json:"nationality"`
	Gender      string    `json:"gender"`
	TaxId       string    `json:"tax_id"`

	// -- abstract_geo_coorindate.py
	Elevation float64 `json:"elevation"`
	Latitude  float64 `json:"latitude"`
	Longitude float64 `json:"longitude"`

	// -- abstract_contact_point.py
	AreaServed              string `json:"area_served"`
	AvailableLanguage       string `json:"available_language"`
	ContactType             string `json:"contact_type"`
	Email                   string `json:"email"`
	FaxNumber               string `json:"fax_number"`
	Telephone               string `json:"telephone"`
	TelephoneTypeOf         int8   `json:"telephone_type_of"`
	TelephoneExtension      string `json:"telephone_extension"`
	OtherTelephone          string `json:"other_telephone"`
	OtherTelephoneExtension string `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8   `json:"other_telephone_type_of"`

	// -- Reference --
	Tags []*models.StaffTag `json:"tags,omitempty"`
}

func NewStaffIDO

func NewStaffIDO(m *models.Staff) *StaffIDO

type StaffMetricsUpdateRequestIDO

type StaffMetricsUpdateRequestIDO struct {
	Description  null.String `json:"description"`
	Birthdate    null.String `json:"birthdate"`
	JoinDate     null.String `json:"join_date"`
	Gender       string      `json:"gender"`
	HowHearId    null.Int    `json:"how_hear_id"`
	HowHearOther null.String `json:"how_hear_other"`
	TagPKs       []uint64    `json:"tags,omitempty"`
}

type StaffOperationArchiveRequestIDO

type StaffOperationArchiveRequestIDO struct {
	StaffId                 uint64 `json:"staff_id"`
	DeactivationReason      int8   `json:"deactivation_reason"`
	DeactivationReasonOther string `json:"deactivation_reason_other"`
	Comment                 string `json:"comment"`
}

type StaffOperationChangePasswordRequestIDO

type StaffOperationChangePasswordRequestIDO struct {
	StaffId        uint64 `json:"staff_id"`
	Password       string `json:"password"`
	PasswordRepeat string `json:"password_repeat"`
}

type StaffOperationChangeRoleRequestIDO

type StaffOperationChangeRoleRequestIDO struct {
	StaffId uint64 `json:"staff_id"`
	RoleId  int8   `json:"role_id"`
}

type StaffOperationPermanentlyDeleteRequestIDO

type StaffOperationPermanentlyDeleteRequestIDO struct {
	StaffId uint64 `json:"staff_id"`
}

type StaffOperationUpgradeResidentialRequestIDO

type StaffOperationUpgradeResidentialRequestIDO struct {
	StaffId                         uint64 `json:"staff_id"`
	OrganizationName                string `json:"organization_name"`
	OrganizationTypeOf              int8   `json:"organization_type_of"`
	OrganizationAddressCountry      string `json:"organization_address_country"`
	OrganizationAddressRegion       string `json:"organization_address_region"`
	OrganizationAddressLocality     string `json:"organization_address_locality"`
	OrganizationStreetAddress       string `json:"organization_street_address"`
	OrganizationStreetAddressExtra  string `json:"organization_street_address_extra"`
	OrganizationPostalCode          string `json:"organization_postal_code"`
	OrganizationPostOfficeBoxNumber string `json:"organization_post_office_box_number"`
}

type StaffOperationUploadAvatarRequestIDO

type StaffOperationUploadAvatarRequestIDO struct {
	TenantID       uint64 `json:"tenant_id,omitempty"`
	Title          string `json:"title"`
	Description    string `json:"description"`
	UploadContent  string `json:"upload_content"`
	UploadFilename string `json:"upload_filename"`
	StaffId        uint64 `json:"staff_id"`
}

type TagCreateRequestIDO

type TagCreateRequestIDO struct {
	Text        string `json:"text"`
	Description string `json:"description"`
}

type TagIDO

type TagIDO struct {
	Id          uint64 `json:"id"`
	Uuid        string `json:"uuid"`
	TenantID    uint64 `json:"tenant_id"`
	Text        string `json:"text"`
	Description string `json:"description"`
	State       int8   `json:"state"`
}

func NewTagIDO

func NewTagIDO(m *models.Tag) *TagIDO

type TagUpdateRequestIDO

type TagUpdateRequestIDO struct {
	Text        string `json:"text"`
	Description string `json:"description"`
}

type TaskItemAssignAssociateOperationRequestIDO

type TaskItemAssignAssociateOperationRequestIDO struct {
	TaskItemId  null.Int    `json:"task_item_id"`
	AssociateId null.Int    `json:"associate_id"`
	State       null.Int    `json:"state"`
	Comment     null.String `json:"comment"`
}

type TaskItemFollowUpOperationRequestIDO

type TaskItemFollowUpOperationRequestIDO struct {
	TaskItemId      null.Int    `json:"task_item_id"`
	Comment         null.String `json:"comment"`
	AssociateId     null.Int    `json:"associate_id"`
	HasAgreedToMeet null.Bool   `json:"has_agreed_to_meet"`
	MeetingDate     null.String `json:"meeting_date"`
}

type TaskItemFollowUpPendingOperationRequestIDO

type TaskItemFollowUpPendingOperationRequestIDO struct {
	TaskItemId null.Int    `json:"task_item_id"`
	Status     null.Int    `json:"status"`
	Comment    null.String `json:"comment"`
}

type TaskItemOrderCompletionOperationRequestIDO

type TaskItemOrderCompletionOperationRequestIDO struct {
	TaskItemId                        null.Int    `json:"task_item_id"`
	WasCompleted                      null.Bool   `json:"was_completed"`
	HasInputtedFinancials             null.Bool   `json:"has_inputted_financials"`
	Reason                            null.Int    `json:"reason"`
	ReasonOther                       null.String `json:"reason_other"`
	AdditionalComment                 null.String `json:"additional_comment"`
	WasJobSatisfactory                null.Bool   `json:"was_job_satisfactory"`
	WasJobFinishedOnTimeAndOnBudget   null.Bool   `json:"was_job_finished_on_time_and_on_budget"`
	WasAssociatePunctual              null.Bool   `json:"was_associate_punctual"`
	WasAssociateProfessional          null.Bool   `json:"was_associate_professional"`
	WouldCustomerReferOurOrganization null.Bool   `json:"would_customer_refer_our_organization"`
	InvoiceDate                       null.String `json:"invoice_date"`
	InvoiceIds                        null.String `json:"invoice_ids"`
	InvoiceQuoteAmount                null.Float  `json:"invoice_quote_amount"`
	InvoiceLabourAmount               null.Float  `json:"invoice_labour_amount"`
	InvoiceMaterialAmount             null.Float  `json:"invoice_material_amount"`
	InvoiceTaxAmount                  null.Float  `json:"invoice_tax_amount"`
	InvoiceTotalAmount                null.Float  `json:"invoice_total_amount"`
	InvoiceServiceFeeAmount           null.Float  `json:"invoice_service_fee_amount"`
}

type TaskItemResponseIDO

type TaskItemResponseIDO struct {
	Id                   uint64                      `json:"id"`
	Uuid                 string                      `json:"uuid"`
	TenantID             uint64                      `json:"tenant_id"`
	TypeOf               int8                        `json:"type_of"`
	Title                string                      `json:"title"`
	Description          string                      `json:"description"`
	DueDate              time.Time                   `json:"due_date"`
	IsClosed             bool                        `json:"is_closed"`
	WasPostponed         bool                        `json:"was_postponed"`
	ClosingReason        int8                        `json:"closing_reason"`
	ClosingReasonOther   string                      `json:"closing_reason_other"`
	OrderId              uint64                      `json:"order_id"`
	OngoingOrderId       null.Int                    `json:"ongoing_order_id"`
	CreatedTime          time.Time                   `json:"created_time"`
	CreatedFromIP        null.String                 `json:"created_from_ip"`
	CreatedById          null.Int                    `json:"created_by_id"`
	CreatedByName        null.String                 `json:"created_by_name"`
	LastModifiedTime     time.Time                   `json:"last_modified_time"`
	LastModifiedFromIP   null.String                 `json:"last_modified_from_ip"`
	LastModifiedById     null.Int                    `json:"last_modified_by_id"`
	LastModifiedByName   null.String                 `json:"last_modified_by_name"`
	State                int8                        `json:"state"`
	CustomerId           null.Int                    `json:"customer_id"`
	CustomerName         null.String                 `json:"customer_name,omitempty"`
	CustomerLexicalName  null.String                 `json:"customer_lexical_name,omitempty"`
	AssociateId          null.Int                    `json:"associate_id"`
	AssociateName        null.String                 `json:"associate_name,omitempty"`
	AssociateLexicalName null.String                 `json:"associate_lexical_name,omitempty"`
	OrderTypeOf          int8                        `json:"order_type_of"`
	Customer             *models.Customer            `json:"customer,omitempty"`              // Related
	CustomerTags         []*models.CustomerTag       `json:"customer_tags,omitempty"`         // Related
	Associate            *models.Associate           `json:"associate,omitempty"`             // Related
	AssociateTags        []*models.AssociateTag      `json:"associate_tags,omitempty"`        // Related
	WorkOrder            *models.WorkOrder           `json:"work_order,omitempty"`            // Related
	WorkOrderSkillSets   []*models.WorkOrderSkillSet `json:"work_order_skill_sets,omitempty"` // Related
	WorkOrderTags        []*models.WorkOrderTag      `json:"work_order_tags,omitempty"`       // Related
}

func NewTaskItemResponseIDO

func NewTaskItemResponseIDO(m *models.TaskItem) *TaskItemResponseIDO

type TaskItemSurveyOperationRequestIDO

type TaskItemSurveyOperationRequestIDO struct {
	TaskItemId                        null.Int    `json:"task_item_id"`
	WasSurveyConducted                null.Bool   `json:"was_survey_conducted"`
	NoSurveyConductedReason           null.Int    `json:"no_survey_conducted_reason"`
	NoSurveyConductedReasonOther      null.String `json:"no_survey_conducted_reason_other"`
	Comment                           null.String `json:"comment"`
	WasJobSatisfactory                null.Bool   `json:"was_job_satisfactory"`
	WasJobFinishedOnTimeAndOnBudget   null.Bool   `json:"was_job_finished_on_time_and_on_budget"`
	WasAssociatePunctual              null.Bool   `json:"was_associate_punctual"`
	WasAssociateProfessional          null.Bool   `json:"was_associate_professional"`
	WouldCustomerReferOurOrganization null.Bool   `json:"would_customer_refer_our_organization"`
}

type TenantIDO

type TenantIDO struct {
	Id                      uint64    `json:"id"`
	Uuid                    string    `json:"uuid"`
	SchemaName              string    `json:"schema_name"`
	AlternateName           string    `json:"alternate_name"`
	Description             string    `json:"description"`
	Name                    string    `json:"name"`
	Url                     string    `json:"url"`
	State                   int8      `json:"state"`
	Timezone                string    `json:"timestamp"`
	CreatedTime             time.Time `json:"created_time"`
	ModifiedTime            time.Time `json:"modified_time"`
	AddressCountry          string    `json:"address_country"`
	AddressRegion           string    `json:"address_region"`
	AddressLocality         string    `json:"address_locality"`
	PostOfficeBoxNumber     string    `json:"post_office_box_number"`
	PostalCode              string    `json:"postal_code"`
	StreetAddress           string    `json:"street_address"`
	StreetAddressExtra      string    `json:"street_address_extra"`
	Elevation               float64   `json:"elevation"`
	Latitude                float64   `json:"latitude"`
	Longitude               float64   `json:"longitude"`
	AreaServed              string    `json:"area_served"`
	AvailableLanguage       string    `json:"available_language"`
	ContactType             string    `json:"contact_type"`
	Email                   string    `json:"email"`
	FaxNumber               string    `json:"fax_number"`
	Telephone               string    `json:"telephone"`
	TelephoneTypeOf         int8      `json:"telephone_type_of"`
	TelephoneExtension      string    `json:"telephone_extension"`
	OtherTelephone          string    `json:"other_telephone"`
	OtherTelephoneExtension string    `json:"other_telephone_extension"`
	OtherTelephoneTypeOf    int8      `json:"other_telephone_type_of"`
}

func NewTenantIDO

func NewTenantIDO(m *models.Tenant) *TenantIDO

type VehicleTypeCreateRequestIDO

type VehicleTypeCreateRequestIDO struct {
	Text        string `json:"text"`
	Description string `json:"description"`
}

type VehicleTypeIDO

type VehicleTypeIDO struct {
	Id          uint64 `json:"id"`
	Uuid        string `json:"uuid"`
	TenantID    uint64 `json:"tenant_id"`
	Text        string `json:"text"`
	Description string `json:"description"`
	State       int8   `json:"state"`
}

func NewVehicleTypeIDO

func NewVehicleTypeIDO(m *models.VehicleType) *VehicleTypeIDO

type VehicleTypeUpdateRequestIDO

type VehicleTypeUpdateRequestIDO struct {
	Text        string `json:"text"`
	Description string `json:"description"`
}

type WorkOrderCommentCreateRequestIDO

type WorkOrderCommentCreateRequestIDO struct {
	OrderId uint64 `json:"order_id"`
	Text    string `json:"text"`
}

type WorkOrderCommentCreateResponseIDO

type WorkOrderCommentCreateResponseIDO struct {
	Id      uint64 `json:"id"`
	OrderId uint64 `json:"order_id"`
	Text    string `json:"text"`
}

type WorkOrderCommentListResponseIDO

type WorkOrderCommentListResponseIDO struct {
	NextId  uint64                     `json:"next_id,omitempty"`
	Count   uint64                     `json:"count"`
	Results []*models.WorkOrderComment `json:"results"`
}

func NewWorkOrderCommentListResponseIDO

func NewWorkOrderCommentListResponseIDO(arr []*models.WorkOrderComment, count uint64) *WorkOrderCommentListResponseIDO

type WorkOrderCreateRequestIDO

type WorkOrderCreateRequestIDO struct {
	CustomerId           uint64      `json:"customer_id"`
	StartDate            null.String `json:"start_date"`
	IsOngoing            null.Bool   `json:"is_ongoing"`
	IsHomeSupportService null.Bool   `json:"is_home_support_service"`
	SkillSetPKs          []uint64    `json:"skill_sets"`
	Description          null.String `json:"description"`
	TagPKs               []uint64    `json:"tags"`
	Comment              string      `json:"comment"`
}

type WorkOrderDepositCreateRequestIDO

type WorkOrderDepositCreateRequestIDO struct {
	OrderId         uint64      `json:"order_id"`
	PaidAt          null.String `json:"paid_at"`
	PaidAtFormatted null.Time
	DepositMethod   int8     `json:"deposit_method"`
	PaidTo          null.Int `json:"paid_to"`
	Currency        string   `json:"currency"`
	Amount          float64  `json:"amount"`
	PaidFor         int8     `json:"paid_for"`
}

type WorkOrderDepositIDO

type WorkOrderDepositIDO struct {
	Id                 uint64    `json:"id"`
	Uuid               string    `json:"uuid"`
	TenantID           uint64    `json:"tenant_id"`
	OrderId            uint64    `json:"order_id"`
	PaidAt             null.Time `json:"paid_at"`
	DepositMethod      int8      `json:"deposit_method"`
	PaidTo             null.Int  `json:"paid_to"`
	Currency           string    `json:"currency"`
	Amount             float64   `json:"amount"`
	PaidFor            int8      `json:"paid_for"`
	CreatedTime        time.Time `json:"created_time"`
	CreatedById        uint64    `json:"created_by_id,omitempty"`
	CreatedByName      string    `json:"created_by_name,omitempty"`
	CreatedFromIP      string    `json:"created_from_ip"`
	LastModifiedTime   time.Time `json:"last_modified_time"`
	LastModifiedById   uint64    `json:"last_modified_by_id,omitempty"`
	LastModifiedByName string    `json:"last_modified_by_name,omitempty"`
	LastModifiedFromIP string    `json:"last_modified_from_ip"`
	State              int8      `json:"state"`
	OldId              uint64    `json:"old_id"`
}

func NewWorkOrderDepositIDO

func NewWorkOrderDepositIDO(m *models.WorkOrderDeposit) *WorkOrderDepositIDO

type WorkOrderDepositUpdateRequestIDO

type WorkOrderDepositUpdateRequestIDO struct {
	Text string `json:"text"`
}

type WorkOrderInvoiceCreateRequestIDO

type WorkOrderInvoiceCreateRequestIDO struct {
	AssociateSignDate        string      `json:"associate_sign_date"`
	AssociateSignature       string      `json:"associate_signature"`
	Cash                     bool        `json:"cash"`
	Cheque                   bool        `json:"cheque"`
	ClientSignature          string      `json:"client_signature"`
	Credit                   bool        `json:"credit"`
	Debit                    bool        `json:"debit"`
	Other                    bool        `json:"other"`
	Gender                   string      `json:"gender"`
	InvoiceCustomersApproval string      `json:"invoice_customers_approval"`
	InvoiceDate              string      `json:"invoice_date"`
	InvoiceID                string      `json:"invoice_id"`
	InvoiceQuoteDate         string      `json:"invoice_quote_date"`
	InvoiceQuoteDays         uint64      `json:"invoice_quote_days"`
	Line01Amount             null.Float  `json:"line01_amount"`
	Line01Desc               null.String `json:"line01_desc"`
	Line01Description        null.String `json:"line01_description"`
	Line01Notes              null.String `json:"line01_notes"`
	Line01Price              null.Float  `json:"line01_price"`
	Line01Quantity           null.Int    `json:"line01_quantity"`
	Line01UnitPrice          null.Float  `json:"line01_unit_price"`
	Line02Amount             null.Float  `json:"line02_amount"`
	Line02Desc               null.String `json:"line02_desc"`
	Line02Description        null.String `json:"line02_description"`
	Line02Notes              null.String `json:"line02_notes"`
	Line02Price              null.Float  `json:"line02_price"`
	Line02Quantity           null.Int    `json:"line02_quantity"`
	Line02UnitPrice          null.Float  `json:"line02_unit_price"`
	Line03Amount             null.Float  `json:"line03_amount"`
	Line03Desc               null.String `json:"line03_desc"`
	Line03Description        null.String `json:"line03_description"`
	Line03Notes              null.String `json:"line03_notes"`
	Line03Price              null.Float  `json:"line03_price"`
	Line03Quantity           null.Int    `json:"line03_quantity"`
	Line03UnitPrice          null.Float  `json:"line03_unit_price"`
	Line04Amount             null.Float  `json:"line04_amount"`
	Line04Desc               null.String `json:"line04_desc"`
	Line04Description        null.String `json:"line04_description"`
	Line04Notes              null.String `json:"line04_notes"`
	Line04Price              null.Float  `json:"line04_price"`
	Line04Quantity           null.Int    `json:"line04_quantity"`
	Line04UnitPrice          null.Float  `json:"line04_unit_price"`
	Line05Amount             null.Float  `json:"line05_amount"`
	Line05Desc               null.String `json:"line05_desc"`
	Line05Description        null.String `json:"line05_description"`
	Line05Notes              null.String `json:"line05_notes"`
	Line05Price              null.Float  `json:"line05_price"`
	Line05Quantity           null.Int    `json:"line05_quantity"`
	Line05UnitPrice          null.Float  `json:"line05_unit_price"`
	Line06Amount             null.Float  `json:"line06_amount"`
	Line06Desc               null.String `json:"line06_desc"`
	Line06Description        null.String `json:"line06_description"`
	Line06Notes              null.String `json:"line06_notes"`
	Line06Price              null.Float  `json:"line06_price"`
	Line06Quantity           null.Int    `json:"line06_quantity"`
	Line06UnitPrice          null.Float  `json:"line06_unit_price"`
	Line07Amount             null.Float  `json:"line07_amount"`
	Line07Desc               null.String `json:"line07_desc"`
	Line07Description        null.String `json:"line07_description"`
	Line07Notes              null.String `json:"line07_notes"`
	Line07Price              null.Float  `json:"line07_price"`
	Line07Quantity           null.Int    `json:"line07_quantity"`
	Line07UnitPrice          null.Float  `json:"line07_unit_price"`
	Line08Amount             null.Float  `json:"line08_amount"`
	Line08Desc               null.String `json:"line08_desc"`
	Line08Description        null.String `json:"line08_description"`
	Line08Notes              null.String `json:"line08_notes"`
	Line08Price              null.Float  `json:"line08_price"`
	Line08Quantity           null.Int    `json:"line08_quantity"`
	Line08UnitPrice          null.Float  `json:"line08_unit_price"`
	Line09Amount             null.Float  `json:"line09_amount"`
	Line09Desc               null.String `json:"line09_desc"`
	Line09Description        null.String `json:"line09_description"`
	Line09Notes              null.String `json:"line09_notes"`
	Line09Price              null.Float  `json:"line09_price"`
	Line09Quantity           null.Int    `json:"line09_quantity"`
	Line09UnitPrice          null.Float  `json:"line09_unit_price"`
	Line10Amount             null.Float  `json:"line10_amount"`
	Line10Desc               null.String `json:"line10_desc"`
	Line10Description        null.String `json:"line10_description"`
	Line10Notes              null.String `json:"line10_notes"`
	Line10Price              null.Float  `json:"line10_price"`
	Line10Quantity           null.Int    `json:"line10_quantity"`
	Line10UnitPrice          null.Float  `json:"line10_unit_price"`
	Line11Amount             null.Float  `json:"line11_amount"`
	Line11Desc               null.String `json:"line11_desc"`
	Line11Description        null.String `json:"line11_description"`
	Line11Notes              null.String `json:"line11_notes"`
	Line11Price              null.Float  `json:"line11_price"`
	Line11Quantity           null.Int    `json:"line11_quantity"`
	Line11UnitPrice          null.Float  `json:"line11_unit_price"`
	Line12Amount             null.Float  `json:"line12_amount"`
	Line12Desc               null.String `json:"line12_desc"`
	Line12Description        null.String `json:"line12_description"`
	Line12Notes              null.String `json:"line12_notes"`
	Line12Price              null.Float  `json:"line12_price"`
	Line12Quantity           null.Int    `json:"line12_quantity"`
	Line12UnitPrice          null.Float  `json:"line12_unit_price"`
	Line13Amount             null.Float  `json:"line13_amount"`
	Line13Desc               null.String `json:"line13_desc"`
	Line13Description        null.String `json:"line13_description"`
	Line13Notes              null.String `json:"line13_notes"`
	Line13Price              null.Float  `json:"line13_price"`
	Line13Quantity           null.Int    `json:"line13_quantity"`
	Line13UnitPrice          null.Float  `json:"line13_unit_price"`
	Line14Amount             null.Float  `json:"line14_amount"`
	Line14Desc               null.String `json:"line14_desc"`
	Line14Description        null.String `json:"line14_description"`
	Line14Notes              null.String `json:"line14_notes"`
	Line14Price              null.Float  `json:"line14_price"`
	Line14Quantity           null.Int    `json:"line14_quantity"`
	Line14UnitPrice          null.Float  `json:"line14_unit_price"`
	Line15Amount             null.Float  `json:"line15_amount"`
	Line15Desc               null.String `json:"line15_desc"`
	Line15Description        null.String `json:"line15_description"`
	Line15Notes              null.String `json:"line15_notes"`
	Line15Price              null.Float  `json:"line15_price"`
	Line15Quantity           null.Int    `json:"line15_quantity"`
	Line15UnitPrice          null.Float  `json:"line15_unit_price"`
	OrderId                  null.Int    `json:"order_id"`
	PaymentDate              null.String `json:"payment_date"`
	WorkOrderId              null.Int    `json:"work_order_id"`
}

type WorkOrderInvoiceIDO

type WorkOrderInvoiceIDO struct {
	Id                       uint64      `json:"id"` // 	OrderId   uint64 `json:"order_id"`
	Uuid                     string      `json:"uuid"`
	TenantID                 uint64      `json:"tenant_id"`
	OrderId                  uint64      `json:"order_id"`
	InvoiceId                string      `json:"invoice_id"`
	InvoiceDate              time.Time   `json:"invoice_date"`
	AssociateName            string      `json:"associate_name"`
	AssociateTelephone       string      `json:"associate_telephone"`
	ClientName               string      `json:"client_name"`
	ClientTelephone          string      `json:"client_telephone"`
	ClientEmail              null.String `json:"client_email"`
	Line01Qty                int8        `json:"line_01_qty"`
	Line01Desc               string      `json:"line_01_desc"`
	Line01Price              float64     `json:"line_01_price"`
	Line01Amount             float64     `json:"line_01_amount"`
	Line02Qty                null.Int    `json:"line_02_qty"` // Make `int8`
	Line02Desc               null.String `json:"line_02_desc"`
	Line02Price              null.Float  `json:"line_02_price"`
	Line02Amount             null.Float  `json:"line_02_amount"`
	Line03Qty                null.Int    `json:"line_03_qty"` // Make `int8`
	Line03Desc               null.String `json:"line_03_desc"`
	Line03Price              null.Float  `json:"line_03_price"`
	Line03Amount             null.Float  `json:"line_03_amount"`
	Line04Qty                null.Int    `json:"line_04_qty"` // Make `int8`
	Line04Desc               null.String `json:"line_04_desc"`
	Line04Price              null.Float  `json:"line_04_price"`
	Line04Amount             null.Float  `json:"line_04_amount"`
	Line05Qty                null.Int    `json:"line_05_qty"` // Make `int8`
	Line05Desc               null.String `json:"line_05_desc"`
	Line05Price              null.Float  `json:"line_05_price"`
	Line05Amount             null.Float  `json:"line_05_amount"`
	Line06Qty                null.Int    `json:"line_06_qty"` // Make `int8`
	Line06Desc               null.String `json:"line_06_desc"`
	Line06Price              null.Float  `json:"line_06_price"`
	Line06Amount             null.Float  `json:"line_06_amount"`
	Line07Qty                null.Int    `json:"line_07_qty"` // Make `int8`
	Line07Desc               null.String `json:"line_07_desc"`
	Line07Price              null.Float  `json:"line_07_price"`
	Line07Amount             null.Float  `json:"line_07_amount"`
	Line08Qty                null.Int    `json:"line_08_qty"` // Make `int8`
	Line08Desc               null.String `json:"line_08_desc"`
	Line08Price              null.Float  `json:"line_08_price"`
	Line08Amount             null.Float  `json:"line_08_amount"`
	Line09Qty                null.Int    `json:"line_09_qty"` // Make `int8`
	Line09Desc               null.String `json:"line_09_desc"`
	Line09Price              null.Float  `json:"line_09_price"`
	Line09Amount             null.Float  `json:"line_09_amount"`
	Line10Qty                null.Int    `json:"line_10_qty"` // Make `int8`
	Line10Desc               null.String `json:"line_10_desc"`
	Line10Price              null.Float  `json:"line_10_price"`
	Line10Amount             null.Float  `json:"line_10_amount"`
	Line11Qty                null.Int    `json:"line_11_qty"` // Make `int8`
	Line11Desc               null.String `json:"line_11_desc"`
	Line11Price              null.Float  `json:"line_11_price"`
	Line11Amount             null.Float  `json:"line_11_amount"`
	Line12Qty                null.Int    `json:"line_12_qty"` // Make `int8`
	Line12Desc               null.String `json:"line_12_desc"`
	Line12Price              null.Float  `json:"line_12_price"`
	Line12Amount             null.Float  `json:"line_12_amount"`
	Line13Qty                null.Int    `json:"line_13_qty"` // Make `int8`
	Line13Desc               null.String `json:"line_13_desc"`
	Line13Price              null.Float  `json:"line_13_price"`
	Line13Amount             null.Float  `json:"line_13_amount"`
	Line14Qty                null.Int    `json:"line_14_qty"` // Make `int8`
	Line14Desc               null.String `json:"line_14_desc"`
	Line14Price              null.Float  `json:"line_14_price"`
	Line14Amount             null.Float  `json:"line_14_amount"`
	Line15Qty                null.Int    `json:"line_15_qty"` // Make `int8`
	Line15Desc               null.String `json:"line_15_desc"`
	Line15Price              null.Float  `json:"line_15_price"`
	Line15Amount             null.Float  `json:"line_15_amount"`
	InvoiceQuoteDays         int8        `json:"invoice_quote_days"`
	InvoiceAssociateTax      null.String `json:"invoice_associate_tax"`
	InvoiceQuoteDate         time.Time   `json:"invoice_quote_date"`
	InvoiceCustomersApproval string      `json:"invoice_customers_approval"`
	Line01Notes              null.String `json:"line_01_notes"`
	Line02Notes              null.String `json:"line_02_notes"`
	TotalLabour              float64     `json:"total_labour"`
	TotalMaterials           float64     `json:"total_materials"`
	OtherCosts               float64     `json:"other_costs"`
	Tax                      float64     `json:"tax"`
	Total                    float64     `json:"total"`
	PaymentAmount            float64     `json:"payment_amount"`
	PaymentDate              time.Time   `json:"payment_date"`
	IsCash                   bool        `json:"is_cash"`
	IsCheque                 bool        `json:"is_cheque"`
	IsDebit                  bool        `json:"is_debit"`
	IsCredit                 bool        `json:"is_credit"`
	IsOther                  bool        `json:"is_other"`
	ClientSignature          string      `json:"client_signature"`
	AssociateSignDate        time.Time   `json:"associate_sign_date"`
	AssociateSignature       string      `json:"associate_signature"`
	WorkOrderId              uint64      `json:"work_order_id"`
	CreatedTime              time.Time   `json:"created_time"`
	LastModifiedTime         time.Time   `json:"last_modified_time"`
	CreatedById              uint64      `json:"created_by_id"`
	CreatedByName            null.String `json:"created_by_name"`
	LastModifiedById         uint64      `json:"last_modified_by_id"`
	LastModifiedByName       null.String `json:"last_modified_by_name"`
	CreatedFrom              string      `json:"created_from"`
	CreatedFromIsPublic      bool        `json:"created_from_is_public"`
	LastModifiedFrom         string      `json:"last_modified_from"`
	LastModifiedFromIsPublic bool        `json:"last_modified_from_is_public"`
	ClientAddress            string      `json:"client_address"`
	RevisionVersion          int8        `json:"revision_version"`
	Deposit                  float64     `json:"deposit"`
	AmountDue                float64     `json:"amount_due"`
	SubTotal                 float64     `json:"sub_total"`
	State                    int8        `json:"state"` // IsArchived bool `json:"is_archived"`
	OldId                    uint64      `json:"old_id"`

	FileS3Key null.String `json:"file_s3_key"`
	FileTitle null.String `json:"file_title"`
	FileUrl   null.String `json:"file_url,omitempty"` // (Optional, added by endpoint)
}

func NewWorkOrderInvoiceIDO

func NewWorkOrderInvoiceIDO(m *models.WorkOrderInvoice) *WorkOrderInvoiceIDO

type WorkOrderInvoiceUpdateRequestIDO

type WorkOrderInvoiceUpdateRequestIDO struct {
	Text string `json:"text"`
}

type WorkOrderLiteUpdateRequestIDO

type WorkOrderLiteUpdateRequestIDO struct {
	AssignmentDate       null.String `json:"assignment_date"`
	CompletionDate       null.String `json:"completion_date"`
	Description          string      `json:"description"`
	IsHomeSupportService bool        `json:"is_home_support_service"`
	SkillSetPKs          []uint64    `json:"skill_sets"`
	TagPKs               []uint64    `json:"tags"`
}

type WorkOrderOperationCloseRequestIDO

type WorkOrderOperationCloseRequestIDO struct {
	WorkOrderId             null.Int    `json:"work_order_id"`
	WasSuccessfullyFinished null.Bool   `json:"was_successfully_finished"`
	CompletionDate          null.String `json:"completion_date"`
	Reason                  null.Int    `json:"reason"`
	ReasonOther             null.String `json:"reason_other"`
	Comment                 null.String `json:"comment"`
}

type WorkOrderOperationInvoiceRequestIDO

type WorkOrderOperationInvoiceRequestIDO struct {
	OrderId null.Int `json:"order_id"`
}

type WorkOrderOperationPostponeRequestIDO

type WorkOrderOperationPostponeRequestIDO struct {
	WorkOrderId null.Int    `json:"work_order_id"`
	Reason      null.Int    `json:"reason"`
	ReasonOther null.String `json:"reason_other"`
	StartDate   null.String `json:"start_date"`
	Comment     null.String `json:"comment"`
}

type WorkOrderOperationTransferRequestIDO

type WorkOrderOperationTransferRequestIDO struct {
	WorkOrderId null.Int    `json:"work_order_id"`
	CustomerId  null.Int    `json:"customer_id"`
	AssociateId null.Int    `json:"associate_id"`
	Reason      null.String `json:"reason"`
}

type WorkOrderOperationUnassignAssociateRequestIDO

type WorkOrderOperationUnassignAssociateRequestIDO struct {
	WorkOrderId uint64 `json:"work_order_id"`
	Reason      string `json:"reason"`
}

type WorkOrderResponseIDO

type WorkOrderResponseIDO struct {
	Id                                uint64                      `json:"id"`
	Uuid                              string                      `json:"uuid"`
	TenantID                          uint64                      `json:"tenant_id"`
	CustomerId                        uint64                      `json:"customer_id"`
	CustomerName                      string                      `json:"customer_name,omitempty"`
	CustomerLexicalName               string                      `json:"customer_lexical_name,omitempty"`
	CustomerGender                    string                      `json:"customer_gender"`
	CustomerBirthdate                 time.Time                   `json:"customer_birthdate"`
	AssociateId                       null.Int                    `json:"associate_id"`
	AssociateName                     null.String                 `json:"associate_name,omitempty"`
	AssociateLexicalName              null.String                 `json:"associate_lexical_name,omitempty"`
	AssociateGender                   null.String                 `json:"associate_gender"`
	AssociateBirthdate                null.Time                   `json:"associate_birthdate"`
	Description                       string                      `json:"description"`
	AssignmentDate                    null.Time                   `json:"assignment_date"`
	IsOngoing                         bool                        `json:"is_ongoing"`
	IsHomeSupportService              bool                        `json:"is_home_support_service"`
	StartDate                         time.Time                   `json:"start_date"`
	CompletionDate                    null.Time                   `json:"completion_date"`
	Hours                             float64                     `json:"hours"`
	TypeOf                            int8                        `json:"type_of"`
	IndexedText                       string                      `json:"indexed_text"`
	ClosingReason                     int8                        `json:"closing_reason"`
	ClosingReasonOther                null.String                 `json:"closing_reason_other"`
	State                             int8                        `json:"state"`
	Currency                          string                      `json:"currency"`
	WasJobSatisfactory                bool                        `json:"was_job_satisfactory"`
	WasJobFinishedOnTimeAndOnBudget   bool                        `json:"was_job_finished_on_time_and_on_budget"`
	WasAssociatePunctual              bool                        `json:"was_associate_punctual"`
	WasAssociateProfessional          bool                        `json:"was_associate_professional"`
	WouldCustomerReferOurOrganization bool                        `json:"would_customer_refer_our_organization"`
	Score                             float64                     `json:"score"`
	InvoiceDate                       null.Time                   `json:"invoice_date"`
	InvoiceQuoteAmount                float64                     `json:"invoice_quote_amount"`
	InvoiceLabourAmount               float64                     `json:"invoice_labour_amount"`
	InvoiceMaterialAmount             float64                     `json:"invoice_material_amount"`
	InvoiceTaxAmount                  float64                     `json:"invoice_tax_amount"`
	InvoiceTotalAmount                float64                     `json:"invoice_total_amount"`
	InvoiceServiceFeeAmount           float64                     `json:"invoice_service_fee_amount"`
	InvoiceServiceFeePaymentDate      null.Time                   `json:"invoice_service_fee_payment_date"`
	CreatedTime                       time.Time                   `json:"created_time"`
	CreatedById                       null.Int                    `json:"created_by_id"`
	CreatedByName                     null.String                 `json:"created_by_name"`
	CreatedFromIP                     null.String                 `json:"created_from_ip"`
	LastModifiedTime                  time.Time                   `json:"last_modified_time"`
	LastModifiedById                  null.Int                    `json:"last_modified_by_id"`
	LastModifiedByName                null.String                 `json:"last_modified_by_name"`
	LastModifiedFromIP                null.String                 `json:"last_modified_from_ip"`
	OldId                             uint64                      `json:"old_id"`
	InvoiceServiceFeeId               null.Int                    `json:"invoice_service_fee_id"`
	LatestPendingTaskId               null.Int                    `json:"latest_pending_task_id"`
	OngoingWorkOrderId                null.Int                    `json:"ongoing_work_order_id"`
	WasSurveyConducted                bool                        `json:"was_survey_conducted"`
	WasThereFinancialsInputted        bool                        `json:"was_there_financials_inputted"`
	InvoiceActualServiceFeeAmountPaid float64                     `json:"invoice_actual_service_fee_amount_paid"`
	InvoiceBalanceOwingAmount         float64                     `json:"invoice_balance_owing_amount"`
	InvoiceQuotedLabourAmount         float64                     `json:"invoice_quoted_labour_amount"`
	InvoiceQuotedMaterialAmount       float64                     `json:"invoice_quoted_material_amount"`
	InvoiceTotalQuoteAmount           float64                     `json:"invoice_total_quote_amount"`
	Visits                            int8                        `json:"visits"`
	InvoiceIds                        null.String                 `json:"invoice_ids"`
	NoSurveyConductedReason           null.Int                    `json:"no_survey_conducted_reason"`
	NoSurveyConductedReasonOther      null.String                 `json:"no_survey_conducted_reason_other"`
	ClonedFromId                      null.Int                    `json:"cloned_from_id"`
	InvoiceDepositAmount              float64                     `json:"invoice_deposit_amount"`
	InvoiceOtherCostsAmount           float64                     `json:"invoice_other_costs_amount"`
	InvoiceQuotedOtherCostsAmount     float64                     `json:"invoice_quoted_other_costs_amount"`
	InvoicePaidTo                     null.Int                    `json:"invoice_paid_to"`
	InvoiceAmountDue                  float64                     `json:"invoice_amount_due"`
	InvoiceSubTotalAmount             float64                     `json:"invoice_sub_total_amount"`
	ClosingReasonComment              string                      `json:"closing_reason_comment"`
	Tags                              []*models.WorkOrderTag      `json:"tags"`                // Referenced value from 'tags'.
	SkillSets                         []*models.WorkOrderSkillSet `json:"skill_sets"`          // Referenced value from 'tags'.
	Customer                          *models.Customer            `json:"customer"`            // Referenced value from 'customers'.
	Associate                         *models.Associate           `json:"associate"`           // Referenced value from 'associates'.
	InvoiceServiceFee                 *models.WorkOrderServiceFee `json:"invoice_service_fee"` // Referenced value from 'work_order_service_fee'.
}

func NewWorkOrderResponseIDO

func NewWorkOrderResponseIDO(m *models.WorkOrder) *WorkOrderResponseIDO

type WorkOrderServiceFeeCreateRequestIDO

type WorkOrderServiceFeeCreateRequestIDO struct {
	Title       string  `json:"title"`
	Percentage  float64 `json:"percentage"`
	Description string  `json:"description"`
}

type WorkOrderServiceFeeIDO

type WorkOrderServiceFeeIDO struct {
	Id                 uint64      `json:"id"`
	Uuid               string      `json:"uuid"`
	TenantID           uint64      `json:"tenant_id"`
	Title              string      `json:"title"`
	Description        string      `json:"description"`
	Percentage         float64     `json:"percentage"`
	CreatedTime        time.Time   `json:"created_time"`
	CreatedById        null.Int    `json:"created_by_id,omitempty"`
	CreatedByName      null.String `json:"created_by_name,omitempty"`
	CreatedFromIP      string      `json:"created_from_ip"`
	LastModifiedTime   time.Time   `json:"last_modified_time"`
	LastModifiedById   null.Int    `json:"last_modified_by_id,omitempty"`
	LastModifiedByName null.String `json:"last_modified_by_name,omitempty"`
	LastModifiedFromIP string      `json:"last_modified_from_ip"`
	State              int8        `json:"state"`
	OldId              uint64      `json:"old_id"`
}

type WorkOrderServiceFeeUpdateRequestIDO

type WorkOrderServiceFeeUpdateRequestIDO struct {
	Title       string  `json:"title"`
	Percentage  float64 `json:"percentage"`
	Description string  `json:"description"`
}

type WorkOrderUpdateRequestIDO

type WorkOrderUpdateRequestIDO struct {
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL