// Code generated by lark_sdk_gen. DO NOT EDIT.
/**
 * Copyright 2022 chyroc
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package lark

import (
	"context"
)

// GetCoreHRPerson 根据 ID 查询单个人员的个人信息。
//
// doc: https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/person/get
// new doc: https://open.feishu.cn/document/server-docs/corehr-v1/employee/person/get
//
// Deprecated
func (r *CoreHRService) GetCoreHRPerson(ctx context.Context, request *GetCoreHRPersonReq, options ...MethodOptionFunc) (*GetCoreHRPersonResp, *Response, error) {
	if r.cli.mock.mockCoreHRGetCoreHRPerson != nil {
		r.cli.Log(ctx, LogLevelDebug, "[lark] CoreHR#GetCoreHRPerson mock enable")
		return r.cli.mock.mockCoreHRGetCoreHRPerson(ctx, request, options...)
	}

	req := &RawRequestReq{
		Scope:                 "CoreHR",
		API:                   "GetCoreHRPerson",
		Method:                "GET",
		URL:                   r.cli.openBaseURL + "/open-apis/corehr/v1/persons/:person_id",
		Body:                  request,
		MethodOption:          newMethodOption(options),
		NeedTenantAccessToken: true,
	}
	resp := new(getCoreHRPersonResp)

	response, err := r.cli.RawRequest(ctx, req, resp)
	return resp.Data, response, err
}

// MockCoreHRGetCoreHRPerson mock CoreHRGetCoreHRPerson method
func (r *Mock) MockCoreHRGetCoreHRPerson(f func(ctx context.Context, request *GetCoreHRPersonReq, options ...MethodOptionFunc) (*GetCoreHRPersonResp, *Response, error)) {
	r.mockCoreHRGetCoreHRPerson = f
}

// UnMockCoreHRGetCoreHRPerson un-mock CoreHRGetCoreHRPerson method
func (r *Mock) UnMockCoreHRGetCoreHRPerson() {
	r.mockCoreHRGetCoreHRPerson = nil
}

// GetCoreHRPersonReq ...
type GetCoreHRPersonReq struct {
	PersonID   string  `path:"person_id" json:"-"`     // Person ID, 示例值: "1616161616"
	UserIDType *IDType `query:"user_id_type" json:"-"` // 用户 ID 类型, 示例值: open_id, 可选值有: people_employee_id: 以people_employee_id来识别用户, 默认值: `open_id`
}

// GetCoreHRPersonResp ...
type GetCoreHRPersonResp struct {
	Person *GetCoreHRPersonRespPerson `json:"person,omitempty"` // 个人信息
}

// GetCoreHRPersonRespPerson ...
type GetCoreHRPersonRespPerson struct {
	PhoneNumber              string                                             `json:"phone_number,omitempty"`                // 个人手机号
	LegalName                string                                             `json:"legal_name,omitempty"`                  // 法定姓名
	PreferredName            string                                             `json:"preferred_name,omitempty"`              // 常用名
	ID                       string                                             `json:"id,omitempty"`                          // 实体在CoreHR内部的唯一键
	NameList                 []*GetCoreHRPersonRespPersonName                   `json:"name_list,omitempty"`                   // 姓名
	Gender                   *GetCoreHRPersonRespPersonGender                   `json:"gender,omitempty"`                      // 性别
	DateOfBirth              string                                             `json:"date_of_birth,omitempty"`               // 出生日期
	NationalityID            string                                             `json:"nationality_id,omitempty"`              // 国籍 ID
	Race                     *GetCoreHRPersonRespPersonRace                     `json:"race,omitempty"`                        // 民族 / 种族, 枚举值 api_name 可通过[获取字段详情](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询, 查询参数如下: object_api_name = "person", custom_api_name = "race"
	MaritalStatus            *GetCoreHRPersonRespPersonMaritalStatus            `json:"marital_status,omitempty"`              // 婚姻状况, 枚举值 api_name 可通过[获取字段详情](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询, 查询参数如下: object_api_name = "person", custom_api_name = "marital_status", <b>字段权限要求: </b>, 读写婚姻状况信息(corehr:person.marital_status:write)
	PhoneList                []*GetCoreHRPersonRespPersonPhone                  `json:"phone_list,omitempty"`                  // 电话列表
	AddressList              []*GetCoreHRPersonRespPersonAddress                `json:"address_list,omitempty"`                // 地址列表
	EmailList                []*GetCoreHRPersonRespPersonEmail                  `json:"email_list,omitempty"`                  // 邮件列表
	WorkExperienceList       []*GetCoreHRPersonRespPersonWorkExperience         `json:"work_experience_list,omitempty"`        // 工作履历
	EducationList            []*GetCoreHRPersonRespPersonEducation              `json:"education_list,omitempty"`              // 教育经历
	BankAccountList          []*GetCoreHRPersonRespPersonBankAccount            `json:"bank_account_list,omitempty"`           // 银行账号
	NationalIDList           []*GetCoreHRPersonRespPersonNationalID             `json:"national_id_list,omitempty"`            // 证件号码
	DependentList            []*GetCoreHRPersonRespPersonDependent              `json:"dependent_list,omitempty"`              // 亲属
	EmergencyContactList     []*GetCoreHRPersonRespPersonEmergencyContact       `json:"emergency_contact_list,omitempty"`      // 紧急联系人
	DateEnteredWorkforce     string                                             `json:"date_entered_workforce,omitempty"`      // 参加工作日期
	ProfileImageID           string                                             `json:"profile_image_id,omitempty"`            // 头像资源的id
	CustomFields             []*GetCoreHRPersonRespPersonCustomField            `json:"custom_fields,omitempty"`               // 自定义字段
	EmailAddress             string                                             `json:"email_address,omitempty"`               // 邮箱
	ResidentTaxIDList        []string                                           `json:"resident_tax_id_list,omitempty"`        // 纳税身份信息
	Age                      int64                                              `json:"age,omitempty"`                         // 年龄
	HighestLevelOfEducation  *GetCoreHRPersonRespPersonHighestLevelOfEducation  `json:"highest_level_of_education,omitempty"`  // 最高学历教育
	HighestDegreeOfEducation *GetCoreHRPersonRespPersonHighestDegreeOfEducation `json:"highest_degree_of_education,omitempty"` // 最高学位教育经历
	PersonalProfile          []*GetCoreHRPersonRespPersonPersonalProfile        `json:"personal_profile,omitempty"`            // 个人资料
}

// GetCoreHRPersonRespPersonAddress ...
type GetCoreHRPersonRespPersonAddress struct {
	FullAddressLocalScript   string                                         `json:"full_address_local_script,omitempty"`   // 完整地址（本地文字）
	FullAddressWesternScript string                                         `json:"full_address_western_script,omitempty"` // 完整地址（西方文字）
	ID                       string                                         `json:"id,omitempty"`                          // 地址ID
	CountryRegionID          string                                         `json:"country_region_id,omitempty"`           // 国家 / 地区
	RegionID                 string                                         `json:"region_id,omitempty"`                   // 主要行政区
	CityID                   string                                         `json:"city_id,omitempty"`                     // 城市
	DistinctID               string                                         `json:"distinct_id,omitempty"`                 // 区/县
	LocalAddressLine1        string                                         `json:"local_address_line1,omitempty"`         // 地址行 1（非拉丁语系的本地文字）
	LocalAddressLine2        string                                         `json:"local_address_line2,omitempty"`         // 地址行 2（非拉丁语系的本地文字）
	LocalAddressLine3        string                                         `json:"local_address_line3,omitempty"`         // 地址行 3（非拉丁语系的本地文字）
	LocalAddressLine4        string                                         `json:"local_address_line4,omitempty"`         // 地址行 4（非拉丁语系的本地文字）
	LocalAddressLine5        string                                         `json:"local_address_line5,omitempty"`         // 地址行 5（非拉丁语系的本地文字）
	LocalAddressLine6        string                                         `json:"local_address_line6,omitempty"`         // 地址行 6（非拉丁语系的本地文字）
	LocalAddressLine7        string                                         `json:"local_address_line7,omitempty"`         // 地址行 7（非拉丁语系的本地文字）
	LocalAddressLine8        string                                         `json:"local_address_line8,omitempty"`         // 地址行 8（非拉丁语系的本地文字）
	LocalAddressLine9        string                                         `json:"local_address_line9,omitempty"`         // 地址行 9（非拉丁语系的本地文字）
	PostalCode               string                                         `json:"postal_code,omitempty"`                 // 邮政编码
	AddressTypeList          []*GetCoreHRPersonRespPersonAddressAddressType `json:"address_type_list,omitempty"`           // 地址类型
	IsPrimary                bool                                           `json:"is_primary,omitempty"`                  // 主要地址
	IsPublic                 bool                                           `json:"is_public,omitempty"`                   // 公开地址
	CustomFields             []*GetCoreHRPersonRespPersonAddressCustomField `json:"custom_fields,omitempty"`               // 自定义字段
}

// GetCoreHRPersonRespPersonAddressAddressType ...
type GetCoreHRPersonRespPersonAddressAddressType struct {
	EnumName string                                                `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonAddressAddressTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonAddressAddressTypeDisplay ...
type GetCoreHRPersonRespPersonAddressAddressTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonAddressCustomField ...
type GetCoreHRPersonRespPersonAddressCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonBankAccount ...
type GetCoreHRPersonRespPersonBankAccount struct {
	BankName          string                                                  `json:"bank_name,omitempty"`           // 银行名称
	BankAccountNumber string                                                  `json:"bank_account_number,omitempty"` // 银行账号
	AccountHolder     string                                                  `json:"account_holder,omitempty"`      // 开户人姓名
	Bank              *GetCoreHRPersonRespPersonBankAccountBank               `json:"bank,omitempty"`                // 银行名称（该字段待作废, 请勿使用）
	BranchName        string                                                  `json:"branch_name,omitempty"`         // 支行名称
	CustomFields      []*GetCoreHRPersonRespPersonBankAccountCustomField      `json:"custom_fields,omitempty"`       // 自定义字段
	CountryRegionID   string                                                  `json:"country_region_id,omitempty"`   // 国家/地区id, 详细信息可通过[查询国家/地区信息]接口查询获得
	BankAccountUsage  []*GetCoreHRPersonRespPersonBankAccountBankAccountUsage `json:"bank_account_usage,omitempty"`  // 银行卡用途, 枚举值可通过文档[飞书人事枚举常量]银行卡用途（Bank Account Usage）枚举定义部分获得
	BankAccountType   *GetCoreHRPersonRespPersonBankAccountBankAccountType    `json:"bank_account_type,omitempty"`   // 银行卡类型, 枚举值可通过文档[飞书人事枚举常量]银行卡类型（Bank Account Type）枚举定义部分获得
	CurrencyID        string                                                  `json:"currency_id,omitempty"`         // 货币id
}

// GetCoreHRPersonRespPersonBankAccountBank ...
type GetCoreHRPersonRespPersonBankAccountBank struct {
	EnumName string                                             `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonBankAccountBankDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonBankAccountBankAccountType ...
type GetCoreHRPersonRespPersonBankAccountBankAccountType struct {
	EnumName string                                                        `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonBankAccountBankAccountTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonBankAccountBankAccountTypeDisplay ...
type GetCoreHRPersonRespPersonBankAccountBankAccountTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonBankAccountBankAccountUsage ...
type GetCoreHRPersonRespPersonBankAccountBankAccountUsage struct {
	EnumName string                                                         `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonBankAccountBankAccountUsageDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonBankAccountBankAccountUsageDisplay ...
type GetCoreHRPersonRespPersonBankAccountBankAccountUsageDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonBankAccountBankDisplay ...
type GetCoreHRPersonRespPersonBankAccountBankDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonBankAccountCustomField ...
type GetCoreHRPersonRespPersonBankAccountCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonCustomField ...
type GetCoreHRPersonRespPersonCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonDependent ...
type GetCoreHRPersonRespPersonDependent struct {
	Name                                 *GetCoreHRPersonRespPersonDependentName                    `json:"name,omitempty"`                                       // 姓名
	Relationship                         *GetCoreHRPersonRespPersonDependentRelationship            `json:"relationship,omitempty"`                               // 关系
	Gender                               *GetCoreHRPersonRespPersonDependentGender                  `json:"gender,omitempty"`                                     // 性别
	DateOfBirth                          string                                                     `json:"date_of_birth,omitempty"`                              // 生日
	NationalityID                        string                                                     `json:"nationality_id,omitempty"`                             // 国籍 ID, 该字段已作废, 请使用 nationality_id_v2 字段
	NationalIDList                       []*GetCoreHRPersonRespPersonDependentNationalID            `json:"national_id_list,omitempty"`                           // 证件号码
	SpousesWorkingStatus                 *GetCoreHRPersonRespPersonDependentSpousesWorkingStatus    `json:"spouses_working_status,omitempty"`                     // 配偶工作状态
	IsThisPersonCoveredByHealthInsurance bool                                                       `json:"is_this_person_covered_by_health_insurance,omitempty"` // 包含家属医疗保险
	IsThisPersonAllowedForTaxDeduction   bool                                                       `json:"is_this_person_allowed_for_tax_deduction,omitempty"`   // 允许家属抵扣税款
	CustomFields                         []*GetCoreHRPersonRespPersonDependentCustomField           `json:"custom_fields,omitempty"`                              // 自定义字段
	DependentName                        string                                                     `json:"dependent_name,omitempty"`                             // 家庭成员姓名
	Employer                             string                                                     `json:"employer,omitempty"`                                   // 工作单位
	Job                                  string                                                     `json:"job,omitempty"`                                        // 岗位
	Phone                                *GetCoreHRPersonRespPersonDependentPhone                   `json:"phone,omitempty"`                                      // 电话
	Address                              *GetCoreHRPersonRespPersonDependentAddress                 `json:"address,omitempty"`                                    // 联系地址
	BirthCertificateOfChild              *GetCoreHRPersonRespPersonDependentBirthCertificateOfChild `json:"birth_certificate_of_child,omitempty"`                 // 出生证明
}

// GetCoreHRPersonRespPersonDependentAddress ...
type GetCoreHRPersonRespPersonDependentAddress struct {
	FullAddressLocalScript   string                                                  `json:"full_address_local_script,omitempty"`   // 完整地址（本地文字）
	FullAddressWesternScript string                                                  `json:"full_address_western_script,omitempty"` // 完整地址（西方文字）
	ID                       string                                                  `json:"id,omitempty"`                          // 地址ID
	CountryRegionID          string                                                  `json:"country_region_id,omitempty"`           // 国家 / 地区
	RegionID                 string                                                  `json:"region_id,omitempty"`                   // 主要行政区
	CityID                   string                                                  `json:"city_id,omitempty"`                     // 城市, 该字段已作废, 请使用 city_id_v2 字段
	DistinctID               string                                                  `json:"distinct_id,omitempty"`                 // 区/县, 该字段已作废, 请使用 district_id_v2 字段
	LocalAddressLine1        string                                                  `json:"local_address_line1,omitempty"`         // 地址行 1（非拉丁语系的本地文字）
	LocalAddressLine2        string                                                  `json:"local_address_line2,omitempty"`         // 地址行 2（非拉丁语系的本地文字）
	LocalAddressLine3        string                                                  `json:"local_address_line3,omitempty"`         // 地址行 3（非拉丁语系的本地文字）
	LocalAddressLine4        string                                                  `json:"local_address_line4,omitempty"`         // 地址行 4（非拉丁语系的本地文字）
	LocalAddressLine5        string                                                  `json:"local_address_line5,omitempty"`         // 地址行 5（非拉丁语系的本地文字）
	LocalAddressLine6        string                                                  `json:"local_address_line6,omitempty"`         // 地址行 6（非拉丁语系的本地文字）
	LocalAddressLine7        string                                                  `json:"local_address_line7,omitempty"`         // 地址行 7（非拉丁语系的本地文字）
	LocalAddressLine8        string                                                  `json:"local_address_line8,omitempty"`         // 地址行 8（非拉丁语系的本地文字）
	LocalAddressLine9        string                                                  `json:"local_address_line9,omitempty"`         // 地址行 9（非拉丁语系的本地文字）
	PostalCode               string                                                  `json:"postal_code,omitempty"`                 // 邮政编码
	AddressTypeList          []*GetCoreHRPersonRespPersonDependentAddressAddressType `json:"address_type_list,omitempty"`           // 地址类型
	IsPrimary                bool                                                    `json:"is_primary,omitempty"`                  // 主要地址
	IsPublic                 bool                                                    `json:"is_public,omitempty"`                   // 公开地址
	CustomFields             []*GetCoreHRPersonRespPersonDependentAddressCustomField `json:"custom_fields,omitempty"`               // 自定义字段
}

// GetCoreHRPersonRespPersonDependentAddressAddressType ...
type GetCoreHRPersonRespPersonDependentAddressAddressType struct {
	EnumName string                                                         `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentAddressAddressTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentAddressAddressTypeDisplay ...
type GetCoreHRPersonRespPersonDependentAddressAddressTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentAddressCustomField ...
type GetCoreHRPersonRespPersonDependentAddressCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonDependentBirthCertificateOfChild ...
type GetCoreHRPersonRespPersonDependentBirthCertificateOfChild struct {
	ID string `json:"id,omitempty"` // 上传文件ID
}

// GetCoreHRPersonRespPersonDependentCustomField ...
type GetCoreHRPersonRespPersonDependentCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonDependentGender ...
type GetCoreHRPersonRespPersonDependentGender struct {
	EnumName string                                             `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentGenderDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentGenderDisplay ...
type GetCoreHRPersonRespPersonDependentGenderDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentName ...
type GetCoreHRPersonRespPersonDependentName struct {
	LocalPrimary                     string                                                    `json:"local_primary,omitempty"`                         // 姓 - 本地文字
	LocalFirstName                   string                                                    `json:"local_first_name,omitempty"`                      // 名 - 本地文字
	CountryRegionID                  string                                                    `json:"country_region_id,omitempty"`                     // 国家 / 地区
	NameType                         *GetCoreHRPersonRespPersonDependentNameNameType           `json:"name_type,omitempty"`                             // 姓名类型
	LocalFirstName2                  string                                                    `json:"local_first_name_2,omitempty"`                    // 名 - 第二本地文字
	LocalPrimary2                    string                                                    `json:"local_primary_2,omitempty"`                       // 姓 - 第二本地文字
	AdditionalNameType               *GetCoreHRPersonRespPersonDependentNameAdditionalNameType `json:"additional_name_type,omitempty"`                  // 补充姓名类型
	FirstName                        string                                                    `json:"first_name,omitempty"`                            // 名
	FullName                         string                                                    `json:"full_name,omitempty"`                             // 全名
	Hereditary                       string                                                    `json:"hereditary,omitempty"`                            // 姓氏称谓
	CustomName                       string                                                    `json:"custom_name,omitempty"`                           // 自定义姓名（未传入时, 姓名将默认根据所属国家 / 地区规则对相关姓、名字段拼接）
	CustomLocalName                  string                                                    `json:"custom_local_name,omitempty"`                     // 本地文字的自定义姓名（未传入时, 本地文字的姓名将默认根据所属国家 / 地区规则对本地文字的相关姓、名字段拼接）
	MiddleName                       string                                                    `json:"middle_name,omitempty"`                           // 中间名
	NamePrimary                      string                                                    `json:"name_primary,omitempty"`                          // 姓
	Secondary                        string                                                    `json:"secondary,omitempty"`                             // 第二姓氏
	Social                           *GetCoreHRPersonRespPersonDependentNameSocial             `json:"social,omitempty"`                                // 尊称
	Tertiary                         string                                                    `json:"tertiary,omitempty"`                              // 婚后姓氏
	Title                            *GetCoreHRPersonRespPersonDependentNameTitle              `json:"title,omitempty"`                                 // 头衔
	LocalMiddleName                  string                                                    `json:"local_middle_name,omitempty"`                     // 本地中间名
	LocalSecondary                   string                                                    `json:"local_secondary,omitempty"`                       // 第二姓氏 - 本地文字
	DisplayNameLocalAndWesternScript string                                                    `json:"display_name_local_and_western_script,omitempty"` // 展示姓名（本地和西方文字）
	DisplayNameLocalScript           string                                                    `json:"display_name_local_script,omitempty"`             // 展示姓名（本地文字）
	DisplayNameWesternScript         string                                                    `json:"display_name_western_script,omitempty"`           // 展示姓名（西方文字）
	CustomFields                     []*GetCoreHRPersonRespPersonDependentNameCustomField      `json:"custom_fields,omitempty"`                         // 自定义字段
}

// GetCoreHRPersonRespPersonDependentNameAdditionalNameType ...
type GetCoreHRPersonRespPersonDependentNameAdditionalNameType struct {
	EnumName string                                                             `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentNameAdditionalNameTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentNameAdditionalNameTypeDisplay ...
type GetCoreHRPersonRespPersonDependentNameAdditionalNameTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentNameCustomField ...
type GetCoreHRPersonRespPersonDependentNameCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonDependentNameNameType ...
type GetCoreHRPersonRespPersonDependentNameNameType struct {
	EnumName string                                                   `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentNameNameTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentNameNameTypeDisplay ...
type GetCoreHRPersonRespPersonDependentNameNameTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentNameSocial ...
type GetCoreHRPersonRespPersonDependentNameSocial struct {
	EnumName string                                                 `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentNameSocialDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentNameSocialDisplay ...
type GetCoreHRPersonRespPersonDependentNameSocialDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentNameTitle ...
type GetCoreHRPersonRespPersonDependentNameTitle struct {
	EnumName string                                                `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentNameTitleDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentNameTitleDisplay ...
type GetCoreHRPersonRespPersonDependentNameTitleDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentNationalID ...
type GetCoreHRPersonRespPersonDependentNationalID struct {
	NationalIDTypeID string                                                     `json:"national_id_type_id,omitempty"` // 国家证件类型
	NationalIDNumber string                                                     `json:"national_id_number,omitempty"`  // 证件号码
	IssueDate        string                                                     `json:"issue_date,omitempty"`          // 证件签发日期
	ExpirationDate   string                                                     `json:"expiration_date,omitempty"`     // 证件到期日期
	CountryRegionID  string                                                     `json:"country_region_id,omitempty"`   // 国家 / 地区
	IssuedBy         string                                                     `json:"issued_by,omitempty"`           // 证件签发机构
	CustomFields     []*GetCoreHRPersonRespPersonDependentNationalIDCustomField `json:"custom_fields,omitempty"`       // 自定义字段
}

// GetCoreHRPersonRespPersonDependentNationalIDCustomField ...
type GetCoreHRPersonRespPersonDependentNationalIDCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonDependentPhone ...
type GetCoreHRPersonRespPersonDependentPhone struct {
	InternationalAreaCode *GetCoreHRPersonRespPersonDependentPhoneInternationalAreaCode `json:"international_area_code,omitempty"` // 国家区号, 枚举值 api_name 可通过[获取字段详情](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询, 查询参数如下: object_api_name = "phone", custom_api_name = "international_area_code"
	PhoneNumber           string                                                        `json:"phone_number,omitempty"`            // 电话号码
	FormattedPhoneNumber  string                                                        `json:"formatted_phone_number,omitempty"`  // 完整电话号码
	DeviceType            *GetCoreHRPersonRespPersonDependentPhoneDeviceType            `json:"device_type,omitempty"`             // 设备类型, 可选值如下: mobile_phone: 手机, landline: 座机, fax: 传真类型
	PhoneUsage            *GetCoreHRPersonRespPersonDependentPhonePhoneUsage            `json:"phone_usage,omitempty"`             // 电话用途, 可选值如下: home: 家庭, work: 工作, emergency_contact: 紧急联系人, company: 公司
	IsPrimary             bool                                                          `json:"is_primary,omitempty"`              // 主要电话
	IsPublic              bool                                                          `json:"is_public,omitempty"`               // 公开电话
	CustomFields          []*GetCoreHRPersonRespPersonDependentPhoneCustomField         `json:"custom_fields,omitempty"`           // 自定义字段
}

// GetCoreHRPersonRespPersonDependentPhoneCustomField ...
type GetCoreHRPersonRespPersonDependentPhoneCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonDependentPhoneDeviceType ...
type GetCoreHRPersonRespPersonDependentPhoneDeviceType struct {
	EnumName string                                                      `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentPhoneDeviceTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentPhoneDeviceTypeDisplay ...
type GetCoreHRPersonRespPersonDependentPhoneDeviceTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentPhoneInternationalAreaCode ...
type GetCoreHRPersonRespPersonDependentPhoneInternationalAreaCode struct {
	EnumName string                                                                 `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentPhoneInternationalAreaCodeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentPhoneInternationalAreaCodeDisplay ...
type GetCoreHRPersonRespPersonDependentPhoneInternationalAreaCodeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentPhonePhoneUsage ...
type GetCoreHRPersonRespPersonDependentPhonePhoneUsage struct {
	EnumName string                                                      `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentPhonePhoneUsageDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentPhonePhoneUsageDisplay ...
type GetCoreHRPersonRespPersonDependentPhonePhoneUsageDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentRelationship ...
type GetCoreHRPersonRespPersonDependentRelationship struct {
	EnumName string                                                   `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentRelationshipDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentRelationshipDisplay ...
type GetCoreHRPersonRespPersonDependentRelationshipDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonDependentSpousesWorkingStatus ...
type GetCoreHRPersonRespPersonDependentSpousesWorkingStatus struct {
	EnumName string                                                           `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonDependentSpousesWorkingStatusDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonDependentSpousesWorkingStatusDisplay ...
type GetCoreHRPersonRespPersonDependentSpousesWorkingStatusDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEducation ...
type GetCoreHRPersonRespPersonEducation struct {
	School           []*GetCoreHRPersonRespPersonEducationSchool         `json:"school,omitempty"`              // 学校
	LevelOfEducation *GetCoreHRPersonRespPersonEducationLevelOfEducation `json:"level_of_education,omitempty"`  // 学历
	StartDate        string                                              `json:"start_date,omitempty"`          // 开始日期
	EndDate          string                                              `json:"end_date,omitempty"`            // 结束日期
	FieldOfStudy     []*GetCoreHRPersonRespPersonEducationFieldOfStudy   `json:"field_of_study,omitempty"`      // 专业
	Degree           *GetCoreHRPersonRespPersonEducationDegree           `json:"degree,omitempty"`              // 学位
	SchoolName       *GetCoreHRPersonRespPersonEducationSchoolName       `json:"school_name,omitempty"`         // 学校名称
	FieldOfStudyName *GetCoreHRPersonRespPersonEducationFieldOfStudyName `json:"field_of_study_name,omitempty"` // 专业名称
	CountryRegionID  string                                              `json:"country_region_id,omitempty"`   // 国家地区ID
	ExpectedEndDate  string                                              `json:"expected_end_date,omitempty"`   // 预期结束日期
	CustomFields     []*GetCoreHRPersonRespPersonEducationCustomField    `json:"custom_fields,omitempty"`       // 自定义字段
}

// GetCoreHRPersonRespPersonEducationCustomField ...
type GetCoreHRPersonRespPersonEducationCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonEducationDegree ...
type GetCoreHRPersonRespPersonEducationDegree struct {
	EnumName string                                             `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEducationDegreeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEducationDegreeDisplay ...
type GetCoreHRPersonRespPersonEducationDegreeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEducationFieldOfStudy ...
type GetCoreHRPersonRespPersonEducationFieldOfStudy struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEducationFieldOfStudyName ...
type GetCoreHRPersonRespPersonEducationFieldOfStudyName struct {
	EnumName string                                                       `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEducationFieldOfStudyNameDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEducationFieldOfStudyNameDisplay ...
type GetCoreHRPersonRespPersonEducationFieldOfStudyNameDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEducationLevelOfEducation ...
type GetCoreHRPersonRespPersonEducationLevelOfEducation struct {
	EnumName string                                                       `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEducationLevelOfEducationDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEducationLevelOfEducationDisplay ...
type GetCoreHRPersonRespPersonEducationLevelOfEducationDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEducationSchool ...
type GetCoreHRPersonRespPersonEducationSchool struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEducationSchoolName ...
type GetCoreHRPersonRespPersonEducationSchoolName struct {
	EnumName string                                                 `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEducationSchoolNameDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEducationSchoolNameDisplay ...
type GetCoreHRPersonRespPersonEducationSchoolNameDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEmail ...
type GetCoreHRPersonRespPersonEmail struct {
	Email        string                                       `json:"email,omitempty"`         // 邮箱号
	IsPrimary    bool                                         `json:"is_primary,omitempty"`    // 主要邮箱
	IsPublic     bool                                         `json:"is_public,omitempty"`     // 公开邮箱
	EmailUsage   *GetCoreHRPersonRespPersonEmailEmailUsage    `json:"email_usage,omitempty"`   // 邮箱用途, 枚举值 api_name 可通过[获取字段详情](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询, 查询参数如下: object_api_name = "email", custom_api_name = "email_usage"
	CustomFields []*GetCoreHRPersonRespPersonEmailCustomField `json:"custom_fields,omitempty"` // 自定义字段
}

// GetCoreHRPersonRespPersonEmailCustomField ...
type GetCoreHRPersonRespPersonEmailCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonEmailEmailUsage ...
type GetCoreHRPersonRespPersonEmailEmailUsage struct {
	EnumName string                                             `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEmailEmailUsageDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEmailEmailUsageDisplay ...
type GetCoreHRPersonRespPersonEmailEmailUsageDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEmergencyContact ...
type GetCoreHRPersonRespPersonEmergencyContact struct {
	Name         *GetCoreHRPersonRespPersonEmergencyContactName          `json:"name,omitempty"`          // 姓名
	Relationship *GetCoreHRPersonRespPersonEmergencyContactRelationship  `json:"relationship,omitempty"`  // 关系
	PhoneIst     []*GetCoreHRPersonRespPersonEmergencyContactPhoneIst    `json:"phone_ist,omitempty"`     // 电话
	CustomFields []*GetCoreHRPersonRespPersonEmergencyContactCustomField `json:"custom_fields,omitempty"` // 自定义字段
	LegalName    string                                                  `json:"legal_name,omitempty"`    // 法定姓名
}

// GetCoreHRPersonRespPersonEmergencyContactCustomField ...
type GetCoreHRPersonRespPersonEmergencyContactCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonEmergencyContactName ...
type GetCoreHRPersonRespPersonEmergencyContactName struct {
	LocalPrimary                     string                                                           `json:"local_primary,omitempty"`                         // 姓 - 本地文字
	LocalFirstName                   string                                                           `json:"local_first_name,omitempty"`                      // 名 - 本地文字
	CountryRegionID                  string                                                           `json:"country_region_id,omitempty"`                     // 国家 / 地区
	NameType                         *GetCoreHRPersonRespPersonEmergencyContactNameNameType           `json:"name_type,omitempty"`                             // 姓名类型
	LocalFirstName2                  string                                                           `json:"local_first_name_2,omitempty"`                    // 名 - 第二本地文字
	LocalPrimary2                    string                                                           `json:"local_primary_2,omitempty"`                       // 姓 - 第二本地文字
	AdditionalNameType               *GetCoreHRPersonRespPersonEmergencyContactNameAdditionalNameType `json:"additional_name_type,omitempty"`                  // 补充姓名类型
	FirstName                        string                                                           `json:"first_name,omitempty"`                            // 名
	FullName                         string                                                           `json:"full_name,omitempty"`                             // 全名
	Hereditary                       string                                                           `json:"hereditary,omitempty"`                            // 姓氏称谓
	CustomName                       string                                                           `json:"custom_name,omitempty"`                           // 自定义姓名（未传入时, 姓名将默认根据所属国家 / 地区规则对相关姓、名字段拼接）
	CustomLocalName                  string                                                           `json:"custom_local_name,omitempty"`                     // 本地文字的自定义姓名（未传入时, 本地文字的姓名将默认根据所属国家 / 地区规则对本地文字的相关姓、名字段拼接）
	MiddleName                       string                                                           `json:"middle_name,omitempty"`                           // 中间名
	NamePrimary                      string                                                           `json:"name_primary,omitempty"`                          // 姓
	Secondary                        string                                                           `json:"secondary,omitempty"`                             // 第二姓氏
	Social                           *GetCoreHRPersonRespPersonEmergencyContactNameSocial             `json:"social,omitempty"`                                // 尊称
	Tertiary                         string                                                           `json:"tertiary,omitempty"`                              // 婚后姓氏
	Title                            *GetCoreHRPersonRespPersonEmergencyContactNameTitle              `json:"title,omitempty"`                                 // 头衔
	LocalMiddleName                  string                                                           `json:"local_middle_name,omitempty"`                     // 本地中间名
	LocalSecondary                   string                                                           `json:"local_secondary,omitempty"`                       // 第二姓氏 - 本地文字
	DisplayNameLocalAndWesternScript string                                                           `json:"display_name_local_and_western_script,omitempty"` // 展示姓名（本地和西方文字）
	DisplayNameLocalScript           string                                                           `json:"display_name_local_script,omitempty"`             // 展示姓名（本地文字）
	DisplayNameWesternScript         string                                                           `json:"display_name_western_script,omitempty"`           // 展示姓名（西方文字）
	CustomFields                     []*GetCoreHRPersonRespPersonEmergencyContactNameCustomField      `json:"custom_fields,omitempty"`                         // 自定义字段
}

// GetCoreHRPersonRespPersonEmergencyContactNameAdditionalNameType ...
type GetCoreHRPersonRespPersonEmergencyContactNameAdditionalNameType struct {
	EnumName string                                                                    `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEmergencyContactNameAdditionalNameTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEmergencyContactNameAdditionalNameTypeDisplay ...
type GetCoreHRPersonRespPersonEmergencyContactNameAdditionalNameTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEmergencyContactNameCustomField ...
type GetCoreHRPersonRespPersonEmergencyContactNameCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonEmergencyContactNameNameType ...
type GetCoreHRPersonRespPersonEmergencyContactNameNameType struct {
	EnumName string                                                          `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEmergencyContactNameNameTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEmergencyContactNameNameTypeDisplay ...
type GetCoreHRPersonRespPersonEmergencyContactNameNameTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEmergencyContactNameSocial ...
type GetCoreHRPersonRespPersonEmergencyContactNameSocial struct {
	EnumName string                                                        `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEmergencyContactNameSocialDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEmergencyContactNameSocialDisplay ...
type GetCoreHRPersonRespPersonEmergencyContactNameSocialDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEmergencyContactNameTitle ...
type GetCoreHRPersonRespPersonEmergencyContactNameTitle struct {
	EnumName string                                                       `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEmergencyContactNameTitleDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEmergencyContactNameTitleDisplay ...
type GetCoreHRPersonRespPersonEmergencyContactNameTitleDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEmergencyContactPhoneIst ...
type GetCoreHRPersonRespPersonEmergencyContactPhoneIst struct {
	InternationalAreaCode *GetCoreHRPersonRespPersonEmergencyContactPhoneIstInternationalAreaCode `json:"international_area_code,omitempty"` // 国家区号, 枚举值 api_name 可通过[获取字段详情](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询, 查询参数如下: object_api_name = "phone", custom_api_name = "international_area_code"
	PhoneNumber           string                                                                  `json:"phone_number,omitempty"`            // 电话号码
	FormattedPhoneNumber  string                                                                  `json:"formatted_phone_number,omitempty"`  // 完整电话号码
	DeviceType            *GetCoreHRPersonRespPersonEmergencyContactPhoneIstDeviceType            `json:"device_type,omitempty"`             // 设备类型, 可选值如下: mobile_phone: 手机, landline: 座机, fax: 传真
	PhoneUsage            *GetCoreHRPersonRespPersonEmergencyContactPhoneIstPhoneUsage            `json:"phone_usage,omitempty"`             // 电话用途, 可选值如下: home: 家庭, work: 工作, emergency_contact: 紧急联系人, company: 公司
	IsPrimary             bool                                                                    `json:"is_primary,omitempty"`              // 主要电话
	IsPublic              bool                                                                    `json:"is_public,omitempty"`               // 公开电话
	CustomFields          []*GetCoreHRPersonRespPersonEmergencyContactPhoneIstCustomField         `json:"custom_fields,omitempty"`           // 自定义字段
}

// GetCoreHRPersonRespPersonEmergencyContactPhoneIstCustomField ...
type GetCoreHRPersonRespPersonEmergencyContactPhoneIstCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonEmergencyContactPhoneIstDeviceType ...
type GetCoreHRPersonRespPersonEmergencyContactPhoneIstDeviceType struct {
	EnumName string                                                                `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEmergencyContactPhoneIstDeviceTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEmergencyContactPhoneIstDeviceTypeDisplay ...
type GetCoreHRPersonRespPersonEmergencyContactPhoneIstDeviceTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEmergencyContactPhoneIstInternationalAreaCode ...
type GetCoreHRPersonRespPersonEmergencyContactPhoneIstInternationalAreaCode struct {
	EnumName string                                                                           `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEmergencyContactPhoneIstInternationalAreaCodeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEmergencyContactPhoneIstInternationalAreaCodeDisplay ...
type GetCoreHRPersonRespPersonEmergencyContactPhoneIstInternationalAreaCodeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEmergencyContactPhoneIstPhoneUsage ...
type GetCoreHRPersonRespPersonEmergencyContactPhoneIstPhoneUsage struct {
	EnumName string                                                                `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEmergencyContactPhoneIstPhoneUsageDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEmergencyContactPhoneIstPhoneUsageDisplay ...
type GetCoreHRPersonRespPersonEmergencyContactPhoneIstPhoneUsageDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonEmergencyContactRelationship ...
type GetCoreHRPersonRespPersonEmergencyContactRelationship struct {
	EnumName string                                                          `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonEmergencyContactRelationshipDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonEmergencyContactRelationshipDisplay ...
type GetCoreHRPersonRespPersonEmergencyContactRelationshipDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonGender ...
type GetCoreHRPersonRespPersonGender struct {
	EnumName string                                    `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonGenderDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonGenderDisplay ...
type GetCoreHRPersonRespPersonGenderDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducation ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducation struct {
	School           []*GetCoreHRPersonRespPersonHighestDegreeOfEducationSchool         `json:"school,omitempty"`              // 学校
	LevelOfEducation *GetCoreHRPersonRespPersonHighestDegreeOfEducationLevelOfEducation `json:"level_of_education,omitempty"`  // 学历
	StartDate        string                                                             `json:"start_date,omitempty"`          // 开始日期
	EndDate          string                                                             `json:"end_date,omitempty"`            // 结束日期
	FieldOfStudy     []*GetCoreHRPersonRespPersonHighestDegreeOfEducationFieldOfStudy   `json:"field_of_study,omitempty"`      // 专业
	Degree           *GetCoreHRPersonRespPersonHighestDegreeOfEducationDegree           `json:"degree,omitempty"`              // 学位
	SchoolName       *GetCoreHRPersonRespPersonHighestDegreeOfEducationSchoolName       `json:"school_name,omitempty"`         // 学校名称
	FieldOfStudyName *GetCoreHRPersonRespPersonHighestDegreeOfEducationFieldOfStudyName `json:"field_of_study_name,omitempty"` // 专业名称
	CountryRegionID  string                                                             `json:"country_region_id,omitempty"`   // 国家地区ID
	ExpectedEndDate  string                                                             `json:"expected_end_date,omitempty"`   // 预期结束日期
	CustomFields     []*GetCoreHRPersonRespPersonHighestDegreeOfEducationCustomField    `json:"custom_fields,omitempty"`       // 自定义字段
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationCustomField ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationDegree ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationDegree struct {
	EnumName string                                                            `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonHighestDegreeOfEducationDegreeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationDegreeDisplay ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationDegreeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationFieldOfStudy ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationFieldOfStudy struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationFieldOfStudyName ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationFieldOfStudyName struct {
	EnumName string                                                                      `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonHighestDegreeOfEducationFieldOfStudyNameDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationFieldOfStudyNameDisplay ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationFieldOfStudyNameDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationLevelOfEducation ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationLevelOfEducation struct {
	EnumName string                                                                      `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonHighestDegreeOfEducationLevelOfEducationDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationLevelOfEducationDisplay ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationLevelOfEducationDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationSchool ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationSchool struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationSchoolName ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationSchoolName struct {
	EnumName string                                                                `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonHighestDegreeOfEducationSchoolNameDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonHighestDegreeOfEducationSchoolNameDisplay ...
type GetCoreHRPersonRespPersonHighestDegreeOfEducationSchoolNameDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestLevelOfEducation ...
type GetCoreHRPersonRespPersonHighestLevelOfEducation struct {
	School           []*GetCoreHRPersonRespPersonHighestLevelOfEducationSchool         `json:"school,omitempty"`              // 学校
	LevelOfEducation *GetCoreHRPersonRespPersonHighestLevelOfEducationLevelOfEducation `json:"level_of_education,omitempty"`  // 学历
	StartDate        string                                                            `json:"start_date,omitempty"`          // 开始日期
	EndDate          string                                                            `json:"end_date,omitempty"`            // 结束日期
	FieldOfStudy     []*GetCoreHRPersonRespPersonHighestLevelOfEducationFieldOfStudy   `json:"field_of_study,omitempty"`      // 专业
	Degree           *GetCoreHRPersonRespPersonHighestLevelOfEducationDegree           `json:"degree,omitempty"`              // 学位
	SchoolName       *GetCoreHRPersonRespPersonHighestLevelOfEducationSchoolName       `json:"school_name,omitempty"`         // 学校名称
	FieldOfStudyName *GetCoreHRPersonRespPersonHighestLevelOfEducationFieldOfStudyName `json:"field_of_study_name,omitempty"` // 专业名称
	CountryRegionID  string                                                            `json:"country_region_id,omitempty"`   // 国家地区ID
	ExpectedEndDate  string                                                            `json:"expected_end_date,omitempty"`   // 预期结束日期
	CustomFields     []*GetCoreHRPersonRespPersonHighestLevelOfEducationCustomField    `json:"custom_fields,omitempty"`       // 自定义字段
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationCustomField ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationDegree ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationDegree struct {
	EnumName string                                                           `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonHighestLevelOfEducationDegreeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationDegreeDisplay ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationDegreeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationFieldOfStudy ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationFieldOfStudy struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationFieldOfStudyName ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationFieldOfStudyName struct {
	EnumName string                                                                     `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonHighestLevelOfEducationFieldOfStudyNameDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationFieldOfStudyNameDisplay ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationFieldOfStudyNameDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationLevelOfEducation ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationLevelOfEducation struct {
	EnumName string                                                                     `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonHighestLevelOfEducationLevelOfEducationDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationLevelOfEducationDisplay ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationLevelOfEducationDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationSchool ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationSchool struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationSchoolName ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationSchoolName struct {
	EnumName string                                                               `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonHighestLevelOfEducationSchoolNameDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonHighestLevelOfEducationSchoolNameDisplay ...
type GetCoreHRPersonRespPersonHighestLevelOfEducationSchoolNameDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonMaritalStatus ...
type GetCoreHRPersonRespPersonMaritalStatus struct {
	EnumName string                                           `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonMaritalStatusDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonMaritalStatusDisplay ...
type GetCoreHRPersonRespPersonMaritalStatusDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonName ...
type GetCoreHRPersonRespPersonName struct {
	LocalPrimary                     string                                           `json:"local_primary,omitempty"`                         // 姓 - 本地文字
	LocalFirstName                   string                                           `json:"local_first_name,omitempty"`                      // 名 - 本地文字
	CountryRegionID                  string                                           `json:"country_region_id,omitempty"`                     // 国家 / 地区 ID
	NameType                         *GetCoreHRPersonRespPersonNameNameType           `json:"name_type,omitempty"`                             // 姓名类型
	LocalFirstName2                  string                                           `json:"local_first_name_2,omitempty"`                    // 名 - 第二本地文字
	LocalPrimary2                    string                                           `json:"local_primary_2,omitempty"`                       // 姓 - 第二本地文字
	AdditionalNameType               *GetCoreHRPersonRespPersonNameAdditionalNameType `json:"additional_name_type,omitempty"`                  // 补充姓名类型
	FirstName                        string                                           `json:"first_name,omitempty"`                            // 名
	FullName                         string                                           `json:"full_name,omitempty"`                             // 全名
	Hereditary                       string                                           `json:"hereditary,omitempty"`                            // 姓氏称谓
	MiddleName                       string                                           `json:"middle_name,omitempty"`                           // 中间名
	NamePrimary                      string                                           `json:"name_primary,omitempty"`                          // 姓
	Secondary                        string                                           `json:"secondary,omitempty"`                             // 第二姓氏
	Social                           *GetCoreHRPersonRespPersonNameSocial             `json:"social,omitempty"`                                // 尊称
	Tertiary                         string                                           `json:"tertiary,omitempty"`                              // 婚后姓氏
	Title                            *GetCoreHRPersonRespPersonNameTitle              `json:"title,omitempty"`                                 // 头衔
	LocalMiddleName                  string                                           `json:"local_middle_name,omitempty"`                     // 本地中间名
	LocalSecondary                   string                                           `json:"local_secondary,omitempty"`                       // 第二姓氏 - 本地文字
	DisplayNameLocalAndWesternScript string                                           `json:"display_name_local_and_western_script,omitempty"` // 展示姓名（本地和西方文字）
	DisplayNameLocalScript           string                                           `json:"display_name_local_script,omitempty"`             // 展示姓名（本地文字）
	DisplayNameWesternScript         string                                           `json:"display_name_western_script,omitempty"`           // 展示姓名（西方文字）
	CustomFields                     []*GetCoreHRPersonRespPersonNameCustomField      `json:"custom_fields,omitempty"`                         // 自定义字段
}

// GetCoreHRPersonRespPersonNameAdditionalNameType ...
type GetCoreHRPersonRespPersonNameAdditionalNameType struct {
	EnumName string                                                    `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonNameAdditionalNameTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonNameAdditionalNameTypeDisplay ...
type GetCoreHRPersonRespPersonNameAdditionalNameTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonNameCustomField ...
type GetCoreHRPersonRespPersonNameCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonNameNameType ...
type GetCoreHRPersonRespPersonNameNameType struct {
	EnumName string                                          `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonNameNameTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonNameNameTypeDisplay ...
type GetCoreHRPersonRespPersonNameNameTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonNameSocial ...
type GetCoreHRPersonRespPersonNameSocial struct {
	EnumName string                                        `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonNameSocialDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonNameSocialDisplay ...
type GetCoreHRPersonRespPersonNameSocialDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonNameTitle ...
type GetCoreHRPersonRespPersonNameTitle struct {
	EnumName string                                       `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonNameTitleDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonNameTitleDisplay ...
type GetCoreHRPersonRespPersonNameTitleDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonNationalID ...
type GetCoreHRPersonRespPersonNationalID struct {
	NationalIDTypeID string                                            `json:"national_id_type_id,omitempty"` // 国家证件类型
	NationalIDNumber string                                            `json:"national_id_number,omitempty"`  // 证件号码
	IssueDate        string                                            `json:"issue_date,omitempty"`          // 证件签发日期
	ExpirationDate   string                                            `json:"expiration_date,omitempty"`     // 证件到期日期
	CountryRegionID  string                                            `json:"country_region_id,omitempty"`   // 国家 / 地区
	IssuedBy         string                                            `json:"issued_by,omitempty"`           // 证件签发机构
	CustomFields     []*GetCoreHRPersonRespPersonNationalIDCustomField `json:"custom_fields,omitempty"`       // 自定义字段
}

// GetCoreHRPersonRespPersonNationalIDCustomField ...
type GetCoreHRPersonRespPersonNationalIDCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonPersonalProfile ...
type GetCoreHRPersonRespPersonPersonalProfile struct {
	PersonalProfileID   string                                                       `json:"personal_profile_id,omitempty"`   // 个人资料 ID
	PersonalProfileType *GetCoreHRPersonRespPersonPersonalProfilePersonalProfileType `json:"personal_profile_type,omitempty"` // 资料类型
	Files               []*GetCoreHRPersonRespPersonPersonalProfileFile              `json:"files,omitempty"`                 // 上传文件列表
}

// GetCoreHRPersonRespPersonPersonalProfileFile ...
type GetCoreHRPersonRespPersonPersonalProfileFile struct {
	ID string `json:"id,omitempty"` // 上传文件ID
}

// GetCoreHRPersonRespPersonPersonalProfilePersonalProfileType ...
type GetCoreHRPersonRespPersonPersonalProfilePersonalProfileType struct {
	EnumName string                                                                `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonPersonalProfilePersonalProfileTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonPersonalProfilePersonalProfileTypeDisplay ...
type GetCoreHRPersonRespPersonPersonalProfilePersonalProfileTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonPhone ...
type GetCoreHRPersonRespPersonPhone struct {
	InternationalAreaCode *GetCoreHRPersonRespPersonPhoneInternationalAreaCode `json:"international_area_code,omitempty"` // 国家区号, 枚举值 api_name 可通过[获取字段详情](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询, 查询参数如下: object_api_name = "phone", custom_api_name = "international_area_code"
	PhoneNumber           string                                               `json:"phone_number,omitempty"`            // 电话号码
	FormattedPhoneNumber  string                                               `json:"formatted_phone_number,omitempty"`  // 完整电话号码
	DeviceType            *GetCoreHRPersonRespPersonPhoneDeviceType            `json:"device_type,omitempty"`             // 设备类型, 可选值如下: mobile_phone: 手机, landline: 座机, fax: 传真
	PhoneUsage            *GetCoreHRPersonRespPersonPhonePhoneUsage            `json:"phone_usage,omitempty"`             // 电话用途, 可选值如下: home: 家庭, work: 工作, emergency_contact: 紧急联系人, company: 公司
	IsPrimary             bool                                                 `json:"is_primary,omitempty"`              // 主要电话
	IsPublic              bool                                                 `json:"is_public,omitempty"`               // 公开电话
	CustomFields          []*GetCoreHRPersonRespPersonPhoneCustomField         `json:"custom_fields,omitempty"`           // 自定义字段
}

// GetCoreHRPersonRespPersonPhoneCustomField ...
type GetCoreHRPersonRespPersonPhoneCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonPhoneDeviceType ...
type GetCoreHRPersonRespPersonPhoneDeviceType struct {
	EnumName string                                             `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonPhoneDeviceTypeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonPhoneDeviceTypeDisplay ...
type GetCoreHRPersonRespPersonPhoneDeviceTypeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonPhoneInternationalAreaCode ...
type GetCoreHRPersonRespPersonPhoneInternationalAreaCode struct {
	EnumName string                                                        `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonPhoneInternationalAreaCodeDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonPhoneInternationalAreaCodeDisplay ...
type GetCoreHRPersonRespPersonPhoneInternationalAreaCodeDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonPhonePhoneUsage ...
type GetCoreHRPersonRespPersonPhonePhoneUsage struct {
	EnumName string                                             `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonPhonePhoneUsageDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonPhonePhoneUsageDisplay ...
type GetCoreHRPersonRespPersonPhonePhoneUsageDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonRace ...
type GetCoreHRPersonRespPersonRace struct {
	EnumName string                                  `json:"enum_name,omitempty"` // 枚举值
	Display  []*GetCoreHRPersonRespPersonRaceDisplay `json:"display,omitempty"`   // 枚举多语展示
}

// GetCoreHRPersonRespPersonRaceDisplay ...
type GetCoreHRPersonRespPersonRaceDisplay struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonWorkExperience ...
type GetCoreHRPersonRespPersonWorkExperience struct {
	CompanyOrganization []*GetCoreHRPersonRespPersonWorkExperienceCompanyOrganization `json:"company_organization,omitempty"` // 公司 / 组织
	Department          []*GetCoreHRPersonRespPersonWorkExperienceDepartment          `json:"department,omitempty"`           // 部门
	Job                 []*GetCoreHRPersonRespPersonWorkExperienceJob                 `json:"job,omitempty"`                  // 岗位
	Description         []*GetCoreHRPersonRespPersonWorkExperienceDescription         `json:"description,omitempty"`          // 工作描述
	StartDate           string                                                        `json:"start_date,omitempty"`           // 开始日期
	EndDate             string                                                        `json:"end_date,omitempty"`             // 结束日期
	CustomFields        []*GetCoreHRPersonRespPersonWorkExperienceCustomField         `json:"custom_fields,omitempty"`        // 自定义字段
}

// GetCoreHRPersonRespPersonWorkExperienceCompanyOrganization ...
type GetCoreHRPersonRespPersonWorkExperienceCompanyOrganization struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonWorkExperienceCustomField ...
type GetCoreHRPersonRespPersonWorkExperienceCustomField struct {
	FieldName string `json:"field_name,omitempty"` // 字段名
	Value     string `json:"value,omitempty"`      // 字段值, 是json转义后的字符串, 根据元数据定义不同, 字段格式不同(123, 123.23, true, [\"id1\", \"id2\], 2006-01-02 15:04:05])
}

// GetCoreHRPersonRespPersonWorkExperienceDepartment ...
type GetCoreHRPersonRespPersonWorkExperienceDepartment struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonWorkExperienceDescription ...
type GetCoreHRPersonRespPersonWorkExperienceDescription struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// GetCoreHRPersonRespPersonWorkExperienceJob ...
type GetCoreHRPersonRespPersonWorkExperienceJob struct {
	Lang  string `json:"lang,omitempty"`  // 语言
	Value string `json:"value,omitempty"` // 内容
}

// getCoreHRPersonResp ...
type getCoreHRPersonResp struct {
	Code  int64                `json:"code,omitempty"` // 错误码, 非 0 表示失败
	Msg   string               `json:"msg,omitempty"`  // 错误描述
	Data  *GetCoreHRPersonResp `json:"data,omitempty"`
	Error *ErrorDetail         `json:"error,omitempty"`
}
