package cn.nianxx.thhotel.platform.hotel.service;

/**
 * 酒店上下文解析服务。统一收口机器入口和用户入口的运行时 hotel_id 来源。
 */
public interface HotelContextService {

    /**
     * 解析系统酒店 ID。单酒店阶段要求平台酒店表中必须且只能有一家 ACTIVE 酒店。
     */
    String resolveSystemHotelId();

    /**
     * 解析当前用户请求酒店 ID。已登录时校验用户授权；未登录兼容入口回退系统酒店。
     */
    String resolveCurrentHotelId(String requestedHotelId);

    /**
     * 校验当前用户是否可访问指定酒店。未登录时按系统酒店兼容校验。
     */
    String requireAccessibleHotel(String hotelId);
}
