HR Leave · Australia

FSM — Field Service Management (Zero → Pro)

ServiceNow Australia · Custom app · Arabic + English readable · scripts copy/paste ready

App typeCustom
Scopex_786686_hr_leave
sys_idc84db0e8839f0b509f02b0d6feaad3c9
Replace{BASE} = your instance
Instance URLs Work Order Tasks

FSM — Field Service Management (Zero → Pro)

اقرأ أولاً: ../MASTER_ALL_IN_ONE_SUMMARY.md · ../html/MASTER_ALL_IN_ONE_SUMMARY.html
الدليل الشامل: ../MASTER_ALL_IN_ONE.md · ../html/MASTER_ALL_IN_ONE.html
ممارسة الشاشات: ../html/MASTER_PRACTICE_GUIDE_ALL_TOPICS.html
Australia · Scope x_786686_hr_leave

Australia Instance — نسخة أستراليا

Setting Value
Region / Datacenter ServiceNow Australia
Release train Zurich (Sep 2026 EA) · next EA: Brazil
URL base {BASE}
Scope note HR Leave app: x_786686_hr_leave
Guided Setup {BASE}/now/guided-setup

Direct Navigation URLs — روابط التنقل المباشرة

Page / Tool Navigation Path Direct URL Purpose
Work Orders All > Field Service > Work Orders {BASE}/wm_order_list.do Work order queue
Work Order Tasks All > Field Service > Work Order Tasks {BASE}/wm_task_list.do Task execution
Dispatcher Workspace Now Experience > FSM Dispatcher {BASE}/now/fsm-dispatch/home Scheduling & dispatch
Agent Workspace Now Experience > FSM Agent {BASE}/now/fsm-agent/home Field agent view
Dispatch Groups All > Field Service > Dispatch Groups {BASE}/dispatch_group_list.do Team routing
Qualifications All > Field Service > Qualifications {BASE}/wm_qualification_list.do Technician skills
Parts / Inventory All > Inventory > Stockrooms {BASE}/alm_stockroom_list.do Parts management
Locations All > System > Locations {BASE}/cmn_location_list.do Service locations
Flow Designer All > Process Automation > Flow Designer {BASE}/now/flow-designer WO automation
Guided Setup FSM All > Guided Setup {BASE}/now/guided-setup Initial configuration

Platform target: ServiceNow Australia (Sep 2026) · next EA: Brazil
URLs: ../../SERVICENOW_DIRECT_URLS_CATALOG.md · 1-week: ../../SERVICENOW_ONE_WEEK_STUDY_DEPLOY_AUSTRALIA.md
HR Leave: Scope x_786686_hr_leave

CIS-FSM Professional Implementer Guide
الأسلوب: عربية + إنجليزية تكمّلان بعضهما — بدون ترجمة حرفية لأسماء الشاشات.


ملخص ووصف بالعربية (Arabic Summary)

البند الشرح
ما هو FSM؟ الخدمة الميدانية — أوامر عمل، فنيون، جدولة، جوال، قطع غيار
لماذا مهم؟ إصلاحات في موقع العميل لا تتم من مكتب الخدمة
من يستخدمه؟ موزّع (Dispatcher)، فني ميداني، مدير قطع
ماذا يغطي الملف؟ Work Order، Dispatcher workspace، Mobile · §16 مختبر E2E

ملخص في سطر: من القضية/الطلب إلى أمر عمل → جدولة → إنجاز على الجوال مع قطع.

وصف مختصر: يغطي المناطق، الجدولة، تطبيق الجوال، استهلاك المخزون، وربط CSM. مناسب CIS-FSM.


1) Overview & Business Value

FSM manages work performed in the field by technicians. — يدير العمل الميداني: جدولة الفنيين، الأجزاء، المواقع، والمهام في الموقع.

Core value:
- Work Order management.
- Scheduling & dispatch (manual + automated).
- Inventory & parts management.
- Mobile app for technicians.
- Integration with CSM (case → work order) and ITSM.


2) Architecture & Data Model

Key tables:

Table الغرض
wm_order أمر العمل (Work Order)
wm_task مهمة العمل (Work Order Task)
wm_qualification المؤهلات/المهارات
dispatch_group مجموعة الإرسال (Dispatch)
sm_schedule / appointments الجدولة والمواعيد
pc_product_cat_item parts الأجزاء
inv_* (Inventory) المخزون
cmn_location المواقع

Model:

Work Order (wm_order)
 └─ Work Order Task (wm_task)
 ├─ assigned technician (with qualifications)
 ├─ scheduled appointment (time window)
 ├─ parts required (inventory)
 └─ location (cmn_location)

3) Plugins & Activation

App / Plugin Name
Field Service Management com.snc.work_management (from Store)
FSM Dispatcher Workspace included
Mobile (Now Mobile / Agent) platform
Dynamic Scheduling from Store
Appointment Booking from Store
FSM Contractor Management from Store

How to activate:

  1. Navigate: All > System Applications > All Available Applications > All. — Open direct
  2. Search “Field Service Management”.
  3. Install.
  4. Guided Setup:
    Navigate: All > Guided Setup > Field Service Management. — Open direct

4) Guided Setup & All Options

Sections:
- Foundation — locations, territories, skills.
- Technicians & Qualifications — الفنيون ومهاراتهم.
- Dispatch Groups — مجموعات الإرسال.
- Scheduling — manual board / auto / dynamic.
- Inventory & Parts — المخزون والأجزاء.
- Work Order types & states.
- Mobile configuration.
- Customer/Asset (CSM/CMDB integration).

Important options:

Option Navigate
Dispatch Workspace /now FSM Dispatcher
Territories All > Field Service > Administration > Territories · Open direct
Skills/Qualifications All > Field Service > Administration · Open direct
Auto Dispatch / Dynamic Scheduling property + plugin
Inventory locations All > Inventory · Open direct
Appointment Booking config

5) End-to-End Process Cycle

Work Order lifecycle:

Draft → Requested → Qualified → Assigned/Scheduled → Work in Progress → Closed Complete

Full flow:

Trigger (CSM case / request / asset failure)
 → Work Order created
 → Qualification (skills + parts + location)
 → Schedule + Dispatch to technician
 → Technician (mobile): travel → on-site → complete task → consume parts
 → Close work order → customer signature/feedback

Dispatch إما يدوي (لوحة الإرسال) أو تلقائي (Auto/Dynamic Scheduling).


6) Development

Business Rule — require qualification before assignment

(function executeRule(current, previous) {
 if (current.assigned_to.changes() && !current.assigned_to.nil()) {
 // ensure technician has required skill (simplified)
 if (current.skills.nil()) {
 gs.addErrorMessage('Define required skills before assigning a technician.');
 current.setAbortAction(true);
 }
 }
})(current, previous);

Development topics:
- Auto-assignment / Dynamic Scheduling configuration.
- Work order tasks & dependencies.
- Mobile app layouts (Agent/Now Mobile).
- Parts requirements + inventory transfers.
- Geolocation & maps.
- Flow Designer for WO approvals.


7) Administration

Area Navigate
Roles sn_field_service.* (dispatcher, agent, admin)
Territories All > Field Service > Administration · Open direct
Dispatch Groups All > Field Service · Open direct
Inventory All > Inventory · Open direct
Schedules/Shifts All > Field Service > Schedules · Open direct

Key roles:
- field_service_dispatcher — المرسِل.
- field_service_agent / technician — الفني الميداني.
- field_service_admin — المدير.


8) Hands-on Labs

Lab 1 — Foundation:
1. Create a Location and a Territory.
2. Create a technician user + qualifications.

Lab 2 — Work Order:
1. Navigate: All > Field Service > Work Orders > Create New. — Open direct
2. Add a task, set required skills + location.

Lab 3 — Dispatch:
1. Open the Dispatcher Workspace.
2. Schedule the task to the technician on the board.

Lab 4 — Parts:
1. Add a part requirement to the task.
2. Transfer/consume from inventory.

Lab 5 — CSM → FSM:
1. From a CSM case, create a Work Order.
2. Complete it and verify the case updates.


9) Best Practices & Common Mistakes

Best practices:
- Model skills/qualifications properly for accurate matching.
- Use Dynamic Scheduling for large field teams.
- Keep inventory locations accurate for parts.
- Use the mobile app for real-time field updates.

Common mistakes:
- إسناد فني بلا المهارة المطلوبة.
- إهمال المخزون فتفشل المهام لعدم توفّر الأجزاء.
- خلط Work Order مع Work Order Task في التقارير.


10) CIS-FSM Exam Focus

High-yield:
- Work Order vs Work Order Task.
- Qualification matching (skills + territory + parts).
- Dispatch: manual board vs Auto/Dynamic Scheduling.
- Inventory & parts consumption.
- Technician mobile workflow (travel/onsite/complete).
- CSM ↔ FSM integration (case to work order).
- Territories & schedules/shifts.

Exam tip: — ركّز على كيف يُختار الفني (المهارة + المنطقة + الوقت + الأجزاء).


11) Portals, Workspaces, Role Hierarchy & Feature Catalog

ملاحظة عن الروابط:
URLs الـ Workspaces قد تختلف حسب الإصدار والـ App Config.

11.1 Portals & Mobile (customers + technicians)

Surface URL / App لمن
Customer Service Portal /csm العملاء (طلب خدمة ميدانية)
FSM customer self-service /csm?id=… العملاء
Now Mobile (technician) Now Mobile app الفنيون
Field Service Mobile (Agent app) Mobile Agent app الفنيون

11.2 Workspaces (dispatch/managers)

Workspace URL لمن
Dispatcher Workspace /now/fsm/dispatcher المرسِلون (Dispatch board + map)
FSM Agent/Manager Workspace /now/cwf/agent الوكلاء/المديرون
Scheduling / Central Dispatch configurable المرسِلون
Admin (classic) /nav_to.do admins

لوحة الإرسال (Dispatch board) فيها خريطة وجدول زمني لتعيين المهام للفنيين.

11.3 Role Hierarchy

admin
└─ field_service_admin
 ├─ field_service_dispatcher (الإرسال والجدولة)
 ├─ field_service_agent (الفني الميداني)
 ├─ field_service_manager
 └─ inventory roles (inventory_user / inventory_admin)

wm_initiator (من يفتح أمر عمل)

11.4 Full Business Cycle

Trigger (CSM case / request / preventive maintenance / asset failure)
 → Work Order (wm_order) + Work Order Task (wm_task)
 → Qualification: required skills + parts + location/territory
 → Schedule & Dispatch (manual board OR Auto/Dynamic Scheduling)
 → Technician (mobile): assigned → traveling → on-site
 ↳ consume parts (inventory transfer)
 ↳ capture notes / photos / signature
 → Complete task → Close Work Order
 → Customer confirmation / feedback → invoice/report

11.5 Feature Catalog

Process features:
- Work Order & Work Order Task management.
- Qualification matching (skills, territory, parts).
- Manual Dispatch board, Auto Dispatch, Dynamic Scheduling.
- Appointment Booking.
- Inventory & Parts Management (stockrooms, transfers).
- Preventive/Planned Maintenance.
- Contractor Management.
- Geolocation, maps, route planning.
- Time recording & costing.

Platform features used:
- Dispatcher Workspace + map.
- Mobile apps (Now Mobile / Mobile Agent) offline-capable.
- Flow Designer (WO approvals/automation).
- CSM integration (case → work order).
- CMDB/Asset integration (asset-based service).
- Performance Analytics (first-time fix rate, utilization).
- Now Assist for FSM.


12) End-to-End Implementation (Post-Activation)

اقرأ هذا بعد تثبيت FSM وتشغيل Guided Setup.

12.1 Application Menus map

All > Field Service
 ├─ Work Orders (Create New / Open / My / Unassigned / All)
 ├─ Work Order Tasks
 ├─ Dispatch (Dispatcher Workspace / Map)
 ├─ Schedules / Appointments
 ├─ Administration
 │ ├─ Territories / Regions
 │ ├─ Skills / Qualifications
 │ ├─ Dispatch Groups
 │ └─ Auto/Dynamic Scheduling config
 └─ Reports / Performance
All > Inventory
 ├─ Stockrooms / Transfer Orders / Parts
 └─ Inventory adjustments

12.2 Core tables to know

List Table
wm_order.list work orders
wm_task.list work order tasks
dispatch_group.list dispatch groups
cmn_location.list locations
sm_schedule.list schedules
inventory inv_* stockrooms/parts

12.3 End-to-end build order

  1. Foundation:
    - Locations, Territories/Regions.
    - Skills/Qualifications catalog.
  2. Resources:
    - Technician users + qualifications + working hours/shifts.
  3. Dispatch:
    - Dispatch Groups mapped to territories.
  4. Scheduling strategy:
    - Manual board / Auto Dispatch / Dynamic Scheduling / Appointment Booking.
  5. Inventory:
    - Stockrooms, parts catalog, transfer orders.
  6. Work Order config:
    - Work Order types, states, task templates, SLAs.
  7. Mobile:
    - Configure Mobile Agent layouts (forms, actions, offline).
  8. Flows:
    - WO approvals, auto-assignment automation.
  9. Integrations:
    - CSM (case → WO), CMDB/Asset (asset service), maps/geocoding.
  10. Workspace:
    - Dispatcher Workspace /now/fsm/dispatcher.
  11. Reporting + Test + Deploy.

12.4 All configuration pages

Config Navigate
FSM properties All > Field Service > Administration > Properties · Open direct
Territories All > Field Service > Administration > Territories · Open direct
Skills All > Field Service > Administration > Skills · Open direct
Dynamic Scheduling property + plugin config
Inventory setup All > Inventory > Administration · Open direct
Mobile config All > Now Mobile App Builder / Studio · Open direct

Study path note: — للدراسة من الصفر اتبع: STUDY_ROADMAP.md


13) Options & Instance Notes

Resource Content
Instance gaps MODULE_OPTIONS_AND_INSTANCE_NOTES.md → FSM
Full implementation MODULE_IMPLEMENTATION_PLAYBOOK.md → FSM

14) Implementation Scenarios, Options, Best Practices & Customizations

Playbook: MODULE_IMPLEMENTATION_PLAYBOOK.md → FSM

14.1 Scenarios

ID Scenario Path
S1 Work Orders Dispatch + mobile
S2 + Parts/inventory Stockrooms + transfers
S3 CSM-integrated Case creates WO

14.2 Options matrix

Area A B
Scheduling Dynamic scheduling Manual dispatch
Mobile FSM mobile app Browser only
Parts inv_* + ITAM overlap Parts only in FSM
Maps Geocoding enabled Address text only

14.3 Plugins

com.snc.field_service_management, scheduling — Store + Guided Setup FSM

14.4 Roles

sn_fsm_dispatcher, technician, inventory_admin, territory managers.

14.5 Common developments

Work order task templates, agent maps, parts consumption BRs, asset-linked WOs, SLA for on-site arrival, integration to CSM cases.

14.6 Best practices

Define territories/skills early; pilot one region; offline mobile test before rollout.

14.7 Go-live


15) Zero-to-Hero End-to-End Implementation (Scratch → Go-Live)

Framework: MODULE_ZERO_TO_HERO_CONSULTING.md

من Territories/Skills حتى Dispatcher + Mobile + Work Orders.

15.1 Business goals

Goal العربي
First-time fix إصلاح من أول زيارة
Schedule optimization جدولة الفنيين
Parts availability قطع الغيار في الوقت
CSM link Case → WO

15.2 Phase 0 — Discover

Territories, skills, parts stockrooms, mobile offline needs.

15.3 Phase 1 — Activate

FSM plugin, scheduling, mobile app — Guided Setup FSM.

15.4 Phase 2 — Foundation (Week 2–4)

Technicians, dispatchers, territories, skills, work order types.

15.5 Phase 3 — Dispatch (Week 4–6)

Dispatcher workspace, scheduling rules, maps.

15.6 Phase 4 — Mobile & parts (Week 6–8)

Mobile sync test, inventory, consumption on WO.

15.7 Phase 5 — UAT & go-live

End-to-end WO: create→assign→complete→parts deducted.

15.8 Phase 7 — Operate

Utilization, travel time, parts stockouts.

15.9 Master checklist


16) Full E2E Practice · Pages · Requirements · Options (AR + EN)

Field technicians · Dispatcher workspace · Mobile offline sync.


16.1 Business goals

Goal (EN) الهدف (AR) KPI
First-time fix إصلاح من أول زيارة FTFR
Optimized dispatch توزيع أمثل Travel time
Parts on van/stockroom قطع غيار Stockout rate
Customer appointment موعد العميل On-time arrival

Why buy FSM: English: Desk agents cannot fix HVAC at customer site — need WO, schedule, mobile, parts. — FSM يربط قضية/طلب → أمر عمل → فني → قطع → إغلاق مع خريطة وجوال.


16.2 Requirements

ID EN AR
FS-R01 Work Order types + tasks أنواع WO
FS-R02 Dispatcher workspace موزّع
FS-R03 Scheduling / territories جدولة ومناطق
FS-R04 Mobile Agent app sync جوال
FS-R05 Parts/inventory consumption قطع
FS-R06 (Optional) CSM case origin من CSM
FS-R07 Customer notifications إشعار عميل

16.3 Consultation cycle

Phase EN AR Deliverable
0 Field workforce size, regions الفنيين Territory map
1 As-is dispatch (phone/maps) الوضع الحالي Gap
2 WO lifecycle دورة WO Process
3 Parts model قطع Stockroom/van
4 Mobile pilot users جوال Device list
5 UAT E2E WO UAT Sign-off

16.4 Options (A / B / C)

| Area | A | B | C |
|—|—|—|
| Intake | CSM Case → WO | Catalog WO | Manual |
| Schedule | Dynamic scheduling | Manual dispatch | External |
| Mobile | FSM Mobile Agent | Browser | Paper |
| Parts | Inventory Management | Simple task parts | No inventory |
| Maps | Built-in maps | External GPS | None |


16.5 All pages (Navigate)

Page Navigate
Field Service Administration All > Field Service > Administration · Open direct
Work Orders All > Field Service > Work Orders · Open direct
Work Order Tasks All > Field Service > Tasks · Open direct
Dispatch Queue Dispatcher Workspace /now/fsm/dispatcher
Territories All > Field Service > Territories · Open direct
Scheduling All > Field Service > Scheduling · Open direct
Agents (field) All > Field Service > Agents · Open direct
Parts / Stock All > Inventory > Stockrooms · Open direct
Mobile layouts All > Mobile > Layout · Open direct
Agent map view Dispatcher map tab

16.6 Full PDI lab (15 steps)

Step EN AR Verify
1 Activate FSM + Guided Setup تفعيل Apps on
2 Create territory + assign agents منطقة Territory map
3 Create WO type Break/Fix نوع Type saved
4 Create WO from case or manual WO Record open
5 Open Dispatcher workspace موزّع Queue visible
6 Assign WO to agent (drag schedule) إسناد Agent scheduled
7 Agent mobile — accept/start/complete جوال States updated
8 Add part to WO — consume from stock قطعة Qty reduced
9 Capture customer signature (if enabled) توقيع Attached
10 Close WO — verify case closed (if linked) إغلاق End state
11 Report: utilization by agent تقرير Dashboard
12 Failed sync test (offline queue) offline Sync on reconnect
13 Options A/B/C خيارات Doc
14 UAT FS-R01–07 UAT Pass
15 Update Set FSM Lab 16 Export Done

16.7 Sign-off


§17 — Power User Playbook (FSM)

17.1 Personas

Persona Primary actions
Customer Book appointment via portal, track ETA, leave rating
Dispatcher Optimize daily plan, reassign, handle emergencies via Dispatch Workspace
Field Technician Mobile WO execution, parts, signature, photos
Service Manager Capacity planning, performance reviews, customer escalations
Inventory Manager Truck stock, warehouse, replenishment
Subcontractor Limited portal access for assigned WOs

17.2 Day-in-Life — Dispatcher

  1. Open Dispatch Workspace /now/fsm/dispatcher.
  2. Map view shows technicians + WOs as pins.
  3. Drag a WO from queue to technician → system validates skill+territory+capacity.
  4. Auto-optimize route via “Optimize Day” action.
  5. Emergency: pull a tech off current job, escalate flag.

17.3 Day-in-Life — Field Technician (Mobile)

  1. Open ServiceNow Now Mobile → My Work Orders.
  2. See ETA, customer info, parts required.
  3. “Start travel” → geofence detects arrival → “Start work”.
  4. Perform task; consume parts from truck stock.
  5. Take photos; capture customer signature.
  6. Complete → invoice/follow-up triggered.

17.4 Top 20 FSM Scripts (full code)

1. Auto-assign WO by skill + territory + availability

var FSMSmartDispatch = Class.create();
FSMSmartDispatch.prototype = {
 initialize: function {},

assign: function (woSysId) {
var wo = new GlideRecord(‘wm_order’);
if (!wo.get(woSysId)) return null;
var requiredSkill = wo.getValue(‘skills’);
var territory = wo.getValue(‘territory’);
var due = wo.getValue(‘requested_due_by’);

// candidates with skill + territory
var cand = new GlideRecord(‘sys_user’);
cand.addQuery(‘active’, true);
cand.addQuery(‘skills’, ‘CONTAINS’, requiredSkill);
cand.addQuery(‘u_territories’, ‘CONTAINS’, territory);
cand.query();

var best = null;
var bestScore = -Infinity;
while (cand.next()) {
var score = this._score(cand, wo);
if (score > bestScore) {
bestScore = score;
best = cand.getUniqueValue();
}
}
if (best) {
wo.setValue(‘assigned_to’, best);
wo.update();
}
return best;
},

_score: function (tech, wo) {
// Lower load + nearby + matching language
var loadAgg = new GlideAggregate(‘wm_order’);
loadAgg.addQuery(‘assigned_to’, tech.getUniqueValue());
loadAgg.addQuery(‘state’, ‘IN’, ‘pending,in_progress’);
loadAgg.addAggregate(‘COUNT’);
loadAgg.query();
var load = loadAgg.next() ? parseInt(loadAgg.getAggregate(‘COUNT’), 10) : 0;
return -load * 10; // negative = lower is better
},

type: ‘FSMSmartDispatch’
};

2. Route optimization (simple greedy)

function optimizeDay(techSysId, date) {
 var gr = new GlideRecord('wm_order');
 gr.addQuery('assigned_to', techSysId);
 gr.addQuery('scheduled_start', date);
 gr.orderBy('priority');
 gr.query();

var wos = [];
while (gr.next()) {
wos.push({
sysId: gr.getUniqueValue(),
lat: parseFloat(gr.getValue(‘latitude’)),
lng: parseFloat(gr.getValue(‘longitude’)),
duration: parseInt(gr.getValue(‘estimated_duration’), 10),
priority: parseInt(gr.getValue(‘priority’), 10)
});
}

// Nearest-neighbor heuristic from start point
var start = { lat: parseFloat(gs.getProperty(‘x_fsm.depot_lat’)),
lng: parseFloat(gs.getProperty(‘x_fsm.depot_lng’)) };
var ordered = [];
var cur = start;
while (wos.length > 0) {
wos.sort(function (a, b) {
return _dist(cur, a) - _dist(cur, b);
});
var next = wos.shift();
ordered.push(next);
cur = next;
}

// Persist order
ordered.forEach(function (w, idx) {
var u = new GlideRecord(‘wm_order’);
if (u.get(w.sysId)) {
u.setValue(‘dispatch_order’, idx + 1);
u.update();
}
});

function _dist(a, b) {
var dx = a.lat - b.lat, dy = a.lng - b.lng;
return Math.sqrt(dx * dx + dy * dy);
}
}

3. Parts reservation from truck stock

function reserveParts(woSysId, partRequests) {
 var wo = new GlideRecord('wm_order');
 if (!wo.get(woSysId)) return { success: false, error: 'wo_not_found' };
 var techId = wo.getValue('assigned_to');
 var truck = _getTruckFor(techId);
 var reserved = [];

for (var i = 0; i < partRequests.length; i++) {
var p = partRequests[i];
var stock = new GlideRecord(‘alm_consumable’);
stock.addQuery(‘stockroom’, truck);
stock.addQuery(‘model’, p.model);
stock.setLimit(1);
stock.query();
if (!stock.next()) {
return { success: false, error: ‘no_stock’, model: p.model };
}
var avail = parseInt(stock.getValue(‘quantity’), 10) -
parseInt(stock.getValue(‘reserved’), 10);
if (avail < p.qty) {
return { success: false, error: ‘insufficient’, model: p.model,
available: avail, requested: p.qty };
}
stock.setValue(‘reserved’,
parseInt(stock.getValue(‘reserved’), 10) + p.qty);
stock.update();
reserved.push({ stock: stock.getUniqueValue(), qty: p.qty });
}

return { success: true, reserved: reserved };
}

4. ETA notification SMS to customer

// Triggered when tech starts travel
(function (current, previous) {
 if (current.state.changes() && current.getValue('state') === 'en_route') {
 var customer = new GlideRecord('customer_contact');
 if (!customer.get(current.getValue('contact'))) return;
 var phone = customer.getValue('mobile_phone');
 if (!phone) return;

var eta = parseInt(current.getValue(‘eta_minutes’), 10) || 30;
var msg = ‘Your technician ’ + current.getDisplayValue(‘assigned_to’) +
’ is on the way. ETA ~’ + eta + ’ minutes. Track: ’ +
gs.getProperty(‘glide.servlet.uri’) +
‘sp?id=track&wo=’ + current.getValue(‘number’);

new HRLXProSMSUtils().sendSMS(phone, msg); // reuse from doc 06
}
})(current, previous);

5. Geofence arrival detection

// Scripted REST endpoint /api/x_fsm/geofence
(function process(request, response) {
 var data = request.body.data;
 var techId = data.tech_id;
 var lat = parseFloat(data.lat);
 var lng = parseFloat(data.lng);

// Find active WO for this tech
var wo = new GlideRecord(‘wm_order’);
wo.addQuery(‘assigned_to’, techId);
wo.addQuery(‘state’, ‘en_route’);
wo.setLimit(1);
wo.query();
if (!wo.next()) {
response.setStatus(404); return { ok: false };
}

var siteLat = parseFloat(wo.getValue(‘latitude’));
var siteLng = parseFloat(wo.getValue(‘longitude’));
var distM = _haversine(lat, lng, siteLat, siteLng);

if (distM < 100) {
wo.setValue(‘state’, ‘on_site’);
wo.setValue(‘arrived_at’, new GlideDateTime());
wo.update();
gs.eventQueue(‘x_fsm.wo.arrived’, wo, techId);
}
return { ok: true, distance_m: distM };

function _haversine(lat1, lon1, lat2, lon2) {
var R = 6371000;
var dLat = (lat2 - lat1) * Math.PI / 180;
var dLon = (lon2 - lon1) * Math.PI / 180;
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1 * Math.PI/180) * Math.cos(lat2 * Math.PI/180) *
Math.sin(dLon/2) * Math.sin(dLon/2);
return 2 * R * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
}
})(request, response);

6. Photo upload to WO — use sys_attachment API with category tags.

7. Multi-resource scheduling (2 techs) — set wo.assigned_to_secondary field; map view shows both pins.

8. Recurring WO generator (preventive maintenance)

// Scheduled Job — daily 03:00
(function {
 var pm = new GlideRecord('wm_pm_contract');
 pm.addActiveQuery();
 pm.query();
 while (pm.next()) {
 var nextDue = _nextDue(pm);
 if (nextDue && _shouldCreate(nextDue)) {
 var wo = new GlideRecord('wm_order');
 wo.initialize();
 wo.setValue('pm_contract', pm.getUniqueValue());
 wo.setValue('asset', pm.getValue('asset'));
 wo.setValue('short_description', 'PM: ' + pm.getValue('name'));
 wo.setValue('scheduled_start', nextDue);
 wo.setValue('type', 'preventive');
 wo.insert();
 }
 }
})();

9. Asset health → predictive maintenance — IoT signal → triggers WO when threshold breached.

10. Tech timesheet auto-populate — sum wo.travel_time + work_time per day.

11-20. Quick recipes

# Pattern
11 Truck stock replenishment trigger when below par
12 Customer signature capture (canvas → attachment)
13 Travel time calculator via Google Maps Distance Matrix
14 Emergency reassignment workflow with new ETA SMS
15 SLA breach predictor via ML model
16 Skill gap report (skills needed vs available)
17 Bulk-reschedule due to weather (severe weather API)
18 WO → Invoice integration (NetSuite/QuickBooks)
19 Technician scorecard (FTF rate, CSAT, on-time %)
20 Schedule density heatmap (cooler = available)

17.5 Mobile App configuration

Feature Setup
Offline mode enable sync queue, max 7-day cache
Signature widget + base64 → attachment
Photo camera plugin, compress + upload
Barcode QR code scan for asset lookup
Push notifications FCM/APNS via Now Mobile
GPS foreground + background tracking opt-in

§18 — From-Scratch Implementation (Day 0 → Day 30)

Phase Days Outcome
Foundation 0–6 Territory, skills, resources
Operations 7–14 WOs, Dispatch Workspace, mobile
Customer + Inventory 15–20 Portal, parts, scheduling automations
Analytics + AI 21–25 Dashboards, Now Assist
Pilot + Rollout 26–30 UAT, training, go-live

18.1 Day-by-day

Day 0 — Service area map, territory plan, skill matrix, technician headcount, current tool sunset plan, mobile devices inventory

Day 1 — Activate plugins

- com.snc.work_management
- com.snc.dispatch_workspace
- com.snc.field_service.mobile

Day 2-3 — Territories + Skills + Resources
- Territories defined geographically (zip codes / polygons)
- Skill taxonomy (HVAC, Electrical, Plumbing, IT, etc.)
- Technicians + Sub-contractors

Day 4 — Asset model linking — WO must reference an asset (alm_asset or cmdb_ci).

Day 5 — Inventory locations
- Warehouses (master stock)
- Trucks (per-tech mobile stock)
- Bin → Item → Quantity hierarchy

Day 6-7 — WO types + states
- Types: Installation, Repair, Preventive Maintenance, Emergency, Inspection
- States: Pending → Scheduled → Dispatched → En route → On site → Complete → Closed

Day 8-9 — Dispatch Workspace + Map
- Configure layers (technicians, WOs, traffic)
- Skill filters
- Drag-drop assignment

Day 10 — Customer Portal booking widget
- Select service type
- Pick available slot
- Confirm appointment

Day 11 — Mobile app branding + offline config
- Logo, theme
- Sync schedule (every 5 min when online)
- Conflict resolution rules

Day 12 — Scheduling automation rules
- Auto-assign by skill+territory
- Auto-optimize daily route at 06:00

Day 13 — Skill-based routing engine — links to AWA from CSM module.

Day 14 — Parts ordering integration (NetSuite or SAP)

Day 15 — GPS + geofencing
- Tech app sends location every 60s when WO active
- Geofence triggers state transition

Day 16-17 — Preventive Maintenance schedules
- PM contracts per asset
- Frequency (calendar or usage-based)
- Auto-WO generation (script #8 above)

Day 18 — SLA on WO
- Response SLA: time-to-dispatch
- Resolution SLA: time-to-complete

Day 19 — Subcontractor management
- Limited portal access
- Mark WOs as outsourced
- Cost tracking

Day 20 — Customer notifications (SMS, email, push)
- Appointment booked confirmation
- 1-day reminder
- Tech en route ETA
- Completion + survey

Day 21-22 — Dashboards
- Utilization (% billable hours)
- First-Time-Fix-Rate
- CSAT
- Avg travel time
- Parts cost per WO

Day 23 — Salesforce / SAP / NetSuite integration

Day 24 — Now Assist for FSM
- Suggest similar WOs
- Recommend parts
- Predict job duration

Day 25 — ATF — 10 scenarios

Day 26 — Mobile pilot with 10 techs

Day 27 — Training
- Dispatcher (1 day)
- Field technicians (½ day in field)
- Customer support (booking portal)

Day 28 — UAT — full territory cycle

Day 29 — Pilot go-live in 1 territory

Day 30 — Full rollout + Hypercare

18.2 KPIs Month 1

KPI Target
First-Time-Fix-Rate ≥ 80%
Avg travel time per WO ≤ 25 min
Utilization (productive hours) ≥ 70%
Customer CSAT ≥ 4.5 / 5
On-time arrival % ≥ 90%
Mobile app crash rate < 0.5%

§19 — CIS-FSM Exam & Z-to-Hero Feature Labs

19.1 Exam bank

Primary: C:\SVCProject\EXAM_BANK_FSM_360.md (~120 Q, 95 KB).

19.2 Z-to-Hero Feature Labs (12 labs)

Lab Feature Bank topic
L1 Territory definition (ZIP-based) Territories
L2 Skill taxonomy + Technician skill matrix Skills
L3 Stockroom (warehouse + truck) + bin location Inventory
L4 Work Order types (Install, Repair, PM, Emergency) WO types
L5 Smart Dispatch script (skill+territory+capacity) Dispatching
L6 Dispatcher Workspace /now/fsm/dispatcher map Dispatcher
L7 Mobile WO execution on Now Mobile (start/complete) Mobile
L8 Geofence arrival detection Geo
L9 Parts reservation from truck stock Parts
L10 Customer signature capture + photo attach Mobile features
L11 Twilio SMS ETA notification Customer comms
L12 Preventive Maintenance recurring WO generator PM

19.3 Top 15 FSM must-know concepts

  1. Work Order wm_order table + state model
  2. Territory ↔ Group ↔ Technician mapping
  3. Skill ↔ Technician + WO required skills
  4. Dispatcher Workspace map view (drag-drop)
  5. Mobile Now app offline capability
  6. Stockroom hierarchy: warehouse → truck → bin
  7. Parts: model vs consumable vs spare
  8. PM (Preventive Maintenance) Contracts → auto-WO
  9. Customer booking via portal slot picker
  10. Skill-based + territory-based + capacity-based routing
  11. ETA calculation (Maps API)
  12. Travel time vs work time vs idle
  13. First-Time-Fix-Rate (FFR) metric
  14. Subcontractor management
  15. Asset → WO link (alm_asset or cmdb_ci)

19.4 5 sample CIS-FSM questions

Q1. Which table stores Work Orders?
A. task
B. wm_order
C. sn_customerservice_case
D. incident

Answer: B (extends task)

Q2. Dispatcher Workspace allows reassignment by:
A. Edit field
B. Drag-drop pin on map + auto-validation of skill/territory
C. Background script
D. Email

Answer: B

Q3. When does geofence trigger state change to “On Site”?
A. When tech taps “Arrive” manually
B. When GPS coordinates of mobile device < threshold from WO location
C. When dispatcher confirms
D. When customer scans QR

Answer: B

Q4. Preventive Maintenance generates WOs via:
A. Manual creation
B. Scheduled Job that scans PM contracts daily and creates WOs by frequency
C. Email trigger
D. Customer request

Answer: B

Q5. Truck stock is modeled as:
A. alm_consumable with stockroom = truck stockroom
B. Custom table
C. cmdb_ci_truck
D. wm_inventory

Answer: A

Use EXAM_BANK_FSM_360.md for remaining 115+ questions.

19.5 What “Hero” looks like for FSM

Implements full field operation: territories + skills, smart dispatch, mobile + offline + signature, parts + PM, geofence + ETA SMS, customer portal booking, sub-contractor mgmt. Passes CIS-FSM with ≥85%.


Hands-on Labs — مختبرات عملية

Step-by-step labs for PDI / Australia instance. Replace {BASE} with your instance URL.
مختبرات خطوة بخطوة — استبدل {BASE} برابط نسختك.

  1. Lab 1 — Create Work Order / إنشاء أمر عمل — Open {BASE}/wm_order.do?sys_id=-1; set location, priority, short description; submit.

  2. Lab 2 — Add tasks & parts / مهام وقطع — Add Work Order Tasks; attach required parts from stockroom.

  3. Lab 3 — Dispatcher scheduling / جدولة الموزّع — Open {BASE}/now/fsm-dispatch/home; drag WO to technician calendar.

  4. Lab 4 — Qualification match / مطابقة المؤهلات — Create qualification; assign to agent; verify only qualified techs appear.

  5. Lab 5 — Mobile execution / تنفيذ جوال — Complete task on Now Mobile / Agent app; capture signature and parts consumed.

  6. Lab 6 — Inventory consumption / استهلاك مخزون — Verify stockroom quantity decreases after part used.

  7. Lab 7 — CSM integration / تكامل CSM — Create WO from Case; close Case when WO completes.


Best Practices — أفضل الممارسات

Area Best practice (EN) أفضل ممارسة (AR)
Scheduling Use Dispatch Groups + qualifications — not manual email Dispatch Groups + مؤهلات — لا بريد يدوي
Parts Pre-stage parts in stockroom before dispatch جهّز القطع في المستودع قبل الإرسال
Mobile Train techs on offline-capable flows درّب الفنيين على العمل دون اتصال
SLA Separate travel vs work SLA if needed SLA سفر vs عمل منفصل إن لزم

Deployment Checklist — قائمة النشر

# Task (EN) المهمة (AR) Verify
1 Install FSM from Store تثبيت FSM Plugin active
2 Locations & territories المواقع والمناطق Geo coverage
3 Dispatch groups & qualifications مجموعات الإرسال Routing works
4 Stockrooms & parts catalog مستودعات وقطع Parts available
5 Dispatcher workspace config إعداد الموزّع Schedule visible
6 Mobile app profiles ملفات الجوال Tech completes WO
7 CSM/ITSM integration تكامل CSM/ITSM WO from case/incident
8 UAT field pilot UAT ميداني Sign-off

Direct URLs Quick Reference

Page Navigation URL
Work Orders All > Field Service > Work Orders {BASE}/wm_order_list.do
Work Order Tasks All > Field Service > Tasks {BASE}/wm_task_list.do
Dispatcher Workspace Now > FSM Dispatch {BASE}/now/fsm-dispatch/home
Agent Workspace Now > FSM Agent {BASE}/now/fsm-agent/home
Dispatch Groups All > Field Service {BASE}/dispatch_group_list.do
Qualifications All > Field Service {BASE}/wm_qualification_list.do
Stockrooms All > Inventory {BASE}/alm_stockroom_list.do
Locations All > System > Locations {BASE}/cmn_location_list.do
Guided Setup All > Guided Setup {BASE}/now/guided-setup

§20 — Deep Implementation Labs, Scripts & Deploy Runbook

Appendix: Professional create → configure → deploy sequence for FSM on Australia instances.
Token: Replace {BASE} with https://YOUR_INSTANCE.service-now.com.
Related: implementation/FSM_IMPLEMENTATION_FROM_SCRATCH_TO_PRO.md

20.1 Three-Phase Implementation Model

Phase Days Goal Exit criteria
CREATE 0–3 Install FSM plugins, dispatch groups, Update Set FSM menus + Guided Setup complete
CONFIGURE 4–16 Territories, skills, WO types, inventory, mobile WO create→dispatch→complete in sub-prod
DEPLOY 17–30 ATF, mobile pilot, transport, hypercare Prod field pilot sign-off

20.2 CREATE Phase — Install & Foundation

Step C1 — Verify instance & activate FSM

# Action Exact navigation / clicks Direct URL
1 Confirm build All > System Diagnostics > Stats {BASE}/stats.do
2 Open Plugins Filter Navigator: Plugins {BASE}/v_plugin_list.do
3 Search FSM Filter: nameCONTAINSwork_management {BASE}/v_plugin_list.do?sysparm_query=nameCONTAINSwork_management
4 Activate Field Service Management Open → Activate/Upgrade —
5 Activate Dispatch Workspace Search dispatch_workspace → Activate {BASE}/v_plugin_list.do?sysparm_query=nameCONTAINSdispatch
6 Optional: Dynamic Scheduling Search dynamic_scheduling → Activate if licensed —

Step C2 — Guided Setup FSM

# Action Exact navigation / clicks Direct URL
1 Guided Setup All > Guided Setup {BASE}/now/guided-setup
2 Select Field Service Management Get Started {BASE}/now/guided-setup/fsm
3 Foundation Locations, Territories, Skills → Mark Complete —
4 Dispatch Enable Dispatcher Workspace —
5 Mobile Confirm Mobile Agent plugin active {BASE}/now/mobile-app-builder

Step C3 — Roles, groups, Update Set

# Action Exact navigation / clicks Direct URL
1 Update Set All > Local Update Sets > New {BASE}/sys_update_set.do?sys_id=-1
2 Name FSM_AU_Implement_2026 State In progress {BASE}/sys_update_set_list.do
3 Dispatch group All > Field Service > Dispatch Groups > New {BASE}/dispatch_group.do?sys_id=-1
4 Name FSM Sydney Dispatch Add dispatchers {BASE}/dispatch_group_list.do
5 Test users Create fsm.dispatcher1, fsm.tech1 {BASE}/sys_user_list.do
6 Assign roles field_service_dispatcher, field_service_agent {BASE}/sys_user_role_list.do?sysparm_query=nameCONTAINSfield_service

20.3 CONFIGURE Phase — Field Operations Build

Step F1 — Locations, territories, qualifications

# Action Exact navigation / clicks Direct URL
1 Location All > System > Locations > New {BASE}/cmn_location.do?sys_id=-1
2 Address: Sydney CBD lab site Lat/Long if geocoding enabled {BASE}/cmn_location_list.do
3 Territory All > Field Service > Administration > Territories > New {BASE}/wm_territory.do?sys_id=-1
4 Name LAB-Sydney Metro, link location group — —
5 Qualification All > Field Service > Qualifications > New {BASE}/wm_qualification.do?sys_id=-1
6 Name HVAC Level 2 Assign to fsm.tech1 on user Skills related list {BASE}/sys_user_skill_list.do

Step F2 — Work Order types & templates

# Action Exact navigation / clicks Direct URL
1 WO list All > Field Service > Work Orders {BASE}/wm_order_list.do
2 Properties All > Field Service > Administration > Properties {BASE}/sys_properties_list.do?sysparm_query=nameSTARTSWITHwm.
3 Create WO New {BASE}/wm_order.do?sys_id=-1
4 Type Break/Fix, Priority 3, Location=Sydney CBD Submit —
5 Add Task Related List Work Order Tasks > New {BASE}/wm_task.do?sys_id=-1
6 Required skill HVAC Level 2, Estimated duration 90 min Submit —

Step F3 — Inventory & parts

# Action Exact navigation / clicks Direct URL
1 Warehouse stockroom All > Inventory > Stockrooms > New {BASE}/alm_stockroom.do?sys_id=-1
2 Name LAB-Sydney Warehouse, Type=Warehouse — {BASE}/alm_stockroom_list.do
3 Truck stockroom New: Name LAB-Van-Tech1, Assigned to fsm.tech1 —
4 Part model All > Product Catalog > Hardware > Models {BASE}/cmdb_model_list.do
5 Add consumable qty 10 to truck stock Stockroom → Related Consumables {BASE}/alm_consumable_list.do
6 Link part requirement on WO Task Task form → Parts related list —

Step F4 — Dispatcher Workspace & scheduling

# Action Exact navigation / clicks Direct URL
1 Open Dispatcher Now Experience > FSM Dispatcher {BASE}/now/fsm-dispatch/home
2 Map tab Confirm technician pin for fsm.tech1 —
3 Schedule board Drag unassigned WO task to tech calendar slot —
4 Validate skill match System warns if skill mismatch — confirm override or fix —
5 Agent workspace Now Experience > FSM Agent {BASE}/now/fsm-agent/home
6 Schedules All > Field Service > Schedules {BASE}/cmn_schedule_list.do

Step F5 — Mobile Agent configuration

# Action Exact navigation / clicks Direct URL
1 Mobile App Builder All > Now Mobile App Builder {BASE}/now/mobile-app-builder
2 FSM layout All > Mobile > Layout (Service Graph) {BASE}/sys_sg_screen_list.do
3 Enable offline sync Mobile properties → cache 7 days —
4 Signature widget Enable on Complete action —
5 Test login Now Mobile app → fsm.tech1 —

20.4 DEPLOY Phase — Test, Transport, Go-Live

Step D1 — ATF & mobile pilot

# Action Exact navigation / clicks Direct URL
1 ATF tests All > Automated Test Framework > Tests {BASE}/sys_atf_test_list.do
2 Test: WO create + assign Server-side + workspace steps —
3 Test: Mobile complete (if device farm available) Mobile test framework —
4 Offline test Airplane mode → complete task → reconnect → sync —

Step D2 — Update Set transport

# Action Exact navigation / clicks Direct URL
1 Complete FSM_AU_Implement_2026 {BASE}/sys_update_set_list.do —
2 Export / retrieve {BASE}/sys_remote_update_set_list.do —
3 Preview + Commit Resolve wm_* collisions —
4 Post-deploy smoke Create WO {BASE}/wm_order.do?sys_id=-1 —

Step D3 — Hypercare (first 72h)

Hour Check URL
0 Dispatcher board loads {BASE}/now/fsm-dispatch/home
4 Unassigned WO count {BASE}/wm_order_list.do?sysparm_query=assigned_toISEMPTY
8 Mobile sync errors {BASE}/syslog_list.do?sysparm_query=messageLIKEmobile
24 Parts stockouts {BASE}/alm_consumable_list.do?sysparm_query=quantity%3C%3D0
72 FTFR dashboard {BASE}/pa_dashboards_list.do

20.5 Full Component URL Catalog (FSM)

Component Filter Navigator path Direct URL Create URL
Plugins All > System Definition > Plugins {BASE}/v_plugin_list.do —
Update Sets All > System Update Sets > Local {BASE}/sys_update_set_list.do {BASE}/sys_update_set.do?sys_id=-1
Work Orders All > Field Service > Work Orders {BASE}/wm_order_list.do {BASE}/wm_order.do?sys_id=-1
Work Order Tasks All > Field Service > Work Order Tasks {BASE}/wm_task_list.do {BASE}/wm_task.do?sys_id=-1
Dispatcher Workspace Now Experience > FSM Dispatcher {BASE}/now/fsm-dispatch/home —
FSM Agent Workspace Now Experience > FSM Agent {BASE}/now/fsm-agent/home —
Dispatch Groups All > Field Service > Dispatch Groups {BASE}/dispatch_group_list.do {BASE}/dispatch_group.do?sys_id=-1
Qualifications All > Field Service > Qualifications {BASE}/wm_qualification_list.do {BASE}/wm_qualification.do?sys_id=-1
Territories All > Field Service > Administration > Territories {BASE}/wm_territory_list.do —
Locations All > System > Locations {BASE}/cmn_location_list.do {BASE}/cmn_location.do?sys_id=-1
Schedules All > Field Service > Schedules {BASE}/cmn_schedule_list.do —
Stockrooms All > Inventory > Stockrooms {BASE}/alm_stockroom_list.do {BASE}/alm_stockroom.do?sys_id=-1
Consumables All > Inventory > Consumables {BASE}/alm_consumable_list.do —
Transfer Orders All > Inventory > Transfer Orders {BASE}/alm_transfer_order_list.do —
Part Requirements WO Task related list — —
FSM Properties All > Field Service > Administration > Properties {BASE}/sys_properties_list.do?sysparm_query=nameSTARTSWITHwm.
Mobile Layouts All > Mobile > Layout {BASE}/sys_sg_screen_list.do —
Mobile App Builder All > Now Mobile App Builder {BASE}/now/mobile-app-builder —
Flow Designer All > Process Automation > Flow Designer {BASE}/now/flow-designer —
PM Contracts All > Field Service > Preventive Maintenance {BASE}/wm_pm_contract_list.do —
CSM Cases (handoff) All > Customer Service > Cases {BASE}/sn_customerservice_case_list.do —
REST API (WO) Table API {BASE}/api/now/table/wm_order —
Guided Setup All > Guided Setup {BASE}/now/guided-setup —
Impersonation avatar > Impersonate {BASE}/impersonate_user.do —

20.6 Deep Hands-On Labs (8 labs — exact clicks)

Prefix pilot records with LAB-FSM-.

Lab 1 — FSM plugin activation & Guided Setup (CREATE)

Goal: FSM application menus and Dispatcher Workspace available.

  1. Admin login → {BASE}/stats.do → record instance name.
  2. Create Update Set FSM_LAB01_CREATE at {BASE}/sys_update_set.do?sys_id=-1.
  3. Open {BASE}/v_plugin_list.do?sysparm_query=nameCONTAINSwork_management → Activate Field Service Management.
  4. Open {BASE}/now/guided-setup → Field Service Management → complete Foundation + Dispatch sections.
  5. Filter Navigator: type Field Service → confirm Work Orders, Dispatch Groups, Qualifications.
  6. Open {BASE}/now/fsm-dispatch/home → board renders (may be empty).
  7. Verify: No plugin activation errors in {BASE}/syslog_list.do?sysparm_query=level%3Derror.

Lab 2 — Location + Territory + Qualification (CONFIGURE)

Goal: Geographic coverage and skill catalog for Sydney pilot.

  1. {BASE}/cmn_location.do?sys_id=-1: Name=LAB-FSM-Sydney Site, Street=1 George St, City=Sydney, State=NSW → Submit.
  2. {BASE}/wm_territory.do?sys_id=-1: Name=LAB-Sydney Metro, include location → Submit.
  3. {BASE}/wm_qualification.do?sys_id=-1: Name=LAB-HVAC-L2 → Submit.
  4. Open user fsm.tech1 {BASE}/sys_user_list.do → Related Skills → add LAB-HVAC-L2.
  5. Assign territory to tech (user field or territory members related list per version).
  6. Verify: {BASE}/wm_qualification_list.do?sysparm_query=nameSTARTSWITHLAB shows 1 row.

Lab 3 — Work Order + Task with skill requirement (CONFIGURE)

Goal: WO in Draft/Requested with task requiring HVAC skill.

  1. {BASE}/wm_order.do?sys_id=-1: Short description=LAB-FSM-WO-001 AC repair, Location=LAB-FSM-Sydney Site, Priority=3 → Submit.
  2. Related Work Order Tasks → New {BASE}/wm_task.do?sys_id=-1.
  3. Task: Short description=Replace compressor filter, Required qualification=LAB-HVAC-L2, Duration=60 min → Submit.
  4. WO state → Qualified (or click Qualify UI action if present).
  5. Verify: Task shows required skill; WO appears in {BASE}/wm_order_list.do?sysparm_query=short_descriptionLIKElab-fsm.

Lab 4 — Dispatcher schedule assignment (CONFIGURE)

Goal: Dispatcher drags task to technician on calendar/map.

  1. Login as fsm.dispatcher1 → {BASE}/now/fsm-dispatch/home.
  2. Unassigned queue → locate LAB-FSM-WO-001.
  3. Map tab → confirm Sydney site pin.
  4. Drag WO/task to fsm.tech1 timeline slot (next available 2-hour window).
  5. Confirm dialog if skill/territory validation passes.
  6. Open WO → Assigned to = fsm.tech1, Scheduled start populated.
  7. Verify: WO state moves toward Scheduled / Assigned.

Lab 5 — Mobile execution: travel → onsite → complete (CONFIGURE)

Goal: Technician completes task on mobile with state transitions.

  1. Login Now Mobile as fsm.tech1 (or impersonate + mobile browser).
  2. My Work Orders → open LAB-FSM-WO-001.
  3. Tap Start Travel → state En route.
  4. Tap Start Work (or geofence auto-arrival if configured) → Work in Progress.
  5. Add work notes + photo attachment.
  6. Tap Complete → WO task Closed Complete.
  7. Verify: Desktop {BASE}/wm_task_list.do?sysparm_query=short_descriptionLIKEcompressor shows closed.

Lab 6 — Parts consumption from truck stock (CONFIGURE)

Goal: Part qty decrements when consumed on task.

  1. Ensure LAB-Van-Tech1 stockroom has consumable qty 5 (Lab 2 prerequisite or create now).
  2. Open WO task → Parts related list → New part requirement: Model=filter, Qty=1, Source=LAB-Van-Tech1.
  3. On mobile or desktop: Consume part (UI action Consume / Issue).
  4. Open {BASE}/alm_consumable_list.do → filter stockroom=LAB-Van-Tech1 → qty reduced by 1.
  5. Verify: Transfer/consumption record in inventory history.

Lab 7 — CSM Case → FSM Work Order integration (INTEGRATION)

Goal: Case spawns WO; closing WO updates case.

  1. Prerequisite: CSM case exists (see CSM.md §20 Lab 3) or create at {BASE}/sn_customerservice_case.do?sys_id=-1.
  2. Open case → Create Work Order UI action.
  3. WO opens with Case field populated → Location from case account site → Submit.
  4. Dispatch and complete WO (Labs 4–5 abbreviated).
  5. Close WO Closed Complete.
  6. Return to case {BASE}/sn_customerservice_case_list.do → work note or state reflects completion.
  7. Verify: Case Related List Work Orders links to LAB-FSM-WO record.

Lab 8 — Deploy Update Set + field pilot (DEPLOY)

Goal: Transport FSM config; 10-tech pilot in one territory.

  1. Complete Update Set FSM_AU_Implement_2026.
  2. Import to target {BASE}/sys_remote_update_set_list.do → Preview → Commit.
  3. Run ATF {BASE}/sys_atf_test_list.do.
  4. Pilot: 10 techs complete 5 WOs each over 3 days — track FTFR.
  5. Daily standup: review {BASE}/wm_order_list.do?sysparm_query=active%3Dtrue.
  6. Verify: Hypercare table §20.4 all green; sign-off from field ops manager.

20.7 Implementation Scripts & REST URLs

Script A — Smart dispatch by skill + territory

// Background: {BASE}/sys.scripts.do
var d = new FSMSmartDispatch(); // see §17.4 script #1
var woId = 'WO_SYS_ID';
d.assign(woId);
// Verify: {BASE}/wm_order_list.do?sys_id=WO_SYS_ID

Script B — Geofence REST endpoint (mobile POST)

// Scripted REST: POST {BASE}/api/x_fsm/geofence
// Body: { tech_id, lat, lng }
// On success within 100m → wm_order.state = on_site
// Test via {BASE}/$restapi.do

Script C — PM recurring WO generator

// Scheduled daily 03:00 — see §17.4 script #8
// Scans wm_pm_contract → inserts wm_order
// Monitor: {BASE}/wm_order_list.do?sysparm_query=type%3Dpreventive

Script D — ETA SMS on en_route (requires Twilio/SMS provider)

// Business Rule wm_order state → en_route
// Sends SMS with track link: {BASE}/sp?id=track&wo=WO_NUMBER

REST endpoint quick reference

Operation Method URL
List work orders GET {BASE}/api/now/table/wm_order
Create work order POST {BASE}/api/now/table/wm_order
Update WO state PATCH {BASE}/api/now/table/wm_order/{sys_id}
List tasks GET {BASE}/api/now/table/wm_task
List stockrooms GET {BASE}/api/now/table/alm_stockroom
Geofence check POST {BASE}/api/x_fsm/geofence

20.8 Configuration Decision Log (template)

Setting OOTB default Approved value Owner Test case
Scheduling mode Manual dispatch Manual + future Dynamic Dispatch Mgr Lab 4
Mobile offline cache 3 days 7 days Mobile Lead Lab 5
Parts source Warehouse only Warehouse + truck Inventory Mgr Lab 6
Geofence radius Off 100m Ops Lead Script B

20.9 Sign-off checklist (CREATE → CONFIGURE → DEPLOY)

Cross-link: CSM case origin — {BASE}/sn_customerservice_case_list.do · HR onsite requests — see HRSD.md if employee facilities tie-in.