[{"data":1,"prerenderedAt":329},["ShallowReactive",2],{"/docs/base/jobs-base/features/business-and-announcements":3,"/docs/base/jobs-base/features/business-and-announcements-surround":317,"/docs/base/jobs-base/features/business-and-announcements-implemented-suggestions":328},{"id":4,"title":5,"body":6,"description":307,"extension":308,"head":309,"implementedSuggestions":309,"meta":310,"navigation":311,"path":312,"schemaOrg":309,"seo":313,"sitemap":314,"stem":315,"__hash__":316},"docs/1.docs/base/2.jobs-base/2.features/8.business-and-announcements.md","Business and Announcements",{"type":7,"value":8,"toc":297},"minimark",[9,14,18,31,125,165,169,191,208,215,218,222,225,232,247,251,268,271,275],[10,11,13],"h2",{"id":12},"enable-the-feature","Enable the feature",[15,16,17],"p",{},"Jobs Base owns this feature; Jobs Creator is an optional editor. Registered agencies and businesses use the same permission and duty rules.",[15,19,20,21,25,26,30],{},"Configure global behavior under ",[22,23,24],"strong",{},"/jobconfig → Jobs Base → Jobs → Business & announcements",", then enable the intended capabilities for each job. Creator exposes the same saved settings. File defaults are ",[27,28,29],"code",{},"Config.Business","; saved configurator overrides take precedence.",[32,33,34,47],"table",{},[35,36,37],"thead",{},[38,39,40,44],"tr",{},[41,42,43],"th",{},"Global setting",[41,45,46],{},"Default / purpose",[48,49,50,61,71,81,91,101,111],"tbody",{},[38,51,52,58],{},[53,54,55],"td",{},[27,56,57],{},"enabled",[53,59,60],{},"Global feature switch",[38,62,63,68],{},[53,64,65],{},[27,66,67],{},"durationSeconds",[53,69,70],{},"8-second notice",[38,72,73,78],{},[53,74,75],{},[27,76,77],{},"cooldownSeconds",[53,79,80],{},"300-second employee cooldown per job",[38,82,83,88],{},[53,84,85],{},[27,86,87],{},"position",[53,89,90],{},"Default notice position; top-center by default",[38,92,93,98],{},[53,94,95],{},[27,96,97],{},"maxPending",[53,99,100],{},"Three queued notices by default",[38,102,103,108],{},[53,104,105],{},[27,106,107],{},"announceExclusionZones",[53,109,110],{},"Automatic restricted-zone notices",[38,112,113,122],{},[53,114,115,118,119],{},[27,116,117],{},"discord.publicEnabled",", ",[27,120,121],{},"discord.adminEnabled",[53,123,124],{},"Independent opt-in Discord outputs",[15,126,127,128,131,132,118,135,118,138,118,141,118,144,118,147,118,150,118,153,156,157,160,161,164],{},"The job's ",[27,129,130],{},"businessSettings"," contains ",[27,133,134],{},"statusEnabled",[27,136,137],{},"announcementsEnabled",[27,139,140],{},"requireOnDuty",[27,142,143],{},"imageUrl",[27,145,146],{},"openColor",[27,148,149],{},"closedColor",[27,151,152],{},"openSprite",[27,154,155],{},"closedSprite"," and ",[27,158,159],{},"closedAlpha",". Opening/closing and announcements are opt-in per job. The image is optional; sprite ",[27,162,163],{},"0"," retains the station's icon. Existing disabled station blips stay disabled.",[10,166,168],{"id":167},"publish-from-the-tablet","Publish from the tablet",[15,170,171,172,175,176,179,180,175,183,186,187,190],{},"Grant ",[22,173,174],{},"Change business status"," (",[27,177,178],{},"34",") and/or ",[22,181,182],{},"Publish announcements",[27,184,185],{},"35",") through the existing job roles/units. The app launcher is controlled by ",[27,188,189],{},"Config.Tablet.apps.business"," and appears only when the player can use the feature.",[192,193,194,202,205],"ol",{},[195,196,197,198,201],"li",{},"Open ",[22,199,200],{},"Tablet → Business & announcements",".",[195,203,204],{},"Change opening status, or select an announcement, promotion or event.",[195,206,207],{},"Enter a message of up to 240 characters and submit.",[15,209,210,211,214],{},"An empty opening/closing message uses the localized default. There is no ",[27,212,213],{},"/business"," command or separate business radial entry. Opening the business does not change employee duty.",[15,216,217],{},"The server derives the publisher, image and recipients. Accepted notices reach connected players. Opening state survives resource/server restarts; old transient notices are not replayed after reconnecting.",[10,219,221],{"id":220},"history-and-personal-placement","History and personal placement",[15,223,224],{},"The app shows the current authorized job's history: timestamp, employee/resource, action and message. It includes accepted opening changes, announcements, promotions, events and restricted-zone notices performed after this feature's update. Older actions are not reconstructed.",[15,226,227,228,231],{},"History uses ",[27,229,230],{},"sky_jobs_logs"," and its retention policy. The first page contains up to 25 entries, with older entries loaded by ID cursor. Permission, duty and enabled-feature checks also apply to history.",[15,233,234,235,238,239,242,243,246],{},"Under ",[22,236,237],{},"/notifications → Business announcements"," or the matching ",[22,240,241],{},"Tablet Settings"," page, players can place their own notice. ",[22,244,245],{},"Reset → Apply"," removes the personal override and follows the server's position again. These preferences do not grant publishing permission.",[10,248,250],{"id":249},"discord-outputs","Discord outputs",[15,252,253,254,257,258,156,261,264,265,201],{},"Enable the public and administrator outputs independently, then configure their private URLs in ",[27,255,256],{},"sky_jobs_base/config/webhooks.lua"," under ",[27,259,260],{},"Webhooks.businessAnnouncements.public",[27,262,263],{},".admin",". Restart Jobs Base after editing webhooks. Keep them out of client files and ",[27,266,267],{},"/jobconfig",[15,269,270],{},"The public output contains the business/faction name, type, message and configured image. The separate administrator output adds the action origin and employee context. Rejected requests and silent status updates do not publish Discord notices. A Discord failure does not undo a successful in-game announcement.",[10,272,274],{"id":273},"integration-reference","Integration reference",[276,277,278,285,291],"ul",{},[195,279,280],{},[281,282,284],"a",{"href":283},"/docs/base/jobs-base/server-exports/business","Authorized and trusted server Business APIs",[195,286,287],{},[281,288,290],{"href":289},"/docs/base/jobs-base/client-exports/business","Open the employee panel",[195,292,293],{},[281,294,296],{"href":295},"/docs/base/jobs-base/client-exports/notification-settings","Personal notification settings",{"title":298,"searchDepth":299,"depth":300,"links":301},"",1,2,[302,303,304,305,306],{"id":12,"depth":300,"text":13},{"id":167,"depth":300,"text":168},{"id":220,"depth":300,"text":221},{"id":249,"depth":300,"text":250},{"id":273,"depth":300,"text":274},"Manage opening status, city announcements, tablet history and optional Discord outputs.","md",null,{},true,"/docs/base/jobs-base/features/business-and-announcements",{"title":5,"description":307},{"loc":312},"1.docs/base/2.jobs-base/2.features/8.business-and-announcements","aePgKD9i9Jzpk9uKmWLcZx2MBQ8qRAb06PE5NfkDqbI",[318,323],{"title":319,"path":320,"stem":321,"description":322,"children":-1},"Job Bells","/docs/base/jobs-base/features/job-bells","1.docs/base/2.jobs-base/2.features/7.job-bells","Place desk bells and doorbells and configure who receives visitor requests.",{"title":324,"path":325,"stem":326,"description":327,"children":-1},"Tablet and Personalization","/docs/base/jobs-base/features/tablet-and-personalization","1.docs/base/2.jobs-base/2.features/9.tablet-and-personalization","Find shared apps and choose personal themes, wallpapers and notification positions.",[],1791814188762]