当前位置:文档之家› 代理模式

代理模式

代理模式
代理模式

设计模式(十一)代理模式Proxy(结构型)

1.概述

因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要

此对象, 你曾有过延迟创建对象的想法吗( if和else就是不同的两条逻辑路径) ? 你有想过限制访问某个对象,也就是说,提供一组方法给普通用户,特别方法给管

理员用户?以上两种需求都非常类似,并且都需要解决一个更大的问题:你如何提供一致的接口给某个对象让它可以改变其内部功能,或者是从来不存在的功能?

可以通过引入一个新的对象,来实现对真实对象的操作或者将新的对象作为真实对象的一个替身。即代理对象。它可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象去掉客户不能看到的内容和服务或者添加客户需要的额外服务。

例子1:经典例子就是网络代理,你想访问facebook或者twitter ,如何绕过GFW,找个代理网站。

例子2:可以调用远程代理处理一些操作如图:

2.问题:

你怎样才能在不直接操作对象的情况下,对此对象进行访问?

3.解决方案

代理模式: 为其他对象提供一种代理,并以控制对这个对象的访问。(Provide asurrogate or placeholder foranother object tocontrol access to it. )而对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。它是给某一个对象提供一个替代者(占位者),使之在client对象和subject对象之间编码更有效率。代理可以提供延迟实例化(lazy instantiation),控制访问, 等等,包括只在调用中传递。一个处理纯本地资源的代理有时被称作虚拟代理。远程服务的代理常常称为远程代理。强制控制访问的代理称为保护代理。

4.实用性

在需要用比较通用和复杂的对象指针代替简单的指针的时候,使用Proxy(代理)模式。下面是一些可以使用Proxy模式常见情况:

1) 远程代理(Remote Proxy)为一个位于不同的地址空间的对象提供一个本地的代理对象。这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中,远程代理又叫做大使(Ambassador)

2) 虚拟代理(Virtual Proxy)根据需要创建开销很大的对象。如果需要创建一个

资源消耗较大的对象,先创建一个消耗相对较小的对象来表示,真实对象只在需要时才会被真正创建。

3) 保护代理(Protection Proxy)控制对原始对象的访问。保护代理用于对象应该有不同的访问权限的时候。

4) 智能指引(Smart Reference)取代了简单的指针,它在访问对象时执行一些附加操作。

5) Copy-on-Write代理:它是虚拟代理的一种,把复制(克隆)操作延迟到只有在客户端真正需要时才执行。一般来说,对象的深克隆是一个开销较大的操作,Copy-on-Write代理可以让这个操作延迟,只有对象被用到的时候才被克隆。5. 结构

Uml图:

简单结构示意图:

6.模式的组成

7.1)代理角色(Proxy):

. 保存一个引用使得代理可以访问实体。若RealSubject和Subject的接口相同,Proxy会引用Subject。

. 提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体。

. 控制对实体的存取,并可能负责创建和删除它。

. 其他功能依赖于代理的类型:

? Remote Proxy负责对请求及其参数进行编码,并向不同地址空间中的实体发送已编码的请求。

? Virtual Proxy可以缓存实体的附加信息,以便延迟对它的访问。

? Protection Proxy检查调用者是否具有实现一个请求所必需的访问权限。

2) 抽象主题角色(Subject):定义真实主题角色RealSubject 和抽象主题角色Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。代理主题通过持有真实主题RealSubject的引用,不但可以控制真实主题RealSubject 的创建或删除,可以在真实主题RealSubject被调用前进行拦截,或在调用后进行某些操作.

3) 真实主题角色(RealSubject):定义了代理角色(proxy)所代表的具体对象.

7. 效果

Proxy模式在访问对象时引入了一定程度的间接性。根据代理的类型,附加的间接性有多种用途:

1) Remote Proxy可以隐藏一个对象存在于不同地址空间的事实。也使得客户端可以访问在远程机器上的对象,远程机器可能具有更好的计算性能与处理速度,可以快速响应并处理客户端请求。

2) Virtual Proxy 可以进行最优化,例如根据要求创建对象。即通过使用一个小对象来代表一个大对象,可以减少系统资源的消耗。

3) Protection Proxies和Smart Reference都允许在访问一个对象时有一些附加的内务处理(Housekeeping task)。

Proxy模式还可以对用户隐藏另一种称之为写时复制(copy-on-write)的优化方式,该优化与根据需要创建对象有关。拷贝一个庞大而复杂的对象是一种开销很大的操作,如果这个拷贝根本没有被修改,那么这些开销就没有必要。用代理延迟这一拷贝过程,我们可以保证只有当这个对象被修改的时候才对它进行拷贝。在实现copy-on-write时必须对实体进行引用计数。拷贝代理仅会增加引用计数。只有当用户请求一个修改该实体的操作时,代理才会真正的拷贝它。在这种情况下,代理还必须减

少实体的引用计数。当引用的数目为零时,这个实体将被删除。copy-on-write可以大幅度的降低拷贝庞大实体时的开销。

代理模式能够协调调用者和被调用者,在一定程度上降低了系统的耦合度。

代理模式的缺点

由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。

实现代理模式需要额外的工作,有些代理模式的实现非常复杂。

8.实现

我们用获取天气预报的例子说明代理模式:

/**

* 代理模式

*

* 为其他对象提供一个代理以控制这个对象的访问

*

*/

/**

* 抽象主题角色(Subject):天气

*

*/

interface Weather

{

public function request($city);

public function display($city);

public function isValidCity($city);

}

/**

* 真实主题角色(RealSubject):

*

*/

class RealWeather implements Weather

{

protected $_url =

'https://www.doczj.com/doc/1615355951.html,/ig/api?&oe=utf-8&hl=zh-cn&weather=';

protected $_weatherXml = '' ;

function __construct(){

}

public function request($city){

$this->_weatherXml = file_get_contents($this->_url . $city );

}

public function display($city ){

if ($this->_weatherXml == '') {

$this->request($city);

}

//$this->_weatherXml = mb_convert_encoding($this->_weatherXml,

'UTF-8', 'GB2312');

$weatherxml = simplexml_load_string($this->_weatherXml);

$low =

intval($weatherxml->weather->forecast_conditions[0]->low->attributes());

$high =

$weatherxml->weather->forecast_conditions[0]->high->attributes();

$icon= 'https://www.doczj.com/doc/1615355951.html,'.

$weatherxml->weather->forecast_conditions[0]->icon->attributes();

$condition=$weatherxml->weather->forecast_conditions[0]->condition->attributes();

$weather = date('Y年n月j日').' 天气预报:'.$city_names[$city].'

alt="'.$condition.'" width="16" height="17" align="absmiddle" />

class="f_bold">:'.$low.'°C ~ '.$high.'°C '.$condition;

echo $weather;

}

public function isValidCity($city){

}

}

/**

* 代理角色(Proxy):延迟代理

*

*/

class ProxyWeather implements Weather {

private $_client ;

private function client() {

if (! $this->_client instanceof RealWeather) {

$this->_client = new RealWeather();

}

return $this->_client;

}

public function request($city){

$this->_client()->request($city);

}

public function isValidCity($city) {

return $this->_client()->isValidCity($city);

}

public function display($city) {

return $this->client()->display($city);

}

}

/**

* 代理角色(Proxy):动态代理

*

*/

class GenericProxyWeather {

protected $_subject;

public function __construct($subject) {

$this->_subject = $subject;

public function __call($method, $args) {

return call_user_func_array(

array($this->_subject, $method),

$args);

}

}

class Client{

static function main(){

$proxy = new ProxyWeather();

$report = $proxy->display('beijing');

}

static function Genericmain(){

$proxy = new GenericProxyWeather(new RealWeather());

$report = $proxy->display('beijing');

}

}

header('Content-type:text/html;charset=UTF-8');

Client::main();

//Client::Genericmain();

9. 与其他相关模式

1)适配器模式Adapter:适配器Adapter 为它所适配的对象提供了一个不同的接口。相反,代理提供了与它的实体相同的接口。然而,用于访问保护的代理可能会拒绝执行实体会执行的操作,因此,它的接口实际上可能只是实体接口的一个子集。

2) 装饰器模式Decorator:尽管Decorator的实现部分与代理相似,但Decorator 的目的不一样。Decorator为对象添加一个或多个功能,而代理则控制对对象的访问。

10.总结

代理模式在很多情况下都非常有用,特别是你想强行控制一个对象的时候,比如:延迟加载,监视状态变更的方法等等

1、“增加一层间接层”是软件系统中对许多负责问题的一种常见解决方法。在面向对象系统中,直接使用某些对象会带来很多问题,作为间接层的proxy对象便是解决这一问题的常用手段。

2、具体proxy设计模式的实现方法、实现粒度都相差很大,有些可能对单个对象作细粒度的控制,有些可能对组件模块提供抽象代理层,在架构层次对对象作

3、proxy并不一定要求保持接口的一致性,只要能够实现间接控制,有时候损及一些透明性是可以接受的。例如上面的那个例子,代理类型ProxyClass 和被代理类型LongDistanceClass可以不用继承自同一个接口,正像GoF《设计模式》中说的:为其他对象提供一种代理以控制这个对象的访问。代理类型从某种角度上讲也可以起到控制被代理类型的访问的作用。

因为示例Web站点非常不错,所以CD店的销售不断增长。扩展已势在必行,但是站点每天都要进行正常的销售。良好的工作代码实际十分简单。首先,我们要创建表示访问者能够购买的CD的对象。

class CD

{

protected $_title =??;

protected $_band = …?;

protected $_handle = null;

public function __construct($title,$band) {

$this->_title = $title;

$this->_band = $band;

}

public function buy(){

$this-> connect ();

$query=”update CDs set bought=1 where band=?”;

$query.=mysql_real_escape_string($this->_band,$this->_handle);

$query.=”…and title=?“;

$query.=mysql_real_escape_string($this->_title,$this->_handle);

mysql_query ($query, $this-> handle);

protected function connect (){

$this->_handle =mysql_connect('localhost’, ‘user’, ‘pass’);

mysql_select_db('CD?, $this->_handle);

}

通过将两个参数$title 和$band分别指派给保护变量$_title和$_band,构造函数构建了CD对象。CD对象还具有一个名为buy()的公共方法,该方法执行具体的销售。第一个步骤是调用受保护方法__connect( )。_connect()使用适当的凭证创建一个与本地MySQL数据库的连接。接下来,buy()方法创建了一条查询,该査询会更新CD记录并将其设置为已购买状态。最后,执行这个查询,完成CD购买。如下所示,购买CD的当前代码拥有相当明星的流线型结构:$externalTitle = “Waste of a Rib “;

$externalBand =” Never Again “;

$cd = new CD($externalTitle, $externalBand);

$cd->buy();

上面的代码创建了CD对象的一个新实例,随后执行了公共方法buy(),从而完成了CD 的购买操作。

因为销售形势喜人,所以我们已经扩展了服务器性能。现在,我们需要访问位于德克萨斯州达拉斯某处的数据。这就要求一个具有访问性能的Proxy对象,该对象需要截取与本地数据库的连接。转而连接达拉斯网络运营中心(Network Operations Center) 。Proxy对象简单地扩展了基对象CD,不过还替换了功能性:class DallasNOCCDProxy extends CD

{

protected function _connect ()

$this->_handle = mysql_connect (…dallas?,?user? , …pass?);

mysql_select_db(…CD?);

}

}

受保护方法_connect()会被Proxy对象重这个方法此时不连接localhost,而是连接dalla主机。调用代码不淸楚实际上与代理共同工作。如下所示,调用代码只做了很小的更改:

$externalTitle = 'Waste of a Rib?;

$externalBand = …Never Again?;

$cd = new DallasNOCCDProxy($externalTitle, $externalBand);

$cd->buy();

在需要截取两个对象之间的通信时,最佳的做法是使用一个基于代理设计模式的新对象。

五、适用性

1)假如有一个外部组件包,不允许实现其接口,则就只能使用其动态代理了。2)直接访问一个对象很困难,或者说不能访问,此时只能是找个代理去访问,然后把结果反馈给自己。

六、优缺点

1) 优点: 向客户端隐藏了访问某个对象的细节及复杂性;可以动态地调用一个对象中的方法,且无需实现固定的接口。

2) 缺点:暂时没发现

让我们看一个代理模式的最简单形态,首先,你需要创建一个subject类用于代理。

// PHP4

class Subject {

function someMethod() {

sleep(1); //do something

}

}

下一步,你需要一个代理类,这个类需要实例化subject类用于代理。

class ProxySubject {

var $subject;

function ProxySubject() {

$this->subject =& new Subject;

}

}

在上面的ProxySubject类,在构造器中创建了subject对象(还有其他的可供选择的方法,比如通过传递一个参数给构造器或者用工厂创建subject对象,这些都是同样可行的)。

最后,你的代理类提供所有公有的方法必须让subject类支持。在这个案例上, someMethod()就是这样一个方法。

class ProxySubject {

var $subject;

function ProxySubject() {

$this->subject =& new Subject;

}

function someMethod() {

$this->subject->someMethod();

}

}

ProxySubject类通过$this->subject->someMethod()才真正的调用Subject类。代理既可以有一些方法直接调用,又可以在调用之前使用一些附加逻辑(延迟加载,监视)。

一个简单的例子

上面的简单例子展示了代理模式的基本结构,当然我们需要一些更有趣和实际的例子。

Web服务变得非常流行,PHP5包含了一些支持的很好的协议,就如SOAP一样可以很容易的理解远程服务。创建SOAP客户端的部分功能是为了处理 WSDL文件。然而,你可以延迟处理WSDL文件直到你需要处理这个文件的时候。席面一个代理的例子将会展示远程代理访问SOAP服务和延迟实例化。

远程代理

首先,基于PHP5风格, 来一段创建简单的SoapClient对象的代码。你必须编译的时候加上—enable-soap选项,才能使用SoapClient类,如果你已经做过了,那么你就可以用URL形式,把WSDL文件传入构造器来创建SoapClient实例:

// PHP5

$client = new SoapClient(

…http://live。capescience。com/wsdl/GlobalWeather。wsdl?);

首先一个问题是你用什么方法让SoapClient做回应? 运行

var_dump(get_class_methods(get_class($client)));,你可以很容易的列举在运行时

的方法。需要更加详细的例子的话,你可以参考下面的测试案例:

class ProxyTestCase extends UnitTestCase {

const WSDL = …http://live。capescience。com/wsdl/GlobalWeather。wsdl?; private $client;

function setUp() {

$this->client = new SoapClient(ProxyTestCase::WSDL);

}

function TestMethodsOfSoapClient() {

$soap_client_methods = array(

…__construct?,

…__call?,

…__soapCall?,

…__getLastRequest?,

…__getLastResponse?,

…__getLastRequestHeaders?,

…__getLastResponseHeaders?,

…__getFunctions?,

…__getTypes?,

…__doRequest?);

$this->assertEqual(

$soap_client_methods, get_class_methods(get_class($this->client)));

}

}

在PHP升级的时候,这个测试放入程序进行测试对于监视你的程序会很有用,比如发现有什么方法增加了,或者是你可以发现哪些被依赖的方法被删除了,验证PHP编译的时候是否加入了SOAP选项。但必须要说的是,这个测试是极端的脆弱:其弱点就是会因为更改代码的原因,需要重构而且高度依赖函数列表的顺序。目前,虽然这个测试描述了SoapClient如何工作,如果你想要放一个类似的测试进行测试,最好还是重构它,用in_array函数来明确的寻找你需要测试的函数。你可以使用SoapClient::__getFunctions()方法很容易的了解指定的SOAP提供什么服务。在GlobalWeather.wsdl的案例,你可以按照下面方法做:

class ProxyTestCase extends UnitTestCase {

function TestSoapFunctions() {

$globalweather_functions = array(

…Station getStation(string $code)?,

…boolean isValidCode(string $code)?,

…ArrayOfstring listCountries()?,

…ArrayOfStation searchByCode(string $code)?,

…ArrayOfStation searchByCountry(string $country)?,

…ArrayOfStation searchByName(string $name)?,

…ArrayOfStation searchByRegion(string $region)?,

…WeatherReport getWeatherReport(string $code)?

);

$this->assertEqual(

$globalweather_functions,

$this->client->__getFunctions());

}

}

SoapClient::__getFunctions()会返回一个表示API的字符串数组给WEB服务。在每个方法中,都有返回类型,方法名,参数类型会被列出来

最后让我们看一个简单的实际例子来理解PHP5风格的SoapClient这个服务。假设有这样的一个例子,我们需要查看美国伊利诺斯州的moline的天气。这个获得当前moline飞机场天气状态的代码称为”KMLI”,需要调用getWeatherReport()方法和传递?KMLI?字符串作为参数。这个调用将返回一个WeatherReport对象。

class ProxyTestCase extends UnitTestCase {

function TestGetWeatherReport() {

$moline_weather = $this->client->getWeatherReport(…KMLI?);

$this->assertIsA($moline_weather, …stdClass?);

}

}

因为WeatherReport实际上并不是你程序中定义的类, SoapClient都象stdClass的实例化一样的返回所有的对象。这时你也可以获得返回对象的属性的值。

class ProxyTestCase extends UnitTestCase {

function TestGetWeatherReport() {

$moline_weather = $this->client->getWeatherReport(…KMLI?);

$this->assertIsA($moline_weather, …stdClass?);

$weather_tests = array(

…timestamp? => …String?

,?station? => …stdClass?

,?phenomena? => …Array?

,?precipitation? => …Array?

,?extremes? => …Array?

,?pressure? => …stdClass?

,?sky? => …stdClass?

,?temperature? => …stdClass?

,?visibility? => …stdClass?

,?wind? => …stdClass?

);

foreach($weather_tests as $key => $isa) {

$this->assertIsA($moline_weather->$key,

$isa,

“$key should be $isa, actually [%s]”);

}

}

}

上面的代码创建了属性和返回类型的映射。你可以迭代这些预期值的列表,

并使用assertIsA()验证正确的类型。当然你以可以同样的验证其他的集合对象。class ProxyTestCase extends UnitTestCase {

function TestGetWeatherReport() {

// continued 。。。

$temp = $moline_weather->temperature;

$temperature_tests = array(

‘ambient’ => ‘Float’

,’dewpoint’ => ‘Float’

,’relative_humidity’ => ‘Integer’

,’string’ => ‘String’

);

foreach($temperature_tests as $key => $isa) {

$this->assertIsA($temp->$key,

$isa,

“$key should be $isa, actually [%s]”);

}

}

}

上面的方法输出的实际效果如下:

stdClass Object

(

[timestamp] => 2005-02-27T13:52:00Z

[station] => stdClass Object

(

[icao] => KMLI

[wmo] => 72544

[iata] =>

[elevation] => 179

[latitude] => 41。451

[longitude] => -90。515

[name] => Moline, Quad-City Airport

[region] => IL

[country] => United States

[string] => KMLI - Moline, Quad-City Airport, IL, United States @ 41。451?N -90。515?W 179m

)

// 。。。

[temperature] => stdClass Object

(

[ambient] => 0。6

[dewpoint] => -2。8

[relative_humidity] => 78

[string] => 0。6c (78% RH)

)

// 。。。

)

延迟代理

现在你基本掌握了PHP5风格的SoapClient(如何做一个远程代理),但是你怎么才能写一个延迟实例化的代理给SoapClient呢?

class GlobalWeather {

private $client;

public function getStation($code) {

return $this->client->getStation($code);

}

}

getStation()可以代理$client变量指向的getStation()方法。不管如何,从这点上看, SoapClient实例并没有创建,也没有存储到$client变量,因为上面已说过,对WSDL文件进行远程处理应该延迟到真正需要的时候。

你可以在插入一段延迟加载的代码之前做一下client的调用,来延迟SoapClient的实例化

class GlobalWeather {

private $client;

private function lazyLoad() {

if (! $this->client instanceof SoapClient) { //这里延迟的作用

$this->client = new SoapClient(

…http://live。capescience。com/wsdl/GlobalWeather。wsdl?);

}

}

// …Station getStation(string $code)?,

public function getStation($code) {

$this->lazyLoad();

return $this->client->getStation($code);

}

}

lazyLoad()中创建SoapClient对象是一定要的。这里存在一个问题:如果我是一个懒惰的编码者,让我非常不爽是:我不得不在所有的代理方法中加入

$this->lazyLoad();。有更加简便的方法吗?当然有,重写一遍吧,使用PHP5新的特性来返回对象。改lazyLoad()的名字为client(),并在这个方法里面实例化$client,代理中的方法访问client()方法优于访问$client属性。把延迟实例化做的更加简单!

class GlobalWeather {

private function client() {

if (! $this->client instanceof SoapClient) { //这里延迟的作用

$this->client = new SoapClient(

…http://live。capescience。com/wsdl/GlobalWeather。wsdl?);

}

return $this->client;

}

public function isValidCode($code) {

return $this->client()->isValidCode($code);

}

public function getWeatherReport($code) {

return $this->client()->getWeatherReport($code);

}

}

你迷上GlobalWeather服务的延迟实例代理类了吗?你有一个类可以在任何时间在你的程序里面创建,并且在不需要它们的时候就不解析的远程资源。使用代理类还有另外一个优势:使用代理可以列举SOAP所支持的方法,你现在就可以对这个类进行测试。

注:延迟代理可延迟异常

在PHP5里,创建一个对象会产生一个异常。使用延迟实例化代理,你可以延迟这个潜在的异常直到第一次使用方法创建对象的时候。(你可以试试用代理完成这个功能。)这明显不是代理模式的重点,但是往往有一些事情,你需要记住。

动态代理

PHP5提供一些很好的特性,可以快速的封装一个代理类而不用明确的写出每一个方法。

class GenericProxy {

protected $subject;

public function __construct($subject) {

$this->subject = $subject;

}

public function __call($method, $args) {

return call_user_func_array(

array($this->subject, $method),

$args);

}

}

这里的关键是_call()方法代理类中的_call方法允许你通过$subject代替的方式来重定义每个调用。由于__call()比其他方法的优先级别都低,你可以在代理类中定义一个方法,让__call()来代替执行,于是你可以加一些特别的需求到你使用的代理模式。

总结

代理模式在很多情况下都非常有用,特别是你想强行控制一个对象的时候,

比如:延迟加载,监视状态变更的方法等等。这章通过开发GlobalWeather类做示范,以后你也可以使用代理模式在你的本地计算机上使用远程资源:

动态代理在编写代码的时候非常简单,因此可以很快速和容易的实现在你的程序中。然而(所有的实现都依赖__call()方法),反射并不能在对象内部具备这样的可见性(译注:反射一般是在不了解类的内部情况下操作的)。在特殊情况下,如果你使用一个代理就需要一个接口,你不能老是依赖于__call()方法,至少必须编码的时候,应该把接口所有的方法很明确的写入你的代理类。

几种代理模式的优劣势分析

一、自建设营销团队销售和选择营销代理公司的优劣势对比 自销的优势: 1、掌握客户需求,灵活决策,维护品牌:亲力亲为,省去代理商的沟通环节,能够直接面对客户,根据市场动态灵活调整营销策略,并且能够亲自对客户和自身品牌进行维护。 2、能够有效控制销售节奏和价格: 销售策略和推广策略是营销过程中最关键的两个环节。有利于销售策略调整,可以及时调整销售节奏,使节奏有条不紊、灵活应对市场变化,使销售单位合理搭配。同时销售价格也做到灵活多样、及时到位,防止大的失误。 3、便于管理:利于沟通,提高工作效率; 4、降低成本:自行销售可以节省0.5%的营销费用,减掉溢价分成部分,利润最大化;这笔开支虽然不多,但可以克服消费者的心里障碍,为消费者省钱。 5、为以后项目开发储备人才和团队,积累销售经验; 自销的劣势 1、公司目前组建自销团队不现实:公司目前缺乏房地产开发、销售经验和人才,企业组织构架不 够完备,难以对营销团队进行有效管理和培训,会造成营销团队执行力差,销售策略失误、管理成本高,可能严重影响项目的销售目标的实现; 2、如果请顾问公司,对顾问服务方案的恐难执行到位:由于缺乏专业团队和经验及团队管理能力, 对顾问公司的方案难以执行到位,将影响销售业绩;

3、销售团队管理成本高,管理能力差,造成公司机构和人员臃肿:特别在公司项目不多的情况下, 后期开销大、收益低; 4、缺乏动力,自我监管效率低:由于自己销售,管理较为松散,缺乏斗志与激励,降低效率,提 高成本; 选择营销代理的优势 1、便于聚集力量做好资源整合与开发: 发展商的主要社会责任是整合和项目开发管控,一个地产项目涉及专业相当多,比如有建筑设计、园林设计、建筑施工、楼盘销售、市场调研、广告包装、物业管理等等,但不可能样样事情都亲力亲为,只能做好项目综合管理和及时调控,请中介代理不仅可能达到“无为而治”,省力、省心,“不必为了销售而养一个销售团队“。 2、请代理公司能够将收益最大化,并降低成本: A:专业营销公司操作实力强,能够有效解决前期定位、规划设计落地,并在后期销售过程中承担前期顾问质量的责任,有效将产品进行销售策划,并制定高效低成本的销售策略和推广策略; B:专业营销公司能够保障合理的销售速度与价格:提高客户的服务质量,精确项目把控销售的速度,并且能因应市场动态及时做出应对措施; C:运用专业营销策划能力,对项目进行定位、包装、推广等,使项目实际收益超出期望收益; D:可以充分利用中介公司的客户资料,一般的中介公司都有自己的客户网络,这些资料不是发展商短时间能积累起来的。 3、降低开发与销售的风险,提高成功率:

代理商加盟流程表

代理商加盟流程表-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

加盟流程图

加盟流程 1、通过招商咨询了解 A:通过会议、培训、广告等招商渠道,了解企业概况及经营模式。 B:了解加盟条件及要求。 C:确定开店意向。 2、填写加盟申请表 A:加盟方填写《加盟申请表》,提交至公司总部审核。 3、公司考核 A:总部接收到申请表后,对加盟商的具体情况及条件进行审查。 B:审查通过,通知申请人,即可签约。 4、签约 A:公司提供特许加盟合同文本,并予以解释。 B:公司与加盟方签订加盟合同,明确双方合作方式、权利及义务。 C:缴纳相关加盟费用。 5、首单进货 A:合同签订后,加盟方应预付首单货款。 6、选址、办证 A:根据加盟方提供的开店地址,公司确定项目的可行性,共同确定最终选址方案。 B:店址确定后,加盟方需办理营业执照等相关证件。 7、装修设计、招聘

A:加盟方提供店面平面图,公司负责设计装修方案及效果图。B:在公司的指导下,按公司统一的设计方案进行选材、装潢。C:招聘开店所需人员。 8、培训 A:公司统一为加盟方提供开店运作培训。 B:管理软件及硬件操作培训。 C:市场分析及市场渠道开拓指导。 D:店员培训。 9、物流配送 A:店面装修完毕后,有公司物流进行首单配货。 B:货品到店,公司指导加盟方商品陈列及店内摆放。 10、开业 A:落实开业宣传方案及促销措施。 B:举行开业仪式。 C:追踪开业运营情况,提供咨询意见。 D:及时反馈开业初期运营情况。 11、经营指导 A:规范经营,及时向公司反映经营情况。 B:落实公司各项宣传及促销措施。 C:公司不定期对加盟方培训及指导。

代理商模式的利与弊

代理商模式的利与弊 选择代理商是中小企业一项至关重要的市场战略任务,是中小企业将产品推向市场的最佳途径。 1.选择代理商的好处: a.降低企业的资金风险 在市场开发初期,特别是对于中小企业选择代理商共同操作市场,可以充分利用代理商的资金加快企业的资金周转率,降低企业的资金风险。 b.迅速打开市场 国外很多大品牌在进入中国市场前期往往表现不佳,其中对中国市场情况不熟悉就是其主要原因之一。而代理商充分熟悉当地的地域特性、消费习惯以及具有良好的客情关系。而我们选择代理商来共同操作市场可以充分利用此优势来迅速打开市场。 c.让制造和营销专业分工 随着渠道格局的转变,现在越来越多的传统代理商开始转型,其中一部分优秀的代理商已转型为区域品牌运营商。对于中小企业而言,可以进一步进行分工明细化,选择代理商在不违反企业整体品牌战略的前提下来进行区域品牌运营,共同操作市场。由代理商做好产品的分销、品牌推广。让制造和营销专业分工,企业负责制造出具有差异化、高附加值和核心竞争力的好产品,打造良好的品牌载体,给予代理商合理的销售政策。 d.节约市场开发费用 选择代理商共同操作市场可以减少机构的重复设置,比如售后服务机构;利用代理商的销售网络,减少市场开发费用;利用代理商对当地市场的熟悉减少市场调研费用。同时理商从某种程度上讲可以说是企业的股民,厂家和代理商是一个利益共同体。随着市场竞争的进一步激烈和渠道格局的改变,招待费、车船费、住宿、员工工资等其它销售费用也随之急剧增长,而利润不断下降。选择代理商共同操作市场可以和代理商进行费用分摊,节约企业的市场开发费用。 2.选择代理商的劣处: a.战略协同难度大。 厂家和代理商都是一个独立的经济个体。有着各自的战略计划。厂家比较注重长期行为,追求品牌建设、市场占有率和利润的最佳平衡。而代理商由于没有有力保障系统,不能得到厂家的长期认可,所以比较注重短期行为,追求短期利润。 b.利润分配空间不足。 随着市场竞争的进一步激烈和渠道格局的改变,导致市场开发费用增大,利润空间减小。而厂家和代理商都是一个独立的经济个体,都在追求自我的利润最大化,从而导致利润分配空间不足。 c.分道扬镳。 厂家和代理商是一个利益和矛盾的综合体,厂商矛盾是始终都会存在的。厂家希望代理商多打款进货,而代理商则希望产品要好、利润要高、支持要大、风险要低。由于代理商的实力不够、对厂家不忠诚或者是对厂家投入的精力不够、不执行厂家的销售政策或者双方的思路出现分岐都会导致分道扬镳。

加盟店模式运行流程及管理办法 (2)

加盟店模式运行流程及管理办法 一、加盟条件 1.取得合法的经营权限; 2.认同国泰消防企业文化和发展战略; 3.具有良好的消防市场网络; 4.有区域物流、资金流、信息流管理能力; 5.有良好的社会关系; 6.店面面积达到50㎡以上; 二、加盟店支持政策 1.广告支持:目前机场高速、沪宁高速、南京长江大桥等多处都有我公司 户外广告,同时支持网络媒体广告,相关专业性杂志的广告投放。 2.门店租金支持:公司提供50㎡门店租金支持,超出部分面积自行承担。 3.提供装修支持:公司提供50㎡面积的装修支持,超出部分面积自行承担。 4.样品出样支持:根据店面情况公司免费提供一万元以内的展示样品。 5.业务信息支持:呼叫中心信息平台免费信息提供。 6.业务管理辅助支持:加盟前期公司派驻专业人员指导门店管理,业务管 理。 三、年度销售任务及保证金

1.加盟店必须完成不少于200万/年的销售任务,公司对门店销量进行季度 考核,确保年度任务的完成,若不能完成季度任务,公司有权选择其他合作伙伴,并扣留保证金。 2.加盟店必须交纳5万元的保证金作为信誉担保,在完成年任务量后返还 保证金。 四、物流政策 五、价格政策 1.供货价格由公司统一制定,产品销售的市场价,必须按公司确定的浮动区间 内执行,以免造成市场价格混乱。 2.市场价格表由国泰消防统一制定、发布,并保留价格的调整权利。 3.专卖店不得以低于或高于限价报价并向市场销售本公司产品。 4.专卖店订制的非标准化产品价格,由双方另行协商确定。

5.在大型工程或特殊意义的项目需要低于最低限价或高于销售的必须经国泰 消防总经理批准。 6.如公司价格调整,提前一周以书面形式向专卖店通报价格调整情况 六、加盟店权利及义务 1、加盟店进货享受公司最优惠出厂价格。 2、加盟店必须服从集团公司的管理; 3、专卖店不得兼营其他消防品牌产品,若发现则扣除加盟店保证金;给公司 品牌造成严重影响的,并追加罚款。 4、在经营活动中公司如发现倒单现象公司有权扣除保证金,同时追究其法律 责任。 营销中心 2009-6-18

三种代销方式

目前企业之间的代销方式主要有三种:视同买断方式、仅收取代销手续费方式、加价且收取代销手续费方式。采取不同的代销方式,企业的税负会有很大差异。由于企业间代销商品的现象非常普遍,所以选择合理的代销方式会有利于企业节税。下面分别举例说明三种代销方式下企业的税负情况。 视同买断 视同买断方式是指由委托方和受托方签订协议,委托方按协议价收取所代销的货款,实际售价可由受托方自定,实际售价与协议价之间的差额归受托方所有,委托方不另外支付手续费。税法规定,受托方以视同买断方式代销货物应缴增值税。 例如,A企业委托B企业销售甲商品100件,协议价300元/件,该商品成本200元/件,其中耗用购进材料和应税劳务占60%。增值税率17%,城建税率7%,教育费附加3%,所得税率33%。A企业收到B 企业开来的代销清单时开具增值税专用发票,发票上注明:售价30000元,增值税额5100元。B企业实际销售时开具的增值税专用发票注明:售价35000元,增值税额5950元。B企业销售费用为每件5元。 A企业:应缴增值税=5100-200×100×60%×17%=3060元; 应缴城建税和教育费附加=3060×(7%+3%)=306元; 应缴所得税=(30000-200×100-306)×33%=3199.02元; 应缴各税合计=3060+306+3199.02=6565.02元; 净利润=(30000-200×100-306)×67%=6494.98元。 B企业:应缴增值税=5950-5100=850元; 应缴城建税和教育费附加=850×(7%+3%)=85元; 应缴所得税=(35000-30000-85-5×100)×33%=1456.95元; 应缴各税合计=850+85+1456.95=2391.95; B企业净利润=(35000-30000-85-5×100)×67%=2958.05元。 A企业、B企业合计缴税=6565.02+2391.95=8956.97元;税负=8956.97÷(350×100)=25.59%。 仅收取代销手续费 仅收取代销手续费方式是指由委托方和受托方签订协议,受托方根据所代销的商品数量向委托方收取手续费,受托方按协议价销售,不得自行改变售价。税法规定,受托方以仅收取代销手续费方式代销货物而取得的手续费应缴营业税。 接上例,B企业按每件300元出售给顾客,实际销售时开具的增值税专用发票注明:售价30000元,增值税额5100元。A企业按协议价的10%支付B企业手续费3000元。B企业销售费用为每件5元。 A企业:应缴增值税=5100-200×100×60%×17%=3060元; 应缴城建税和教育费附加=3060×(7%+3%)=306元; 应缴所得税=(30000-200×100-3000-306)×33%=2209.02元; 应缴各税合计=3060+306+2209.02=5575.02元; 净利润=(30000-200×100-3000-306)×67%=4484.98元。 B企业:应缴增值税=5100-5100=0元; 应缴营业税=3000×5%=150元; 应缴城建税和教育费附加=(0+150)×(7%+3%)=15元; 应缴所得税=(3000-150-15-5×100)×33%=770.55元; 应缴各税合计=150+15+770.55=935.55元; 净利润=(3000-150-15-5×100)×67%=1564.45元。 A企业、B企业合计缴税=5575.02+935.55=6510.57元。税负=6510.57÷(300×100+3000)=19.73%。 加价且收取代销手续费 加价且收取代销手续费方式是指由委托方和受托方签订协议,委托方按协议价收取所代销的货款,实际售价可由受托方自定,实际售价与协议价之间的差额归受托方所有,委托方还另外支付给受托方手续费。税法认为,此种代销方式下,受托方的手续费收入实际包括两部分:一是销售货物的差价,二是另收的手

代理商加盟流程表.docx

加盟流程图 通过招商咨询了解 填写申请表 公司考核 签约 首单进货 选址、办证 设计装修、招聘 培训 物流配送 开业 经营指导 加盟流程

1、通过招商咨询了解 A:通过会议、培训、广告等招商渠道,了解企业概况及经营模式。 B:了解加盟条件及要求。 C:确定开店意向。 2、填写加盟申请表 A:加盟方填写《加盟申请表》,提交至公司总部审核。 3、公司考核 A:总部接收到申请表后,对加盟商的具体情况及条件进行审查。 B:审查通过,通知申请人,即可签约。 4、签约 A:公司提供特许加盟合同文本,并予以解释。 B:公司与加盟方签订加盟合同,明确双方合作方式、权利及义务。 C:缴纳相关加盟费用。 5、首单进货 A:合同签订后,加盟方应预付首单货款。 6、选址、办证 A:根据加盟方提供的开店地址,公司确定项目的可行性,共同确定最终选址方案。B:店址确定后,加盟方需办理营业执照等相关证件。

7、装修设计、招聘 A:加盟方提供店面平面图,公司负责设计装修方案及效果图。B:在公司的指导下,按公司统一的设计方案进行选材、装潢。C:招聘开店所需人员。 8、培训 A:公司统一为加盟方提供开店运作培训。 B:管理软件及硬件操作培训。 C:市场分析及市场渠道开拓指导。 D:店员培训。 9、物流配送 A:店面装修完毕后,有公司物流进行首单配货。 B:货品到店,公司指导加盟方商品陈列及店内摆放。 10、开业 A:落实开业宣传方案及促销措施。 B:举行开业仪式。 C:追踪开业运营情况,提供咨询意见。 D:及时反馈开业初期运营情况。 11、经营指导

A:规范经营,及时向公司反映经营情况。 B:落实公司各项宣传及促销措施。 C:公司不定期对加盟方培训及指导。 加盟条件 1、按照全国行政区域划分,每个区或县开设一家加盟店。 2、经营场地实际面积不小于50 平方米。 3、具有基本经营能力和管理经验。 4、提供经营所需的营业执照等相关证件。 5、认同企业文化、经营理念和发展目标,遵守公司的各项管理制度。 6、首单进货款不低于 3 万元人民币。 十大统一 统一店铺标识 统一店面设计 统一服务标准 统一员工服饰 统一设备配置 统一经营理念 统一价格体系

什么是代理销售模式

什么是代理销售模式 代理销售模式是目前最广泛的销售模式,也是现在比较科学的销售模式,看下图:工厂------》一级代理商----》二级代理商---》。。。---》销售点(商场,超市,商店)。 就比如康师傅工厂生产了,会把产品发送到地区代理商那,(比如东北区代理),代理商再把产品发送到下一级代理商,(如辽宁省代理商),再发到下一级(比如沈阳康师傅总代理),再由沈阳代理商把产平发送到各个商场,商店,超市。这样的模式方便管理,一级一级的,跟现在的政治模式差不多。 好处: 1、不用投资产品在生产环节上的各项费用; 2、容易与其他代理商一起形成规模效应,使生产厂家降低经营成本,直接体现在降低产品价格上; 3、享受到厂家的各种资源,如品牌,培训,制度,设备等; 4、市场风险减低,最直接就是降低产品存量风险; 5、退出容易。 缺点: 1、厂家有品牌的知识产权,最终体现在对下游的控制主动性; 2、信息不对称,厂家的经营信息和经营规划代理商完全不知道,但代理商的经营信息厂家完全掌握。这样厂家可以随时根据代理商的经营信息调整经营策略,规避风险或者转嫁风险; 3、代理商既得利益不能保障,虽然国家规定产品质量问题由厂家承担,但如果厂家失去承担责任的能力或者逃避承担责任,那么作为流通环节最上游的代理商就可能会承担法律和经济责任。 4、资金风险,这个与信息不对称有一定关联,不过即使知道厂家经营信息,但代理商在合作期间要为厂家垫付一定的在途资金,这些资金的风险完全由代理商承担。 好了,我的水平大概就只提供到这些了,老板你就琢磨一下吧。 1、销售代理方式 1、实行一级代理制,所有代理商均为地市级代理,概不设立 省级代理商。若地市级代理自行设立下一级代理商,其下一级

代理商加盟流程表

加盟流程图

加盟流程 1、通过招商咨询了解 A:通过会议、培训、广告等招商渠道,了解企业概况及经营模式。 B:了解加盟条件及要求。 C:确定开店意向。 2、填写加盟申请表 A:加盟方填写《加盟申请表》,提交至公司总部审核。 3、公司考核 A:总部接收到申请表后,对加盟商的具体情况及条件进行审查。 B:审查通过,通知申请人,即可签约。 4、签约 A:公司提供特许加盟合同文本,并予以解释。 B:公司与加盟方签订加盟合同,明确双方合作方式、权利及义务。 C:缴纳相关加盟费用。 5、首单进货 A:合同签订后,加盟方应预付首单货款。 6、选址、办证 A:根据加盟方提供的开店地址,公司确定项目的可行性,共同确定最终选址方案。 B:店址确定后,加盟方需办理营业执照等相关证件。 7、装修设计、招聘 A:加盟方提供店面平面图,公司负责设计装修方案及效果图。 B:在公司的指导下,按公司统一的设计方案进行选材、装潢。 C:招聘开店所需人员。 8、培训 A:公司统一为加盟方提供开店运作培训。 B:管理软件及硬件操作培训。 C:市场分析及市场渠道开拓指导。 D:店员培训。 9、物流配送 A:店面装修完毕后,有公司物流进行首单配货。 B:货品到店,公司指导加盟方商品陈列及店内摆放。 10、开业 A:落实开业宣传方案及促销措施。 B:举行开业仪式。

C:追踪开业运营情况,提供咨询意见。 D:及时反馈开业初期运营情况。 11、经营指导 A:规范经营,及时向公司反映经营情况。 B:落实公司各项宣传及促销措施。 C:公司不定期对加盟方培训及指导。 加盟条件 1、按照全国行政区域划分,每个区或县开设一家加盟店。 2、经营场地实际面积不小于50平方米。 3、具有基本经营能力和管理经验。 4、提供经营所需的营业执照等相关证件。 5、认同企业文化、经营理念和发展目标,遵守公司的各项管理制度。 6、首单进货款不低于3万元人民币。 十大统一 统一店铺标识 统一店面设计 统一服务标准 统一员工服饰 统一设备配置 统一经营理念 统一价格体系 统一业务培训 统一产品销售 统一市场运作

销售代理合作方式及服务内容

合作方式及服务内容 合作方式:A:项目全程企划、销售代理 B:项目销售咨询顾问 C:广告纯企划 主要服务内容: A、全程销售代理:按发展商要求,在代理销售阶段内完成既定的销售目标, 完成项目销售资金回笼。 具体包括以下八大内容: 一、项目评估: 1、项目可行性分析研判,对投资风险、回报、周期进行研究评估。 2、市场整体、区域趋势、基本行情。 3、地块资料:规划要点、坐标、拍卖详规。 4、周边资料:交通、配套、周边楼盘的规划、设计、包装、销售。 5、发展商资料:背景、关系、资金、技术等的实力情况。

6、判断内容:优势、难点、突破口、把握度。 7、静态的综合成本(地价、造价、管理、财务、资金、推广、销售、税金) 收益率与销售价格的分析。 二、市场分析: 1、区域房产市场调查分析。 2、区域房产未来走势预测。 3、周边竞争个案的调查分析:区域内别墅项目以及相关公寓住宅类地产项 目调查分析;客户群、消费观念、价格水平、 推广渠道和方式、市场缺口等元素分析。 4、及时提供最新市场调研报告及销售建议。 三、产品定位: 1、地块内在条件整合及价值分析:适合的规划布局和建筑类型及其投入和 产出价值比较。 2、规划设计立意和相互关系,各个创意的市场依据。 3、产品整体综合定位。 4、目标客户群定位、目标客户细分。

5、产品形态定位。 6、产品修正:对楼盘规划设计、景观环境、配套设施、立面效果、平面布 局、单体面积根据市场情况、销售接受度、客户反馈信息提 出修正建议。 五、营销策划:制定详细的行销计划、营销策略、促销方案 1、入市时机、节奏、销售周期、阶段。 2、制定价格体系、付款方式、优惠折扣方案。 3、制作销售手册。 4、负责销售代表业务培训、销售技巧演练,制作业务手册及答客问。 5、设计销售看房路线。 6、制定销售控制计划,并在业务执行过程中适时调整销售策略。 7、售楼处位置选定,功能布局、展示建议。 8、示范单位选定、展示建议。 9、提供会所建设建议。 10、提供物业管理建议。 六、广告企划:推广主题、方式、渠道、策略、步骤,包装的类型、风格。 制定详细的广告计划,选择媒体,发布强度、密度,设计引 导、文案。

加盟流程表

加盟店的管理办法 为了提升加盟店的经营管理水平,帮助加盟店建立成功的运营系统,达到长期持续发展的目的,特制定本办。 一、加盟形式 (一)直营连锁,适用于市内(二)加盟连锁,适用于县城 二、加盟流程

三、加盟收费标准 (一)、一次性收取加盟费2万元,另按年营业收入的3%收取管理费(二)城区直营店: 1、直营连锁: 连锁店由总部全资开设,总部直接委派店长,店长对各店的经营管理负责,总部对店长进行监督和考核,在总部的统一的经营理念下,经营同类商品,提供同样服务,进货渠道、价格标准、配送管理、形象设计等方面进行统一管理,统一经营,统一核算,统负盈亏。 2、控股连锁 连锁店由总部开设,中心处于绝对控股地位,店主个人出资参股 3、自愿连锁: 四、提供的服务内容 1、店内组织架构的搭建 2、店务标准执行系统的复制 3、员工晋级成长系统的建立 4、财务管理系统的建立 5、团队组织文化系统的建立 6、员工技能培训 7、店内产品的配送 五、维护咨询管理 加盟店在运营过程中遇到的任何问题可联系我公司,我公司均会安排管理者解决。 1、驻店诊断,下店建立各板块系统需由加盟方提供食宿

2、顾问 直营连锁(城区店)管理办法 方式一:连锁店由总部全资开设,总部直接委派店长,店长对各店的经营管理负责,总部对店长进行监督和考核,在总部的统一的经营理念下,经营同类商品,提供同样服务,进货渠道、价格标准、配送管理、形象设计等方面进行统一管理,统一经营,统一核算,统负盈亏。 方式二:连锁店由总部对城区内愿意加盟的连锁店的财产、地理位置、员工人数等指标评估确立股权,双方在成一致意见签定合作协议,协议要明确双方红利分配比例。 连锁加盟店(县城)管理办法

代理商工作开展思路

渠道工作开展思路 为顺应市场的发展,针对目前公司资源配置,实行渠道销售模式,这样能恰当的整合资源,提高市场占有率,有利于公司的品牌成长。 一、代理商销售价值分析 首先,通过代理商或者分销商的运作,可以减少我公司在终端沟通的成本以及沟通的局限性(如湛化案例),因为我公司在渠道、辐射范围、当地人际关系等方面都有其一定的局限性,通过代理商或者分销商的运作可以增加产品、品牌与采购方沟通见面的机会(如重庆中渝项目)。 第二,提高销售效率,降低销售成本。通过分销商的操作可以有效地节省因小规模运输的成本,让产品出现在采购方可能购买的各个角落,极大地方便了采购方。另一方面,拥有分销渠道,我公司也不必面对大量的消费者,面对过多的非销售因素,而将代理商或者分销商作为交易对象,提高的交易效率,降低了交易的成本。 第三,分销渠道连接起企业、产品和采购者,让产品在最短时间内接近终端。让采购者看得到,摸得着,买得到。这样,才能实现真正的购买。 二、渠道开发期具体工作 一、市场开发规划思路

1、市场划分目前主要以省级为单位进行市场划分。目前我公司自身无力驾驭密集式的渠道体系。因为渠道密集意味着企业内部销售人员众多,管理难度较大。若以西南、华南、西北等大区制不利于市场反应速度,不便于后期销售深度开展,同时也不便于后期工作的调整。目前以省级总代理为主,重点省份(广东、山东等省份)以区域市场代理相结合的混合招商模式。 2、市场开拓协助引导省级总代理开拓本区域市场分销商,进行深度分销;开展与主题厂家的合作配套(空调、设备厂家等);协助代理商收集区域市场工程安装公司信息开展合作; 3、市场推广专业机电市场户外广告推广;大型或者专业展会的参与;老客户的关怀和回访等; 二、分销商的开发步骤: 信息收集;公司老客户的推荐;公司询价函的筛选;公司网络推广平台;大型展会参与;市场拜访; 客户选择机电贸易型公司(省级代理商);专业机电市场经营部(重点省份区域代理商);机电工作安装公司(以合作为主);平行配套合作上游厂家(渠道资源整合,深度合作) 客户跟进初始阶段前期工作以电话沟通为主,确定代理意向再实地拜访相结合; 三、分销商的管理与服务 制定好行之有效的销售管理体系,奖惩分明;加强培训(销售方

代理商准入流程

代理商准入流程 一、新加盟代理商准入流程 1、考察咨询 客户咨询、了解有关迪鹿LED广告车的运营、技术、市场、管理合作等相关信息与情况,到我公司参观、考察、交流、探讨、论证迪鹿LED广告车与自身业务的结合点和经营模式。 2、递交申请 客户根据考察咨询和交流、论证成果,对照我公司代理商准入条件,结合自身实际,决定合作意愿与目标,向我公司营销中心递交迪鹿LED广告车代理商申请。 3、受理确认 公司接到客户申请后,营销中心按相关条款和掌握的客户信息,进行核实、确认,必要时派员到客户所在地调查了解,然后提出受理意见,上报分管领导确认。 4、协商合作 营销中心根据公司受理确认意见,通知客户面商合作事宜: (1)对申请成为县级或区域一般代理商的,公司营销中心直接与客户进行交流、协商,达成初步共识,上报公司分管领导审批。 (2)对申请成为地(市)级以上独家代理商的,以及不符合相关条件申请代理商资格的,营销中心参与,由公司分管领导直接与客户进行交流、协商与谈判,达成初步共识,报公司经理办公会审批。

5、签约授牌 (1)双方达成共识后,签订代理合同。 (2)签订代理合同满三个月后择日授牌。 二、已加盟代理商升、降级流程 签订代理合同满六个月后,营销中心对客户进行升降级及代理商资格评估。 1、合作良好,客户综合情况表明,其有实力、信誉和愿望成为更大区域或更高级别独家代理商、且符合公司独家代理商相关准入条件、该区域尚无迪鹿LED广告车独家代理商的,客户书面申请,营销中心报公司经理办公会审批后,签约授牌。 2、代理期间,客户履约较差,综合情况表明,客户已不具备该区域代理商资格,但有能力和意愿成为较低一级别代理商资格,经营销中心或分管领导与客户协商,按新合作模式,由客户申请,重新签约授牌。 3、客户履较差,经协商和考察,也不具备新合作模式,公司按与客户签订合同约定,书面通知客户终止代理商资格。

代理商模式方案

代理商模式方案 一、酒仙团会员模式 现有模式有加盟商、会员(和加盟商有绑定关系)、审核资质用户,增加代理商模式,加盟商和会员可升级成为代理商,每个商品每个区域只允许有一个代理商。 二、APP和PC端展示 1、会员、加盟商和审核资质用户可以在APP和PC端增加代理商专享模块; 2、未申请前对商品展示的对应价格进行屏蔽,代理商可通过线上申请或线下咨询方式与酒仙团联系; 3、代理合同签订后,可对应地区显示和价格,前台展示由运营管理后台控制; 三、线上申请 1、在对应代理商专享模块,增加在线申请,填写基本信息,将申请提交到管理后台,由运营审核; 2、运营审核通过后,可以看到对应代理商品的对应价格,对应地区,未代理地区仍可以看到商品基本介绍, 及可以申请代理的提示; 3、审核不通过可以重新申请,会参照第一次没有通过的原因;

四、复合模式(双重身份) 1、会员升级为代理商,可购买自营商品+加盟商售卖商品+买区域代理商品 2、加盟商升级为代理商,可购买自营商品+加盟商可开店+买区域代理商品 3、直接申请代理商,不可以购买自营商品,只可以看代理商品商品信息和价格,未代理商品商品信息。 五、搜索服务 无论是品牌商品、区域商品、关键字等,都不能将商品搜索出来,对代理商品进行区域屏蔽 六、购买流程 1、代理商同时是加盟商,同时购买时,不支持货到付款,不支持账户余额; 2、代理商同时是会员店,同时购买时,不支持货到付款,购买代理产品不计算给加盟商服务费; 七、后台管理系统 1、加盟商管理和会员管理对应有升级成为代理商的操作,可升级或取消; 2、新增代理商管理列表,代理商品时效结束后,可以延期和结束; 3、对应展示商品价格开放的权限; 4、运费设置需要考虑代理商商品;

销售模式分析

为什么要选择代理商 选择代理商的优势 1、代理商有庞大的市场信息: 代理商在操盘时,市场部会去调查市场竞品楼盘,做调查问卷,成立信息库,通过信息库比较准确的分析潜在客户的购房意向,对项目开发的产品类型、户型选择、市场定位、定价等有很大作用。 2、代理商有较丰富的销售管理经验和专业的销售团队: 成熟的代理商对销售团队有一套系统的执行标准,从而保证销售团队的专业性。其代理楼盘的业务量也相对稳定,以确保其公司员工就业充分,收入稳定,销售团队才得以稳定。 3、代理商有广泛的合作单位和社会关系: 代理商有越多的操盘经验,也就有越多的社会关系。在操盘过程中会跟政府相关部门、建筑商、广告商、模型制造单位等多个行业打交道,可以通过这些资源为开发商寻找更好的合作伙伴,提升代理商自己的附加值。 4、代理商拥有庞大的客户资源: 代理商在以往的操盘和正在操盘的项目,有大量未成交的购房者信息,如代理一个新项目有效运用此资源,会加速销售速度,开发商也就加快了资金回笼,降低管理成本,减少利息支出,时间成本,时间就是金钱!开发商选择和代理商合作,就是基于争取时间成本。 各种代理销售模式优、劣势分析比较 代理商独家全程代理模式 其优势表现在:分工明确各展所长 这种销售模式是目前房地产市场的主流模式,独家代理的楼盘占了在售楼盘总量的一半以上。 代理商在操盘过程中有丰富的经验,每一个环节到每一个细节都有深入的了解,可以较准确地把握当地市场的客户品味、心理、消费习惯等,可以避免或减少开发商盲目揣测市场,从而偏离市场需求。开发商则可集中精力做好产品的控制工作。 此种开发商和代理商合作的模式,可以优势互补,分工明确,各展所长,有利于避开操作风险。 其劣势表现在:独家包揽反客为主 独家全程代理模式,缺乏的就是竞争,代理商的生存环境是较为安逸的。实际上大部分代理

加盟店开发流程

1.专卖店申请要求 1.经营意识:思路决定出路,卖产品不仅仅是卖产品本身,更重要的是体现一种文化与品位,销售不是坐以待毙,而是要主动出击寻找突破口,产品自身优势不是 永恒的竞争力,最终竞争力而是综合实力的体现(产品、包装、氛围、销售思路)。 2.合作意识:公司要有紧密的配合意识,厂商是永远的利益共同体,经销商是前方,要随时随地提供前方市场变化、竞争对手的变化,供应商是后方,要随时随地支 援前方,满足要求、配合作战,不能把机会留给竞争对手而是要给自己创造机会。 3.专卖店面积要求:单店面积不低于200㎡。 4.经双方审核同意后的专卖店装修方案,必须严格按照图纸施工,按标准用材,按标准配备饰品和灯光。 5.零售价策略:经销商必须按照公司指导价,配合定价,严格遵守专卖店2:3:5法则。 2.加盟优势 1.意想加盟客户可享受专业市场调研与专卖店选址服务。 主要是市场定位分析,根据产品本身的定位选择合适的市场,进入相对应的商场,分析同类化产品在当地市场目前经营水平,定价形式,有何优势与缺点。一个市 场必须了解的是收入水平、消费水平、同类产品量化的最大价值,基础费用、成 本费用、利润空间、商场人流、场地定位,决策出入手的方案与目标。 2.享受专业设计师对专卖店的形象包装: 专业设计师对该卖场所在商场的特点,落实具体包装方案,体现出在该商场内的 优势,做到本商场内同类化产品的第一位,优势入住。 3.专业人员配合专卖店产品结构定位 产品结构就是产品的款式、价格、色彩、卖场执行标准,50%走量产品,30%超 附加值产品,20%形象产品,定价依据不仅仅是成本,主要依据产品本身的附加 值。 4.享受专业人员卖场色彩组合搭配 主要指根据卖场实际情况,主体风格的体现,当地消费习惯,产品特色,注意整 体色彩组合的协调性,颜色的组合和过度性。 5.享受专业人员整体卖场的摆放及饰品摆放 根据专卖店设计方案,结合卖场实际情况,将每套产品放到合理的位置,注重整 体氛围的协调与美观,根据沙发特点放置适当饰品。 6.公司负责导购人员的专业技能培训 主要指产品结构、用材以及特点、款式风格、色彩运用、产品功能性、使用方法 等。 7.不定期享受促销策划 8.销售过程中享受专业人员实施产品调整 3.专卖店独享优惠政策

房地产代理销售协议(底价包销合作方式)

房地产代理销售合作协议 委托代理方(甲方):某某房地产开发有限公司、 代理方(乙方):某某有限公司 甲乙双方经过友好协商,根据《中华人民共和国民法通则》和《中华人民共和国协议法》的有关规定,在平等互利的基础上,本着“精诚合作,互惠互利,共同发展”的原则,就甲方委托乙方代理销售甲方开发的某某商业项目,达成以下协议,并承诺共同遵守: 二、委托项目概况 1、项目名称湖天一色地下架空层商业项目。 2、项目地理位置湖天一色锦园南路。 3、该项目为商业项目,共计建筑面积约20000平方米。(以实际发生面积为准,(但不得低于15000平方米) . 4、包销价格由甲乙双方确定为2150元每平方米。 二、委托内容:湖天一色项目地下商业的全程策划、招商和销售 甲方委托乙方就湖天一色地下架空层项目进行独家全程策划与销售代理工作,乙方根据当地市场情况向甲方提供项目策划整合推广与销售代理服务。(具体委托内容、销售范围以双方确认的附件为准)。 三、合作方式 页脚内容1

1、由乙方进行代理销售、商业策划、宣传和招商、经营管理等事宜; 2、在包销售价格的基础上销售产生的溢价部分归乙方所有。 3、甲乙双方合作方式为底价包销的形式,甲方指定乙方为独家销售代理工作,不另设销售代理机构,即乙方按照2150元每平方米进行包销,首先由乙方先行支付甲方645万元(在签订该协议时,乙方支付50万元,签订正式协议后15天内付595万元)。 4、乙方销售的回款,统一进甲乙双方指定的专用帐户。 5、甲方工程维修完成,双方验收合格后:在三个月内付至正式协议约定房款总金额的50%(含已付645万元);在六个月之内,付至正式协议约定房款总金额的80%;在九个月之内,付至正式协议约定房款总金额的90%;开业后,一个月内,付清实际结算应付甲方的全部房款。 四、代理佣金及支付 1、乙方的代理佣金为实际销售价格超出销售约定底价(2150元每平方米)的所有款项,代理佣金由甲方以人民币形式支付。 2、甲方同意按下列方式支付代理佣金:甲方在正式销售协议签订并收到全部应收房款后,乙方对该销售协议中的代销责任即告完成,以签订的《商品房买卖协议》的总金额(甲方已收到该款项,未收到全款不予结算)为依据,按月(每月最后一个工作日为结算期)全额结算,由甲方在结算后的5个工作日内,优先抵扣乙方应付甲方的代销房款后,将代理佣金全部支付给乙方,乙方在收到甲方转来的代理佣金后,应开具合法有效的凭证。 3、因客户对买卖协议违约而收取的客户定金和签订《商品房买卖协议》后收取的违约金归甲方所有。 五、合作期限 页脚内容2

加盟商代理商的培训方案

关于加盟商、代理商培训的方案 为加强对加盟商、代理商的培训管理,提升培训效果,为客户提供满意的培训服务,现对加盟商、代理商培训做以下规定: 1、培训对象: 本培训方案仅限伊亲购的加盟商、代理商。 2、培训费用: 加盟商、代理商参加门店培训或游泳馆培训需交纳1000元/人培训费用(加盟商、代理商在报到时将培训费用交至人力资源部)。在培训考核合格后返还培训费用并颁发相关合格证书,提供后续开业支持。考核不合格则不予返还、不支持开业,直至考核合格为止。 3、培训项目: 门店销售和婴儿游泳两项 4、培训时间: 每月三期,每期十天(其中门店六天,游泳馆四天),每期1日、11日、21日开课。 培训期间:每天7:50—18:00,每天上午7:50—9:00打扫卫生时间。 依照伊亲购员工正常上下班时间,并服从门店管理。 5、培训流程: 门店培训: 1)前期将培训视频发到加盟商、代理商手中,加盟商、代理商须认真学习视频内容,对于有疑惑、不明白的内容记录下来;培训开始第一天,培训师巩固理论知识,进行问题集中解答; 2)第二天、第三天开始安排实践操作,内容包括:全天跟踪实践导师并解答实际销售中遇到的问题;海信系统、收银、库存盘点等方面的培训; 3)第四天、第五天开始进行门店销售工作,至少一天的销售额达到1000元以上,否则不予进行考核; 4)第六天进行考核。

游泳馆培训: 1)第七天婴儿被动操、婴儿抚触培训(含理论、实践); 2)第八天、第九天婴儿游泳、洗澡实践培训(含理论、实践); 3)第十天进行考核。 6、培训考核 门店考核: 1)笔试考试; 2)笔试结束后,由实践导师和店长以提问的方式对加盟商、代理商进行考核; 游泳馆考核: 在游泳馆内进行实操考核; 门店或游泳馆考核合格者,颁发伊亲购培训合格证书并退还培训费用;考核不合格者,需再次进行培训直至考核合格后退还培训费用。 伊亲购代理店或加盟店考核不合格者不允许开业。 伊亲购代理店或加盟店未开游泳馆只需参加门店培训即颁发培训合格证书。 伊亲游泳馆客户不做强制要求,可按期参加游泳课程培训。 附件一:培训流程; 附件二:培训课程视频录制安排;

代销模式下的营销策略和工作方法

代销模式下的营销策略和工作方法 一、我司开展代销模式业务的优劣及面临的问题 1、代销定义 代销,是指一个企业为另一个企业或个人代理销售商品的一种交易方式。代销商品的主体就是委托方。在代销活动中,代理商与委托人只是委托代理关系,而没有发生商品所在权的转移。代理商只有在代理期间有商品的处理权,并且得以委托方的名义来进行,通过代销获得成交金额一定比例的代销费,即代销报酬。代销双方通常要签订协议。代销方不承担风险,其主要职责是促成交易。 2、我司开展代销模式业务的优势 (1)代销模式不占用渠道资金,从而我们能够依托代销模式快速拓展渠道,依托新渠道来逐步降低中行、建行两大渠道对我司业务的影响。 (2)代销模式下,我司可凭借公司背景和资金实力来迅速填补其他代销厂家货源不足的区域,扩大市场辐射范围。 (3)代销模式能够缓解之前我司经销模式带来的厂商见关系紧张的局面,使得双方合作能够顺畅开展,同时也消除了一些省分行对我司经销模式抵触而不怨合作的负面因素。 (4)代销模式由于产品的物权在我司,因此能够进行黄金套期保值业务,进而能够有效降低在经销模式下由于黄金价格下跌,渠道退货给我司带来的跌价风险。 2、我司开展代销模式业务面临的问题 (1)代销模式下,由于产品的物权在我方,并未占用渠道资金,渠道销售我司产品的压力和主观意愿会降低。 (2)代销模式要求我们对销售节奏、库存管理、货源分配、主动营销等方面有更高的能力。 (3)代销模式会增加产品调换频次,进而增加了二次物流费用、市场营销费用等运营成本。

(4)代销模式增加了产品调拨、频繁对账等工作环节,增加了人力成本。 从我司开展代销模式的优势和面临的问题可以看出代销模式是把双刃剑,通过制定合理的营销策略能够更好发挥我司优势并解决代销模式存在的问题。 二、代销模式的营销策略 1、产品策略 (1)整合研发资源,以我司“引领黄金文化”的经营理念为核心,紧随市场变化节奏,研发符合每一时间段市场需求的产品。 (2)合理布局产品线。考虑到黄金产品兼具投资和收藏两方面的市场需求,产品也应该低端、中端、高端搭配。在淡季主推加价较低及总价较低的小克重产品,以稳定市场份额;在旺季主推能够带来利润的中高端产品;而高端产品总价较高,需求较少,在为销售贡献利润的同时更具有提升公司形象和实力的作用。 (3)虽然金条产品需求占比在下降,但从金条、摆件、挂饰大类来划分,金条产品依然是市场份额最大的品类,同时金条产品也是我司的拳头产品,在竞争对手逐步压缩金条产品线,而费劲脑汁做摆件、挂饰类产品的时候,我们应该继续在金条产品题材和工艺上深挖,扩大金条产品领先优势。 (4)在大事件题材确实的几年内,加强定制化产品业务,配合以中秋、生肖、民俗产品,进而构成对每个省份全年的产品线。 2、价格策略 代销模式占用公司资金,销售过程中需要追求短平快,提高资金周转率。低端产品虽然周转速度快,但是利润贡献率低,高端产品虽然利润率高,但周转速度慢,在现阶段产品同质化严重,我司产品也并未引领市场的情况下,公司应在中端产品上下功夫,生产一部分满足市场需求,价格适中的中端产品,一方面公司尚有的品牌效应能够让客户接受我司产品价格,另一方面对销售也能起到很好的拉动作用。 (3)渠道策略 我们现在面临的经营困难的困境虽然金价行情的外在因素是主因,但是渠道不健全、渠道宽度不够也是我们无法面对渠道变革的重要因素。在渠道规划上建议如下: (1)放下姿态,利用代销模式迅速拓展银行渠道,近年各地城商行、农商

代理商市场开拓流程

一、市场开拓流程篇(大纲): 第一步:选定目标市场并对现有的客户网络进行分析,锁定目标顾客(包括A、B、C类店) 适合公司品牌的目标客户对象:属于当地的中高档美容院,对国内外一些知名品牌有一定的了解和认识,最好以曾经或正在经营这类型品牌的美容院为主,因为这类店对技术的掌握较全面,而且设备方面比较齐全,能够快速导入身体项目。要准确锁定目标,必须对以下项目作出准确调查及分析: 1、准客户(美容院)原有品牌的产品分析、收费标准、效果。 2、老板自身素质及专业技能的分析; 3、分析美容院的承受能力及评估我公司产品在该美容院的生存机率及生存空间。 4、为该美容院设定切实可行的疗程及方案。 5、做好开店时各类问题的应答技巧准备; 第二步:把目标市场进行划分、目标顾客进行分类,针对不同区域及不同客户制定出市场推广方案。 第三步:制定人员的调配安排计划,费用预算、落实指标及奖励计划。第四步:培训公司销售人员,令其了解公司背景及产品背景。 (时间为3—5天) (一)、培训对产品的熟识程度: 1、产品的来源; 2、产品的架构及产品的种类。 3、产品的原料构成与产品卖点; 4、产品各疗程的使用方法及原理; 5、产品的使用搭配技巧; 6、产品的注意事项,产品特殊反应的应变处理,产品配货能力。 (二)、培训公司背景、产品背景及对公司方案熟识程度: 1、公司的背景介绍及发展历程和发展愿景。

2、成功加盟店的案例举证。 3、公司方案的利润分析。 4、终端方案的实际操作技巧。 (三)、掌握及了解同类品牌: 1、同类品牌的产品结构优势品种疗程及产品卖点; 2、同类品牌的市场方案; 3、同类品牌在该市场的市场占有比率; 4、同类品牌售后服务及顾客口碑; (四)、销售技巧及业务技能。 1、与目标客户约定见面的技巧。 2、初次拜访客户的注意事项。 3、市场维护步骤。 4、美容师店销的技巧 第五步:根据选定的路线要求人员对目标客户进行初次探访,了解方案的可行性及美容院对公司品牌的认同度。 (时间:5天) 1、充分解释我公司方案的作用及为其带来的利润。 2、公司方案在美容院的实际操作技巧及操作细则。 3、谈判过程中辅以公司背景、产品背景、产品卖点等资料。 4、帮助准客户解决其店内滞销品的顾虑,免除其后顾之忧。 5、充分解决其提出的各种各样的问题。 6、和同类产品的竞争对手作比较。 (如果可能,签订加盟合约,如达不成合作,约定下次见面的时间,或在推广会上再次促成。)第六步:把初次探访的情况进行归类总结,并对市场思路进行切实可行的调整。 1、方案是否需要调整 2、那方面顾客最感兴趣,重点加强。同时,也是为会议主题的确定提供依据。 3、在交谈的过程中,客户希望公司那方面的配合,尽快完善。

相关主题
文本预览
相关文档 最新文档