PanSou

《七日契约》短故事

第一章 那条语音消息是在晚上八点四十三分发来的。 我正把最后一件衬衫塞进登山包,拉链卡在半截,手机屏幕亮起来。武夷山“云隐山房”的老板赵广德,声音里带着一种用力过猛的惶恐——就像一个人明明在念稿子,却偏要装出临场发挥的慌乱。 “涂女士,实在是对不住……我们民宿周边最近蛇虫泛滥,昨晚都有蛇爬到院子里了。我发照片给您看,这种情况我实在不敢让客人入住。订单我给您取消,全额退款,真的抱歉……” 我点开照片。模糊的夜景里,一条看不清品种的蛇盘在墙角,像素低得像是用十年前的手机拍的。我放大图片,注意到一个细节——墙角的瓷砖接缝处嵌着干燥的泥土,至少有一个月没下过雨。 三天前,武夷山刚经历过一场暴雨。我查过天气。 这就是职业病。做了七年调查记者,你对“不对劲”三个字的嗅觉,会比鼻子更先一步发出警报。 我没有立刻回复赵广德。打开社交平台,输入“五一 民宿 取消”三个关键词。搜索结果以每秒钟十几条的速度刷新,我的手指停在屏幕上方,一条一条往下翻。 一个叫“苏敏今天也在愤怒”的账号,发在四十分钟前: “提前一个月预订的酒店,今晚九点到达,前台告诉我‘消防整改’不能入住。我说整改通知给我看看,他们拿不出来。我说那我坐大堂等,他们说大堂也要整改。最后两个保安把我行李拎出去了。” 配图是街边的行李箱,箱面上贴着一张褪色的机场托运标签。定位显示在某旅游城市的核心商圈。 评论区最高赞的回复是:“同一家酒店,我下午三点在另一个平台刷到了房源,房价涨了三倍。我把截图发你。” 我继续往下翻。 “老板突发心梗去世”——这条取消理由是凌晨两点发的。 “暴雨导致山体滑坡,民宿暂停营业”——然而当地气象记录显示,过去一周降水量不足十毫米。 “水管爆裂”“电路老化”“卫生检查不合格”——理由千奇百怪,时间高度集中。所有订单被取消的房间,在几小时到一天之内,以原价两到三倍重新挂上平台,秒空。 我打开一个共享文档,那是受害者在几个小时前自发建立的。表格的列标题简单直白:预订平台、商家名称、取消理由、实际原因、转售链接。行数在以肉眼可见的速度增加,一百、两百、三百。不同城市、不同平台、不同商家,却在用同一套模板。 这不是零散的违约行为。这是一张网。 我关掉文档,看到苏敏那条帖子下面,她自己最新的一条评论: “契约精神死了吗?” 我盯着这六个字看了很久。屏幕的光映在我眼镜片上,窗外的城市正在沉入夜色。五一假期前的最后一个周末,几百万人准备出行,几百万人即将发现自己的行程早已被暗中标好了价格。 我拨通了苏敏账号主页留的联系方式。 电话响了两声,接通。背景音嘈杂,能听到车辆驶过积水路面的声音。她应该还在街上。 “喂?哪位?” “我叫涂清词,”我说,“独立记者。我看到了你的帖子,也被民宿以‘蛇患’为由取消了订单。我想问——你那个共享文档里,有没有一个叫赵广德的人?” 电话那头静了一瞬。 “你等等。”键盘敲击声,滚轮滑动声。然后她说,“有。但不是你那个。” “什么意思?” “我刚收到一个叫林墨的人发来的数据。”苏敏的声音变得低沉,带着一种发现了不该发现的东西时特有的警觉,“赵广德只是一个人。全国同一天被毁约的订单,超过六百单。涉及商家至少两百个。你那个‘蛇患’,只是两百个谎言里的一个。” 她的手在发抖,我听出来了。不是因为害怕,是因为愤怒。 “涂清词,”她说,“你打算怎么办?” 我看着桌上那个没拉上的登山包。衬衫一角还卡在拉链外面,像一面半举的旗。 “查到底,”我说,“你呢?” 电话那头传来一阵沉默。然后她说:“我已经没有酒店可以住了。时间有的是。” 第二章 苏敏的视频在二十四小时内登上了热搜。 “被酒店赶出门的那一刻,我在想什么”——这个标题带着一种心碎的直白。视频里,她对着镜头笑了一下,不是那种精心设计的微笑,是一个人被荒谬击中后本能的苦笑。然后她开始整理那个共享文档里的数据,一条一条念出来。 “四月二十九日,晚七点,杭州某酒店以‘消防整改’取消订单。四小时后,同一房源以三倍价格成交。” “四月二十九日,晚八点半,成都某民宿以‘水管爆裂’取消订单。两小时后,重新挂牌。” “四月二十九日,晚九点十五分,长沙某酒店以‘老板住院’取消……” 她念了整整一个小时。在线观看人数从三千涨到三十万。 我是在一家街边的沙县小吃店里,看着她直播的。面前是一碗已经坨掉的拌面,旁边坐着一个人。 林墨比我想象中要普通。旧夹克,黑框眼镜,头发大概有几天没打理了,整个人靠在塑料椅背上,像是在自家客厅一样自在。但他看手机屏幕的眼睛不动——那是一双在快速处理信息的眼睛,每一条弹幕、每一个ID、每一句话都在被他扫过、分类、存档。 是他主动联系我的。在我发了一条寻求线索的状态之后,一个陌生号码发来短信:“赵广德只是卒子。想知道下棋的人是谁,明天下午三点,建设路沙县小吃。” 我来了。他也来了。进门的时候,我看见他左手腕的袖口微微往上提了一下,露出一小片不规则的疤痕边缘。他很快把袖子拉了下来。 “所以,”我说,“你知道什么?” 林墨没有直接回答。他从夹克内袋里掏出一个U盘,放在桌上,推到我面前。U盘外壳磨损严重,看得出有些年头了。 “三年,”他说,“我攒了三年的东西。” 我插上U盘,打开。里面是密密麻麻的表格、截图、交易记录。时间跨度从三年前的五一假期开始,一直到上个月的清明节。每一个假期,全国各大旅游平台的订单取消数据、重新挂牌数据、溢价比例,被以一种精确到小数点后两位的方式记录下来。 “你怎么拿到的?” “曾经我在里面有朋友。”林墨夹起一粒花生米,在嘴里嚼了很久,才说,“后来没了。” “为什么给我?” 他抬起眼睛看我。那是一种很难形容的眼神——像是在确认某件事,又像是在犹豫某件事。最终他只是笑了笑,那笑容什么也没解释。 “因为我注意到你也在查。因为你被‘蛇患’赶出来之后,没有退钱走人,而是在凌晨三点还在整理受害者名单。”他顿了顿,“因为这个世界上多一个人知道真相,我就少一分危险。” “什么危险?” 他没答话,低头吃面。我注意到他左手腕的伤疤这次露得更多了。那是一道陈年的烧伤痕迹,从手腕内侧一直延伸到小臂,皮肤皱缩不平,像一封被火封住的信。 “‘白手套’,”林墨突然开口,“这个产业链里有一个核心人物,圈子里叫他‘白手套’。他在每个假期前高价收购已被预订的房源,再以更高价转售出去。他不露面,只通过加密通讯软件联系,声音经过变声处理。他的操作流程有手册,有标准话术模板,有分级佣金制度。你在赵广德那里听到的‘蛇患’,只是手册里几十种毁约话术之一。” “平台知道吗?” 林墨夹起一粒花生米,没有回答。花生米在他筷尖停留了片刻,被他送进嘴里。他嚼得很慢,像是在咀嚼一个他暂时还不知道该怎样说出口的答案。 “你是不是也有没告诉我的事?”我问。 他放下筷子,看着我的眼睛。“每个人都是。”他说,“包括你。” 他离开的时候,我注意到他走路的姿势有些不自然——左腿似乎有旧伤,在迈过门槛时微微顿了一下。 沙县小吃的老板在收桌子,电视里正在播新闻。画面是某个旅游平台的公关部门接受采访,发言人说:“个别商家的违规行为我们已经严肃处理,平台始终坚持契约精神,保障消费者权益……” 声音被掐掉。老板换了台。屏幕上开始播一部十几年前的武打片,刀剑碰撞声填满了整个小店。 我低头看着那个U盘。它安静地躺在桌上,像一颗静默的定时炸弹。 苏敏的电话在这时打进来。 “涂姐,”她的声音又快又急,“我查到了一个名字。宋槐安。某平台的区域经理。他那边的毁约订单密度是全国平均值的六倍。但他所在区域被处罚的商家数量,却是最低的。” “你怎么查到的?” “那个共享文档,”她说,“里面有一个匿名用户上传了一份平台内部考核数据。我交叉比对了所有毁约订单的地理分布,画了一张热力图。他的辖区,红得发黑。” 我沉默了几秒钟。 “苏敏,”我说,“你怕不怕?” 电话那头传来她深吸一口气的声音。 “怕,”她说,“但我更怕以后出门住酒店,还得带一本地摊买的《教你如何不被骗》。” 我笑了一声。然后我把林墨U盘里的数据导出来,发给了她。 “明早碰头,”我说,“我们去见一个人。” 第三章 宋槐安约在市中心一家咖啡馆。他选的位置靠窗,能看见街景,但背后是墙。我进门的瞬间就注意到了这个细节——这个人习惯了让别人的后背朝向门口。 他四十五岁,穿着熨烫得一尘不染的白衬衫,袖口纽扣是低调的金属质地。站起来和我握手时,力度适中,时长刚好,不多不少两秒钟。标准职场精英的配置,从头到脚都经过精心维护。 “涂记者,”他微笑,“久仰。” 这四个字本身没有问题。问题在于他说出这四个字时的语气——像是真的“久仰”过。 “宋经理客气了,”我在他对面坐下,“我只是一个被民宿放了鸽子的普通游客。” “您可不普通。”宋槐安不加解释,将一杯美式推到我面前,“知道您喝这个。糖和奶在旁边。” 我没碰那杯咖啡。 “宋经理约我来,想必不是为了聊咖啡。” “当然。”他打开手机,调出一份文件,“我所在的平台对涉事商家已经做出了处罚。这是记录。” 我接过来看。处罚记录做得工工整整,时间、商家名称、违规事项、罚金数额,一目了然。大部分罚金在五百到两千元之间。我快速心算了一下——假设一间客房从五百元溢价到一千五百元,净利润增加一千元。两百元的罚金,是利润的五分之一。 这不是处罚,这是抽成。 “力度很大,”我说,“大到商家应该都会抢着交罚款。” 宋槐安的表情毫无波动。“处罚标准由总部制定,我们只是执行。” “那‘白手套’呢?”我盯着他的眼睛提问,“这个人你们执行过吗?” 他没有立刻回答。不是语塞,而是一种耐心的停顿,像是在等我自己想清楚什么。 “涂记者,”他终于开口,“平台上有几百万商家,我们无法对每一个人的行为负责。就像您无法对每一篇报道的错误负责。” 这话说得很轻,轻到换个场景你会以为他在讨论天气。但我在调查记者这个圈子里混了七年,知道什么样的攻击是最危险的——不是那些骂你蠢的,是那些暗示你别有用心的人。 “宋经理,”我把手机推到一边,“您女儿最近怎么样?” 他握杯子的手指收紧了。指节处泛出一圈白色。 “你怎么——” “您申请过内部困难补助,”我说,“三年前开始的。罕见病,需要长期治疗。费用不低。” 他的嘴唇动了一下,像要说什么,最后只是将咖啡杯端到嘴边,抿了一口。 “涂记者,”他放下杯子,杯子在瓷盘上发出一声轻响,“有些事,不是您想的那样简单。这个行业的商业模式,本身就有一条很长的灰色地带。我只是这个链条上的一个环节。” “什么样的环节?” “一个确保链条不会断的环节。”他站起身,拿起外套,“感谢您的时间。希望您五一假期过得愉快。” 他走了。那杯美式还冒着热气。我从头到尾没碰过。 咖啡馆的门在宋槐安身后关上,街对面,一个熟悉的身影从另一家店里走出来。林墨穿着一件不同的外套,但他走路时左脚微微一顿的动作,我认得。 他径直走进咖啡馆,在我对面,宋槐安刚坐过的那把椅子上坐下。椅面还留着余温。 “他说的每一句话都是真的,”林墨说,“但没有一句是完整的。” “你怎么知道?” “因为我刚才就坐在隔壁桌。”他指了指我身后那个位置,“你们没注意。” 我回头看了一眼。那个位置能清晰地听到这边的每一句对话。我转回来看着林墨,他脸上一副无所谓的表情。 “宋槐安的晋升轨迹,”林墨把手机放到桌上,屏幕上是一张时间线图,“二零一九年升高级经理,二零二一年升区域经理,二零二三年升大区副总。每一次晋升的时间节点,都与‘白手套’活动量的爆发式增长高度重合。” “你从哪弄来的数据?” “公开财报。”林墨滑动屏幕,“你看他所在平台的‘交易纠纷赔付’一栏——逐年递减。再看这一栏,‘溢价分成收入’——逐年攀升。” 我看着那些数字。曲线像是剪刀的两片刀刃,一条往下,一条往上,中间的空间越来越大。那空间里是什么?是深夜被赶出酒店的苏敏们,是抱着孩子在街头打转的家庭,是打了一百通电话却只得到自动回复的消费者。 “一个平台区域经理,管着几百个商家,每年经手的资金流水上亿,”林墨把手机收回去,“他女儿的病,每年的治疗费是多少,你猜。” “你查过了?” “没查到具体数字。但我知道他在女儿确诊的那一年买了第二套房。” 我沉默了一会儿。 “林墨,”我说,“你是站在哪一边的?” 他掰开一双一次性筷子。筷子是从沙县小吃里带出来的,他一直放在口袋里。啪的一声脆响,木头断成两截。 “说实话,”他说,“我也不知道。” 他把筷子并排放在桌面上,两根断口参差不齐的木头,挨在一起。 “我查这件事查了三年。一开始是因为恨。恨这个行业把我扫地出门,恨那些人用火把证据烧成灰。”他看着那双筷子,“后来恨不动了。查到一个程度,发现我恨的那些人也不过是另一张更大的棋盘上的棋子。真正下棋的人,在你看不到的地方。我就想,至少把棋盘指给别人看。” “你觉得我是那个‘别人’?” 他抬起头看我。咖啡店的光线不算明亮,但他的眼睛里有一道光,很弱,很旧,像是被压了很久的什么东西,终于找到了通往表面的缝隙。 “你是别人里,”他说,“离答案最近的那个。” 他没有解释这句话。站起身来,将那双筷子收进口袋,走了。 我拿起桌上那杯凉掉的咖啡,没有喝。杯子底下压着一张纸条,是林墨留下的。上面写着一个地址,和一个时间。 明晚十点,这个地址。带你看看真正的棋盘。 字迹很潦草,最后一个字收笔时力气不匀,在纸上划出一道很长的尾巴。 第四章 驱车四个小时。从市区出发,过了一个叫兴田的镇子,路开始变窄,两侧的山把天空挤成一条蓝色的缝。导航显示距离“云隐山房”还有三公里时,路面变成了碎石路,车轮碾过去有细碎的声响,像是踩在干透的骨节上。 我没有提前通知赵广德。 院子比平台照片上更精致。石灯笼、竹流水、鹅卵石铺成的小径弯弯绕绕通向木结构的正房。门开着,茶香从里面漫出来。一个穿灰色麻布衫的中年男人正蹲在屋檐下摆弄一盆菖蒲,听见脚步抬起头。 赵广德的脸,和他在社交媒体道歉视频里一模一样——圆脸,眉毛往下垂,眼角挤出堆起的皱纹,笑起来的弧度经过精确计算,能让人在三秒内产生“这是个老实人”的错觉。 “请问是……”他站起来,在围裙上擦手,表情从困惑变成辨认,再从辨认变成一种夸张的惊喜,“涂女士?您怎么亲自来了!” 惊喜下面压着别的东西。我在他瞳孔收缩的那一瞬间看到了。 “正好路过,”我说,“来看看您说的蛇。” 赵广德的笑容没有变化,但他的右手下意识地往身后藏了一下。我早就注意到了——他右手食指缺了一截,断口平整,像是被利器一次性切断的。 “哎呀,蛇嘛,山里这东西说不准的。前两天撒了驱蛇粉,现在应该没事了。”他把我往里让,“您大老远来,先喝杯茶。” 我跟在他身后穿过院子。他走路时微微驼背,但步幅均匀,落脚稳健。一个常年弯腰待客的人,腰不会在转身时自然地直起来——除非那弯腰本身也是待客的一部分。 茶是好茶。肉桂,头泡水一冲下去,整个房间都是岩骨花香的底子。但我注意到茶盘旁边有一个电子设备,屏幕上跳动着几行数字,有点像股票行情。 “那是什么?” “哦,监控。”赵广德伸手把它翻过去,屏幕朝下扣在桌上,“山里嘛,安全第一。” “能看看吗?” 他看了我一眼。那一眼的时间很短,但已经足够让人看出——他在做选择。是继续扮演那个战战兢兢的民宿老板,还是撕掉一部分面具。 他选择了中间路线。 “涂记者,”他在茶盘对面坐下,语气变了,不再惶恐,变得诚恳,“我知道您是记者。我跟您说实话。做生意难。五一假期就那么几天,一年能赚的钱就那么几个窗口。平台抽成高,竞争大,我这个小院子——” “所以蛇是假的。” 他顿了顿。“驱蛇粉是真的撒了。”“但蛇患是假的。”“……是。” 我说得平静,他也承认得平静。这句话像一颗石子投进井里,响了一下,然后是长的沉默。他低头看着茶汤,水面映出他的脸。 “订单取消以后,”我说,“转售的价格是多少?” 他没有回答。 “原价八百,转售价两千四,”我替他回答,“你在道歉声明里说‘主观上没有恶意’。三倍价格转售,叫没有恶意?” 赵广德抬起头。他脸上那些用作伪装的惶恐褪去,露出了下面的东西。不是凶相,是某种更复杂的表情——疲惫、愧疚、和一点点认命的坦然。 “您说得都对。”他说,“我是涨价了。我也知道这不道德。但您知道吗,就算我不涨价,也有人在涨价。那个人不是我,也会是别人。” “什么意思?” 他张开嘴,好像要说什么,又闭上。低头看着自己的右手,那根断掉的食指。他的左手无意识地摩挲着断口,动作熟练得像是做过无数次。 “这根手指,”他突然开口,“二十年前做木工的时候被电锯切掉的。那时候我一天挣四十块钱。现在我有民宿、有茶山、有稳定的客源。我以为我终于不用再被人当棋子用了。”他笑了一下,那个笑里有一点苦,“结果发现,我还是棋子。” “谁的棋子?” 他没有回答。茶室里只有煮水壶咕嘟咕嘟的声音。他拿起壶给我续了一杯茶。手很稳,滴水不漏。 “赵老板,”我放下茶杯,“平台内部有一个叫‘白手套’的人,你应该知道。” 他的手指在茶海上停住了。只有一瞬。然后他继续刚才的动作,把水注入公道杯,分进两只茶杯。 “我不知道什么‘白手套’,”他说,“我只知道,每个假期前,会有人用高于平台一倍的价格收购已经被预订的房间。现金结算,不留痕迹。你想拒绝也可以,但他们会告诉你——你不做,隔壁的民宿会做。你做了,至少还有钱赚。不做,连汤都喝不到。” “这些人是谁?” “没见过。”他的回答快得不像撒谎,“只在网上联系。声音经过处理。每次都是。”他给我加茶,“涂记者,我就是一个开民宿的。我想赚钱,想好好过日子。我女儿今年考上大学了……学费不便宜。” 他这句话说得真诚。可是一个人可以在真诚的同时,只说出一部分真相。 我离开的时候,赵广德送我到院门口。阳光下,他站在石灯笼旁边,灰色麻布衫被风吹起来,看上去只是一个普通的、为生活奔忙的中年人。 我走到山路边,拿出长焦镜头。从坡上往下看,能看到民宿后院的全景。赵广德正站在院子里打电话。 他的姿势变了。不再是弯腰陪笑的样子。背脊挺得笔直,左手插在裤袋里,右手举着手机。嘴唇翕动,表情平静得像在给下属布置工作。他在汇报什么,我隔得太远听不清,但我看到他挂了电话之后,立刻拨了另一个号码。这一次他说了很久,中间笑了两次,那种笑不是对着客户的谦卑,是对着自己人的放松。 我拍下了这两通电话的时间。 回到车上,发动引擎,手机屏幕亮了一下。 一条短信。发件人是加密号码,没有归属地显示。 “别再查了。” 四个字,没有威胁,没有解释。像一条冰冷的鱼,滑进你的衣领里。 我把手机放在副驾驶座上,盯着屏幕看了很久。车子在盘山公路上慢慢往下开,弯道一个接一个,每次转过一个弯,后视镜里的“云隐山房”就小一点。但它没有消失,它像是长在了后视镜里,长成了一根刺。 回到市区已经是晚上。苏敏在租住的公寓楼下等我。她穿着一件明显大一号的卫衣,头发扎起来,露出一张没化妆的脸。但她的眼睛亮着,像两颗正在燃烧的火炭。