文档库 最新最全的文档下载
当前位置:文档库 › Structural Information Mapping with Express-X

Structural Information Mapping with Express-X

Structural Information Mapping with Express-X
Structural Information Mapping with Express-X

Structural Information Mapping with

Express-X

Peter O. Denno

Manufacturing Engineering Laboratory

National Institute of Standards and Technology

Donald B. Sanderson

National Institute of Standards and Technology

East Tennessee State University

ABSTRACT

This paper provides an overview of the Express-X language, a language that provides structural information mapping of information modeled in EXPRESS schema. The paper presents the design rationale for Express-X. The paper also serves as a tutorial in informa-tion mapping of EXPRESS-based information models and its relation to SQL mapping capabilities.

1.0 Introduction

An information model is an abstraction of a perceived reality. Not surprisingly, any two efforts to codify this perceived reality will differ, depending on the context in which the information is perceived. In terms of database schema, these differences manifest them-selves as differences in scope of application, selection of concepts, meaning of values, and domain of values [Wiederhold]. Some of these differences are merely structural, others are semantic.

Express-X [Express-X] is a structural information mapping language. Structural differ-ence in information can be distinguished from semantic differences: two assertions differ in semantics if acting on the information may result in two different behaviors. If the information only differs with respect to structure (encoding) then the two structures must produce identical behavior. The principle purpose of a structural mapping engine is to rec-oncile the structural differences between information in different schemas. Typically this reconciliation takes the form of mapping (re-writing) structures from a :source" form into a "target" form.

Express-X provides two basic forms of mapping: mapping information between structures in two Express schema, and viewing information. An Express-X mapping engine is a pro-gram implementing the Express-X language. An Express-X engine may take many forms. For example, a push implementation maps all of the information from a source data set to a target data set. Another implementation may allow selective pull of information, that is,

one selects the target entity to be created and the engine identifies the source data instanti-ating that target entity or entity type extent.

In Express-X, viewing differs from mapping in that viewing does not involve a target schema nor target data set. In viewing, the view declaration itself defines the structure of the information that is the ‘target’ of the computation.

Viewing is ephemeral; once the source information underlying the view is changed, the view is potentially invalid and should be recomputed. Mapping may be ephemeral or per-manent, depending on the implementation of the mapping engine. Mapping is often used to translate data from one structural form to another; once such mapping is performed, whatever relationships existed between the source and target data sets are lost and the two data sets then evolve independently.

Express-X accommodates a form of persistent relationship between source data and views or target data. An Express-X engine may implement views or target entities that are

‘updatable,’ that is, view instances or target entities which, when modified propagate the modification of values back to the source data from which they were computed. Typically updatable views are implemented as accessors on source data; the view itself is not a copy of source data values but a readable / writable perspective on the source values them-selves.

2.0 Why Express-X ?

Express-X is based on EXPRESS (ISO 10303-11) [Express]. EXPRESS allows one to specify a domain of data in the form of constraints (membership predicates). Here “domain of data” refers to EXPRESS’s ability to specify whether a data value, a named entity type instance (similar to a C language struct) or an entire data set satisfies criteria that correspond to the semantic intent of the schema. These criteria are constraints written as value range limits, enumerations of possible values, constraints on permissible combi-nations of named entity types, and existence constraints (e.g., “All

‘person_in_department’ entities must refer to a ‘person’ entity through a given path of relationship). EXPRESS therefore is an abstract data type language for communicating complex constraint and relationship information on data. Such capability is necessary to encode the complex relationships and constraints that are typically found in product data. (EXPRESS is used in the STEP [STEP] standards for product data of ISO TC184/SC4). One answer to the question “Why Express-X?” then is that the mapping language must be powerful enough to cope with EXPRESS-based data. Express-X, being based on EXPRESS, is such a language.

Express-X is as powerful as EXPRESS but that fact does not in itself justify the invention of a new language; general programming languages might well provide the same capabil-ity. Why then not use a programming language rather than a new mapping language? There are a few reasons. First, Express-X is, as much as possible, declarative. Rather than reading as procedural code, Express-X code looks like an assertion of the relationship between information elements. Express-X is generally more readable than procedural

code and far less apt to be influenced by one’s idiosyncratic software design choices. Sec-ondly Express-X has a published execution model [Express-X]. The execution model ensures that the mapping behavior can be well understood. Further, the execution model is a relatively efficient one and affords opportunities for optimization. The means by which mapped information is identified, for example, encourages implementations which reuse computational results rather than re-compute. That is, a mapping declaration may call other mapping declarations for results computed previously. Finally, Express-X provides a language for documenting the relationships between standardized information models. Examples of this are: (1) documenting the relationship between a standardized Express information model and its revisions; and, (2) documenting the relationship between Appli-cation Reference Models (ARMs) and Application Interpreted Models (AIMs) in STEP interpreted data. [Valois]

3.0 Fundamental Concepts

This section introduces the basic concepts of Express-X, the execution model and the identification of mapped structures. The VIEW construct is discussed first. Much of what is possible in VIEWs is also possible in MAPs, as will be discussed later.

An example view declaration:

VIEW_SCHEMA example;

REFERENCE FROM source_schema;

VIEW person_in_organization;

FROM (p : source_schema.person;

r : source_schema.person_in_department);

WHERE (https://www.wendangku.net/doc/d712989553.html, = r.person);

SELECT

name : STRING := https://www.wendangku.net/doc/d712989553.html,;

employee_number : STRING := p.employee_number;

department : STRING := r.department_name;

END_VIEW;

END_VIEW_SCHEMA;

The view declaration above describes a mapping of information from data in a source schema (called source_schema) to the view structure. The source schema, an EXPRESS schema, might look like the following:

SCHEMA source_schema;

ENTITY person;

name : STRING;

employee_number : STRING;

END_ENTITY;

ENTITY person_in_department;

department_name : STRING;

department_number : INTEGER;

person : STRING;

END_ENTITY;

END_SCHEMA;

The purpose of the view is to associate with each person the department in which he or she works. An SQL [SQL] view performing a similar task is provided below. The definition of the relational tables used in the SQL example below and the instance data of the EXPRESS example are provided in Appendix A.

CREATE VIEW source_schema.person_in_organization AS

SELECT ( https://www.wendangku.net/doc/d712989553.html, AS name,

p.employee_number AS employee_number,

r.department_name AS department

FROM source_schema.person AS p,

source_schema.person_in_department AS r,

WHERE https://www.wendangku.net/doc/d712989553.html, = r.person);

3.1 Identification and Enumeration of Instances

Most essential to understanding the view (or map) declaration is understanding how it identifies and enumerates instances of its type when the view is applied to a source data set. The view provides this information in its FROM clause (and IDENTIFIED_BY clause if one is provided). TheExpress-X FROM clause above is:

FROM (p : source_schema.person;

r : source_schema.person_in_department);

The FROM clause defines a binding type and, when applied to data set, a binding extent. The binding type is notional; it cannot be directly accessed through the language. It can be thought of as the type of tuples of the cartesian product of the sets (extents or instances of types) listed in the FROM clause. In this example, the tuples are <(instance of person), (instance of person_in_department)>. The binding extent is the collection of such tuples in the cartesian product of the entity extents (sets) of types person and

person_in_department of some data set. Instances in the binding extent are called binding instances. An example entity population and binding extent for this example can be found in Appendix A.

The FROM clause defines the set of binding instances over which the body of the view or map is iterated. Because the binding extent is built as a cartesian product, for practical rea-sons, it is best to keep the order of the tuples (the number of types in the FROM clause) to a minimum (ideally just one or two).

In a view, a binding instance may identify an instance of the view. In a map it may identify a collection of target entities. The body of the view is evaluated in the context of the bind-ing instance, that is, the variables in the FROM clause (‘p’ and ‘r’ above) are bound to the corresponding elements in the binding instance tuple. (e.g., ‘p’ is bound to a person and ‘r’ to a person_in_department). The instance of person and instance of person_in_department (their object IDs) are therefore a key (concatenated key in this case) to the view instance the view creates. This key can be used elsewhere in the Express-X schema to access the view or map target entities. For example, the person_in_organization view above could be called as though it were a function with two arguments, a particular person and particular

person_in_department. This function would return the corresponding

person_in_organization view instance.

The FROM clause, therefore, defines an identification scheme for instances of the view or collections of target entities in a mapping. View instances can be accessed by calling the view (as a function) with values of the types defined in the FROM clause. This use of the view as a function is called an explicit binding.

There is an alternative identification schema to using values of the types defined in the FROM clause. This alternative is provided by the IDENTIFIED_BY clause and is mutu-ally exclusive with the FROM clause as a means of identification. The IDENTIFIED_BY clause allows one to define a key composed of arbitrary expressions based on instances of the types defined in the FROM clause. For example, one might add the clause IDENTIFIED_BY (p.employee_number) to the view above. Instances of

person_in_organization would then be identified and enumerated by the

employee_number attribute of a person entity, rather than the concatenation of person and person_in_department object IDs. The explicit binding function would likewise take just one argument, an employee_number.

The IDENTIFIED_BY construct raises an issue as to what exactly is being identified. In the case that no IDENTIFIED_BY clause is stated, there is a 1-1 correspondence between binding instances in the qualified binding extent and view instances (the sense of ‘quali-fied’ will be explained later). Were the view above to define IDENTIFIED_BY (https://www.wendangku.net/doc/d712989553.html,) that is, identify the view instances by a person’s name attribute, and were there to be mul-tiple persons with name “Smith” the correspondence would not be 1-1 but rather many binding instances to one view instance. The question then is, what attribute values would this one view instance take on, given that it must represent a number of binding instances. For example, given that there might be two persons “Smith” what is the view instances employee_number attribute? The (pragmatic) rule adopted by the designers of Express-X is that if all binding instances mapping to a view instance evaluate to the same value for a given attribute, then that value is given to the view instance. However, if two or more binding instances have different values for the attribute, the attribute’s value is set to the indeterminate value defined by EXPRESS.

The discussion so far has not touched upon a key notion of the Express-X execution model. The set of bindings on which the view or map is evaluated is not directly that set constructed from the FROM clause (i.e. the binding extent) it is rather a subset of the bind-ing extent called the qualified binding extent. The qualified binding extent is the subset of binding instances that satisfy a selection criteria defined by WHERE clauses (there may be more than one WHERE clause in a declaration). In the example above the WHERE clause is: WHERE (https://www.wendangku.net/doc/d712989553.html, = r.person); the qualified binding extent is that subset of bind-ing instances whose person instance have a name attribute equal to the binding instance person_in_department person attribute. (In this example, the WHERE clause functions as a relational join).

3.2 Map

Everything said above regarding binding types, binding instances, FROM, WHERE and IDENTIFIED_BY clauses applies equally to view and map declarations. The principle difference between view and map declarations is that the view defines a target structure and the map references target structures as entity type definitions in a target schema.

An Express-X map declaration similar to the view declaration above is:

SCHEMA_MAP example_map;

TARGET target_schema;

SOURCE source_schema;

MAP person_in_organization as

t:target_schema.target_person_in_department

FROM (p : source_schema.person;

r : source_schema.person_in_department);

WHERE (https://www.wendangku.net/doc/d712989553.html, = r.person);

SELECT

https://www.wendangku.net/doc/d712989553.html, := https://www.wendangku.net/doc/d712989553.html,

t.employee_number := p.employee_number

t.department := r.department_name;

END_MAP;

END_SCHEMA_MAP;

The target schema might be as below.

SCHEMA target_schema;

ENTITY target_person_in_department;

name : STRING;

employee_number : STRING;

department : STRING;

END_ENTITY;

END_SCHEMA;

The key difference in the map is that it declares the entity types in the target schema to be created:

MAP person_in_organization as

t:target_schema.target_person_in_department;

The example creates only one entity (of type target_person_in_department) however a map declaration may create multiple entities of various types in multiple schema. Because the map may create multiple target entities, it raises the issue of how the individual instances being created can be identified. In the example above, one may use an explicit binding to obtain an instance of the target entity type target_person_in_department using the expression below:

t@person_in_organization(a_person, a_person_in_department);

That is, the explicit binding above is provided a person (signified by the a_person vari-able, and a person_in_department signified by the a_person_in_department variable). Conceptually the explicit binding generates a collection of target entities, and the ‘t@’

notation identifies that the expression should return the entity

target_person_in_department of that collection that was bound to ‘t’.

SQL similar in intent is provided below. To create the table and populate it so that it is independent from updates in the data source, an SQL-based system first creates the table and then populates it as shown below. Note: assume that target_schema contains a table called target_person_in_department whose column definitions correspond to the view person_in_organization in the prior example. The following SQL would populate the table with information from the person and person_in_department tables in the source schema: INSERT INTO target_schema.target_person_in_department

(name,employee_number,department)

SELECT (https://www.wendangku.net/doc/d712989553.html,, p.employee_number, r.department_name

FROM source_schema.person AS p,

source_schema.department AS r

WHERE https://www.wendangku.net/doc/d712989553.html, = r.person);

3.3 View Extents

The collection of view instances corresponding to the qualified binding extent is called a view extent. The FROM clause of a view or map declaration may reference a view extent as it would an entity extent from a source data set. When the FROM clause references a view extent, the mapping engine must ensure that the referenced view extent is available (by evaluating the view if necessary) before evaluating the referencing view. The person_in_organization view is referenced in the FROM clause of the Express-X example view below:

VIEW approval_department

FROM (po : person_in_organization; -- a view

a : source_schema.approval); -- an entity

WHERE (a.person = https://www.wendangku.net/doc/d712989553.html,)

SELECT

department : STRING := po.department;

action : STRING := a.item;

END_VIEW;

Because view extents are accessible within the language, it is possible to use them to record intermediate results or commonly accessed information. Accessible view extents used in these ways help to manage the complexity of mapping.

3.4 Partitions

The view as described above is a mapping (“mapping” in the mathematical sense) from a binding extent to a view extent. The notion of view partitions allows one to map several different binding extents into a single view extent. Said another way, a view extent is the union of the mappings of the partition binding extents into the view extent. In a partitioned view (see example below) each partition defines its own FROM clause and thus defines its

own binding extent. The body of each partition must contain identical attributes, because, of course, the instances in the view extent must all be of one type.

The example below collects source ‘male’ and ‘female’ entity instances into a view extent called ‘person’.

VIEW person

PARTITION male :

FROM (m : source_schema.male);

name : STRING := https://www.wendangku.net/doc/d712989553.html,;

employee_number :STRING := m.number;

PARTITION female:

FROM (f : source_schema.female);

name : STRING := https://www.wendangku.net/doc/d712989553.html,;

employee_number :STRING := f.number;

END_VIEW;

The value of view partitioning is that it allows one to define a view extent as a union of ‘sub extents’. The concatenated extent may be used (for example, in the binding type of another view declaration) without regard to it being the union of anything. An explicit binding function is defined for each partition, thus in the example above one may call: person.male(a_male);

person.female(a_female);

Partitions in maps are similar to partitions in views, they allow one to specify various binding extents, each mapping (in the mathematical sense) to collections of target entity instances. Each partition must create identical types of instances in the same numbers. A map that ranges over source_schema ‘male’ and ‘female’ entity types is shown below: MAP person_map as p.target_schema.person

PARTITION male :

FROM (m : source_schema.male);

https://www.wendangku.net/doc/d712989553.html, := https://www.wendangku.net/doc/d712989553.html,;

p.employee_number := m.number;

PARTITION female:

FROM (f : source_schema.female);

https://www.wendangku.net/doc/d712989553.html, := https://www.wendangku.net/doc/d712989553.html,;

p.employee_number := m.number;

END_VIEW;

3.5 Subtyping

Subtyping, particularly in maps, provides a sophisticated approach to code reuse and the specification of the created network of target types. Subtyping allows one to distribute the specification of created types and selection criteria throughout a hierarchy of map declara-tions. Subtype declarations may extend the collection of instances created by their super-types, subtype those instances created and require additional selection criteria beyond those specified in their supertypes. In the example below, a binding instance is mapped to a target ’t_project’ entity which may additionally be one of its sub-

types,’t_in_house_project’ or ’t_external_project’ depending on the selection criteria (whether the source instance project type is ’in house’ or ’external’).

SCHEMA source_schema;

ENTITY s_project;

name : STRING;

cost : INTEGER;

project_type : STRING;

vendor : OPTIONAL STRING;

END_ENTITY;

END_SCHEMA;

SCHEMA target_schema;

ENTITY t_project;

name : STRING;

cost : INTEGER;

management : inside_or_out;

END_ENTITY;

ENTITY in_house_project;

SUBTYPE OF (t_project);

END_ENTITY;

ENTITY external_project;

SUBTYPE OF (t_project);

END_ENTITY;

END_SCHEMA;

MAP project_map AS tp : target_schema.t_project;

FROM p : source_schema.s_project;

SELECT

https://www.wendangku.net/doc/d712989553.html, := https://www.wendangku.net/doc/d712989553.html,;

tp.cost := p.cost;

END_MAP;

MAP in_house_map AS tp : target_schema.in_house_project;

SUBTYPE OF project_map;

WHERE (p.project_type = ’in house’);

SELECT

tp.management := CHOICE (cost < 50000) THEN ’small accts’

ELSE ’large accts’ ENDIF;

END_MAP;

MAP ext_map AS tp : target_schema.external_project;

SUBTYPE OF project_map;

WHERE (p.project_type = ’external’);

SELECT

tp.management = p.vendor;

END_MAP;

In the example above, the supertype specifies a FROM clause identifying the binding extent (when applied to data) on which the bodies of person_map and its subtypes are exe-cuted. If a supertype map defines a FROM clause, none of its subtypes may do so. The execution model, identifying what target instances are created is as follows:

?If a map’s selection criteria and that of all its supertype maps is satisfied, the map may execute.

? A subtype map may declare a target parameter id that is also declared in any of its supertype maps (same identifier). The type created is the composition of types identi-fied by the subtype map target parameter and all supertype maps declaring a target parameter with this target parameter id.

? A subtype map may introduce a target_parameter_id that is not defined in any of the supertype maps. In this case a new target entity of the type defined by the target param-eter is created.

In the example above "tp" is a target parameter id. Because this parameter is defined in "project_map" and "in_house_map" an entity that is both type "project" and

"in_house_project" may be created. Because this parameter is defined in "project_map" and "external_project_map" an entity that is both type "project" and "external_project" may be created. Whether the created instance includes type "in_house_project" or "external_project" or is just "project" depends on the satisfaction of the corresponding selection criteria.

3.6 Distribution of Target Entities

Sometimes what is desired is to create several target entities from a single source entity. This can be performed by a FOR loop wrapping the select clause, as the following exam-ple illustrates:

SCHEMA source;

ENTITY parent;

children : INTEGER;

END_ENTITY;

END_SCHEMA;

SCHEMA target;

ENTITY parent;

END_ENTITY;

ENTITY child;

parent : parent;

END_ENTITY;

END_SCHEMA;

MAP parent_and_child AS tp : target.parent, c: LIST [0:?] OF target.child;

FROM sp: source.parent;

FOR i:= 1 to p.children

SELECT

parent := sp@parent_and_child(source.parent);

END_ENTITY;

In this example, execution of the map declaration for each parent source entity instance creates a target parent entity instance and zero or more target child entity instances. The number of child entity instances created for each parent is equal to the value of the source attribute, "children", in the source parent instance. The mapping uses an explicit binding to set the child entity’s "parent" attribute.

4.0 Conclusion

Express-X, as an extension to the EXPRESS language, enables the re-use of existing con-cepts and terms, thus providing EXPRESS-like capabilities in a minimal extension to EXPRESS. Its declarative style furthers this goal by allowing mappings to read like con-straints and function calls.

Express-X supports the definition of dynamic views of existing data, as well as the map-ping of data between defined formats. It has simple mechanisms for materializing rela-tionships between entities, and for dealing with normalizing and de-normalizing structures in mappings.

The language is currently under development as a New Work Item under ISO TC184/SC4. Tools that implement draft versions of the language are now available, including some in the public domain [Denno].

Appendix A

This appendix provides SQL Tables and ISO 10303-21 instance data [Part 21] used in the examples.

TABLE 1. - PERSON

name employee_number

Smith601

Jones203

Miller604

TABLE 2. - person_in_department

department_name department_number person

Engineering6Smith

Warehouse2Jones

Engineering6Miller

Similar Express-oriented data (in ISO10303-21 form).

#1 = person(‘Smith’,’601);

#2 = person(‘Jones’,’203);

#3 = person(‘Miller’,’604’);

#11 = person_in_department(‘Engineering’,6,’Smith’);

#12 = person_in_department(‘Warehouse’,3,’Jones’);

#13 = person_in_department(‘Engineering’,6,’Miller’);

The binding extent corresponding to FROM (p : person; r: person_in_department) for this data:

<#1=person(‘Smith’,’601’),#11=person_in_department(‘Engineering’,6,’Smith’)>

<#1=person(‘Smith’,’601’),#12=person_in_department(‘Warehouse’,6,’Jones’)>

<#1=person(‘Smith’,’601’),#13=person_in_department(‘Engineering’,6,’Miller’)>

<#2=person(‘Jones’,’601’),#11=person_in_department(‘Engineering’,6,’Smith’)>

<#2=person(‘Jones’,’601’),#12=person_in_department(‘Warehouse’,6,’Jones’)>

<#2=person(‘Jones’,’601’),#13=person_in_department(‘Engineering’,6,’Miller’)>

<#3=person(‘Smith’,’601’),#11=person_in_department(‘Engineering’,6,’Smith’)>

<#3=person(‘Miller’,’601’),#12=person_in_department(‘Warehouse’,6,’Jones’)>

<#3=person(‘Miller’,’601’),#13=person_in_department(‘Engineering’,6,’Miller’)>

The qualified binding extent corresponding to the above binding extent and the selection criteria WHERE (https://www.wendangku.net/doc/d712989553.html, = r.department_name) is:

<#1=person(‘Smith’,’601’),#11=person_in_department(‘Engineering’,6,’Smith’)>

<#2=person(‘Jones’,’601’),#12=person_in_department(‘Warehouse’,6,’Jones’)>

<#3=person(‘Miller’,’601’),#13=person_in_department(‘Engineering’,6,’Miller’)>

References

Date, C.J and Darwen, H., A Guide to the SQL Standard, Third Edition, Addison-Wesley Publishing Company, Reading, Massachusetts, 1993.

Denno, P.O., NIST Expresso Home Page, https://www.wendangku.net/doc/d712989553.html,/expresso, July, 1999.

Express, ISO 10303-11:1994 Industrial Automation Systems and Integration --- Product Data Representation and Exchange --- Description Methods: The EXPRESS Language Reference Manual.

Express-X,The Express-X Language Reference Manual, https://www.wendangku.net/doc/d712989553.html,/sc4/wg_qc/ wg11/n078/, March 18, 1999.

Part-21, ISO 10303-21:1994 Industrial Automation Systems and Integration --- Product Data Representation and Exchange --- Description Methods:Clear text encoding of the exchange structure.

Valois, J., Capturing the Information in AP Mapping Tables, https://www.wendangku.net/doc/d712989553.html,/sc4/ wg_qc/wg11/n054, 1999.

Wiederhold, G., Mediators in the Architecture of Future Information Systems, IEEE Computer, pp 38-49, March, 1992.

猎头服务合同书

编号:_______________ 本资料为word版本,可以直接编辑和打印,感谢您的下载 猎头服务合同书 甲方:___________________ 乙方:___________________ 日期:___________________

委托方____________________以下简称甲方代理方_________人才服务部以下简称乙方甲方因业务发展需要,委托乙方搜索所需人才。 经双方友好协商,达成以下合作条款第一条 主旨本合同目的在于确定乙方代表甲方搜索候选人时双方的权利及义务。 第二条 搜索服务的基本方式1甲方需提供与所需搜索职位有关的详细资料给乙方,其中主要包括--工作环境,如公司背景、现状规模、发展状况、目前和将来的投资等;--职务名称、职位职责,个人发展前景、直属上司情况及汇报路线;--所须具备的条件包括年龄、性别、教育程度、英文程度、专业经验以及个人品性;--工作中所需要的独立性、工作氛围,流动性出差需要和上班地点等;--福利待遇包括基本工资、奖金和津贴、工作时数、生活条件以及合同保险。 2乙方工作程序--搜索可能达到该标准的候选人,对这些候选人进行初次面试筛选并确证其资料的真实性;--将候选人资料提交甲方参考,包括对其经验的评价及对其性格,能力和潜质的看法;--为双方安排面谈时间、地点,并参与其中一些条款的协商,协助聘用合同的最终签署;--协助甲方督促被录用候选人与原工作单位按正常的程序办好离职手续。 3乙方在合同签定之日起天内完成对甲方所需人才的寻访、测评及背景调查,将完整、真实的候选人资料提交甲方,并安排候选人面试。 4甲方应在收到乙方提供的候选人资料后两日内,做出是否与己有人才资料重复的判断,否则视为乙方推荐;甲方应在收到乙方提供的候选人才资料后一周内,做出是否需要复试的判断,甲方应在候选取人面试后两周内将面试意见及审核结果反馈给乙方,在复试后四周内做出是否录用的判断。 第三条 保证期1推荐的候选人被甲方录用,并最终到甲方工作,视为猎头服务成功。 2雇员在保证期三个月内无论因任何原因离职,甲方应五天内向乙方提出书面报告,乙方将免费为甲方推荐另一合适候选人到职;乙方收到甲方书面报告后二个月内没有推荐合格人选到职,乙方应退还该项服务费的_______。

猎头协议(标准范本)

猎头协议 In accordance with the relevant provisions and clear responsibilities and obligations of both parties, the following terms are reached on the principle of voluntariness, equality and mutual benefit. 甲方:__________________ 乙方:__________________ 签订日期:__________________ 本协议书下载后可随意修改

协议编号:YH-FS-825220 猎头协议 说明:本服务协议书根据有关规定,及明确双方责任与义务,同时对当事人进行法律约束,本着 自愿及平等互利的原则达成以下条款。文档格式为docx可任意编辑使用时请仔细阅读。 甲方:_________ 乙方:_________ 1.公司指定 根据本合同协议和条款,乙方委托并指定甲方为乙方提供本合同规定的各项咨询服务。 2.双方关系 甲方和乙方均为独立法人。本合同的签订在甲方和乙方之间并不产生任何雇用、代理、合资或业务伙伴关系。甲方绝非乙方的法律代表,无论是任何目的,甲方均不能以书面或其它明示或隐含方式,以乙方的名义享受权利或承担义务。 3.服务 甲方将根据乙方提供的职位要求向乙方推荐合适的人选。具体职位描述、要求及人数由乙方提供,详细的书面材料作为本协议的附件一,具有同等法律效力;

甲方应确保每一个推荐给乙方的候选人首先经过甲方的面试筛选。若乙方要求,甲方应对候选人简历中包含的信息或候选人提供的其它信息的准确和真实性及在面试过程中发现的问题进行核实。 凡经甲方推荐的人才,从推荐之日起12个月内,如果乙方未通过甲方暗地或通过第三方录用该人才,无论长期或短期,均视为甲方推荐成功,乙方按照本合同相关条例支付咨询费用。如果乙方把甲方推荐的人才中转推荐给第三方,甲方亦按照本合同相关条例向乙方要求支付咨询费用; 4.机密 甲方承诺: 1)对获知的乙方及其分支机构的商业和技术信息保守秘密; 2)对获知的乙方或分支机构的雇员或候选人相关信息保守秘密。 3)甲方推荐的候选人及其身份和职业相关信息只可提供乙方使用,不得向乙方以外的第三方泄露候选人的信息。 乙方接受本合同后,也将承诺所有由甲方推荐的候选人

猎头合同模板

合同编号: 高级人才寻访服务合同 甲方: 地址: 电话: 邮箱: 乙方: 地址: 电话: 传真: 甲、乙双方在平等自愿、协商一致的基础上,就甲方委托乙方寻访和推荐优质人才等事宜,达成如下条款,以共同遵守: 一、服务内容 1.1甲方委托乙方按照甲方提供的职位描述要求寻访人才,接受乙方的推荐,并安排面试。 1.2乙方通过各种渠道搜寻符合甲方职位要求的合适候选人,并推荐给甲方,以满足甲方人 力资源方面的需求。 1.3当乙方所推荐的候选人通过甲方面试,并在甲方所指定的岗位上报到后,该服务主体结 束。但是乙方有义务提供合同所承诺的人员更换服务义务。 二、服务期限 本合同自双方签字起生效,合同有效期为年,自年月日至年月日。 三、甲方的权利和义务 3.1 该职位委托合同甲方委托乙方为其代理招聘服务,。 3.2 甲方须尽可能详细明确的填写《委托猎头登记表》,以及提供委托职位的职位描述。甲方应根据项目进度及乙方服务规程要求,给予乙方项目顾问尽可能详尽的信息支持与配合,以便乙方寻访适合甲方的候选人; 3.3甲方应在乙方推荐人员到职后三个工作日内书面通知乙方。如在聘用通知书约定的上班之日,乙方推荐的人员未能到甲方上班的,甲方应将该情况发生后当日内书面通知乙方;3.4甲方应在与乙方推荐人员签订聘用通知书后五个工作日内将所聘人员职位、到职日期、薪酬、试用期等情况以书面形式通知乙方; 3.5甲方应对乙方提供的人员资料保密,并严格控制内部人员知情范围,不得向外泄露人才资料,或向任何第三方提供人才资料(包括个人和法人)。如有上述情况,一经核实,甲方需无条件给予乙方相应的经济赔偿;

3.6甲方对乙方的任何投诉和建议均可通过发送邮件到邮箱,甲方的投诉和建议将反馈给乙方相关部门。 四、乙方的权利和义务 4.1 甲方填写委托登记表、签订委托招聘服务合同后,乙方开始正式提供合同约定服务; 4.2 乙方应在签订合同后的10个工作日内,向甲方提供书面或电子邮件形式的,与委托职位相适合的有关候选人资料报告; 4.3 乙方自签订本合同起,不得将甲方内的工作人员、商业信息,推荐或泄露给其他可能获得利益的第三方;在本协议到期或终止后,以上保密责任依然存在。 4.4 乙方不得将其推荐给甲方并被成功聘用的人选再次推荐给其它任何客户; 4.5 乙方承诺提供人员更换服务如下:如乙方推荐的候选人在正式报到日起3个月内离职,甲方在被推荐人选离开之日起10个工作天日内以书面形式将该情况通知乙方,乙方应就此职位按甲方要求无偿提供另外人选。新人选入职后,乙方将重新计算保证期并继续承担人员更换服务义务。如果被录用者的工资福利、岗位职位等未能按甲方与候选人事先约定之标准实施,或者遇甲方因办公场所搬迁、重大人事调整所导致的非人选自身原因而导致被录取者离职的,由甲方承担对该被录取者的相关责任,乙方不承担人员更换服务义务; 4.6 任何乙方向甲方所推荐的人员,自被推荐之日起十二个月内,均被视为“乙方推荐人员”,在此期间内,如乙方证实甲方或其子公司与被推荐人发生聘用与被聘用关系,视为乙方已成功推荐,甲方须按本合同支付全额费用; 4.7 自“乙方推荐人员”被推荐予甲方之日起十二个月内,甲方不得就聘用事宜向任何第三方(不包括甲方各分支机构)推荐。 4.8 在合同期内,乙方不得向甲方在职员工推荐任何职位机会。 五、服务费用及付款方式 5.1 成功聘用乙方推荐的候选人后,甲方须向乙方按每人每一职位支付服务费用标准为被雇佣者第一年税前年薪总收入的。被雇佣者年薪总收入包括基本工资、奖金、提成及其他各类现金支付的福利和补贴; 5.2 本合同所称的成功聘用有下述两种情况: 1)甲方与乙方推荐的候选人签订了《劳动合同》或者该候选人员已实际在甲方工作 (含试用期); 2)包括但不限于甲方与乙方推荐的候选人以顾问或者兼职的形式产生合作关系。 5.3 服务费支付方式如下:乙方推荐的候选人被甲方成功聘用后乙方应向甲方发出付款通知书,甲方应在收到付款通知核实无误后的十个工作日内支付服务费用的。候选人通过三个月试用期之后,乙方应向甲方发出付款通知书,甲方应在收到付款通知核实无误后的十个工作日内支付服务费用的30%。如金额有误,甲方应在收到付款通知后两个工作日内通知乙方;乙方未收到甲方书面的异议通知的,视为甲方确认该付款通知书。 5.4 乙方在提供本合同约定的服务时实际发生的所有费用,如广告费,差旅费等须经甲方事先书面同意,方可由乙方向甲方收取。如甲方延期付款超过天,乙方有权要求甲方及时付清服务费,每天按服务费的加收滞纳金。

猎头协议正式版

The cooperation clause formulated through joint consultation regulates the behavior of the parties to the contract, has legal effect and is protected by the state. 猎头协议正式版

猎头协议正式版 下载提示:此协议资料适用于经过共同协商而制定的合作条款,对应条款规范合同当事人的行为,并具有法律效力,受到国家的保护。如果有一方违反合同,或者其他人非法干预合同的履行,则要承担法律责任。文档可以直接使用,也可根据实际需要修订后使用。 甲方:_____ 乙方:_____ 1.公司指定 根据本合同协议和条款,乙方委托并指定甲方为乙方提供本合同规定的各项咨询服务。 2.双方关系 甲方和乙方均为独立法人。本合同的签订在甲方和乙方之间并不产生任何雇用、代理、合资或业务伙伴关系。甲方绝非乙方的法律代表,无论是任何目的,甲方均不能以书面或其它明示或隐含方式,

以乙方的名义享受权利或承担义务。 3.服务 甲方将根据乙方提供的职位要求向乙方推荐合适的人选。具体职位描述、要求及人数由乙方提供,详细的书面材料作为本协议的附件一,具有同等法律效力; 甲方应确保每一个推荐给乙方的候选人首先经过甲方的面试筛选。若乙方要求,甲方应对候选人简历中包含的信息或候选人提供的其它信息的准确和真实性及在面试过程中发现的问题进行核实。 凡经甲方推荐的人才,从推荐之日起12个月内,如果乙方未通过甲方暗地或通过第三方录用该人才,无论长期或短期,均视为甲方推荐成功,乙方按照本合同相

猎头服务合作协议书

猎头服务合作协议书 甲方(委托方): 地址: 乙方(受托方): 地址: 甲、乙双方本着互利互惠、平等自愿、有偿服务的原则,就甲方委托乙方代为搜索、甄选、推荐各类种人才等事宜,经充分协商,达成如下协议,以资共同遵守: 一.合同有效期:从______ 年—月—日至__________ 年—月—日。 二.甲方的权利与义务 1. 甲方必须向乙方提供本企业营业执照复印件、公司简介、委托招聘的相关信息。 2. 甲方应按乙方要求提供所需的职位需求信息,并保证寻猎职位信息的真实性,所提要求及待遇 标准,必须按标额执行。如在委托期内,寻猎需求有任何更改应及时通知乙方。 3. 甲方负责对乙方提供的候选人资料进行筛选,对符合初选条件的人,乙方负责协调候选人到甲 方进行面试。 4?如甲方发现乙方提供的人选资料与其他招聘渠道所提供的资料重合时,且甲方从乙 方处获得候选人姓名、联系信息之前,或要求乙方安排候选人面试之前,应在收到乙方人选资 料后5个工作日内提出申明,并出具相关的资料证明,否则即视为认可。 5. 甲方按照公司 的相关面试流程对乙方推荐的候选人进行面试,在面试流程结束后,5 个工作日内告知乙方面试结果。 6. 甲方按时向乙方支付服务费。 7. 在本协议有效期内或本协议终止后十二个月内,甲方聘用乙方推荐的人才的,甲方应于聘用前通知乙方,并按 照本协议第3条规定向乙方支付服务费。甲方聘用乙方推荐的人才但未按前述规定履行通知义务的,甲方除应向乙方一次性支付全额服务费外,应向乙方支付服务费的两倍作为违约金,且甲方聘用的 乙方推荐人才的年薪视为30万元,甲方不得对此提出任何异议。若乙方发现其推荐的人才的年薪高于30 三.乙方的权利与义务 1. 乙方在双方签订委托招聘服务合同后,明确招聘岗位后,寻访和物色工作全面正

猎头合同协议书律师审核版

猎头合同协议书律师审 核版 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

人才服务协议书 合同编号:XXXXXX 甲方(委托方): 地址: 联系人及电话:传真: 乙方(受托方):XXXX 地址:XXXX 联系人及电话:传真: 甲乙双方经协商一致,就甲方委托乙方在全国范围内代为招聘、甄选、推 荐人才事宜,经充分协商,达成如下协议,以资共同恪守。 一、服务内容 1.甲方委托乙方寻访的职位要求、数量、寻访期、签约年薪(用以约定 寻访委托金)、寻访委托金、寻访服务费等事项,可在由甲方不定时 发出的推荐要求中载明。该推荐要求应以书面形式发出,并作为本协 议的附件。 2.乙方根据甲方提出的人才需求,按甲方要求在约定的时间内为甲方寻 访候选人。经乙方评估认为符合甲方岗位要求后,向甲方推荐,经甲 方面试合格、候选人上岗后,甲方按本合同的规定向乙方支付约定的 服务费用。 二、服务流程 1.在双方签订本协议后,乙方正式启动为甲方提供的猎头服务。 2.在向乙方开放猎头职位的2个工作日内,甲方应当用电子邮件形式向 乙方所需猎头职务的详细职位说明(含工作职责、任职资格、薪金范 围、基本要求、特别需求等),以便乙方搜寻、筛选和向候选人说明

情况等,甲方保证寻访职位信息的真实性;如在委托期内,寻访需求有任何更改均应及时通知乙方。 3.乙方在收到甲方提供的书面职位说明后,应在2个工作日内以电子邮 件形式予以确认,并与甲方进行沟通确认;经双方对职位需求确认一致后,乙方开始进行人才访寻及推荐。 4.自对职位说明书确认后之1个工作日内,乙方指派专人或小组负责为 甲方提供人才寻访推荐服务,以保证按时完成甲方的招聘需求,并在10个工作日内提供第一批候选人至少2-3名,甲方应在收到推荐报告资料3个工作日内向乙方提供对所推荐候选人的反馈意见(如安排面试、暂缓、拒绝),并将同意面试的候选人名单以电子邮件形式提供给乙方,对于需要安排面试的候选人,甲方须在15个工作日内予以面试;乙方根据甲方要求及名单约见面试,甲方在面试后的10个工作日内将面试结果以电子邮件形式通知乙方,如甲方对参加面试的候选人不满意,应以电子邮件形式反馈明确的原因给乙方,乙方应重新搜寻合适的人选,具体工作程序同上。 5.如果乙方向甲方提供的简历已被甲方从其它渠道获取,甲方应当在3 个工作日内以电子邮件形式通知乙方,如乙方提出要求,甲方应提供相应的书面证明。如在上述期限内甲方未提出任何异议的,则该候选人将被视为乙方提供的资源。 6.如甲方对乙方提供的候选人有聘用意向的,应甲方要求及候选人同意 的情况下,乙方应提供候选人背景核查,核查应从公开途径且不侵害候选人隐私。

猎头公司服务合同

猎头服务合同 委托单位(以下简称甲方): 代理单位(以下简称乙方): 甲方因业务发展需要,委托乙方猎聘所需人才,经双方友好协商,达成如下合约: 第一条招聘内容 第二条甲方的权利义务 1、甲方必须向乙方提供真实详细的企业背景资料和招聘的《职位描述报告》。 2、甲方对乙方推荐的候选人进行面试后,必须在3个工作日内给出是否录用该候选人的意见。 3、甲方不得利用候选人获取候选人违反其与原工作单位签订的保密协议规定的保密义务,因甲方利用候选人 获取原单位保密信息而引起的任何后果由甲方独自承担,与乙方无关。 4、甲方作为雇主应当对自己雇员的最终选择、录用、持续工作监管承担全部责任,对于推荐候选人所引起(或 相关)的对甲方造成的损失、损坏或费用等将由甲方自行承担,乙方不承担任何相关责任。 5、合约履行过程中,如甲方变更招聘其他岗位,或取消该岗位的招聘要求,或延缓聘用适用该岗位的候选人 的,乙方有权单方面解除本合约,预付款不予退还。 6、甲方承担候选人面试所产生的所有差旅费用,定向猎取或乙方随同甲方外出洽谈、面试,甲方须为乙方支 付定向所在地猎聘往返差旅费。 7、对于乙方所推荐的候选人的相关资料,甲方不能作为其他用途并负有保密的义务,否则赔偿相应损失,甲 方若将乙方推荐的候选人转给其它第三方并产生聘用的,视为乙方已完成服务工作并支付相关服务费用。 第三条乙方的权利义务: 1、乙方承诺保证不猎取甲方在职人员,并保守甲方公司的机密。 2、乙方按照甲方《职位描述报告》进行人才搜寻、面试,并对甲方公司的招聘信息严格保密。 3、乙方为甲方提供详尽的猎头人才评估推荐报告,为甲方面试提供专业的岗位人选和用人建议。 4、乙方协助甲方与候选人进行薪酬谈判、到岗日期等促进招聘工作,协助甲方与人才签定劳动合同,并进行 后期人才的跟踪服务,如果被录取者的工资福利等未能按甲方与人才事先约定之标准实施,而导致被录取 者离职的,乙方不退还预付款和服务费,并由甲方承担由此而来的一切责任。 5、乙方在服务期内(60个工作日)内未能向甲方推荐候选人或候选人不符合《职务描述报告》要求,甲方有 权终止本合约,乙方退还本岗位全额已收预付款。 6、乙方推荐的候选人,甲方面试后因某种原因不能长期或专职聘用该候选人,而委托该候选人担任兼职或 其它短期服务,同样视为乙方已完成服务工作,甲方须支付相应的服务费用。 7、本协议签订后,甲方鼓动、引诱、劝说乙方推荐的候选人绕开乙方私下签订劳动合同或变更劳动合同的 薪酬标准的,视为乙方已完成服务工作,甲方须支付相应的服务费用。

猎头服务合同模板

猎头服务合同模板文件编号TT-00-PPS-GGB-USP-UYY-0089

企业招聘服务合同 甲方:安捷利(番禺)电子实业有限公司 地址:广东省广州市南沙区环市大道南63号 联系人:温小姐 /罗先生 电话: / 邮箱:传真:乙方:地址:负责人:电话:邮箱:传真: 甲乙双方经友好协商,就乙方为甲方提供招聘服务相关事宜,一致达成如下合同条款,以共同遵守: 一、服务内容 1. 甲方委托乙方按照甲方提供的职位需求,为其进行人力资源引进推荐服务。 2. 本合同中所述委托是指甲乙双方书面(包括但不限于下述形式:合同、协议、信件、传真、电子邮件等)确认甲方需要乙方猎寻的职位以及该职位所需要的关键要求,上述委托可为本合同附件,与本合同具有同等法律效力。

3. 合同期限为:本合同有效期为一年,自签字盖章之日起生效,每年合同到期前经双方书面约定可延续本合同一年。 二、甲方权利义务 1. 甲方须向乙方提供真实的企业相关背景资料。 2. 甲方须配合乙方对推荐的候选人进行面试。 3. 甲方应在与乙方推荐人员签订聘用通知书后三个工作日内,将所聘人员职位、到职日期、年薪、试用期等情况以书面或电子邮件形式通知乙方。 4. 甲方应在乙方推荐人员到职后三个工作日内以书面或电子邮件形式通知乙方。 三、乙方权利义务 1. 乙方严格按照甲方提供的岗位说明书对人才进行搜寻,每个岗位提供的候选对象不得少于三人。 2. 乙方对初选合格人员进行面试并核准相关证明资料和工作经历。 3. 乙方负责与甲方沟通确认甲方面试的时间、地点,并进行相关人才的联络服务工作。

4. 乙方协助甲方进行人才聘用合同的最终签定。 5. 乙方承诺提供候选人更换服务如下: 1) 甲方需支付完乙方服务费。 2) 如乙方推荐的候选人在正式上岗日起保证期三个月内离职,甲方在被推荐人离开之日起三个工作日内以书面或电子邮件形式通知乙方,乙方为甲方免费提供一次相同岗位的人才推荐至成功聘用服务。 3) 乙方在补充推荐新候选人期间,甲方自行找到合适候选人,或者乙方没寻访到合适候选人替代,乙方承诺将相当于该职位服务费的50%用于冲抵合同期内其它成功招聘职位的相应金额服务费,如果合同期满双方未再有成功招聘的职位而造成无法冲抵,则乙方承诺将该职位服务费的50%退还给甲方。 4) 如果被录用者的工资福利、岗位职位等未能按甲方与候选人事先约定之标准实施,或者遇甲方因办公场所搬迁、重大人事调整所导致的非人选自身原因而导致被录取者离职的,由甲方承担对该被录取者离职的相关责任,乙方不承担人员更换服务的义务。 6 . 本合同期内,乙方不得向甲方在职员工推荐任何职位机会。

猎头服务协议书模板

编号:猎头服务协议书模板 甲方 乙方 签订日期年月日 (本协议书为Word格式,下载后可根据您的需要调整内容及格式,欢迎下载。)

甲方:____________服务有限公司 ____________人才服务中心 乙方:________________________ 甲乙双方就甲方向乙方提供人才猎头服务,达成如下协议: 一、根据中华人民共和国的法律和法规,甲方确认本方有完全的从事本协议所述服务的资格;乙方确认本方是依法成立的组织,符合法律规定的面向社会公开招聘的各项条件和手续,并且向甲方提交的各种书面文件及陈述都是真实有效的。甲乙双方就各自的确认承担相应的法律责任。 二、甲方服务的收费标准是,每成功提供一人,收取________元人民币作为本方的服务佣金。佣金分两次支付,双方签定协议之日,甲方支付________元/人为预付佣金;推荐人选上岗三个月或转正后一个星期内付清余款。 三、甲方收到乙方预付的预付服务佣金后,应按照本协议附件 1的要求为乙方提供人才,并保证所提供人才情况的真实性,同时协助乙方安排有关面试考核的事宜。面试考核应本着方便应聘者及乙方的原则进行。 四、乙方应按照本协议附件1规定的条件考核验收甲方提供的人才。并应于考核之日起________天内将是否聘用(含试用,下同)的意见及理由书面通知甲方。否则,视为同意聘用。 五、甲方应于收到预付服务佣金之日起两个星期至一个月内完

成委托事项,经双方协商同意,上述期限可以改变,但应另以书面文件规定之。 六、乙方同意聘用(接纳为乙方正式员工)甲方提供的人才,甲方服务即告完成。乙方若于聘用后三个月内辞退甲方提供的人才,应于辞退之前通知甲方,并有权要求甲方重新提供服务,甲方应免费为乙方再推荐人选,并得到乙方聘用为止。 七、非因不可抗力,或乙方认可的其他正当理由,甲方在协议规定的期限内未能向乙方提供候选人才的,应全额返还乙方预付佣金;虽提供候选人才而乙方最终未能聘用的,预付佣金应退还甲方。 八、乙方以超出本协议附件1以外的条件拒绝甲方提供的人才,或在本协议规定的有效期限内自行招聘协议附件1规定的人才,从而无需甲方的服务,甲方有权留置乙方全部预付佣金,折抵甲方服务收入。 九、乙方拒绝甲方提供的人才,从而导致甲方服务失败,但在甲方服务终止后的十二个月内聘用曾被乙方拒绝的人才,应于聘用前通知甲方,并向甲方支付全额服务佣金。否则视为违约,乙方应就此向甲方支付________至________倍的服务佣金作为违约金。 十、本协议在乙方委托寻猎的人数超过一人时,对每一个人才的服务分别有效,彼此无法律上的连带责任关系。 十一、本协议的附件作为协议的组成部分,与本协议有同等法

猎头服务合同模板

编号: HT-20214765 甲 方:______________________________ 乙 方:______________________________ 日 期:_________年________月_______日 猎头服务合同模板 The parties may dissolve the contract upon consensus through consultation.

[标签:titlecontent] 甲方(劳务用工单位): 工商登记号:联系地址:邮政编码:联系电话:传真:联系人:开户行:帐号: 乙方(劳务招聘单位): 工商登记号:联系地址:邮政编码:联系电话:传真:联系人:开户行:帐号: 甲、乙双方就乙方向甲方提供需求职位人才的寻访推荐服务达成如下合同(以下称“本合同”): 前言: 甲乙双方保证各自为依据中华人民共和国的相关法律法规合法成立的组织。乙方应确认有从事该项服务的资格,甲方应确认向乙方提供的各种资料的真实性,双方就各自的确认承担各自的法律责任。 甲、乙双方本着自愿和互惠互利的原则,合作签署“本合同”,并愿意自觉遵守“本合同”的各项条款。 第一条服务内容 1、甲方聘请乙方作为其中、高级人才推荐的供应商。

2、甲方如有招聘需求,应向乙方提供委托招聘职位信息,内容包括需求岗位职责描述、胜任条件、薪资福利条件、需求人数和日期等。 3、自甲方正式委托职位寻访之日起,乙方正式启动寻访推荐工作。15个工作日内向甲方推荐每个职位2—3名经过甄选基本符合甲方职位需求的候选人,直到甲方录用乙方所推荐的候选人为止。 4、乙方在推荐候选人时,需要向甲方提供人选的详细简历,说明其以往的工作经历、主要职责、成就以及能说明其工作胜任能力的任何其它必要资料。 5、甲方聘用乙方推荐的人员,在个月(保证期),自推荐人开始在甲方工作之日起,如发生聘用终止,乙方应为甲方免费提供一次相同职位的人才服务,乙方应保证在甲方通知乙方的15个工作日内为甲方再次提供候选人。 第二条限制 1、甲方不得提供虚假职位需求信息和做出虚假承诺。 2、合作期间甲方不得直接聘用乙方猎头顾问和工作人员,如有发生甲方应付乙方该职位应付猎头佣金的双倍的服务费用。 第三条保密原则 1、乙方应对甲方提供的任何商业、技术资料及员工信息进行保密。 2、甲方应对乙方提供的人选资料、服务费用保密,不得将乙方提供的人选资料用于任何非自己聘用内部员工的目的和提供给甲方

猎头合作协议范本

猎头合作协议范本 委托人:(以下简称甲方) 地址: 电话: 电子邮件: 受托人:(以下简称乙方) 地址: 电话: 电子邮件: 甲方委托乙方代理招聘人才,就有关事宜订立合同,目的在于确定甲乙双方的权利及义务,共同遵守如下条款: 一、甲方的权利和义务

1、甲方同意委托乙方猎聘________职位,猎聘佣金按该猎聘职位年薪的______%计算,该职位的猎聘佣金最低不得低于______元。该职位推荐周期为______个月。 2、甲方必须提供营业执照复印件、单位简介等所需文件协助乙方工作。 3、甲方如在乙方安排的初猎面试时不满意乙方报荐人才,可要求乙方重新推荐人才面试。 4、为保证乙方的工作顺利进行,甲方不能单独约见应聘者,面试由乙方安排见面,如有特殊情况约见应聘者,也必须通知乙方。 5、待甲方通过面试选定人才到岗后,人才到岗______个工作日内付猎头服务费用的______%,人才通过试用期后______个工作日内付其余______%的猎头服务费用。如甲方延期付款,每天按余款的百分之______作为滞纳金。 6、甲方在收到乙方发送的候选人资料当日,须以邮件形式反馈给乙方是否通过其他方式获得此候选人简历,如果当日没有回复给乙方信息,并私自约见、录用候选人,甲方除应支付乙方猎头服务费外,同时应承担猎头服务费的______%违约金,并在乙方得知此事后______个工作日内支付。若逾期支付,滞纳金每天为猎头服务费的 ______%。

7、在合作期内,甲方一经决定录用乙方推荐的候选人,应提供录用通知书复印件予乙方。否则,乙方有权利对该候选人进行其他推荐。 8、通过电话沟通,符合甲方职位要求的外地来甲方面试候选人如果要求才旅费的,由甲方承担。 二、乙方的权利和义务 1、乙方从双方签订协议起,寻访和物色工作全面正式开始,并且在每______个工作日内向甲方提交拟举荐的候选人的综合推荐简历(每一岗位的候选人为______名),直至甲方找到合适人选或本推荐周期结束。根据甲方反馈意见,乙方负责安排候选人与甲方面谈具体事宜,同时全程协助及引导性服务。 2、若乙方在受托后向甲方举荐的人选不符合甲方要求,乙方应继续举荐,直到甲方满意或甲方提出终止寻访通知为止;甲方提出终止寻访应以书面的形式通知乙方(如果甲方通过其他方式找到合适的候选人,甲方也应及时以书面形式通知乙方提出终止寻访)。 3、在乙方推荐的人选被甲方正式录用后,乙方承诺______年内不到甲方单位内猎取任何在职人员给其他客户。 4、乙方推荐给甲方的人才享有个______月保用期,保用期内候选人离开(包括但不限于辞职、辞退),甲方有权选择由乙方继续在

人才猎头合同范本

人才猎头服务协议 甲方:xxxxxxxxxxxxxx 乙方:xxxxxxxxxxxxxxx 甲方因业务发展需要,特委托乙方以猎头服务方式招聘职位人选,甲乙双方本着“平等合作,互惠互利”的原则,经友好协商达成如下协议: 一、甲方权利与义务 1.甲方应向乙方提供详细、真实的公司背景资料,包括但不限于公司背景、经营状况、发展战略、企业文化等。 2.甲方须负责提供所需招聘岗位的详细资料,真实填写《企业职务需求表》(附件1),并对薪酬、福利、休假等与应聘者利益相关一切信息之真实性负责。 3.收到乙方提交的候选人报告资料后,甲方应在三个工作日内通知乙方是否要求候选人面试。如果面试,应提前告知时间和地点。面试结束后,甲方应在三个工作日内告知乙方面试结果。对不合适的候选人,应给出说明。如果不面试,应给出具体的不面试原因。 4.甲方应在面试后积极与乙方沟通、协调,三天内做出上一轮面试的决议(包括安排下一轮复试或录用)。特殊情况外,每个候选人面试次数最多为四次。 5.甲方对候选人信息、候选人报告、候选人面试过程等一切可能有损于候选人正当利益或本合同正当履行的信息,负有保密义务。 二、乙方权利与义务 1.乙方对甲方提供的企业、职位等信息负有保密义务。除为完成本合同所必须外,其余未经甲方授权,不得公开。 2.乙方需在寻访服务期(自年月日至年月日)内利用各种渠道为甲方寻访、招聘所需人才。乙方在了解候选人的情况,分析其背景资料,并在此基础上进行筛选

后,向甲方提交合适候选人的个人资料。如果在寻访期内,甲方未能对乙方提供的候选人给出明确答复,乙方有权终止合作。 3.若出现以下任何一种情况,均视为乙方已完成猎头服务全部工作,乙方有权要求甲方按本合同所列的“全职服务费用”,按约定支付周期与方式支付费用。如逾期支付,乙方将保留诉诸法律解决的权利: (1)甲方面试乙方所推荐的候选人后录用其作为甲方员工以全职合作; (2)甲方面试乙方所推荐的候选人后因某种原因不能提供所聘用岗位,但录取该候选人为其他岗位职员。 4.若出现以下任何一种情况,均视为乙方已完成猎头服务全部工作,乙方有权要求甲方按本合同所列的“全职服务费用”,在五个工作日内支付全额猎头服务费。如逾期支付,乙方将保留诉诸法律解决的权利: (1)甲方将乙方所推荐的候选人转荐给其他雇主,并且候选人被他雇主其聘用的; (2)甲方面试乙方所推荐的候选人后表示拒绝聘用,却在面试后一年内聘用乙方曾推荐的人选。 5.若出现以下任何一种情况,均视为乙方已完成猎头服务全部工作,乙方有权要求甲方按本合同所列的“兼职服务费用”,在五个工作日内支付全额猎头服务费。如逾期支付,乙方将保留诉诸法律解决的权利: (1)甲方面试乙方所推荐的候选人后因某种原因不能聘用该候选人,而聘用该候选人做兼职或其他短期服务; (2)甲方面试乙方所推荐的候选人后并没有聘用,而采用咨询、承包等方式与候选人保持合作关系。 三、服务费标准及支付方式 1.全职服务费用标准: □人民币万元(大写:)(岗位年薪标准)×%(年薪的百分比)。 □约定固定金额服务费用人民币万元。 说明:支付方式按双方协商约定,二选一。 若甲方提出的岗位薪酬是某一区间的,岗位年薪标准以区间上限为标准。

猎头合同范本

人才猎头服务协议 甲方: 乙方:尚才荟猎头 甲方因业务发展需要,特委托乙方以猎头服务方式招聘 _____________ 职位人选,甲乙双方 本着“平等合作,互惠互利”的原则,经友好协商达成如下协议: 一、甲方权利与义务 1.甲方应向乙方提供详细、真实的公司背景资料,包括但不限于公司背景、经营状况、发展战略、企业文化等。 2.甲方须负责提供所需招聘岗位的详细资料,真实填写《企业职务需求表》(附件1),并对薪酬、福利、休假等与应聘者利益相关一切信息之真实性负责。 3.收到乙方提交的候选人报告资料后,甲方应在三个工作日内通知乙方是否要求候选人面 试。如果面试,应提前告知时间和地点。面试结束后,甲方应在三个工作日内告知乙方面试结 果。对不合适的候选人,应给出说明。如果不面试,应给出具体的不面试原因。 4.甲方应在面试后积极与乙方沟通、协调,三天内做出上一轮面试的决议(包括安排下一 轮复试或录用)。特殊情况外,每个候选人面试次数最多为四次。 5.甲方对候选人信息、候选人报告、候选人面试过程等一切可能有损于候选人正当利益或 本合同正当履行的信息,负有保密义务。 二、乙方权利与义务 1.乙方对甲方提供的企业、职位等信息负有保密义务。除为完成本合同所必须外,其余未 经甲方授权,不得公开。 2.乙方需在寻访服务期(自—年—月—日至—年—月—日)内利用各种渠道为甲 方寻访、招聘所需人才。乙方在了解候选人的情况,分析其背景资料,并在此基础上进行筛选 后,向甲方提交合适候选人的个人资料。如果在寻访期内,甲方未能对乙方提供的候选人给出明确答

复,乙方有权终止合作。 3.若出现以下任何一种情况,均视为乙方已完成猎头服务全部工作,乙方有权要求甲方按本合同所列的“全职服务费用”,按约定支付周期与方式支付费用。如逾期支付,乙方将保留诉诸法律解决的权利: (1)甲方面试乙方所推荐的候选人后录用其作为甲方员工以全职合作; (2)甲方面试乙方所推荐的候选人后因某种原因不能提供所聘用岗位,但录取该候选人为其他岗位职员。 4.若出现以下任何一种情况,均视为乙方已完成猎头服务全部工作,乙方有权要求甲方按本合同所列的“全职服务费用”,在五个工作日内支付全额猎头服务费。如逾期支付,乙方将保留诉诸法律解决的权利: (1)甲方将乙方所推荐的候选人转荐给其他雇主,并且候选人被他雇主其聘用的; (2)甲方面试乙方所推荐的候选人后表示拒绝聘用,却在面试后一年内聘用乙方曾推荐的人选。 5.若出现以下任何一种情况,均视为乙方已完成猎头服务全部工作,乙方有权要求甲方按本合同所列的“兼职服务费用”,在五个工作日内支付全额猎头服务费。如逾期支付,乙方将保留诉诸法律解决的权利: (1)甲方面试乙方所推荐的候选人后因某种原因不能聘用该候选人,而聘用该候选人做兼职或其他短期服务; (2)甲方面试乙方所推荐的候选人后并没有聘用,而采用咨询、承包等方式与候选人保持合作关系。 三、服务费标准及支付方式 1.全职服务费用标准: □人民币 ____ 万元(大写:________ )(岗位年薪标准)X ____ % (年薪的百分比)□约定固定金额服务费用人民币 ______ 万元。 说明:支付方式按双方协商约定,二选一。 若甲方提出的岗位薪酬是某一区间的,岗位年薪标准以区间上限为标准。

猎头服务合同word排版格式

猎头服务合同word排版格式 甲方(劳务用工单位): 工商登记号:联系地址:邮政编码:联系电话:传真:联系人: 开户行:帐号: 乙方(劳务招聘单位): 工商登记号:联系地址:邮政编码:联系电话:传真:联系人: 开户行:帐号: 甲、乙双方就乙方向甲方提供需求职位人才的寻访推荐服务达成如下合同(以下称“本合同”):前言: 甲乙双方保证各自为依据中华人民共和国的相关法律法规合法成立的组织。乙方应确认有从事该项服务的资格,甲方应确认向乙方提供的各种资料的真实性,双方就各自的确认承担各自的法律责任。 甲、乙双方本着自愿和互惠互利的原则,合作签署“本合同”,并愿意自觉遵守“本合同”的各项条款。 第一条服务内容

1、甲方聘请乙方作为其中、高级人才推荐的供应商。 2、甲方如有招聘需求,应向乙方提供委托招聘职位信息,内容包括需求岗位职责描述、胜任条件、薪资福利条件、需求人数和日期等。 3、自甲方正式委托职位寻访之日起,乙方正式启动寻访推荐工作。15个工作日内向甲方推荐每个职位2—3名经过甄选基本符合甲方职位需求的候选人,直到甲方录用乙方所推荐的候选人为止。 4、乙方在推荐候选人时,需要向甲方提供人选的详细简历,说明其以往的工作经历、主要职责、成就以及能说明其工作胜任能力的任何其它必要资料。 5、甲方聘用乙方推荐的人员,在个月(保证期),自推荐人开始在甲方工作之日起,如发生聘用终止,乙方应为甲方免费提供一次相同职位的人才服务,乙方应保证在甲方通知乙方的15个工作日内为甲方再次提供候选人。 第二条限制 1、甲方不得提供虚假职位需求信息和做出虚假承诺。 2、合作期间甲方不得直接聘用乙方猎头顾问和工作人员,如有发生甲方应付乙方该职位应付猎头佣金的双倍的服务费用。 第三条保密原则 1、乙方应对甲方提供的任何商业、技术资料及员工信息进行保密。 2、甲方应对乙方提供的人选资料、服务费用保密,不得将乙方提供的人选资料用于任何非自己聘用内部员工的目的和提供给甲方之外的任何第三方(包括个人和法人)。 3、在未取得到推荐人选的允许,不得向其正在任职的单位(雇主)作背景调查。 第四条人选的推荐、面试 1、甲方在乙方提交候选人资料后的48小时内需将是否面试的决定通知乙方,并在面试后

猎头服务合同模板通用版

猎头服务合同模板通用版 Headhunting service contract template general version 甲方:___________________________ 乙方:___________________________ 签订日期:____ 年 ____ 月 ____ 日 合同编号:XX-2020-01

猎头服务合同模板通用版 前言:合同是民事主体之间设立、变更、终止民事法律关系的协议。依法成立的合同,受法律保护。本文档根据服务合同内容要求和特点展开说明,具有实践指导意义,便于学习和使用,本文档下载后内容可按需编辑修改及打印。 委托方:____________________(以下简称甲方)代理方:_________人才服务部(以下简称乙方)甲方因业务发展 需要,委托乙方搜索所需人才。经双方友好协商,达成以下合作条款: 第一条主旨本合同目的在于确定乙方代表甲方搜 索候选人时双方的权利及义务。 第二条搜索服务的基本方式 1.甲方需提供与所需搜索职位有关的详细资料给乙方, 其中主要包括:--工作环境,如公司背景、现状(规模、发展状况、目前和将来的投资等);--职务名称、职位职责,个人发展前景、直属上司情况及汇报路线;--所须具备的条件(包括年龄、性别、教育程度、英文程度、专业经验以及个人品性);--工作中所需要的独立性、工作氛围,流动性(出差需要)和上班地点等;--福利待遇(包括基本工资、奖金和津贴、工作时数、生活条件以及合同保险)。 2.乙方工作程序:--搜索可能达到该标准的候选人,

对这些候选人进行初次面试筛选并确证其资料的真实性; --将候选人资料提交甲方参考,包括对其经验的评价及对其性格,能力和潜质的看法;--为双方安排面谈时间、地点,并参与其中一些条款的协商,协助聘用合同的最终签署; --协助甲方督促被录用候选人与原工作单位按正常的程序办好离职手续。 3.乙方在合同签定之日起天内完成对甲方所需人才的寻访、测评及背景调查,将完整、真实的候选人资料提交甲方,并安排候选人面试。 4.甲方应在收到乙方提供的候选人资料后两日内,做出是否与己有人才资料重复的判断,否则视为乙方推荐;甲方应在收到乙方提供的候选人才资料后一周内,做出是否需要复试的判断,甲方应在候选取人面试后两周内将面试意见及审核结果反馈给乙方,在复试后四周内做出是否录用的判断。 第三条保证期 1.推荐的候选人被甲方录用,并最终到甲方工作,视为猎头服务成功。 2.雇员在保证期(三个月)内无论因任何原因离职,甲方应五天内向乙方提出书面报告,乙方将免费为甲方推荐另一合适候选人到职;乙方收到甲方书面报告后二个月内没有推荐合格人选到职,乙方应退还该项服务费的_______%。

猎头服务合同模板公司方修订版

人才访寻服务合同 本合同由以下双方于年月日在北京签署: 甲方: 地址: 电话: 联系人: 工作邮箱: 乙方: 地址: 电话: 联系人: 工作邮箱: 甲方与乙方经友好协商,双方同意并签订以下条款: 一、服务 1.甲方非独家委托乙方在中华人民共和国境内(不包括港、澳、台地区)按照甲方的职位要求,检索、筛选合适的人选推荐给甲方。为甲方搜索和审核核实候选人,并进行必要的面试与评价。同时,根据甲方在委托期间对招聘计划进行的调整作积极配合及给予相应更换。2.此服务以非专有的方式提供,即:甲方有权聘请任何第三方提供此项服务,乙方有权向任何第三方提供类似之服务,若第三方的职位要求与甲方类似,乙方应优先向甲方推荐合适人选。 3.向被聘用的候选人提供人事咨询与帮助,与甲方保持不间断的关系,协助双方解决可能遇到的问题,确保候选人顺利入职。 4. 甲方与被聘用人员之间的聘用关系由甲方与被聘用人员负责。乙方不对甲方与被聘用人员之 间、任何其他第三方(个人或法人)之间的关系负责。 二、职位描述 1.甲方将随时给予乙方空缺职位描述,乙方应在收到空缺职位描述后1个工作日内与甲方沟通相关职位需求。 2、如乙方为寻访推荐候选人进行必要的广告宣传,应依法、诚信、真实宣传,不得损害甲方的 合法权益,发生的相关费用均由乙方自行承担,乙方对外宣传的广告信息或资料及其所有对外发布信息内容须经甲方书面认可后发布。如果因为广告宣传损害甲方或者第三方合法权益的,由乙方自行承担责任。 三、人员推荐

1.乙方应当按照甲方的招聘需求面试候选人、出具面试报告、推荐合适的人选,并应在接到甲方的招聘需求后5个工作日内就每个职位推荐至少3名符合甲方职位要求的候选人,直到甲方聘用乙方所推荐的候选人为止。 2.乙方应根据甲方的要求核验候选人的个人资料,并做背景调查,说明其以往的工作经历、主要职责、成就以及能说明其工作胜任能力的任何必要资料,保证合法的向甲方提供的每一位候选人的资料真实、准确、完整。

猎头服务协议书

猎头服务协议书 甲方:____________服务有限公司 ____________人才服务中心 乙方:________________________ 甲乙双方就甲方向乙方提供人才猎头服务,达成如下协议: 一、根据中华人民共和国的法律和法规,甲方确认本方有完全的从事本协议所述服务的资格;乙方确认本方是依法成立的组织,符合法律规定的面向社会公开招聘的各项条件和手续,并且向甲方提交的各种书面文件及陈述都是真实有效的。甲乙双方就各自的确认承担相应的法律责任。 二、甲方服务的收费标准是,每成功提供一人,收取________元人民币作为本方的服务佣金。佣金分两次支付,双方签定协议之日,甲方支付________元/人为预付佣金;推荐人选上岗三个月或转正后一个星期内付清余款。 三、甲方收到乙方预付的预付服务佣金后,应按照本协议附件1的要求为乙方提供人才,并保证所提供人才情况的真实性,同时协助乙方安排有关面试考核的事宜。面试考核应本着方便应聘者及乙方的原则进行。 四、乙方应按照本协议附件1规定的条件考核验收甲方提供的人才。并应于考核之日起________天内将是否聘用(含试用,下同)的意见及理由书面通知甲方。否则,视为同意聘用。

五、甲方应于收到预付服务佣金之日起两个星期至一个月内完成委托事项,经双方协商同意,上述期限可以改变,但应另以书面文件规定之。 六、乙方同意聘用(接纳为乙方正式员工)甲方提供的人才,甲方服务即告完成。乙方若于聘用后三个月内辞退甲方提供的人才,应于辞退之前通知甲方,并有权要求甲方重新提供服务,甲方应免费为乙方再推荐人选,并得到乙方聘用为止。 七、非因不可抗力,或乙方认可的其他正当理由,甲方在协议规定的期限内未能向乙方提供候选人才的,应全额返还乙方预付佣金;虽提供候选人才而乙方最终未能聘用的,预付佣金应退还甲方。 八、乙方以超出本协议附件1以外的条件拒绝甲方提供的人才,或在本协议规定的有效期限内自行招聘协议附件1规定的人才,从而无需甲方的服务,甲方有权留置乙方全部预付佣金,折抵甲方服务收入。 九、乙方拒绝甲方提供的人才,从而导致甲方服务失败,但在甲方服务终止后的十二个月内聘用曾被乙方拒绝的人才,应于聘用前通知甲方,并向甲方支付全额服务佣金。否则视为违约,乙方应就此向甲方支付________至________倍的服务佣金作为违约金。 十、本协议在乙方委托寻猎的人数超过一人时,对每一个人才的服务分别有效,彼此无法律上的连带责任关系。

相关文档