Skills Plugins MCP Prompt Model 博客 我的中心

hospitality-expert

Expert-level hotel management, reservation systems, guest services, revenue management, and hospitality technology

DeepseekModel Curated skill Quality Good · 64 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=personamanagmentlayer-pcl-stdlib-domains-hospitality-expert-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name hospitality-expert version 1.0.0 description Expert-level hotel management, reservation systems, guest services, revenue management, and hospitality technology category domains tags ["hospitality","hotel","reservation","pms","revenue-management"] allowed-tools ["Read","Write","Edit"] Hospitality Expert Expert guidance for hotel management, reservation systems, property management systems (PMS), guest services, revenue management, and hospitality technology solutions. Core Concepts Hotel Management Systems Property Management System (PMS) Central Reservation System (CRS) Revenue Management System (RMS) Channel Manager Point of Sale (POS) Guest Relationship Management (GRM) Housekeeping management Technologies Mobile check-in/check-out Digital key systems Guest messaging platforms IoT for room automation AI chatbots for customer service Contactless payments Energy management systems Standards and Protocols HTNG (Hotel Technology Next Generation) OpenTravel Alliance standards PCI-DSS for payment security ADA compliance for accessibility Brand standards (if franchise) OTA integrations (Booking.com, Expedia) Property Management System from dataclasses import dataclass from datetime import datetime, timedelta, date from typing import List , Optional , Dict from decimal import Decimal from enum import Enum class RoomType ( Enum ): STANDARD = "standard" DELUXE = "deluxe" SUITE = "suite" EXECUTIVE = "executive" class RoomStatus ( Enum ): VACANT_CLEAN = "vacant_clean" VACANT_DIRTY = "vacant_dirty" OCCUPIED_CLEAN = "occupied_clean" OCCUPIED_DIRTY = "occupied_dirty" OUT_OF_ORDER = "out_of_order" OUT_OF_SERVICE = "out_of_service" class ReservationStatus ( Enum ): CONFIRMED = "confirmed" CHECKED_IN = "checked_in" CHECKED_OUT = "checked_out" CANCELLED = "cancelled" NO_SHOW = "no_show" @dataclass class Room : """Hotel room information""" room_number: str room_type: RoomType floor: int status: RoomStatus base_rate: Decimal features: List [ str ] bed_type: str max_occupancy: int square_feet: int is_smoking: bool @dataclass class Reservation : """Guest reservation""" reservation_id: str guest_name: str guest_email: str guest_phone: str room_type: RoomType check_in_date: date check_out_date: date num_adults: int num_children: int status: ReservationStatus rate_per_night: Decimal total_amount: Decimal special_requests: str created_at: datetime booking_source: str # 'direct', 'ota', 'phone', etc. assigned_room: Optional [ str ] @dataclass class Folio : """Guest folio (bill)""" folio_id: str reservation_id: str room_number: str guest_name: str charges: List [ Dict ] total_charges: Decimal payments: List [ Dict ] balance: Decimal class PropertyManagementSystem : """Hotel property management system""" def __init__ ( self ): self .rooms = {} self .reservations = {} self .folios = {} self .guests = {} def create_reservation ( self, reservation_data: dict ) -> Reservation: """Create new reservation""" reservation_id = self ._generate_reservation_id() # Calculate total amount check_in = reservation_data[ 'check_in_date' ] check_out = reservation_data[ 'check_out_date' ] num_nights = (check_out - check_in).days rate_per_night = Decimal( str (reservation_data[ 'rate_per_night' ])) total_amount = rate_per_night * num_nights reservation = Reservation( reservation_id=reservation_id, guest_name=reservation_data[ 'guest_name' ], guest_email=reservation_data[ 'guest_email' ], guest_phone=reservation_data[ 'guest_phone' ], room_type=RoomType(reservation_data[ 'room_type' ]), check_in_date=check_in, check_out_date=check_out, num_adults=reservation_data[ 'num_adults' ], num_children=reservation_data.get( 'num_children' , 0 ), status=ReservationStatus.CONFIRMED, rate_per_night=rate_per_night, total_amount=total_amount, special_requests=reservation_data.get( 'special_requests' , '' ), created_at=datetime.now(), booking_source=reservation_data.get( 'booking_source' , 'direct' ), assigned_room= None ) self .reservations[reservation_id] = reservation return reservation def check_in_guest ( self, reservation_id: str ) -> dict : """Process guest check-in""" reservation = self .reservations.get(reservation_id) if not reservation: return { 'error' : 'Reservation not found' } # Find available room of requested type available_room = self ._find_available_room( reservation.room_type, reservation.check_in_date, reservation.check_out_date ) if not available_room: return { 'error' : 'No rooms available of requested type' } # Assign room reservation.assigned_room = available_room.room_number reservation.status = ReservationStatus.CHECKED_IN # Update room status available_room.status = RoomStatus.OCCUPIED_CLEAN # Create folio folio = self ._create_folio(reservation, available_room) return { 'reservation_id' : reservation_id, 'room_number' : available_room.room_number, 'guest_name' : reservation.guest_name, 'check_in_time' : datetime.now().isoformat(), 'check_out_date' : reservation.check_out_date.isoformat(), 'folio_id' : folio.folio_id } def check_out_guest ( self, reservation_id: str ) -> dict : """Process guest check-out""" reservation = self .reservations.get(reservation_id) if not reservation: return { 'error' : 'Reservation not found' } # Get folio folio = next ( (f for f in self .folios.values() if f.reservation_id == reservation_id), None ) if not folio: return { 'error' : 'Folio not found' } # Check for outstanding balance if folio.balance > 0 : return { 'error' : 'Outstanding balance' , 'balance_due' : float (folio.balance) } # Update reservation status reservation.status = ReservationStatus.CHECKED_OUT # Update room status if reservation.assigned_room: room = self .rooms.get(reservation.assigned_room) if room: room.status = RoomStatus.VACANT_DIRTY return { 'reservation_id' : reservation_id, 'guest_name' : reservation.guest_name, 'check_out_time' : datetime.now().isoformat(), 'total_charges' : float (folio.total_charges), 'folio_summary' : { 'room_charges' : float (folio.total_charges), 'payments_received' : float (folio.total_charges - folio.balance) } } def _find_available_room ( self, room_type: RoomType, check_in: date, check_out: date ) -> Optional [Room]: """Find available room of specified type""" for room in self .rooms.values(): if room.room_type != room_type: continue if room.status not in [RoomStatus.VACANT_CLEAN, RoomStatus.VACANT_DIRTY]: continue # Check if room is available for date range if self ._is_room_available(room.room_number, check_in, check_out): return room return None def _is_room_available ( self, room_number: str , check_in: date, check_out: date ) -> bool : """Check if room is available for date range""" for reservation in self .reservations.values(): if reservation.assigned_room != room_number: continue if reservation.status in [ReservationStatus.CANCELLED, ReservationStatus.NO_SHOW]: continue # Check for date overlap if not (check_out <= reservation.check_in_date or check_in >= reservation.check_out_date): return False return True def _create_folio ( self, reservation: Reservation, room: Room ) -> Folio: """Create guest folio""" folio_id = self ._generate_folio_id() # Calculate room charges num_nights = (reservation.check_out_date - reservation.check_in_date).days room_charge = reservation.rate_per_night * num_nights charges = [{ 'date' : datetime.now(), 'description' : f'Room {room.room_number} - {num_nights} nights' , 'amount' : float (room_charge) }] folio = Folio( folio_id=folio_id, reservation_id=reservation.reservation_id, room_number=room.room_number, guest_name=reservation.guest_name, charges=charges, total_charges=room_charge, payments=[], balance=room_charge ) self .folios[folio_id] = folio return folio def post_charge ( self, folio_id: str , charge_data: dict ) -> dict : """Post charge to guest folio""" folio = self .folios.get(folio_id) if not folio: return { 'error' : 'Folio not found' } charge = { 'date' : datetime.now(), 'description' : charge_data[ 'description' ], 'amount' : float (Decimal( str (charge_data[ 'amount' ]))) } folio.charges.append(charge) folio.total_charges += Decimal( str (charge_data[ 'amount' ])) folio.balance += Decimal( str (charge_data[ 'amount' ])) return { 'folio_id' : folio_id, 'charge_posted' : charge, 'new_balance' : float (folio.balance) } def process_payment ( self, folio_id: str , payment_data: dict ) -> dict : """Process payment for folio""" folio = self .folios.get(folio_id) if not folio: return { 'error' : 'Folio not found' } payment_amount = Decimal( str (payment_data[ 'amount' ])) if payment_amount > folio.balance: return { 'error' : 'Payment exceeds balance' } payment = { 'date' : datetime.now(), 'payment_method' : payment_data[ 'payment_method' ], 'amount' : float (payment_amount) } folio.payments.append(payment) folio.balance -= payment_amount return { 'folio_id' : folio_id, 'payment_processed' : payment, 'remaining_balance' : float (folio.balance) } def get_room_availability ( self, check_in: date, check_out: date ) -> dict : """Get room availability for date range""" availability = {} for room_type in RoomType: available_count = 0 for room in self .rooms.values(): if room.room_type == room_type: if self ._is_room_available(room.room_number, check_in, check_out): available_count += 1 availability[room_type.value] = available_count return { 'check_in_date' : check_in.isoformat(), 'check_out_date' : check_out.isoformat(), 'availability' : availability } def _generate_reservation_id ( self ) -> str : import uuid return f"RES- {uuid.uuid4(). hex [: 10 ].upper()} " def _generate_folio_id ( self ) -> str : import uuid return f"FOL- {uuid.uuid4(). hex [: 8 ].upper()} " Revenue Management System import numpy as np class RevenueManagementSystem : """Hotel revenue management and dynamic pricing""" def __init__ ( self ): self .pricing_rules = [] self .demand_forecast = {} def calculate_dynamic_rate ( self, room_type: RoomType, check_in_date: date, days_until_arrival: int , current_occupancy: float , historical_data: dict ) -> Decimal: """Calculate dynamic room rate""" # Base rate base_rates = { RoomType.STANDARD: Decimal( '150' ), RoomType.DELUXE: Decimal( '200' ), RoomType.SUITE: Decimal( '350' ), RoomType.EXECUTIVE: Decimal( '450' ) } base_rate = base_rates.get(room_type, Decimal( '150' )) # Demand multiplier based on occupancy if current_occupancy > 0.85 : demand_multiplier = Decimal( '1.30' ) # High demand elif current_occupancy > 0.70 : demand_multiplier = Decimal( '1.15' ) # Moderate demand elif current_occupancy > 0.50 : demand_multiplier = Decimal( '1.00' ) # Normal else : demand_multiplier = Decimal( '0.85' ) # Low demand # Booking window multiplier if days_until_arrival < 7 : window_multiplier = Decimal( '1.20' ) # Last minute elif days_until_arrival < 14 : window_multiplier = Decimal( '1.10' ) elif days_until_arrival > 60 : window_multiplier = Decimal( '0.90' ) # Early bird else : window_multiplier = Decimal( '1.00' ) # Day of week adjustment if check_in_date.weekday() in [ 4 , 5 ]: # Friday, Saturday day_multiplier = Decimal( '1.25' )
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。