'接口调用频繁,需要重新操作', 40=>'RP名称不能为空,请先设置RP名称', ]; /** * 价格类型字段:0.非协议价;1.集采协议价;如果不是协议价,请不要填写该字段。该字段有权限控制,如需使用,请联系阿里旅行运营。 如果不填写或者填写为0,默认是阿里旅行价 **/ public $agreement; /** * 协议保留房提前x小时自动确认时间 比如设置为6 那么从入住当日24点往前推6小时即18:00以前可以自动确认有房,否则是待确认 **/ public $allotmentReleaseTime; /** * base rp标记,1是;0否 **/ public $baseRpFlag; /** * 是否底价加价,1是底价加价,0 非底价加价rp **/ public $bottomPriceFlag; /** * 在更新rateplan时,同时新增或更新早餐日历。 date:早餐政策属于具体哪一天 breakfast_count:这一天早餐的数量。>=0,<=99 如果date为空,那么会去读取startDate和endDate(格式都为"yyyy-MM-dd"),即早餐正常属于一个时间段。-1为状态早餐,和最终绑定的几人价有关,如果是一人价那么就是我一份早餐,二人价就是两份早餐。请注意,该字段仅能维护从当前时间开始,10年以内的数据,如果超过10年,会报错。 **/ public $breakfast_cal; /** * -1,状态早餐,和入住人数有关系,几人价就是几份早餐;0:不含早1:含单早2:含双早N:含N早(1-99可选);(添加RP时为必须) **/ public $breakfast_count; /** * 最早可选入住时间,小时房特有字段。格式为HH:mm **/ public $canCheckinEnd; /** * 最晚可选入住时间,小时房特有字段。格式为HH:mm **/ public $canCheckinStart; /** * 不推荐使用,见退改规则 **/ public $cancelBeforeDay; /** * 不推荐使用,见退改规则 **/ public $cancelBeforeHour; /** * 退订政策字段,是个json串,参考示例值设置改字段的值。允许变更/取消:在XX年XX月XX日XX时前取消收取Y%的手续费,100>Y>=0允许变更/取消:在入住前X小时前取消收取Y%的手续费,100>Y>=0(不超过10条)。1.表示任意退{"cancelPolicyType":1};2.表示不能退{"cancelPolicyType":2};4.从入住当天24点往前推X小时前取消收取Y%手续费,否则不可取消{"cancelPolicyType":4,"policyInfo":{"48":10,"24":20}}表示,从入住日24点往前推提前至少48小时取消,收取10%的手续费,从入住日24点往前推提前至少24小时取消,收取20%的手续费;5.从24点往前推多少小时可退{"cancelPolicyType":5,"policyInfo":{"timeBefore":6}}表示从入住日24点往前推至少6个小时即入住日18点前可免费取消;6.从入住日24点往前推,至少提前小时数扣取首晚房费{"cancelPolicyType":6,"policyInfo":{"14":1}}表示入住日24点往前推14小时,即入住日10点前取消收取首晚房费。 注意:支付类型为预付,那么可以使用所有的退订类型,但是必须是非担保;支付类型为面付或者信任住并且是无担保,那么只能使用1类型的退订;支付类型为面付或者信任住并且为担保,那么只能使用2,5类型的退订;支付类型为在线预约,那么只能使用1,2,5类型的退改。如果支付类型是面付或者信任住并且为担保,那么如果传了4或者6的退订,那么会强制转成类型5。 **/ public $cancel_policy; /** * 在新增rateplan的同时新增取消政策日历。 json格式。 date:日历的某一天,格式为"yyyy-MM-dd" cancel_policy:日历某一天的价格政策。格式和限制同cancel_policy。 如果date为空,那么会读取startDate和endDate(格式都为"yyyy-MM-dd"),即取消政策属于某一个时间段。 注意:支付类型为预付,那么可以使用所有的退订类型,但是必须是非担保;支付类型为面付或者信任住并且是无担保,那么只能使用1类型的退订;支付类型为面付或者信任住并且为担保,那么只能使用2,5类型的退订;支付类型为在线预约,那么只能使用1,2,5类型的退改。如果支付类型是面付或者信任住并且为担保,那么如果传了4或者6的退订,那么会强制转成类型5。请注意,该字段仅能维护从当前时间开始,10年以内的数据,如果超过10年,会报错。 **/ public $cancelPolicyCal; /** * 销售渠道。如需开通,需要申请权限。目前支持的渠道有 H:飞猪 O:钉钉商旅 A:集团内部商旅 M:无线专享价。如果只投放飞猪,改字段不用填写或者只填H;如果有多个用","分开。如果需要投放其他渠道,请联系飞猪运营或者技术支持。 **/ public $channel; /** * 普通保留房提前x小时自动确认时间 比如设置为6 那么从入住当日24点往前推6小时即18:00以前可以自动确认有房,否则是待确认 **/ public $common_allot_release_time; /** * 生效截止时间,用来控制此rateplan生效的截止时间,配合字段effective_time一起限定rp的有效期 **/ public $deadline_time; /** * 餐食描述 **/ public $dinningDesc; /** * 价格计划名称name通过加工处理以后的值 **/ public $displayName; /** * 生效开始时间,用来控制此rateplan生效的开始时间,配合字段deadline_time一起限定rp的有效期 **/ public $effective_time; /** * 产品每日开始销售时间,start_time一定为当天时间 **/ public $end_time; /** * RP的英文名称 **/ public $englishName; /** * 不推荐使用 **/ public $extend; /** * 不推荐使用 **/ public $extendFee; /** * 不推荐使用 **/ public $feeBreakfastAmount; /** * 不推荐使用 **/ public $feeBreakfastCount; /** * 不推荐使用 **/ public $feeGovTaxAmount; /** * 不推荐使用 **/ public $feeGovTaxPercent; /** * 不推荐使用 **/ public $feeServiceAmount; /** * 不推荐使用 **/ public $feeServicePercent; /** * 需申请会员权限。是否是新用户首住优惠rp。1-代表是。0-代表否。不填写代表不更新该字段。 **/ public $firstStay; /** * 在更新rateplan的同时,新增或更新担保日历。 date:担保日历的某一天。 guarantee:担保政策。 其中有两个属性:guaranteeType,guaranteeStartTime。 guaranteeType的可选值同guaranteeType字段,详见guaranteeType字段。guaranteeStartTime格式为"HH:mm" 。如果date为空,那么会读取startDate和endDate(格式都为"yyyy-MM-dd"),即担保政策属于某一个时间段。(如果设置了峰时担保类型,那么峰时担保时间不能为空,并且必须大于等于8点) 请注意,该字段仅能维护从当前时间开始,10年以内的数据,如果超过10年,会报错。 **/ public $guaranteeCal; /** * 1 PCI担保,0 支付宝担保 **/ public $guaranteeMode; /** * 分时担保每日开始担保时间。 (如果设置了峰时担保类型,那么峰时担保时间不能为空,并且必须大于等于8点) **/ public $guaranteeStartTime; /** * 担保类型,只支持: 0 无担保 1 峰时首晚担保 2峰时全额担保 3全天首晚担保 4全天全额担保 **/ public $guarantee_type; /** * 酒店id **/ public $hid; /** * 小时房入住时间跨度。小时房特有字段。比如4小时的小时房,那么值为4 **/ public $hourage; /** * 学生价,1:是;0:否 **/ public $isStudent; /** * 最大提前预定小时数,从入住当天的24点往前计算。例如如果这个字段设置了48,代表最多提前两天预定,那么如果想预定24号入住,,必须在23号零点以后下单。 **/ public $maxAdvHours; /** * 儿童最大年龄(0-18) **/ public $maxChildAge; /** * 最大入住天数(1-90)。默认90 **/ public $maxDays; /** * 婴儿最大年龄(0-18) **/ public $maxInfantAge; /** * 双方映射后的会员等级。如需开通,需要申请权限,取值范围为:1,2,3,4,5,none。比如飞猪F3对应商家V4,则传4.(如果有疑问请联系对接技术支持) **/ public $memberLevel; /** * 最小提前预定小时数,从入住当天的24点往前计算。例如如果这个字段设置了48,代表必须至少提前两天预定,那么如果想预定24号入住,,必须在23号零点前下单。 **/ public $min_adv_hours; /** * 首日入住房间数(1-99)。默认1。不推荐使用 **/ public $minAmount; /** * 儿童最小年龄(0-18) **/ public $minChildAge; /** * 最小入住天数(1-90)。默认1 **/ public $minDays; /** * 婴儿最小年龄(0-18) **/ public $minInfantAge; /** * 在淘宝搜索页面展示的房价名称;(添加RP时为必须)。注意该名称不要包含早餐相关信息,如果想维护早餐信息,请设置breakfast_count字段即可。 **/ public $name; /** * 不推荐使用 **/ public $occupancy; /** * operator **/ public $operator; /** * 外部酒店id **/ public $out_hid; /** * 外部房型id **/ public $out_rid; /** * 是否包房RP 1包房RP,0 非包房rp **/ public $packRoomFlag; /** * 父rpcode,使用场景:当一个rp发布变价rate的时候,用于下单时候传递约定的rpcode给外部 **/ public $parentRpCode; /** * 父rpid,使用场景:当一个rp发布变价rate的时候,记录父rp信息,用于下单时候传递约定的rpcode给外部 **/ public $parentRpid; /** * 支付类型,只支持:1:预付5:现付6: 信用住7:在线预约8:在线预约信用住。其中5,6,7,8三种类型需要申请权限 **/ public $payment_type; /** * 商家价格政策编码 **/ public $rateplan_code; /** * 房型id **/ public $rid; /** * rp类型,1为小时房。目前只支持小时房。如果不是小时房rateplan,则不要填写。如果想要清空该字段可以传入none **/ public $rpType; /** * 不推荐使用,使用ratePlanCode来标识要修改的RP **/ public $rpid; /** * 来源 **/ public $source; /** * 产品每日开始销售时间,start_time一定为当天时间 **/ public $startTime; /** * 1:开启(默认)2:关闭。如果没传值那么默认默认值为1;(添加RP时为必须) **/ public $status; /** * super rp标记,1是;0否 **/ public $superRpFlag; /** * 更新RP时的 打标和去标 需求, 0 就是 去标, 1 就是打标, key的含义: non-direct-RP 表示非直连RP,, super-could-price-change-RP 表示rp的super标,打上这个tag,表明这个rateplan下单的时候支持变价,商家系统直接放开价格校验。 base-could-derived-RP 表示base rateplan标签,打上了这个tag,表明这是一个base的rateplan,基于该rateplan可以衍生出子rateplan, ebk-tail-room-RP 表示 ebk尾房rate plan级别标 **/ public $tagJson; /** * 系统商,一般不用填写,使用须申请 **/ public $vendor; public $apiParas = array(); public function setAttributes($values, $safeOnly = true) { if (is_array($values)) { $attributes = array_flip($safeOnly ? $this->safeAttributes() : $this->attributes()); foreach ($values as $name => $value) { if (isset($attributes[$name])) { $this->apiParas[$name] = $value; } elseif ($safeOnly) { $this->onUnsafeAttribute($name, $value); } } } parent::setAttributes($values, $safeOnly); } public function rules() { return [ [['rateplan_code', 'payment_type', 'breakfast_count', 'cancel_policy', 'status', 'min_adv_hours'], 'required', 'on' => 'create'], [['min_adv_hours', 'guarantee_type'], 'number', 'on' => 'create'], [['name'], 'string', 'max' => 60], [['effective_time', 'deadline_time'], 'date'], [['out_rid', 'out_hid'], 'string', 'max' => 64] ]; } public function setAgreement($agreement) { $this->agreement = $agreement; $this->apiParas["agreement"] = $agreement; } public function getAgreement() { return $this->agreement; } public function setAllotmentReleaseTime($allotmentReleaseTime) { $this->allotmentReleaseTime = $allotmentReleaseTime; $this->apiParas["allotment_release_time"] = $allotmentReleaseTime; } public function getAllotmentReleaseTime() { return $this->allotmentReleaseTime; } public function setBaseRpFlag($baseRpFlag) { $this->baseRpFlag = $baseRpFlag; $this->apiParas["base_rp_flag"] = $baseRpFlag; } public function getBaseRpFlag() { return $this->baseRpFlag; } public function setBottomPriceFlag($bottomPriceFlag) { $this->bottomPriceFlag = $bottomPriceFlag; $this->apiParas["bottom_price_flag"] = $bottomPriceFlag; } public function getBottomPriceFlag() { return $this->bottomPriceFlag; } public function setBreakfastCal($breakfastCal) { $this->breakfast_cal = $breakfastCal; $this->apiParas["breakfast_cal"] = $breakfastCal; } public function getBreakfastCal() { return $this->breakfast_cal; } public function setBreakfastCount($breakfastCount) { $this->breakfast_count = $breakfastCount; $this->apiParas["breakfast_count"] = $breakfastCount; } public function getBreakfastCount() { return $this->breakfast_count; } public function setCanCheckinEnd($canCheckinEnd) { $this->canCheckinEnd = $canCheckinEnd; $this->apiParas["can_checkin_end"] = $canCheckinEnd; } public function getCanCheckinEnd() { return $this->canCheckinEnd; } public function setCanCheckinStart($canCheckinStart) { $this->canCheckinStart = $canCheckinStart; $this->apiParas["can_checkin_start"] = $canCheckinStart; } public function getCanCheckinStart() { return $this->canCheckinStart; } public function setCancelBeforeDay($cancelBeforeDay) { $this->cancelBeforeDay = $cancelBeforeDay; $this->apiParas["cancel_before_day"] = $cancelBeforeDay; } public function getCancelBeforeDay() { return $this->cancelBeforeDay; } public function setCancelBeforeHour($cancelBeforeHour) { $this->cancelBeforeHour = $cancelBeforeHour; $this->apiParas["cancel_before_hour"] = $cancelBeforeHour; } public function getCancelBeforeHour() { return $this->cancelBeforeHour; } public function setCancelPolicy($cancelPolicy) { $this->cancel_policy = $cancelPolicy; $this->apiParas["cancel_policy"] = $cancelPolicy; } public function getCancelPolicy() { return $this->cancelPolicy; } public function setCancelPolicyCal($cancelPolicyCal) { $this->cancelPolicyCal = $cancelPolicyCal; $this->apiParas["cancel_policy_cal"] = $cancelPolicyCal; } public function getCancelPolicyCal() { return $this->cancelPolicyCal; } public function setChannel($channel) { $this->channel = $channel; $this->apiParas["channel"] = $channel; } public function getChannel() { return $this->channel; } public function setCommonAllotReleaseTime($commonAllotReleaseTime) { $this->common_allot_release_time = $commonAllotReleaseTime; $this->apiParas["common_allot_release_time"] = $commonAllotReleaseTime; } public function getCommonAllotReleaseTime() { return $this->common_allot_release_time; } public function setDeadlineTime($deadlineTime) { $this->deadline_time = $deadlineTime; $this->apiParas["deadline_time"] = $deadlineTime; } public function getDeadlineTime() { return $this->deadlineTime; } public function setDinningDesc($dinningDesc) { $this->dinningDesc = $dinningDesc; $this->apiParas["dinning_desc"] = $dinningDesc; } public function getDinningDesc() { return $this->dinningDesc; } public function setDisplayName($displayName) { $this->displayName = $displayName; $this->apiParas["display_name"] = $displayName; } public function getDisplayName() { return $this->displayName; } public function setEffectiveTime($effectiveTime) { $this->effective_time = $effectiveTime; $this->apiParas["effective_time"] = $effectiveTime; } public function getEffectiveTime() { return $this->effectiveTime; } public function setEndTime($endTime) { $this->end_time = $endTime; $this->apiParas["end_time"] = $endTime; } public function getEndTime() { return $this->endTime; } public function setEnglishName($englishName) { $this->englishName = $englishName; $this->apiParas["english_name"] = $englishName; } public function getEnglishName() { return $this->englishName; } public function setExtend($extend) { $this->extend = $extend; $this->apiParas["extend"] = $extend; } public function getExtend() { return $this->extend; } public function setExtendFee($extendFee) { $this->extendFee = $extendFee; $this->apiParas["extend_fee"] = $extendFee; } public function getExtendFee() { return $this->extendFee; } public function setFeeBreakfastAmount($feeBreakfastAmount) { $this->feeBreakfastAmount = $feeBreakfastAmount; $this->apiParas["fee_breakfast_amount"] = $feeBreakfastAmount; } public function getFeeBreakfastAmount() { return $this->feeBreakfastAmount; } public function setFeeBreakfastCount($feeBreakfastCount) { $this->feeBreakfastCount = $feeBreakfastCount; $this->apiParas["fee_breakfast_count"] = $feeBreakfastCount; } public function getFeeBreakfastCount() { return $this->feeBreakfastCount; } public function setFeeGovTaxAmount($feeGovTaxAmount) { $this->feeGovTaxAmount = $feeGovTaxAmount; $this->apiParas["fee_gov_tax_amount"] = $feeGovTaxAmount; } public function getFeeGovTaxAmount() { return $this->feeGovTaxAmount; } public function setFeeGovTaxPercent($feeGovTaxPercent) { $this->feeGovTaxPercent = $feeGovTaxPercent; $this->apiParas["fee_gov_tax_percent"] = $feeGovTaxPercent; } public function getFeeGovTaxPercent() { return $this->feeGovTaxPercent; } public function setFeeServiceAmount($feeServiceAmount) { $this->feeServiceAmount = $feeServiceAmount; $this->apiParas["fee_service_amount"] = $feeServiceAmount; } public function getFeeServiceAmount() { return $this->feeServiceAmount; } public function setFeeServicePercent($feeServicePercent) { $this->feeServicePercent = $feeServicePercent; $this->apiParas["fee_service_percent"] = $feeServicePercent; } public function getFeeServicePercent() { return $this->feeServicePercent; } public function setFirstStay($firstStay) { $this->firstStay = $firstStay; $this->apiParas["first_stay"] = $firstStay; } public function getFirstStay() { return $this->firstStay; } public function setGuaranteeCal($guaranteeCal) { $this->guaranteeCal = $guaranteeCal; $this->apiParas["guarantee_cal"] = $guaranteeCal; } public function getGuaranteeCal() { return $this->guaranteeCal; } public function setGuaranteeMode($guaranteeMode) { $this->guaranteeMode = $guaranteeMode; $this->apiParas["guarantee_mode"] = $guaranteeMode; } public function getGuaranteeMode() { return $this->guaranteeMode; } public function setGuaranteeStartTime($guaranteeStartTime) { $this->guaranteeStartTime = $guaranteeStartTime; $this->apiParas["guarantee_start_time"] = $guaranteeStartTime; } public function getGuaranteeStartTime() { return $this->guaranteeStartTime; } public function setGuaranteeType($guaranteeType) { $this->guarantee_type = $guaranteeType; $this->apiParas["guarantee_type"] = $guaranteeType; } public function getGuaranteeType() { return $this->guarantee_type; } public function setHid($hid) { $this->hid = $hid; $this->apiParas["hid"] = $hid; } public function getHid() { return $this->hid; } public function setHourage($hourage) { $this->hourage = $hourage; $this->apiParas["hourage"] = $hourage; } public function getHourage() { return $this->hourage; } public function setIsStudent($isStudent) { $this->isStudent = $isStudent; $this->apiParas["is_student"] = $isStudent; } public function getIsStudent() { return $this->isStudent; } public function setMaxAdvHours($maxAdvHours) { $this->maxAdvHours = $maxAdvHours; $this->apiParas["max_adv_hours"] = $maxAdvHours; } public function getMaxAdvHours() { return $this->maxAdvHours; } public function setMaxChildAge($maxChildAge) { $this->maxChildAge = $maxChildAge; $this->apiParas["max_child_age"] = $maxChildAge; } public function getMaxChildAge() { return $this->maxChildAge; } public function setMaxDays($maxDays) { $this->maxDays = $maxDays; $this->apiParas["max_days"] = $maxDays; } public function getMaxDays() { return $this->maxDays; } public function setMaxInfantAge($maxInfantAge) { $this->maxInfantAge = $maxInfantAge; $this->apiParas["max_infant_age"] = $maxInfantAge; } public function getMaxInfantAge() { return $this->maxInfantAge; } public function setMemberLevel($memberLevel) { $this->memberLevel = $memberLevel; $this->apiParas["member_level"] = $memberLevel; } public function getMemberLevel() { return $this->memberLevel; } public function setMinAdvHours($minAdvHours) { $this->min_adv_hours = $minAdvHours; $this->apiParas["min_adv_hours"] = $minAdvHours; } public function getMinAdvHours() { return $this->min_adv_hours; } public function setMinAmount($minAmount) { $this->minAmount = $minAmount; $this->apiParas["min_amount"] = $minAmount; } public function getMinAmount() { return $this->minAmount; } public function setMinChildAge($minChildAge) { $this->minChildAge = $minChildAge; $this->apiParas["min_child_age"] = $minChildAge; } public function getMinChildAge() { return $this->minChildAge; } public function setMinDays($minDays) { $this->minDays = $minDays; $this->apiParas["min_days"] = $minDays; } public function getMinDays() { return $this->minDays; } public function setMinInfantAge($minInfantAge) { $this->minInfantAge = $minInfantAge; $this->apiParas["min_infant_age"] = $minInfantAge; } public function getMinInfantAge() { return $this->minInfantAge; } public function setName($name) { $this->name = $name; $this->apiParas["name"] = $name; } public function getName() { return $this->name; } public function setOccupancy($occupancy) { $this->occupancy = $occupancy; $this->apiParas["occupancy"] = $occupancy; } public function getOccupancy() { return $this->occupancy; } public function setOperator($operator) { $this->operator = $operator; $this->apiParas["operator"] = $operator; } public function getOperator() { return $this->operator; } public function setOutHid($outHid) { $this->out_hid = $outHid; $this->apiParas["out_hid"] = $outHid; } public function getOutHid() { return $this->outHid; } public function setOutRid($outRid) { $this->out_rid = $outRid; $this->apiParas["out_rid"] = $outRid; } public function getOutRid() { return $this->outRid; } public function setPackRoomFlag($packRoomFlag) { $this->packRoomFlag = $packRoomFlag; $this->apiParas["pack_room_flag"] = $packRoomFlag; } public function getPackRoomFlag() { return $this->packRoomFlag; } public function setParentRpCode($parentRpCode) { $this->parentRpCode = $parentRpCode; $this->apiParas["parent_rp_code"] = $parentRpCode; } public function getParentRpCode() { return $this->parentRpCode; } public function setParentRpid($parentRpid) { $this->parentRpid = $parentRpid; $this->apiParas["parent_rpid"] = $parentRpid; } public function getParentRpid() { return $this->parentRpid; } public function setPaymentType($paymentType) { $this->payment_type = $paymentType; $this->apiParas["payment_type"] = $paymentType; } public function getPaymentType() { return $this->payment_type; } public function setRateplanCode($rateplanCode) { $this->rateplan_code = $rateplanCode; $this->apiParas["rateplan_code"] = $rateplanCode; } public function getRateplanCode() { return $this->rateplan_code; } public function setRid($rid) { $this->rid = $rid; $this->apiParas["rid"] = $rid; } public function getRid() { return $this->rid; } public function setRpType($rpType) { $this->rpType = $rpType; $this->apiParas["rp_type"] = $rpType; } public function getRpType() { return $this->rpType; } public function setRpid($rpid) { $this->rpid = $rpid; $this->apiParas["rpid"] = $rpid; } public function getRpid() { return $this->rpid; } public function setSource($source) { $this->source = $source; $this->apiParas["source"] = $source; } public function getSource() { return $this->source; } public function setStartTime($startTime) { $this->startTime = $startTime; $this->apiParas["start_time"] = $startTime; } public function getStartTime() { return $this->startTime; } public function setStatus($status) { $this->status = $status; $this->apiParas["status"] = $status; } public function getStatus() { return $this->status; } public function setSuperRpFlag($superRpFlag) { $this->superRpFlag = $superRpFlag; $this->apiParas["super_rp_flag"] = $superRpFlag; } public function getSuperRpFlag() { return $this->superRpFlag; } public function setTagJson($tagJson) { $this->tagJson = $tagJson; $this->apiParas["tag_json"] = $tagJson; } public function getTagJson() { return $this->tagJson; } public function setVendor($vendor) { $this->vendor = $vendor; $this->apiParas["vendor"] = $vendor; } public function getVendor() { return $this->vendor; } public function getApiMethodName() { return "taobao.xhotel.rateplan.add"; } public function getApiParas() { return $this->apiParas; } public function putOtherTextParam($key, $value) { $this->apiParas[$key] = $value; $this->$key = $value; } }